Chapter 6 Other Evidences and Facts

In the previous two main chapters, I presented the key coding pattern based evidences and universal evidences. The other evidences and facts will be presented in this chapter. Most of this chapter presents codes as facts.

Regarding the codes presented in this chapter as facts, you can skip them if you like as they are not counted within the rule based 19 System presented in this book. I considered some of the codes just as facts and not as evidences and thus, they are not within the presented 19 System of this book but stands as additional information, which might be potentially useful in the future. You might skip the chapters with the codes as facts if you like. In this Chapter I will present some codes as facts that I did not consider them as evidences but designated as facts as I use general rules and would also like to see strong patterns to assign any coding as an evidence. However, sometimes I might be missing some other codings and these kind of facts help to discover them later and they might potentially be considered as evidences in the future. Also, sometimes some people might want to see if there is a specific relation if there is a coding in certain aspects. In such cases, some of these facts might be their answers. Also, some people might find them in the future and consider them as evidence by mistake. So, this chapter challenges them to find also meaningful rules of such codes so that they might be considered as evidences. Therefore I present some of those codes as facts here as a separate section.

There is also another potential role of such codes. As I mentioned before, the author of the fake 19 system claim, Rashad Khalifa, who manipulated the text to match the text to his made up claim and his small amount of followers today and in the future potential similar other manipulators might come up codes with similar numbers over their manipulated text. In such case, these coding facts will be available as facts that tell them that there are already interesting codes with similar text numbers in the original full text of Quran.

In the main chapters of this book, Chapter 4 and Chapter 5, I presented codes, all of which strongly suggest a 19 based design within the full text of Quran. All of those codes were bound by the general rules and also the special rules described of Chapter 4 for that chapter. As mentioned before, those codes mostly do not contain letter information and applicable to most of the common Hafs manuscripts (mushaf) texts of Quran. Because, some of the letters of some of the words might have been written differently even among Hafs manuscripts during the course of the history. These slight differences does not change the meaning of the word but just might cause writing the words with slightly different letters. The situation is similar to the British and American English words of colour and color, respectively. Therefore, most of the codes up until now in this book, deliberately do not include letter information but mostly word information along with chapter and verse information. This assures that the codes are valid for most of the Hafs manuscripts commonly used today.

However, I also discovered appealing and, in my opinion, interesting codes that include the letter information too, which I will present in this chapter.

In this chapter, I will present codes as facts, including letters based codes that are again mainly bound by the universal rules described in Chapter 3.2.1. For each sub-chapter of this chapter, I might describe the special rules of each coding patterns, which are additional to the universal rules. Because the codes of this chapter might have their own additional special rules. The common trait of all the special codes I present in this chapter is that, all should answer meaningful questions with meaningful multiple related codings that might be part of the system although I do not include them in the presented system yet. I will also validate and provide reproducible tests for a few of the known important 19 based codes on Quran text.

For most of the codings of this chapter, in order to complete this book in a shorter time, I could not spend much time to research on the potential rules based on the codings I observed. Therefore, I classified many very interesting coding patterns as facts but not as codes of the 19 system. However, in the future, researchers might spend more time on them and discover meaningful rules of the codings patterns along with their related codes as a system. Therefore they are currently presented in this book as a supportive facts to the presented system.

Finally, for the reference, to the best of my knowledge, all the codes and facts presented in the Chapter 6 and its sub-chapters are first time presented to the literature in this book, and they have been hypothesized, tested and discovered by myself. If I later realize that any of them were published in any publication earlier than 2019, the first publication date of this book, then, in such a case, I surely add a citation and update the online version of this book.

6.1 Miracle of Iron as evidence

Iron, one of the most plentiful metals found on Earth, is an essential building block for life, which is required for all living things to sustain life. The number of protons in nucleus of iron is 26, which makes its atomic number 26 and thus this is a unique and universal number for iron element.

Iron is one of the names of the 114 chapters of Quran. The name of the chapter 57 is Al-Hadid, namely, The Iron. The word, Al-Hadid, is used in the verse with index 25 of the chapter 57. Considering the unnumbered (unindexed) Basmala verse that exists in the beginning of the chapter 57, the verse with the word, Al-Hadid, is the 26th verse in chapter 57. There are already a few known miraculous evidences exist in this verse that stand so strong like an iron!

(Quran, 57:25) Indeed, We sent Our messengers with clear proofs, and with them We sent down the Scripture and the balance ˹of justice˺ so that people may administer justice. And We sent down iron with its great might, benefits for humanity, and means for Allah to prove who ˹is willing to˺ stand up for Him and His messengers without seeing Him. Surely Allah is All-Powerful, Almighty.

In the following subchapters of this chapter, I will first present widely known miraculous evidences about iron in Quran. I will then present, the new mathematical miraculous codes of iron in Quran as evidences, which I discovered on December 1, 2023 and will present for the first time in (the upgraded version of) this book to the literature. The following subchapters presents my new discoveries about the iron in Quran: Evidence 6.1.2, Evidence 6.1.3, Evidence 6.1.4 and Fact 6.1.5.

6.1.1 Known evidences of Iron in Quran

Known evidence 1 of iron in Quran: The Abjad (geometrical) value of the Arabic word (حديد) Hadid (Iron) is exactly 26, which is also the atomic number of iron! Pause a moment and contemplate how likely such undeniable truths might exist in a book claimed to be from the creator of both facts.

Below is the calculation of the Abjad value of the word ‘Hadid’ (Iron):

suppressWarnings(require(gmp)) 
tmp <- unlist(str_split("حديد",""))
cat("Each of the letters in the word 'Hadid' (iron): ", 
    tmp)
## Each of the letters in the word 'Hadid' (iron):  ح د ي د
tmp <- AbjadSeqofaWord("حديد",abjadL, abjadN)
cat("Each of the Abjad numbers of each letter in the word 'Hadid' (iron): ", 
    tmp)
## Each of the Abjad numbers of each letter in the word 'Hadid' (iron):  8 4 10 4
tmp <- AbjadSeqofaWordSumValue("حديد")
cat("The Abjad number of the word 'Hadid' (Iron) is ", tmp) 
## The Abjad number of the word 'Hadid' (Iron) is  26

Known evidence 2 of iron in Quran: The atomic number is used to uniquely identify ordinary chemical elements. The atomic number of iron is 26. This is a universal fact and known by science literature only since the 19th century. The word The Iron to be at the 26th verse, including the unnumbered Basmala verse at the beginning, stands as the first miraculous and universal evidence for the claim that the author of Quran and the creator of this universe are the same. At the time of Quran’s revelation by around 632, no one knew the atomic number. After around 1300 years, scientists found this universal fact.

The above two universal evidences stand as iron level strong miraculous evidences that should be sufficient to prove that Quran is from the Creator of everything, God. These miraculous evidences should convince the people with knowledge but without prejudices and arrogance against Quran.

Moreover, the chapter index of this verse also stands as further supporting fact between the unique relation of the iron and Quran. The Abjad number of the word “The Iron” (Al-Hadid) is 57. As mentioned before, the name of chapter 57 is also The Iron.

Below is the calculation of the Abjad value of the word ‘Al-Hadid’ (The Iron):

tmp <- AbjadSeqofaWord("الحديد",abjadL, abjadN)
cat("Each of the Abjad numbers of each letter in the word 'Hadid' (iron): ", 
    tmp)
## Each of the Abjad numbers of each letter in the word 'Hadid' (iron):  1 30 8 4 10 4
tmp <- AbjadSeqofaWordSumValue("الحديد")
cat("The Abjad number of the word 'Al-Hadid' (The-Iron) is ", tmp) 
## The Abjad number of the word 'Al-Hadid' (The-Iron) is  57

Known evidence 3 of iron in Quran: The chapter, The Iron, is the 57th chapter of Quran and it is in the middle or the center chapter considering all the 114 chapters of Quran. It is also a new scientific knowledge of 20th century that the inner core of the planet earth is a hot, dense ball of (mostly) iron. More details can be read about it from this article: education.nationalgeographic.org/resource/core. So, the the facts that the middle of earth and Quran having “The Iron” is no coincidence but another miraculous truth for the ones who have no prejudice and arrogance against Quran.

Natural iron is a mixture of four stable isotopes. Another additional fact is that, the number 57 is also the number of one of the 4 four stable isotopes of iron, which is iron-57.

Known evidence 4 of iron in Quran: This might be a bit controversial as the science might not have fully established about how exactly the iron on earth existed. In the verse, 57:25, there is this statement: “… And We sent down iron with its great might, benefits for humanity …”. At the time of the revelation of Quran, humanity had no knowledge that iron had already existed naturally on earth or came down by meteorites. Although, there are various theories exist currently, one information is commonly accepted as a scientific fact, which is such that some of the iron on earth was definitely came down by meteorites. Since the verse does not say “we sent down all the iron”, I think, even the current limited scientific information verifies the statement of the verse. Since there was no such information that at least some iron came down to the earth by meteorites, the statement of Quran about the iron stands as another miraculous fact for the people of knowledge who have no prejudice and arrogance against Quran.

6.1.2 Entire Iron verse & atomic number of Iron: First new evidences of Iron

I have discovered additional evidences about “iron” and Quran on the date Dec 1, 2023. I have not seen them anywhere before. If I see a publication that already have them, I certainly update my book to cite them. However, to the best of my knowledge, they are all discovered by myself and first time presented to the literature in this book.

I will present each in a separate subchapter. The first new evidence is the following:

The verse of Iron, in its entirety, has further relation with the atomic number of iron, 26. Namely, when we concatenate, in the natural order, the chapter index (57), the verse index (25), the number of words in the verse (28) and the number of letters in the verse (138), we get the following big number and it is multiple of 26, which is the atomic number of iron. Here are the calculations:

Concatenate: 57 25 28 138

The coded number of the iron verse: 572528138

It is multiple of 26 as follows: 572528138 / 26 = 22020313

This suggests that the Creator of the universe, who also created the iron is also the author of Quran, shows us these undeniable miraculous facts so that we, the people of knowledge, can contemplate and understand that the Quran is the message from God.

Quran, 41:53 We will show them Our signs in the universe and within themselves until it becomes clear to them that this ˹Quran˺ is the truth. Is it not enough that your Lord is a Witness over all things?

A further interesting fact from this evidence is the following. The digit sum of the quotient, 22020313, is 13. This number is interesting because the word “the-iron” (Al-Hadid) is the 13th word in the iron verse, 57:25. This might or might not be a coincidence but it looked to me interesting and just shared as a fact but not as an evidence. I live this fact for further discussion to the people to consider it as an evidence or not.

Here is the proof from Quran text:

x<- unQuran
tmpl <- str_split(x$text," ")
i<- 5155 # General verse index in 6348 for verse 57:25, the hadid verse.
tmpi<- unlist(tmpl[i])
print("Each of the words in the verse of (The-Iron), 57:25: ")
## [1] "Each of the words in the verse of (The-Iron), 57:25: "
print(tmpi)
##  [1] "لقد"      "أرسلنا"   "رسلنا"    "بالبينات" "وأنزلنا"  "معهم"    
##  [7] "الكتاب"   "والميزان" "ليقوم"    "الناس"    "بالقسط"   "وأنزلنا" 
## [13] "الحديد"   "فيه"      "بأس"      "شديد"     "ومنافع"   "للناس"   
## [19] "وليعلم"   "الله"     "من"       "ينصره"    "ورسله"    "بالغيب"  
## [25] "إن"       "الله"     "قوي"      "عزيز"
print("The number of letters in each word in the (The-Iron) verse: ")
## [1] "The number of letters in each word in the (The-Iron) verse: "
print(nchar(tmpi))
##  [1] 3 6 5 8 7 4 6 8 5 5 6 7 6 3 3 4 6 5 6 4 2 5 5 6 2 4 3 4
print("The number of letters in the verse 57:25: ")
## [1] "The number of letters in the verse 57:25: "
print(sum(nchar(tmpi)))
## [1] 138

6.1.3 Iron verse untill the word Iron & atomic number of Iron: Second new evidences of Iron

There is more interesting evidence if we look at the text numbers until the word iron in the iron verse, 57:25. The word, “Al-Hadid” (The-Iron) is the 13th word in this verse and up until the word The-Iron, inclusive, there are 76 letters. When we concatenate these natural numbers in the natural order as we did in the above evidence, Evidence 6.1.2, we witness further interesting evidence as the resulting number is also multiple of the atomic number of iron, 26. Here are the calculations:

Concatenate: 57 25 13 76

The coded number of the iron verse: 57251376

It is multiple of 26 as follows: 57251376 / 26 = 2201976

This further suggests that the Creator of the universe, who also created the iron is also the author of Quran, shows us these undeniable miraculous facts so that we, the people of knowledge, can contemplate and understand that the Quran is the message from God.

There is further tiny interesting fact in the numbers of this evidence. The sum of those 4 numbers is also multiple of 19 as 57+25+13+76 = 171, where 171/19 = 9. By the way, the number of letters until the word, the-iron is 76 and 76/19= 4. This fact seemed to me a bit interesting because there are 4 isotopes iron made of. The letters are also components words are made of. The matching of the 4 regarding components of iron and the word iron seemed to be worth mentioning here and again I leave it for further discussion to the people.

Below are the R codes that shows each word and their word index and letters so that readers can verify the above mentioned numbers.

x<- unQuran
tmpl <- str_split(x$text," ")
i<- 5155 # General verse index in 6348 for verse 57:25, the hadid verse.
tmpi<- unlist(tmpl[i])
print("Untill the 13th word (The-Iron), each of the words in the verse of , 57:25: ")
## [1] "Untill the 13th word (The-Iron), each of the words in the verse of , 57:25: "
print(tmpi[1:13])
##  [1] "لقد"      "أرسلنا"   "رسلنا"    "بالبينات" "وأنزلنا"  "معهم"    
##  [7] "الكتاب"   "والميزان" "ليقوم"    "الناس"    "بالقسط"   "وأنزلنا" 
## [13] "الحديد"
print("Untill the 13th word (The-Iron), the number of letters in each word in the verse: ")
## [1] "Untill the 13th word (The-Iron), the number of letters in each word in the verse: "
print(nchar(tmpi[1:13]))
##  [1] 3 6 5 8 7 4 6 8 5 5 6 7 6
print(paste("The 13th word, (The-Iron): ", tmpi[13]) )
## [1] "The 13th word, (The-Iron):  الحديد"
print("The number of letters untill the 13th word, including, (The-Iron): ")
## [1] "The number of letters untill the 13th word, including, (The-Iron): "
print(sum(nchar(tmpi[1:13])))
## [1] 76

6.1.4 Great evidence of Iron and Quran

In Evidence 6.1.3, we had used the number of letters until the word Iron in the verse. In this evidence, I will remove the total number of letters, 76, and replace it by placing the corresponding Abjad numbers of each of the 76 Arabic letters. We will witness that, this meaningful coding test have a 131 digits length very long number, which is not only multiple of 26 (the atomic number of iron) but also it is multiple of 26x26x26 (17576). To help you imagine how great is this code number, let me provide you the the probability of any random number being multiple of 26x26x26, which is 1/17576. Also, note that the digit sum of 17576 is also exactly 26. Below are the details of this evidence.

The coding pattern of this evidence is just like of the Evidence 6.1.3 but we replace the number of letters with the Abjad numbers of each letter until up to the word iron as follows:

Concatenate: 57 25 13 and [Abjad numbers of each of the 76 Arabic letters.]

The resulting 131 digits length coding number, which is multiple of 26x26x26 (17576) is this:

57251330100412006030501200603050121302105014006150730501407054013020400126130401071503010100640130501602130100609615073050113084104

This further suggests that the Creator of the universe, who also created the iron is also the author of Quran, shows us these undeniable miraculous facts so that we, the people of knowledge, can contemplate and understand that the Quran is the message from God.

Below are the proof to get the above number and multiplicity test:

x<- unQuran
tmpl <- str_split(x$text," ")
i<- 5155 # General verse index in 6348 for verse 57:25, the hadid verse.
tmpi <- unlist(tmpl[i])
print("Each word until and including 13th word,Al-Hadid: ")
## [1] "Each word until and including 13th word,Al-Hadid: "
print(tmpi[1:13])
##  [1] "لقد"      "أرسلنا"   "رسلنا"    "بالبينات" "وأنزلنا"  "معهم"    
##  [7] "الكتاب"   "والميزان" "ليقوم"    "الناس"    "بالقسط"   "وأنزلنا" 
## [13] "الحديد"
tmp <- AbjadSeqofwordsperVerse(tmpi[1:13], rev_ = F) 
print("Abjad values in each word: ")
## [1] "Abjad values in each word: "
print(tmp)
##  [1] "301004"        "12006030501"   "2006030501"    "2130210501400"
##  [5] "6150730501"    "4070540"       "1302040012"    "613040107150" 
##  [9] "3010100640"    "13050160"      "2130100609"    "6150730501"   
## [13] "13084104"
tmp <- paste0(tmp, collapse = "")
# Concatenate 572513 and replace the Abjad numbers of 76 letters with Abjads:
tmp <- paste0(572513,tmp)

# Test the 131 digits length number for mod 26 and see if 0.
as.bigz(tmp) %% 26 
## Big Integer ('bigz') :
## [1] 0
# Test the 131 digits length number for mod 26x26x26 (17576) and see if 0.
as.bigz(tmp) %% 17576 
## Big Integer ('bigz') :
## [1] 0
print("The number of digits of the big coding number: ")
## [1] "The number of digits of the big coding number: "
print(nchar(tmp))
## [1] 131

The 131 digits length coding number, including indexes:

“57251330100412006030501200603050121302105014006150730501407054013020400126130401071503010100640130501602130100609615073050113084104”

You might use this big number calculator to test it yourself: goodcalculators.com/big-number-calculator/

There are also some further interesting facts with the quotients of this big number.

When we divide the 131 digits length big coding number with 26, it results 130 digits length quotient number and the digit sum of it is 588. By the way, 130 is also 26x5. Then, when we divide the 131 digits length big coding number with 26x26x26 (17576), it results 127 digits length quotient number and the digit sum of it is also 588. When I run a simulation to measure the probability of them to be equal randomly, I measure the probability as around %0.8, which is statistically sufficient small probability to consider them potentially not random.

6.1.5 Additional Facts on Iron and Quran

I will present some other additional facts ni this chapter. I do not consider them as evidence but procide them here for thurher discussions.

Fact 1:

First code as a fact is such that, If we replace each letter with its corresponding Abjad number until the word iron and then this text representation number is concatenated with the chapter and verse index, without the number of words and in reverse order, then the resulting number is also multiple of 19 as follows:

x<- unQuran
tmpl <- str_split(x$text," ")
i<- 5155 # General verse index in 6348 for verse 57:25, the hadid verse.
tmpi <- unlist(tmpl[i])
tmp <- AbjadSeqofwordsperVerse(tmpi[1:13], rev_ = T) 
tmpr <- rev(tmp)
tmpr <- paste0(tmpr, collapse = "")
# Concatenate 5725 and the Abjad numbers of 76 letters:
tmpr <- paste0(5725,tmpr)
print("The 129 digits length coding number: ")
## [1] "The 129 digits length coding number: "
print(tmpr)
## [1] "572541048301150307501696010030126015030140610010305017104030162140020301405704015030750164001501023012150306020015030602001410030"
# Test the 129 digits length number for mod 26 and see if 0.
as.bigz(tmpr) %% 26 
## Big Integer ('bigz') :
## [1] 0
print("The number of digits of the big coding number: ")
## [1] "The number of digits of the big coding number: "
print(nchar(tmpr))
## [1] 129

Fact 2, The isotopes of iron:

These are the 4 isotopes of iron: 54Fe, 56Fe, 57Fe and 58Fe. When the 4 of the isotopes of iron are concatenated in natural order, from low to high, we get this representation coding number:

54565758

This big number is multiple of 26, multiple of 19, multiple of 114 and also multiple of 19x26.

tmp <- "54565758"
as.bigz(tmp) %% (26*19) 
## Big Integer ('bigz') :
## [1] 0

6.2 Codes on the Basmala verse

I will present some interesting 19 based codes as facts about the special verse, Basmala, in the sections of this chapter. I excluded this chapter from the probability calculations of the general system in this book as I currently designated those codes as facts rather than evidences. So, one should not consider them as part of the general system presented in this book but consider them as interesting codes as facts about the Basmala verse only.

The key verse Basmala is written at the beginning of all the 113 chapters but Chapter 9 out of the 114 (19x6) chapters of Quran. No one really knows exactly, why there is no Basmala verse in the beginning of Chapter 9 out of all the 114 chapters. But the text structure of Quran has this odd and unique situation and after witnessing all the evidences so far, I conclude that this might be another sign of the unique design of the text of Quran. Because, otherwise almost all the evidences would collapse. Considering the many evidences I presented so far, we now know that it is required such that there must be no Basmala at the beginning of Chapter 9 as otherwise most of the presented 19 based system evidences of the text of Quran, presented in this book, would most probably be invalid. This odd situation of the absence of Basmala verse at the beginning of Chapter 9 further assures that the 19 based coding system design of the full text of Quran.

Basmala has many 19 based coding proposals already known about it in the literature. In this chapter, I will present new codes that I realized myself while working on this book and did not see anywhere else. So, all the Basmala codes within this book are first time presented to the literature in this book to the best of my knowledge.

Since the main point of this book is to present reproducible 19 based codings of the text of Quran, let’s get the Basmala verse first from the text. I presented all the unique words of Quran in Table 3.1 in Chapter 3.1.5.1. Let’s see the head of this table again. Because the Chapter 1 and Verse 1 is Basmala verse already from which we can get this special Basmala verse and its four words along with their word frequencies in Quran.

require(tm)
knitr::kable(head(uwordsTable), booktabs = TRUE,
  caption = 'Table head of the unique words of Quran.')
Table 6.1: Table head of the unique words of Quran.
uwords count countW uletters
من 2763 2763 2
الله 2153 2265 4
في 1185 1185 2
ما 1010 1010 2
إن 966 966 2
لا 812 812 2

As we see in the above table, the first four rows of the table contains the four words of Basmala. Three of them are the different names of God (“Allah” (or God), “the Gracious”, “the Compassionate”) and the first word (“In the name of”) refers to them as “In the name of God, the Gracious, the Compassionate”. Basmala is a very special verse and unique regarding all the other verses. It is the first verse of Quran as if it is the opening or key. Before starting to recite any chapter, Muslims first recite Basmala verse as the opening. Let’s introduce the first evidence on Basmala verse.

Basmala words frequency table:

Although Basmala is a very short verse with only 4 words, there are many 19 based codings on just Basmala verse that are already known, such as the number of its letters is 19. In this chapter, I will first present the one about the frequency of its words in the full text of Quran, which I discovered while writing this book. Let’s first slice a separate table on just Basmala from the above Table 6.1

B <- BasmalaTable
summ <- c(sum(B$count), sum(B$countW), sum(B$uletters))
knitr::kable(BasmalaTable, booktabs = TRUE,
  caption = 'Table of the unique words of Basmala verses in Quran.')
Table 6.2: Table of the unique words of Basmala verses in Quran.
uwords count countW uletters
الله 2153 2265 4
الرحمن 45 157 6
الرحيم 34 146 6
بسم 3 115 3
cat("The sum of each of the first three columns:")
## The sum of each of the first three columns:
cat(t(as.data.frame(summ)))
## 2235 2683 19

Before going further, let’s just mention one of the test results from the table for one of the very well known evidence on Basmala verse. Basmala verse has 19 letters as we see in the sum of the fourth column that shows the sum of the letters of each words in Basmala.

6.2.1 Key coding pattern based evidences from the Basmala verse

Under this chapter, I will present 4 new evidences in 4 different subchapters, which I recently discovered in November 2023. The evidences are based on the Basmala verse. As presented in Chapter 4, I have a unique hypothesis in the 19 system that I presented in this book such that I consider simple looking but obvious codings as potential key coding patterns and test over the full text of Quran. If they are really key coding patterns, I expect them to exist over the full text of Quran too. Because, I assume they might have been left as clues so that we might discover the 19 based coding system that shows that there is miraculous design over the full text of Quran. If true, it stands as an evidence that suggest that Quran is not distorted as the design over it has not been distorted.

As mentioned before Basmala is a special verse such that it is the first verse and repeated 114 (19x6) times in Quran and is 19 letters verse. There has been 5 known interesting codings over the Basmala verse, which was was discovered and published by Abdullah Arık in his book “Beyond Probability” (2012). I presented those 5 codes in Table 1. Arık was one of the followers of Rashad Khalifa, who was the inventor of the fake 19 System claim, where they reject the last two verses of chapter 9 in order to match the text to some of their made up codes. It is forgery and unacceptable from a scientific and academic and moral point of view. On the other hand, they also presented several “local” or relatively simple codes, which are not over the full text of Quran. Therefore, those codes are nothing to do with their rejection of the two verses and thus can be considered legitimate and a discovery. Because, those several local codes do not require any data manipulation like the other fake codes they made up. As a side note, as you can see in Table 1, the first two code pairs appears to have a common pattern, namely the following code is the cumulative version of the previous.

Anyways, getting back to the main point, since the code in Table 1 looked interesting and seem to have a pattern and does not require any data manipulation and thus are nothing to do with the rejection of the two verses, I decided to have closer look on them. I hypothesized that they might be key coding patterns and tested the same coding patterns over the full text of Quran considering the 6236 numbered verses and all 6348 verses. As per the universal rules of this book, I apply each coding pattern in both text types of the full text of Quran, namely the 6236 numbered verses and all 6348 verses. I then discovered that 4 of those 5 codeing patterns (codes 2,3,4,5 in the Table 1) also exist over the full text of Quran. Therefore, based on the key coding pattern based rules, I designated the new 4 big codes over the full text of Quran as evidences and withing the 19 System presented in this book. I mentioned the chapter names of each of the new four evidences in the second column of the Table 1, which are Evidence 6.2.1.1, Evidence 6.2.1.2, Evidence 6.2.1.3 and Evidence 6.2.1.4.

Table 1: The known codes on Basmala verse:

Code index: New Evidence in all Quran Coded numbers
1 None 13243646
2 Evidence 6.2.1.1 1327313419
3 Evidence 6.2.1.2 110226633294289
4 Evidence 6.2.1.3 1102216834974786
5 Evidence 6.2.1.4 1260402130305313020084050413020081040

There is also one more known coding shared by his followers, which is the cumulative version of the code 5 in the table. It is similar to the relation between code 4 to code 3. But since, it has a longer code and it does not exist in the full text of Quran, I did not include it in the table. However, I will consider that code in the probability calculations to be as conservative as possible in my probability calculations. So, considering my new 4 evidence discoveries as successes, we assumed 6x2=12 trials performed overall.

In consideration of the possibility to conduct tests without utilizing the word indexes, and also employing chapter and verse indexes for both groups, we can perform 24 distinct tests, which constitutes an increase of 18 additional tests that we could try to find key coding patterns. Let’s say a random key coding pattern also comes from those 18 possible additional trials that does not yield successful results when applied to the entire text of the Quran. Therefore I adjust the count of successful key coding patterns to 7, while maintaining the number of successes at four. So, in short, considering all the meaningful possible trials, we have 4 successes and can have 7x2=14 trials based on the key coding pattern approach.

Let’s now calculate the probability of what we observed from this 4 new evidence codes that exist in the full text of Quran, where we obtained the coding patterns from the Basmala verse and used them as key coding patterns to test the full text of Quran.

tmp <-binom.test( 4, 12, p = (1/19),
                 alternative = c("greater"))
tmp <- formatC(tmp$p.value, format = "e", digits = 2)
print(paste("The probability of", 4, "successes out of", 12 ,
            "(with p=1/19) is:", tmp))
## [1] "The probability of 4 successes out of 12 (with p=1/19) is: 2.70e-03"
# Hypotetical wors case scenerio, most conservative case:
tmp <-binom.test( 4, 14, p = (1/19),
                 alternative = c("greater"))
tmpp <- formatC(tmp$p.value, format = "e", digits = 2)
print(paste("The probability of", 4, "successes out of", 14 ,
            "(with p=1/19) is:", tmpp))
## [1] "The probability of 4 successes out of 14 (with p=1/19) is: 5.01e-03"
tmpp <- formatC(tmp$p.value/2, format = "e", digits = 2)
print(paste("The probability of", 4, "successes out of", 14 ,
            "(with p=1/19), considering 2 groups of tests is (multiplied by 0.5):", tmpp))
## [1] "The probability of 4 successes out of 14 (with p=1/19), considering 2 groups of tests is (multiplied by 0.5): 2.51e-03"

However more precise and conservative probability should consider the situation that all the 4 successes were observed in one of the 2 different potential coding categories (words indexed and not indexed cases) from which we increased the trials to 14 while considering them. Therefore, the probability should be multiplied by 1/2 to take this situation into account. then we have the more precise probability as 2.51e-03.

I will add the 4 success and 12 trials into the to the global counters.

global_tested_nums <- global_tested_nums + 12
global_success_nums <- global_success_nums + 4

As a side note, you might have wondered why did I not include these 4 key coding pattern based evidences in the the chapter, Chapter 4, where I present all the key coding pattern based evidences. The reason is that, the coding patterns in in Table 1 has an word index and this does not seem to me the most natural form of similar coding pattern. In my general rules, I do not add word or letter indexes but just use the numbers itself. So, the coding patterns of Table 1 have those indexes and not fully aligned with the rules I specified in Chapter 4. However, although secondary, there might still be a system design with such approach and it might worth researching that too. I do not have time for that and people who might be interested might consider trying all my codes in my book by inserting such word and/or letter indexes and try to see if there is similar system exist with such approach too. Since, I already discovered 19 System with with natural numbers and in most natural form, currently, I do not feel investing my time for relatively secondary types of less natural potential coding patterns. Therefore, I leave those to investigators to study if they have time and interest to do so. My current R programming codes should be helpful in trying such coding patterns. The only reason I tried and discovered the 4 new evidences, which I will present in the following subchapters, is becasue there was already available codes on Basmala as shown in Table 1 and they suggest there should be a design with them. So, I made an exception and tested just for those 6 codes of the coding patterns Table 1 over the full text of Quran and discovered the 4 evidence codes. I consider them as evidences but they have an exception to add those word indexes and it is a special rule to this chapter and not general in my book.

6.2.1.1 Cumulative number of letters and indexes from Basmala verse

This is the second known coding pattern on Basmala verse as mentioned in Chapter 6.2.1. In this coding pattern, the number of letters of each word of the Basmala verse is cumulatively summed and word indexes are placed before each word and all are concatenated as follows:

# Define a function to be used for this coding pattern:
# It concatenates cumulative numbers and indexes of each word.
cumsumWtIndx <- function(a){
  # usage:
  # Example input: a <- c(8,7,2,3)
  # cumsumWtIndx(a)
  # output: "18"  "215" "317" "420"
  cumulative_sum <- cumsum(a)
  index <- 1:length(a)
  b <- paste0(index,cumulative_sum)
  return(b)
}

### Start coding
x<- nQuran # 6236 verses
tmpl <- str_split(x$text," ")
tmp <- c()
for(i in 1:length(tmpl)){
  tmpi <- unlist(tmpl[i])
  tmp <- c(tmp,paste0(cumsumWtIndx(nchar(tmpi)), collapse =""))
}

print("The coded number of Basmala verse: ")
## [1] "The coded number of Basmala verse: "
# First verse is Basmala and should be: "1327313419"
print(tmp[1]) 
## [1] "1327313419"
print("Test for mod 19 to see if zero: ")
## [1] "Test for mod 19 to see if zero: "
as.bigz(tmp[1]) %% 19 
## Big Integer ('bigz') :
## [1] 0

In the coded number of Basmala, note that the first 1 is the index of the first word and the following 3 is the number of letters of the first word of Basmala, which is Bsm. You can follow the rest yourself from this example.

We observed that this coding pattern is multiple of 19. This was discovered by Arık but neither he nor anyone else considered it as a key coding pattern. As you have seen in Chapter 4, my book has a unique approach such that, I hypothesize this kind of easily testable codings in a few special verses, like Basmala, as potential key coding patterns and expect to also observe them in the full text of Quran if they are evidence codes. I call such evidences as the key coding pattern based evidences as presented in Chapter 4. I did the same hypothesis for this particular coding pattern on Basmala too and witnessed that the same coding pattern also exist in the full text of Quran considering all the 6236 numbered verses and so discovered the evidence code of this chapter, Evidence 6.2.1.1. Here is the proof of this code being multiple of 19 in the full text of Quran:

print("Coded initial verses of Quran: ")
## [1] "Coded initial verses of Quran: "
print(head(tmp) ) 
## [1] "1327313419" "1528310418" "16212"      "1427312"    "1428313419"
## [6] "15211319"
print("Coded last verses of Quran: ")
## [1] "Coded last verses of Quran: "
print(tail(tmp)) 
## [1] "122639414"     "1328"          "1328"          "1224311417"   
## [5] "1429311415520" "1227313"
tmp <- paste0(tmp, collapse = "")
print("The number of digits of the coded number of 6236 verses:")
## [1] "The number of digits of the coded number of 6236 verses:"
print(nchar(tmp))
## [1] 259820
print("Test for mod 19 to see if zero: ")
## [1] "Test for mod 19 to see if zero: "
as.bigz(tmp) %% 19 
## Big Integer ('bigz') :
## [1] 0

Here is the 259820 digits length big number:

“13273134191528310418162121427312142831341915211319142931441952262973483794413132931141451762072715211317424530634741847162123154195236267308329361044114612521528311413517623725833122731241652162973183393910411147132731041652062572983694110451149125313283104145186237308359381040114717211317422525631734840943104912283114175216257298339371040114512511427310412518620725830934103711431327394175216237291427310415518621726831936103911421249135214561558166517691871197714283134185236277318359381046115112541358146215651673142103134195216287341521031642352963273684394610511157152931341952362773283493810411145125113571459156416661772122538411513619122638414517622726830936104311451251135314601563166817731877198614293134205246287318359381042114612511356145915621666177018761984208621902293239524982510212263114175216257308369381043114812531427310415520627731836938104411471252135414561563166717701873197920822188229323991327394125156207238289331038114012441350145715591662176618681972207813253114145206267318359411046115412581366142931442052863073383794110431148125513591464156816701774187819832086219022952397241002510526107271142811829122301273113232135331393414512263841451662072482693110341139124313481453156016631767186919732077218222872394249825102261062711028114291173011931124321293313134136351393614237144381473915515211314418520623729836938104111451247134914531560166217671872197420821329314419525632734840942104811501254136012263941251461672182692810331136124213481451155716601763186619701326394175206247268319361041114612501352145615601665177118751979208421892291239424972510126103271052811114273144185206257288369401047115312581360146415701521131341651962272483093310361142124813253841452262673284094310461149125213551459156216701776188119832088219122952310113273154215256317348399421049115312551363152731041451762272783193510391142124713501455155816641770187219801721431842652963373684194710521156125913631465157016751780188319861528310413518622726829931103711431421031441952363073383693910421146124913521457156016621768162113174245296347398419451051122531241852362773283794310481151125713621469162931441952262672983593810421144124713531459156316681773187913293134205276317368421721331842453163374117212317423529634739845949105519215322427533636739847152103144195236287328381225312418523627732837941104711501258162103124165196217248289311035113912441347145115551658176118631969132103124145196277308369421049115712631366147015741676178018841328311416525632734839944105013293134195236257318369381042114712531227311413516619724830132831241852663173713263104155176207248299351043114812541357146315701676178018831986208921952299231042410725109261152712113273941351561972182492710311135124213491454156012293114145196247301621131742452963374084494610511153126013631469157316781784189013273134165226277318349381042114912541358146415671671177418811987209514293144185216257288319381041114612511355145715631666177118771329313418523627732837944104711521256136014621565166717711877198120882190229323972410025105261072711228118132739413515619722826930103411371240134414471550165417591861196620732179228523912494251032610727109281132911830120311233212933133341363513936141371463815139156401614116942175431794418145185461884719348198492045020951213522205322754231552355623857241582455925160257122731241852363174084294510501156126113651470157416791782188619892092219722100231022410813283154215266317358379441048115512571360146515701228310413516621724828933103911441246135414293144205246267318369391044114812541821331641952462773283894513263104155176217278299351039114412511355145815621667176918731975208315283114145186217238259281031113512391343144515491652175518591962206521722274238015283114145186217238289311034113812421346145115551660176318711528311414518621723825927103211371242134614481551165517621326310414518620724828933103611401245135014521555165917641868197120762183228623912497132831242052462973383593910451521131742152562973584194610511157122531141351661972283093210351139124213441451155416591762186919722076217922832388249125962699271032810629110301123111632120331233412735132361353714118210316419522625729833939104311471249135614581561166317681871197714283134185236277318349391042114512501359146215651669177418821984208721912295231011421031241652062272783093615210312418524627732835937104011451429315421528630736839941104411481255135714611566167017731876198020862190229323962410216283134185216267328349401043114712511354145815621666176818741977208121832285239113253841251862072683293710421144124813541621131742553063574084294610521328313416523625731834938104811541257136314711580168617911895191022010821113221192312124127251302613527139281442915013283154175236297328389441046115212541360146515711226311417523630735839941104711541259136514731576168217871894199720101211062211323121241252513126138271422814529149301513115532158331623416535168361703717638182391864019341198422014320444210452134621747222482254923115210316422528635738842946105211551257136314293134195256277318379431047115012541361146815721677178318881992209521972210123107241152512126126271322813816212315417522626732838940104614293134155186227268299331039114112441352145515601665176918741976208121862288239324972510026108152113134195216277308349381042114412481352145415581661176318671969207421802284238724902599261032710714273104155186227268319351038114212471354145715621665176918741977208121832286239224982510226104271072810929113301191429313421523629734836940104511511328315421526631735837944104811551260136514711578168017861891199720992110422110231122411925121261252713112243841151662272582993410361139124413501455155716611767132931341652062673183594418212317420524627732838941104611481252135514581561166317701872197820802184228923932496251021224374115176217258289321036114012451348145115551659176418721225394125206257318379401044114712551421031441852362673083393610441621231642052462873083693810441429313415518622726829933103611401242134714521558166217661870197620812183228917293134215246277338369391045114912571362146815731678178118851988209521100221052311124114251202612227125281282913330137311403214433147341513515936164371663817239174401774118242187431904419245198462004720248205492085021251216522245322654231552345624057244582495925260258612606226263264642706527266276672816828369287702897129572297733027430813273124185246267298339361038114312491226311416518624729835941104811571261136512253104155176207268299371039114312481350145315551659176418681974207621802285238724922598122638411513618721825929103111361239134314451549165217541857196113273941351561872683293510381140124313471449155216551759122831041652262572883293410371140124513501458156116631767187312263841151761972682893110381143124713491452155816601763186519692072217622822389249225962610027105281072911130114311163211933123172133184245276337408429451050115312571359146315661672177616283124175206227258299311036113912461348145315601662176618721325394135166197238269301033113612391342144715501652175815211315422525628733840944105011531256135914641570167417771882198420902193229823103241072511226115271222812629131301343114113273104135186227248289321036114012421348145315551658176118631970207321792282238424902593269727992810529109301131421031742352863173483894010441148125216210314418524626728830932104011461248135014561421231842252562973483894010421147142931141752162773183393910421146124913541456156116641769187519812083218722932397241031321031542052662973383594010461327310416519626729833938104011421245134914511556166017651872197520792183228523902492259426962710028102291053010831112152123184245266327378439451048115212541360146215701225312418523627732837941104711501258162103124165196217248289311035113912421345145115561659176118671328315418524630733836941104611511254135714621565166717711875198313283134185236287358379411048115212581361146815761678178218861994201032110922115132631341551962272683093510391141124813501453155716621768187319762079218222882393249525100261032710728112291163012213273144215236287368409441047115012531359146514211317419522628731836938104311501253135814611564167017761429313418522626731836943104911561263136614691575168113273941251962272482793110351143124513511455155716631766187412253741051461772282593314273144185246267298319351040114312481351145615591664177012263114135166217268289311036113812441346145015551659176318671972207921872293239724102251062610827114132638411514616720824926103111341240134314481554162113154175226287308329351042114712501353145515631529314417521626729833936104311511257136314711574167817821887199020942110122103231072410925113261162711928123291273012931135132831241451962172483093310381143124513471451156016641767187319791428311415517621725829931103712211313417520624729833940104411511255135714631228310417525631737845950105411561261136314681572167417781881198520882191229623100241022510626109271132811829121301271326384115146167208249261031113412401343144815541521231441952162672883493810431148125013531459156616701772187619792083218915212315419526631734839944105011551260136314681574167817811886198920942196221002310624109251142611727122281252912930135311383214133146341493515336156371593816339168401754117742181431874419245196122539413515621729833939104211461249135514611565166717711876198220862189229423992410525112261152711928121291253012831132321373314034146142831341852462773083293710421145124813531459156216671772187619792083218822952397241002510226106271082811329116301193112232130152123184255286347418449491053116012641367147314263941251761972714283104165246317348369421045114812521357145915631666176818711975132631041351762072683293610401142124513481452155716601766132631041351762072683293610381142124713531457156116651770187519782081218622912395249825104261112711628121291263013231138132931341852262673183794410511157126413711473157516811787182143214235266321226311416524630737839943104511531329312416518622726831933103811421244135019213315420526630732839946105411581266152831542052562873183593910451521031541752162673283494212273144165216257288309351037114212451349145315551659176318661970207421772281238524891227313415521623730836938104111431248135314551561166617721876198320911328313420526632736841945105111571227312418521625730835939104311521258136416210312416520626729831937162931341551862172382993512243741552162873384094610501154125613611464156816731776188019842086219222942397241022510426109271122811729120301243112632128331323413835144361513715738160391664017241177421814318713283104145166197238299361039114312491354145715601663176618691974207921812285239124932598261012710628109291133011731123122631141751962473083594110471150125714293154175196227258319351038114412471351145615601667177218771980208221892291239612263114155186207258309341037114312481355145815611664176814210316424527633736840942104411501427310416518622726831933103711391245134914551559166217681870197620802183228914293144185226267298319351038114212471349145215551658176018661226311416520622727829936104311461248135214561562142731241852362773483794010421146125013531457156016631766186919722075217922812385248925931227313415519623725831938104011441249135414561562166417701873197820812187229123942410125104261102711428118291221521031642352963674484795310561161132631041351962472783293910411147125013541458132739414520623729836940104411461249135414601565167417811889199320982110122104231072411325121261302713428140291493015231158321633316934173351793618737193381963920240211412134222043227442314523646241472464825149257502595126612263114165196247308329381042114712531359146615731676177918811983208721902296231042410925113261192712228127291293013331138321413314634149351523615537159381631426312416518622729834939132831141451962472682993310391147125613641467157016771327312416521625728833940104211461250135413263841151561772182693110341137124113431447155116551226311416519624730833936103911441246135114561561152123154185226277298329351039114112451348145215571664176818721977208021842288239124942596269927105281082911130113311173212313283124165196257288339391041114612541357146015641669177518781981208621882291239424982510026104271072811129115301183112332126331303413335138361463715138159391634016641168421734317944185142831341652062472883293710401144125413561464156616711777132631041652162473083293610391144124813511454155816621766187319792083218822922396241012510826115271172812029124301273113232139331423414735150361553716138163391684017441176421814318344188451944619747202482054921350218512245222653233542365524056244572475825459258602626126662271632766428165286132931642152863473784094610531158126013651470157616811787172931541751962573083593910431146125113571459156516691773187519792084219022922399241052510926114271201729313417522631734840942104611481251135918211319427529632739846949105111561259136714701576168217851893199620992110622114231182412225130132931241652062418211313417521626731834937104311461251135414571565152113174235316357388439481055115912631365147015751681178518921994209821100221071729313417520625732835942104911511255135814661621031742052362973283894010451148125413601463156716721776187919822086219122932395249825100261042710928111291153011731121321233312634130351353613837142381493915240156411594216543167441724517546177471804818549190501945119652200532055420855213562165722058225592286023161233622366324064245652516625767263682676927470276712807228473290142831541852162572983293510381142124513491451155516581764186619692074217822852388249125962610227108281102911430121132831241452062472683093410391141124613531457156016661772187919822087219022942396241002510326110122831041351762273183593710411145124914293164235276337398419441048115112561358146215661670177218781981208321852291239324971527311415519621727831934104011441248135214571528312415520625729835172113134175246277318339381041114412481351145515581661176518681972207821822289239324972510313283104155196217278339381042114512471349145315561659176514283114135186237278329371043114812501353145914273941251662172683293710411146125213283104145186247298339381042114912263114165226247298339361042114712541357146015631667132831041351562172883593710411145124912283114135196237258289301036114512491354145815621666177212253124145216237268309331037114112451347145015521657176018641968207413283134195256327348399441050115512601363147015751679178118851989209313283114165206247318379441049115312591364146915721677178118881991209421992210223105241102511526117271202812229128301353113932144331483415235157361623716538172391754017741181421864319144195451974620147204482084921412273941552062472983293710411143124813531460156716741777188119872093219822101231042410725111261142711628119291233012717211317419521627729832941105011581267137114771580168617881891199420982110022104132831441752062372782993510391142124513481452155416591763186619682071217622802385248725931729314420524627729833936104011431245134914531557165917661872197820822185228923922496251032610727109281142911730123311323213533141341433514836150371583816139166401704117242176431804418345187461934719748204492065021251219522255323054235552375624157247122731241852463173383794110461151125513591464156816721729314421523628731835941104611531257135914651573167717831885199020942198221022310524111251162612312283154235256327348399421045114812561364146915731679178118871990209321972210423106241102511426118132931742052462973483793910441147125413571463157116741780188519892092219422982310124107251122611727120281252913030134311373214233150341553516036165371703817539182182103164185206237318379391045114812551358146315671672177818801983208821922294239824101251092611327122162931241752262572983594210481152125913631469157316811329313417525627732838945104811531258136214661229313419521628732839942104611521257136114651521031241852262773183493910421146125013541328314417521625729192153224275316347378409421047114912521356145815651667176918731978208421892297231002410525107261102711228118291243012831131321353314034148351553616037164381693917340177162113174235256307368399421045114712531356146415681671177318781981208621902294239724101251042610927113281172912030124311303213433139341413514436148371523815539162401654116942173431774418345185461931328311414516618721824928103211361239134414471551165717591866196820712173227823822486259026942798281042910830114142931542052563373984194710531156126313681475157816821785188819912095219822104231082411225116261232712728131291363013931143321483315034156351633616837170381763918040187411894219343196441994520314293154205256287358379421049115212581363147115741678178018821985208921932298231042410925113261172712028125291303013431139321413314719214321426532635739841944105111551262136414691576168417861890199320962110122103231072411225118261212712628128291333013731143321463314934152351573616237164381683917340179411824218643192441954520046202472104821749220502245122952232532375423955244562525725858262592696027161275622786328464288162123164225286347418469501055115912631368147115751680178418881990209621104221092311224118251221327312416521623725829935103711431245135114541558166217711875197720852188229123932499251032610927112281182912230128311313213533141341453515236154371583816239164401664117242179431864418845192461964720012263114135186247268289341036114212451350145715601666177018741980208421892297231002410325111132113134165186247278329351040114412461351145415561661176318671971207521792285238824932597261032710628111291163012131123321273313034136351401629316423529635738844132731341552162573083794110441149125113531459156516212316422528632740845948105311561261136414681571167517801882198420882190229623982410325108261122711619213321424527634142831241552062573113253841351862072682993310361141124513481452155716591765186719712074217722802385248925932698271002810617293134175246267308349381224384125166207248319331039114412491353145815631669132538413515618725827930103411361241134514481552165517591864196620702174227723792484258626892794281002910330110311153211833121341243512936131371353813939142401484115042156431644416845171461764718248187491905019551199522045320854217142731241451862072382693110351140124313471449155416591763186619722075217822812384248625912694279628100291063011131116321203312234127351333613837142381463914840152411574216143165142731241451762172382993610391144124613501455155816611763186719702075218022882390249225952699271022810429108301141427312419522624728835939104211451248135214551558166017651869197220752177228223862490259626992710228107291113011531120321223312834133351363614137143381473915040155411614216743170441754518046184471894819349195501975120052205532095421255217562215722558230592326024014293154215266307348399431047115412611364146915771721131541952462973483894310501155125813621467157016741779188419882093219822102231062410825111261142712213273114175216267308339411328313418521624728830933103711411246135114571561166417681875198220862191229423972410125103261082711328115291203012231125321273313334140351443615137156381583916140166411684217143174441774518146183471904819449198502025120452208122631141652262573283493710391143124613481451155416571760186319682077217922871426394125146187248269311034113712401342144415461654175718591964206621682272237624802583268827922894299730103311063211133114341203512436126371303813339136401394114242147431554416145164461694717548178491835018912273941451662072582793110341138124613511456155916651772187819802086218922942398241021427312417523625732835940104611511259136614741576168117841891199620101211062210823112241181325384125156227248279291033113712421344144715541657176118651970207321762280238524882595269827102281062911230114311203212333126341283513436138371423814539150401524115642161431691227394125166197248279331036113912431346145015531658176418681972207521772281238424862590269327972810129103301063110932112331143411835122361253713038133391384014441146421514315644159451644617147174481794918450187511935219653202542045521056214572185822259224602276123162233632376424065242662456724913263134155196227268329351039114312461349145315591663176618691974207621812286239024922596269927101281042910830112311143211933125341293513436136371403814439148132831442152362773183593810431146125113531455156016641767187219772080218422892393249715211318420524628730832938104011461249135214551558166317661870197320762181228423862492132831441751962372983293710401144122631141651862473183694210471151125513591464156716711776188219872092219622101231052410925115261192712428128291303013631139321423314534150351553615737161381663917414293154225286337378449461052115612591364147015741678178318881991209321982210223105241102511326119271231429311415517620722826932103611381243135014521556165817601867197320782181228523902497251022610527108281152911930123311273213033136341413514812263114165226247298319361040114612491351145615591665177118741980208521912294239624102251052611227114281182912130125172123174245326377428479501055116012641368142103124165196227288319351039114412471351145415581665132931141551762272482793010341139124213501452155712273144195216247308379441047115012531358146215641671177618791985208913273124165206247268309331039114112441352145515611664177018731977208021862288239124942599261042710628112172123184205246287308389421044114912551361146715691675178118881990209621101221072311024116251182612127124281282913030134152113184245316347418459501053115712601363146815711673177915211316418524627730834938104411511253135714601565167017741879198220872191229523100241042510926112271162812129123301263113232135331373414035145361483715238155391584016441169421744317644180451861428313418525630732835937104111451227312418526633739844950105311581261136514681571167617791881198712263114165216257308329351037114212441348145413253114175216237278339361040114412481355145715631666177213263841251762072582893410371140124213461452162103164195226267288329341037113912431346144815541226311416519626730833936104011471253135814621568167117741878198020842187229123952410125107261112711528119291243012831131321343313834141351453614837151381553915940163411684217043175441774517946185471874819049192501985120252208532175422355225562315723458236592416024661250622586326164266652686627567277682806928770292712997230573308743117531876321773237832779330803368133882344833498435185356863598736388367893719037491378923839339094395953989640597408984109941410041910142410243210343710444110544610645010745310846010946711047011147711248011348411448811549111649511749811850411950812051212151512252112352512453212553612654112754412854712955113273104135166217268319371040114312481352145715611666177218771981208421872293231002410325109261132711628120291253012831134321381325374155186207258289331035113712431345145015571659176318681971207521802282238624912594269627992810313293124165206227258349361039114412521357146215641668177118741976208021862291239724103251072611227118122631041451762272582793110371139124513491451155816601765186719732077218022842389249325962610127104281092911130116311203212333129341313513336137371403814239146401494115442157431644416745173461804718348188491961314263941251461872413273134185236267298339381045115312253841351862572783293710421146124913531457156216661768187412263841251661972182692910311137122631241452162472883093310361138124413501226310414520623727833935103711431247135514591564166617721875198220842189229223982410425111261172712028124291303013331137321463314834153351593616337165381673916940172411764217943183441864519046197142639415518620726829932103411381242134514481554142731141652062272582893010341136124013471227312414518622729832939104111451249135514571561166614263114175196247298369421046115312581362146812273124195266297338379431225384115136187248279321034113812421347145215581664176718721977208121862288239224942596269927104281092911613283104175196257328419491051115612621368147515831689179218961910220108211132211723120241251229313415519624729832936104011441246135114581564166817741879198520872191229623100241071521131541952362873183794110451150182173264355466541327310412515618720829934103911441250135214551558166017661872122731041452162472983493910451148125013531455156016651769187419772081218622902393249725101261071328311416520623726831934103911441250135814651568167417771883198620912196221002310624111251152612212273134185226297368409421049115412601366146815731679178418881521031442152362973683994210441150132538413518623725831936103911431247135214571559166417681872197520811328313415520625728833940104511471252135414591565142731441852062372683193310361138124213451447155312273114165206257278319361041114412481352145415581662176418681972207721802283238524882592142931141752262873083594010441146125113561461156316671772187419782082218612263144225286307338419441048115112551357146115631666176918711976208021842291239524992510326107271131224394115136197218269311035114012421344145215551657176218671970207221752279132638411513617719822927103011341236133914421544164617511856196020652172227623802485258926961224384135176257318359401043114912541358146212283124195226277308349361039114712263114145196227298329371040114814293114145196237271226311416518621725827929103111351240134514481551165417601866142103144165196257298349381041114512491354146115651671177518791985208721942296231032410917211316419526631735841946105011531258136314701573167817821885198720912194229623992410325105261072711028114291163012031124321263313034134351381528313416519621723825927103111351239134214461552162143174215256277348369401045115012551360146215661671177718821984209213253841251461872182693110381142124513491453155716591763132539411514617721824928103311381242134514491554165717621866197220801327315417521623727833938104511481252136012263114155216277298371325310415520624727830935103711421249135314571561166417671872197420811226314416520622726831936103911431249135314561560166517671873198020832191152103124175226257331426394135156187218279301033113712411345144715511654175718611966207021722274237916212319427535162931241952262472983393510391142124613491451155616611766187119742079218322872391249625102261092711428120291243012831135321383314434147351533615537161381633916540168411724217543177441814518716293124155176247298329351039114212471353145715591663176918731980122639414521624728834142731141552062372583193410381141125013531458156216661771187619802086142831141652362973683894616210314419522630122539411515618724830933103911411246135114561561166717701875198020832186229323952498251042610927114281182912230125311321429314421526631733839946104911521254136014293144205286357418469481051115913283124145206267321225394125166207238279291033113512381340144215471426394125156177251327310412515617721823928103111371240134714551562166917761883198520902195229923103241062511412253841351762072282592810321135123913421448155413283114155196281224374135196227268309351041114412481351145515581662176418681971207521802284239024922595269927102281072911330119311233212912253114135196217288319361043115112541356146015641670122631141752162472682993210381142124513481450155316581762186719692075122531241852162873283594010451148125113531461122631141952463073483994510501155125813661328310413519621728831936103911451248135412253114135196247288339391225311413519623730837941104611521521031241552162673183593810431148125113571464156816731779132931241551862372582793210351139124113451448155116531759186119682071217522772379248425872691279628982910230107311113211514210312416521623728834132631241451662172783193510401142124413491455155716611765186819702073217722822385249025952698271032810529112301163112332126331303413535138361441325394145196227268299361227313417521629733838943104511491252135414601563166917731876198020852188229523982410425108261122711613273134185256327398419471050115212541360146715691671177418781981208321852288239224992510226106271112811429120122539411516620726832939104111451250135514601562166417671871197520802187229023942410025106261102711428120132931141752563373984695210551157126113671326310415522625731833937104211441249135314571560166417701872198020832190229623992410325107261122711828121291283013231136321383314613273104135196217291528312417520624726828936104211461251135614621226311414518623726830933104011481254136014681571167517791884199220942198221002310424107251102611427118281202912613273104175216247288319341036114212441352132731141552062373083693810441146125213591464156616701775188315211313418522626735841947162103124165206267298319371328313415518621728831935103911431227312415522624731835937104111471253135514621227312418521625728832934103911421247135114541559166117661869197320772180228323852491122831241552162472983293810401143124613501452155612283114145186257288309331040114312471349145215541658176518671972208021872289239324991328311415520622725828934103611441225394165196267318349371039114712253841151662072483093410421327312416523626730833937104111441249135114561558166417681873197620792182228623892491259912243741351562172683093510391142124413501224374135156207228269301032113512421346145115561659176318681971207712263114165186247298319361041114712531356146315691421031541952462873283794210451150125513581461156416681774122631141652162572783293510401143124813541821231642152463073784194510501152125613611465156816741781188719932098211012210423108241102511526122271262813029134301383114132146331513415715293124175206257328409461048115412601362147013293154215296317348369411048115412571361146513273114165206247298349401046114912561362146815711675178114293144205236277318339371043132731141752162672983393710411149142638416519621726830934103811441427310415520626734840942104811551260136314661569167517791883198620902198221052311312283114145176257318389401042114814293144175196247278319331037114112431348145415581660176418691974208121842289239424100251052610927116281242912830130311333213633140341463515215293114145206237288339371041114512501353145916211317422529637743845951105911611268137414761584132931141451762372883294012273124145186227298329391041114512491355146015651667177118771325311413516622728832935103911411246134914521557166317701873197820822186229223981226311416518624729831936103811451250135414561560166217651872197420812184228823942498251002610427107281132911530119311251226311418521628735842945104911541259136314671571167517801887198920942196221012310724109251132611727121281271228312417520625729835938104111471253135514601565166917711875197820842188132739413517625730836941104511491225312416518623728834938104211491257142931341752262673283694110471226314417523625730834940104411461254136013253114175246267318349401044114912531355146315691327311414518621728834936103911441247134914521556166217681529311416521623729837943132537412515617721826928103411391245142638416519621726830933103711421244134814531557166112263114165186247298359411047115112561362162113154195271721131842352917210315417521625730838944104811551521131341952663574084895010551160126313711629314419521626732837941105011571260136414701573167717801885198820902195229823104152113164185226277318339381045115112551359146215701225374125156217238289351038114112461354132731241652262913283114175226297318359411228311414516621724828932103811451248135314591563166817731878198220872192229423972410516210315420525633122739415520624728832937104311471252136014283134185206237258309331040114512511327310414516619721825930103411371239134214491552165917621867197020752178228123852489259526992710713263104125166197238279321037114012431347145315571661176418671971207721812285239124991527310414517622726829934103711431245134914531556166117641872197720802188132631141451662172582993210381146124813531457156416711774187919871621031442052462873483994210501226311416518624729834940104311501258136412263124155186261527311416521626729835940104211441248135014561563166817721876198414293134175196267318349371042115012521357146315651668177018751977208221862288239224982510326105271092811529117301223112632134331383414135145361503715238155391584016612283114165196227298359371043115012531356146115671670177218771980208221882293239724100251061226311413516620724829933103811421248135014561562166717721875197920812189229523972410025102261072710928112291143011631121321243312734132351343614037142381443914940151411574215943162441654516746172471754817749182501875118952191531955419755203562075721258215592206022561228622356324264246652486625067256682626926470266712727227773281742857529112273124165196247318359421049115312551360146415671671177518771981208521891226311416518624730835941104911521257135914641566167117741876198120862188229323962410125106261102711328117291193012531130321343313934144351473615337157142931141551962172483093210361141124413471453142739414518622728142831041451762072382692910331138124513471451155516591766186919762078218322872391249625992610327105281092911230121122831241551962272583193410361140124613481452155616601767187513263104125156187228259281030113312401342144615481651175318571960206221681428313417520623727829933103911431247135312273104145196237268321325394125206227258299341036114212461351145615631670177618831986209121932296239924103251071521231741952463073483794010421144124613491455155716611764186619692073132931241752462973383994716211317421524630736838942104611481254135914611565167017791881198620912195229923106241122512026122271252812729133301383114232145331511521031842452663373584094210491151125713621464156816741328313418520624728834936104111441248135415283134175196237328389401046114912511356145915621667177018721978182133154195236267308329361039114715213316423525628730836941104611521256136214651569152831141651862372583093310401146125213581463156716711777182133154195236257318349411046115012551357146015641428315419526629736842944104811541328313420522627731833938104211461250135414571561166417671869197520792183228712273134185266287338379411045114912531328313418522626729832939104311471250135814621566167017741225394135216247268309341037114112471349145415571660176418711974207921832287239224942598261002710428110291153012031123321293313534139351423614613283134195226277318339371039114312461348145015521655176218641969207121742281238524902598261042710928112291183012213263104135186237258299331037114312481350145515611669177318751980208521892295132631041651962372683193715210312416519624727831936103911451251135614611563166517701873197520792187229323972410025108261102711428120132831141451761972382893610421149125512253104155206257318349411044114812501355146015651668177118741980208621892293239916283154225296317368419471049115412571362146815711676177918851991209421972299231022410813263104155206257318389431046115312591363146915761678178218871991209321991227312418521625731833939104211441250135314601566166817741878198220861427315421526629731834938122437415521628733840945105011571521131542052663073684494610491157126313671469157316761781188719912095211001427394135186217278309381040114514283134195246317338389431048115212571360146615701673178018861988209514293114175206247278329351042114512471351145817210314417519623726830934103611391241134514501552165517611867197420762182228823902495251022610827114281182912530134311383214233144341493515636161371633816639170401754117942182431881227311416521623729142831041652062473013283134175206247288309351042114812521356145815611665176818711975207821851325384145176217268299331038114112451350145615591661176718721976208021852290239324982510126105271072811129115301211226311416522629736842946105111571226311416520624729831934103911431247135214551560166517701875198120852189229623982410625108261122711528120291251521231942252963574184495010571160126713701473157716821327310416518625732834937104011421248135214571562166517691872197820842186228823922499251022610627109281151521131842252562873183393610391143124813531458132831542252662973383694110491153126013661469157316791721431742052563173483994310471154125913661469157616821788189019962099211022210623114241172512026125271312813929143301483115332160331673417235176361813718616210313416524633740844947105011581267137014721575167717801885199114273134175236317408489511057116012641370152103124175196247288339381043115012541362146615711227313418525629733839941104711511258136316210312419524627729837940104211461249135514591563166517681871197520802184228923962499251032610827113281162911930121311243212633129341323513436137371393814239147401524115742162431654416845170461744717948184491865018951193521975320054202552055621157219582215922660230612346223763241642466524866252672546825869261702667127114273941251962172382692910321135123813411444154816531756186019622065216922742377247925822686279128942999301013110332106331093411235115361183712138124391284013341136421414314344146451504615547158481604916350166511695217253176541815518356188571915819359195601986120262206632116421665219662246722868230692337023671241722437324874250752537625777261782647926680269812728227683280842828528686291872958829913273114145176217278329361040114212471354146015641668177318791326310416521626731835940104411471251135517212319421527636741846950105311581266136814741577168417891891199520992110222107172153194265296337398469511053115712601365147014210313417522628733839941104711491253135914631567167217761880198520901521131642252963273583894310481151125413571461156416691775187819822087219322962310124106122631141651862172482693110371141124413511458156216641772187519772082218822932310124109251122612027124281262913230136311413214533148341523515713283154185226257318379431046115212551359146715731678178314211314418523626729834938104411491329311414520622728831933103511381241134414491554165817631429316423531638746851955106011651273137914861594169617103181091911520123211292213123137241392514526151271562815929162301643117032175331783418135185361903719638203392084021041217422204322644229452364623947241482434924650248512525225553260542651921131742052262673383794110461150125313551459156316651771187919852088219522982310624108251122611827124281292913230136311413214533152341543515636159371663816839172401754118042185132531041451862072483294010431145124913561458156516731778188219902095219722100231082411225117261232712928137291433014631153321563316234167351713617537178381823918840194411974219943202442104521246218472214822449227502325123652239532455424855251562565726058264142831341652362673183393810431148125313571461152931141552062573083694310451151125513601428310414518622729834122631141651862473183694310461148125213571459156316671770187619822084218822912394249913273104165216257308349381041114412481353122931441652162472883293910461151125613293114145186207258289311037114112441351145815621665177118781982208421882290239424972510026103271081429314417520628737843947105411601266136814721575167817801883198816212315421524627731836939104211461252135414611570167617821887199020932197221042311024116251222613027132281392914730150311563215933164341693517436176371803818339187401921327311417524628730834939104111461248135314591563166717731875197920822187229217211314420522626736842946105211601269137514771583168917941810119107201112111722120231242413125133261372713928142291443014731153321581521131842352963673884394710491153126013681473157816212319423528631737842945105111561259136214691571167617801885152103124175226287338409431048115212561360146315681226384125176207238259291036114012421346145015551427311413515618723828930103311381243152831341852362973183593810431146125213561461122631141651862473083594010431149125113571460156416671772187619792086218922932397249925102261052710728110291133011731119321253312734133351393614237147381503915740162411664217343180441874518946193471964820049205132538413518623725831937104411511253135814641529317421526630734839944122731241852362573183894310491154125713611467157016781783188519902093219722102231072411325118261252712928133291363014131145321503315434160351633616937172381771226311416522627730835940104311471249135214541558166317691872197920812187229023942499251042610827111281152912112263841251461872082592710301133123613401443154716521755186019642069132538413518624726830934103611401243134914541427313416520625729831935104013253841351862372583193710431151125813631468157316771779188419892094152103154195226267308339361038114312253941151662072282793210371228313416518623727829933103611411243135014561563167117751880152731041251761972182492810331138122731241952262873283694010461153125813631470157616781782188519902095162113174255326367408429471054116012641368147115751680178518921995201001226312414519627730835939104411471252135414601566166817721876198120832185228923922497251021226311416522626733839944104911531256136314651568167317761880198720892193229923104241102511526118271212812629132132538413519623728831935103911421246134814521558166017681871197820812186228823942496251012610827110281152912030125142731041651962172582993310391143125213571460156514273144195226267328349391045115012521357146015661673152103144185206227288339371042114512481350145615601665132931141551862372783193410381140124513511456156516691776187919852091219522100231051327394155186247288319361038114012451347145315571660176418711977132631141651862473083293810401146124813531456156016641767187119762078218422862390249425972610127107142123144185226271921432113263104175236257308349381043114512521361146915781682178718921328310414518623728122631141652062573283693810441149132731041651962673183493610401144124713491451155416581763142103134155196257288309331038114312471349145415571661176618701975172931341752262773383994610491154125613601464156916711775187919842088219313263841551762172583693810441151125913641470157416801782188519912097211022210723110241122511626120271252812829130301343113915210317419523627733838945104711511258136514711578168017831890199320981325384135166197238299361042114712531357146015651671177418781982208721922297231012410325106261102711628120291223012631131321373314134147351503615337157381593916340169411734218043183441864519046193471994820415211317422525629731835940104311481252135814611563166617701873197820822188229123932497259926101271032810629110301143111932124331263413235138361431227394135166207238289301034113712411349145415591663176818731225311414518622725829932103911441249172113154205226267298349381041114512491354145815601666177118751980208321872291239624101142113174205236257288319351041114412511356142931241451962172683293410371141124413501454155816631767187219772086219022952398241022510726113271202812729130301351527311415517621724828932104011431247134914521555166017651870197320772181228712263114155186207248289311035114012441347144915521656176018641967206921722277142931441952462873083593710411144124713491452155714263941251462272582893510371140124313461450155216561761132638417522627733836941104811501255135714601564166717711875197820812183228814263124155206277318349401044115012531360146215661670177318781984209221952210323106241122511626120271232812813283134165196247308359371043114712531355146315651672177718801983208721932298231072411025118261212712928135291403014531148321513315534158351633616816211317419526633738840942104611491255136114651568167017781884198920942110022106231122412025123261312713828143291463015131157321621326311413517622725828931103411391242134814521557166117661869197320762178228423872490259226952798281012910430108311143211833123341263512936131371343813939145401504115442159431624416645172461764718148184491865018951194521995320754211552135621757221582255923060235132731241852462873383794110451149125413581460156516701226311416519624726830934104111441250135314571562166817711876198220852191229723101241052511026115271192812329125301283113132135331403414735149361533715638159391654017012273154175256287328379471049115312571365147215751679178818961910320106211142211823122241252512926135271392814329152301553116332167331721528314419523627732837122731342152663273784094410491152126013621467157216751778188119852090219822102231082411425118261232712813213315421528636738846950105311591264162931341551962372783193510401328310414518621723828934103911431246135014521556166217651869197520772182228723902493259726100271042810829112301173112214293114165206257298319371039114512471351145315591664176918711979208421872291239614273114165196257308359391042115012571361146615741676178218871992209621982210323110241132512126126271342813629141301463114832154331563416335171361783718338187391924019541199422044320644209452124621547217482204922250226512305223253237542445524956254572565826059263602716127662281142931542252663173784194710511159126613721474158016841787189519100201061328310416521623729835940104611491255136114631567166917711876198020842189229413293134195246297328379401044114812511354146215671721131341752062573013283104155226287308349361039114112441349145417293144175246267308339371039114512471349145315551660176418681971207721821226311417521623729835938104311471251135414611563166517691874197913273114135176217238299331036114012451350132731141652162472883293610411146132731241451862072382593010331138124413491454152831241652262673183593710421145125013531459156216681770187319782082218622922399241042510626108271112811529119301223112632130331351225374115136197228249271032113412391341144615491654175718611964207021752279238324882592269713283144165196217258279321037114012441352145615581662176718711976208112263841251461872082592710301133123613401443154716521755185719622067122739413516621724829932103811431428312418520625730836182173254325366437518589611065116812721379148315851688179218951998201042110915212315420527630735152113154185236277321621131742553263674084294710541160126413681471157516781781188519872091219513211314419522628730834938104111431246134914511553165617601864196720721327394175196227248289311035114112471352145515611666132731141451862272582893210371140124713521457156116681773142638416519621726830934103711401245192113174195236297338369401045114712531355146015661672177418811983208621892296239824105251162611827125281282913430141311473215033156341583516136164371683817139173401781328312414519624726832935103911451247135214581562166817711877198320872190229623102241052510926112271152812129126132113134195226287318369391045114712521359146715701676178218851989209221972210213293124165196217258299331038114314263841651962172683093510401145125113531458156416661771187519782084218722902392249425102261052710728112291163012031124321291426384165196217268309351040122531141552062473083493810411144124912253941351962372783193710441148125213571462122631141652162773383894110441147125313551463157216741777188119832088219322972310124104251102611527117281232912630131311333213933142341463514936152371583816312263114165216267328399431046114912541361146515691671177418771981208621942299231042411025115261182712028125291301227312414519621726828933103511421246134814511555166017631866197320781321231541852362815211319425527630738845950105511581263136614711326311413519621724829933103711411244135114541557166317671870197620782182228623902493259826100271042810829117301263112832132331371521231541852162472782993310381141124413481451155416621766187119742080218522922394241022510726111271162811929126301293113332137331453414835156361611221131842252563173584094310491154125913651470157316791783188619911721031341551862372682993410371141124513481451155316581226311416518624732838940104311511258136014661569167417801885122113134185246267318349371040114513283134205286337408459481054115612641368147115751683178718921226310417519624730834938104311481225394145206227278309321035113912431348145312273114135186207258279301033113712401344144912273134185236307328389411045115012571361146515701674178118831989209221952210015273154185256337388431621131642152463073383694010451148125413601464156816731778152831441652062573083293810411146125013541456155916651769187319772084219122972399241052511026112271152811729123301303113632138331413414735151361573716216211316424529632738843947105211551257136214641569167517791885199014293164225276317378459491051115712631366146815711675178018861989209521982210317213316420526631162931442052462773183593910421147125013551459156216651768187319802083218622882391249325962698271002810329106301113111532118331233412812263104145186227278321325384145176237258289321036114312471352145715273124175226277328369391045114712511355146016211314418521627732837944105111591263136814731321131341852263173784094410481151125513571461157016761784189019992010421110221152312024127251312613613293134165226257288369381042114912521359146715731679178718921997201022110822115231212412625131152731441852062372883093610401144124813521458142103174215256307338379401043114812521356146115661327311414518622727832941104711511256136112273124175196237278299331038114312273124185206237278329351038114512501327311417521625729832935103911441226311413518624729831935104111451248135114571560166317651867197520812185228923942499122531141351862072582893410371141124413481452155816621765186919732077218322892392249625100261032710928114291193012231128321333313934143351463615037154381573916140167411694217343175441784518046182471844819249195501975120252206532115421612283144165206247278309381046114912551357146315701678178218871429314420528635741848950105411581263137114801587169217971810019105201082111022113231172412125124261291226311413518623725829936104111451250142931441952762973783994310461150125713611466157318210314420522629731835938104111431246134914521556165917611864196720722174227623792482258526882793289929104301113111432117331203412535129361343713938145391484015041158421624316644169451714617647181481844918750191122631141652162873283594010471150125213561461156416681773187819812083218722912393249712263114165186237288329351040114612491354145715641667177118761982208821922294239824105251092611427122281252913230136311393214133146341483515436160371623816839176401794118342190431934420045203462084721648222492265022851232522365324214293154205246317348379411045114712561365147415821685178818931996209821103221062310924112251172612027128281362914030143311483215133156341613516336168371713817739183401884119342196432014420745212462174722248225492325023651239522435324554250552535625957263582665927060274612781721131441751962272583293510401142124913551463156616711775188019832088219322100231032410725111261172712128123291273013131137152831141852362873383994110441151125313561465156716751784188619912096211022210423109241122512026126271322813529142301453115032155331583416235170361733717638180391834018541191421934320112263114165196237268329391045115212551362146915761683178618931996201002110422111231142411825122261242712728130291323013531138321423314434150351523615837164381673917240175411824218743191441984520546212472154821749221502255123052235532375424055244562485725558260592656027061275622811721131542052763173783994110451150125613621466156816721776188019861226311416521627730835941104411511255135814611564167017761878198220882194229823100241042510826111271171327312417523631734839943104716211317424529634740122631141652262673083593710391142124413501455156116641770187419802084218822922399241071427311416519626732836940104311481252135614591563166617711877198320892195221002310924116251202612427128281342913830145311543215833162341643516936176371793818239185401884119242195431974420145207142931642252863473984595010521158126313661469157416761779188319872090219522992310224107251112611527119281242912630130311333214113283134165216267338389411044114912511358146315701678178118841991209521101221052310824113251191225311413518624728831936103911431248135014561561166317671869197420762180228323882492142631041251662272583193810401147125013551460156716701774188013263114165186227248309331037113912421346144815521656175818621964206821742277238124852588269027952810029104301073111532121331243413035134361363714038145391484015041153421571521131942252763173884094310491156125813621465156816711775187819822087218922932397241002510826114271172812329128301341225311413518624728831934103811401245134714531555166017621866196920732176228123852490259526982710028103291071326310415517620726830934103911411244134814541560166517711873197520782182228423921225311416523627730834937104011461249135614641570152731141351762172783193310391142124813521455156116651769187513283104155216257298359411046115112551362146715731677178118881990209421100152731141451662272682893310371142124513491455155816631769132538410514617721825930103511391244135213283134185246277338359401043114612491354146214293124165196247268309361041114312491352145715591664176718741977208121862290239224991327310413520622725830933103711431246135014541556166413273941351862372883093510401144124813561527311414518623728830938142831341751962472983293710411145124813501455156016621766186919722078218422882391249625982610612253841351661972682993110341138124213451447155116531758186419672072217722802386249225962610127106281102911630121311293213133133341383514236145371483815039155401621428313420524630736838943104811501256135814641566167017761883198520892191229623982410325106261092711228114291203012431126321323313634140132831341551862072683193810401144124813521226311416521625732836943105011521257136214681227312414516619721823928103311381241134814501552165617591866196820722176228023842488162831441652162472683393710411145124917215322429533636740845947105111561260136413263841151562072382793110351137124113451449132739413515618726832936103811421247135014541559166217641867197112263124145196247318339381040114512501354146215651669177518781983208821942299231052410925114261162712128127291323013431137321433314934151351573616037165381683917040175411824218543188441924519746200472044820649208502125121652221532265422855231562355723758241592476025061252622586326164265652676627367277682811621131742252563073584094210461150125313571461156416691773187619802085219022962398241022510526113142113174245286317358379431045114812511354145915681329316420523627731834941104611521257136214721580168317911893199720101211072211123116241192512426129271352813829144301503115432159331623416435168361713717538179391854018741195162113154175226287348409461052115812641369147415811685178818921994209721102221042310724109251132611627120281242913030132311401629315420523627732835938104211441251135814651568167117751881198420872191229323100241042511026117162931641952362773083393510391142124613501456155816661721131742252763073383793910451152125613611466156916731777188019842091219422982310024104251072611227116281202912730130311333213733143341463515136155371623816439166401714117942186431894419345199462044721148214492185022151228132731241551962372683093710441146125213541457155916631767187119742079218422882392249625982610427108281142911730122311243212933136152133184215256277318359391045122631141651862473083894410491155125813611467157116751779188119852087219122962310414293114175206277318379411043114912541358146215641668177418761979208121852292239524972510226104271102811615210315421526632737840947105111561260136714741580122631141651862272682893210361140124413481453156016641767187519792082219022972399241032510726110271162812029124301273113032134331393414135145361503715438158142931341952563073584194710531159126213681327311417523628731834938104011481226311416518624729835940104411491251135614611567166917741881198720932197229923103241091421031341952663073583894310461148125412243741351562172482792910331138124113451450155316571759186219652071217712243104135156187238269301032113612401344144815521656176218711975208221872289239424982510026104271101421031541952262773383693810431145125013541457156216681429313420522627735841946105011521257136314210319427529634739845950105411561261136715211313417523626732838941104611481252136014641567167117781883198720892193229723992410225108261132712028125291323014031143321463315334157351633616737172381783918240188411904219543200442054520746210472181325384145196257318359421052115612621327313420528631735840942104611521254135914621565167117751878198420892193229623982410412263124155176217258279301033113512391342144615521657176218641969207121752277238124862594122437413517620723826932103911471250135414591561166517721877198120832187229123932496251022610727110281132911630121311291227312418523632740842945105011561261136514701573167617811884198620921328313416523630735839943104811521255135714611567167217771883198916293134175226277298329361041114312471352145615601665176918721978132631141651862272483093310371141124713491452155916651769187219772080218222862391249425972610127105281102911630121311243213233134341391326311416518622726831934103611391242134514491552165417601863196920742179228423882492259614210313417527632736840122831141551862272482792910331138124213471451155716631767187019742077218322852389249225981229311414518620722826929103211351239134414461552165812243741351562072282793010341137124313481451155316571759186219682073217822802384249013283134155186257288329371042114512491352145515591665177115273144165206257298319361042132831241852362873283493810411147124913521456156116641770187219781328314419525628732836938104511511255136014641570152831341852362873484094610521158126213671472157716821785189019932096211002210623113241182512026128142931141551862472783393710391144124713521454155816641768187219792081218913263841251762072582793110361138124413481450155516631721131441952362772983494110471151125513591467162113174245296347401226311416518624729831934103811411244135014521556165817611869152831341752262673283694010441146125212293134195216287328399421047115412611366147015761678178218841990209621982210423106241112511526118271202812329128301333113732140331453415235155361603716738174391784018241186421894319444199452051226311416520625732840948105111531256136314711576168214283154175216267338419431048115512611363146615701673177918821986209217211318424531634740847951105411601266137213263114165226307348389431046114812531359146515731675178018861988209321100221052310824116122631141652462873283493910441150125713621466156816731779188219872090219322962310024104122631141651862472983493710401144124813541459156216641767186919742078218022832386249025942698271042810629111301153112132123331263412935134361393714338147391504015441157421604316344166451724617647179481844918850190511961326394145206257288369401045114812521354145815621668177218761980208613273134185246297348409461052116012631370147215761680178218841992209521972210223105241092511226115271191628312416522625729833937122531141452062572983193610391145122439415521624729833939104511491251135514621567167312263114165186247268319331036113912441347145315571660176418701973207621792283238724922596261001227310412517619725828934122539411516619724827932103511381242134714521558166117651870197720792185142731041651962172582993310391144124913511456156016661770187319792081218722912394241001226311416521627729834936103811411248135114551561166617731876198020861226311416521626729832937104211451251135614591562166617681873197520802182228623912493259826106271112811629125301273113032136331433414835150361563715838163391654016941172421754317744181451844618847193481974920050203512065221313263941452062473083694310451150125513601468157516801788189119932010121104221112311424117251202612813273941452262573083293810401143124813511458156416681775188019822086219122991327311416521625730835937104011431246134914531559122539411515618722826931103511391245134714521556166117651870197220772182228523902496251032611127119281222912630128311333213833143341483515336157371623816639171401764118242189431944419745201462074721248215492195022251229522325323454239552475625157256582615926560267612706227363276642801328311420522627729836941104511501255136112253144165206237278299351038114012441349145415561662176518701974207621802286152931141551962573183693810401146125113561458156613273104145196237278329371039114512491352145615621668177218751982208621892297132731041652162472883193510391144124913511456156016621770132631041251661972382793010351142124613511453155616601763186919712075217722792383248525882690279328952998301023110532110331143411635118361223712538129391314013341137421404314344147451531225384115136197218239291033113612411345145015551657176018641968207521782281238724922596269927101281042910812283134185216257288329351041114713273104135176257308339371041114312481355146115651669177218761980208521882291239624102132631442052362773083393510381142152831241552362973384094610481153125813631469122631141351661872182592910331137123913431449132739417520625729833939104411461252132931141451662072482793210361142132831341652162573183693810431145125313273941551762272482793310351140124213441448155116581764186919752081218822922394249925108261152712228124291293013331138132831241751962473083794110461151125313561459156216661621031441852162473083493810431145124713531329313420524631736838944142103144165206247308359391041114612481356122739414516622725828933104112253749517623725828931103411381244135214551558166517671870197320782183228923922494251001325384105156227258319371226310414518622730836939104311461250135214551559166117651868197020742177228223842492122539411515618722825929122639414517621725830936132831241551862272482792910321137124113441447154916521756132931241752062673212243741151661872282693010361141124413471453156016621765186819732080218222842388249225962698271002810429106301103111232115331193412435128361313713715212318425528634741846951105711601262136813273104155186227268289311037114012421346145414210315417521626732835942104711511257122437413516618723828932103411371243142731241552162472883093510411527312416522625731835937104311461252135614591563166517681870197620792182228523902498251022610727112281142911730120311263213313283114175206237298329381041114713263841351662172782993410371140124413491453155816601768122538410515620722825928103211381241134514481553166016283104135196257288319391326384135166207238279301035114012431348145115571663176618701976122531041552062472783093610421146125113531459156216641769187319762082218922922398241012510426106271111329315418521625731837940104511501254136012263941551962573083293910431151125613601466142831141351762372682893310391142124713521455155916651769187319772079218222901326394135206237298319361040114212471349145315551661176818721975207821822288239124962599261042710628114142103154215286347388409441050162103134175206227258279291033113712401342144615491653175918611967132539411516619723827934103711401247134914541556166217641867196920722176228216211318420524626733835938104211471250135314581561166517711229311416520624726831937104111451250135214561562122631141651862372782993210381140124614210313416518622730838945105011571527312417523627730836940104311501252135714631428310415517622727832934103711401243134814511556166317671871197320791428313418523629732834942122831041351762273083493710431145124813511455156116631767187019742080218222842390122931141652062472883093410361140124313481456132731541852463173483794210451148125313561458156416211318423529632737843122438411515620724827931103611391243134614491552165417581861196320672170227223742479258526922796281031527312418520626729833936103911411245134814511555166017651327312417521628734840944104611501252135814601563166617681873197820802183229023952497251051529314418525631733837942104411491253135714621571142831341952662973383894110451148125213581461156316661770187419802082218522872391249625100261042710815293154235276351225394115156207258279301034113612381342144915511655175818611964206621741225384125146177238259271031113312411343144515501653175618591963206621692277122436410512620722826931103511411246135014591521031541752362672883393510371141124713501454155616601763186919722075217722822387249025932696271002810329105301093111313273144205256277328399411047115012551358146215641668177418761982208521892295132931241752262773183493710401145125013551460156316651771122639413519623726828933103611401248122431041251762172783393810431146125213541457156316651773122631241651962172482693010361224310413515619724829931103611381240134314491551165717611866197120742177228123842488259426992710514263104135176197228279321326311415521142831341952162773283693910451147125113551459156516721775187919822088219022952310313263114165186247268299331037114212471328314419523628734840946105011521254135814611564166817711874197620792183228623892493259626100271022810529107301113111532120331253413135134361393714238146391484015241157421614316444169451751227394125166187208269291034113812411348145115531658176218671974208221842289239424962510126107271102811529120301223112432127331313413335138361443714938152391601329315421524628732838132731041852462973383793910441148125213551460156316671769187419782083219122942310024106132631341852162673283693910431148125013541458152831542052863474084295014263104155186237268299321036113912421344144715541427312417520623726830933103611391241134614491555165717621869142731241752062372682993310371141124413461449155216561759186513273114155186267328379401043114512531529312420522626729833936104011421248135014531555165917621866196920722174227723812485259214283104165196257298359401042114412481350145515611664177218751981208321872293152103134195266307358389431046115214293164235266307348399411045114712501354145816283134195226277328379391042114512501355146215671672177718831988209221100162113164225246267341821431942452863373684413293174255356437468509561326310414516618722824929103211381242134614481553165915210317423529636739843946105111541259136214661571167417811521031341752462973183393910431147124913511454155816661328312414518620725827931103511381241134314461548165017541860196420672169227323772481258626932799281062911230117311233212533127341333513736140371463814839152401544115842160431654417114283154205246287318359411043114812511356146215681675178118831986208921952210213273104155186227268289311035113812411344144815511654175718621965206721712275237824812583269127932898291033011231117321233312934135351403614537149381543915740161411674217043174441774518146186471884819349201142113164195266297328389401047115112571360146315671674177918841988209221972210023104241092511226116271182812229128122631041452062472883093510401145124713511455155916631769142113154205246307368429451050115612621327310413519626729831936104011461248135314591563166913273134155186237298369381043114912531359132731141351962272983193510371140124713501454155816611764187119742079218122862391249625101261032710828116291233012931133321393314534148351523615537159381643916640168411724217743181441871629314418524630732836941104511481254136014631568142123184215256277308339361038114312471349145215551658176118651428312414517620722826928103111381241134414461549165312273144175216287318379431227312414518621725831934103711431246134914541559152931542352763473884414263104145166197218249271029113412361344132631041251862172783293710401143124813531328313418520623727833937104111451248135214561559166217671869197220762182228923922497251031721231542252563173484094310451149125513581462156516711775187819822084219015212320423525631733836939104511471254136013273124175256317378439481050115312571359146415711674177618801984208821942210015210313416520626731836940104511481251135514601565166817711874197620812186228923951621031542052262873584295110531155126215293144185216257298349401045115112581364147015731677177918821987209021952297231051428311415520622726833936104211481326310412514619724826930103411361242134514491552165417571863122537411513616718823926103011391528311414518622724828934104013263941551862172482893210351138124113431446155116541756186319672070217522812389249325962698271012810329107301161529314420522627733838944104711521259132931241451862172582993310371140124813541457156516741777188519892096142731141952562773183593710391144124713511453156016631768187219762079218722892394241001521031241451862373083794110441150125313601463156914210313418520624727831934103611401243134714511555165817621868197320782184228823912495251002610427107281122911813263104125176217258329351038114012441348145215561660176518691971207721812285238924942597261022710428110142831141852062573183594113263124155196227278309351041142103154175216257278359371042114612541356146115651671177618801986209121952299231022410525110261162712228126291293013131134321383314034143351473615115293124205246277328381226310416519624727831936104111461255135914641567167217771880198620922198221042311024113251192612327128281341325374105136177228269321038142931241752062372883193714293114175196227288359371042114412481351145715591663176618711224310413516620727122437413516623726830934104011421246134814531558166117631867197516293124155176227308359411044114712531357146515681671177918821985208821922295239824101251042610727110281172912030122311281528313415523626733840947105511601265136814711575167717821887199020961629314418521623729832934103811441250135414601566166817741877198120862192229623103241062511126117162831041451762472983694110441151125413571461156416671772187919842087219122951225310415522626730833939104111461250135614591563166517691872197720831327311415522626733839945105111551263137014771581168717911893199720100211042210923112241152512026123271292813229134301373114513210315420524627732836939104511501257136014631566167016211313418523626731836938104511481250135814611567167117761884199020942196221002310613283134165216267288359381040114812511357146115661674177618801985208721922296231002410325107261102711528118291223012631130321353313934142351443614837150381543915940167122437495116157188239261030113512381340144415481650175318591961206421692273237624782582268527892893299530983110232105331083411135114361173712038124391281429314419521623726829934104011451250135714601562166617731875198220842186229123952498251052611127115281221328311415517621726829932103611381243135115210316418521625727833936104211451250135214551559166217671869197420772182228723892491259626982710128108291113011331119321223312634129351333613637142122631141852162473083612253124175236257298329351038114312461350145415571661176618711976208321892291239724104251072611227118122831141351662072582893410361140125013561459156516721774187919822088219422972310324110251122611527119281222912530128311343213933143341463515036153371583816239167401694117442180132931241852162672883293510391143124913541462156816701774187819812086219022942310124104251072610927113281182912230127311313213633138341433514913263114185256287348399441047114912541358146315651670177512273114175226257298339401043114612501355146015651669177514283154205276337388441228312416522625732834939104211451247135414611228310413517622728832936104011431248135214541558166217671870197420772180228523892493259726102271072811329115301213112432130331333413835144122831141351962772983393610381142124513491452155516591762186619692071217522792386248825912695279728100291023010631108321153311934121351283613137138122731241752362773083493610391143124813511455155716631766187119771225312415518625728831938104111451248135314561558166412263114145176217278319351038114512501353145615581666122439414520626729831939122638413517621724832122631041451762072282492710301134123613391442154716501753185819612065216722702374248025872690279428972910413273124175226267318349371042114912511353145815601663176718731977208221861414283124155186207248279301035113712421350162831241751962372683293410381144124913511457132539417523628733835937104313263124145196247278299341037114012461721231642152863616211315418521627162113154185226297358379451326313419524629735838943105011561421031241752362673083594010421148142113134205226267348409441050115312581360146315651673132539412516618723826929103211351241134314461552165417571328312415519621723828932103711401242135013293124155211326384161327314420523628736122931141452062372883193810411148125113541460156613273114175236267308349401044114812541326310413518623727829932103711401245134814541560166217701529316421525627731836938104511491251135714621564166717731876197820832188229023952497251051821131541852617212316420526629733840945105111571259136214671575168017831889199120962110222106231102411225119261232712628130142831341952262472883193810441146125413293144185216257278329371042114512481327312417523628734122538410516621726831937104211471253135614591562166417681872197720831225384105176247278319371039114412481353146015671674177718821984209021922295239724103251062611127119281252913030132311381429314419524629735840945104811501252135614581562167017771880198420862188229412253841452162773083293610421148125013551458156316691528314416521628732838946105211541257136114681572167812253841251862172382793210391142124813511453155616641224374115156197238299371039114412461348145315581660176618721977208021872291239524101251052611112263941251962172482893110341140124613501454155716631768187019722076217822842387249325962610027102281042911014273104145176227248329361039114712253841151862172583093510401143124713521455155816631766186819741621131842753163674184694810521158132731041551862272682893110371142124813541456156216651768187419792087219222952397241012510626108271112811529120301243112732133331363414235146361513715713293114145166197218269281032113812401345144915531656176018651968207121782282238724912597261042710828113291193012431129321333313534140351433614637149381533915540161152113184215246277328349371043114912521356146212273124195286327348389411046115212551361146615691672177718791981208721922296231041325394135166217258309341042162113174255276317358389431048115312581360146415701628310416518620724826931103811441249135214561561166517681871197720812183228823922495259926102271062811129117301193112332128331373414035144361501521031542052562772983493610411145124813511456155816611765186819732076218022842389249125952699271022811015210312416520628732835942104817211315422526632735842948105311581260136414691571167817811887142831542052563073583994110471149125413621521031742253063774284494810521157126013641472162113174195256297348409451047115012551358146215681521031542052562773383894010451147125013551459156416661770187619792087152113164205256317378439491055115812621366147115741677178218891995142103154215246277308359391045122831141752062473083493910431145124813501454155716611766186919722074217922862389249125942699271022810629109301133111532120331263412935133361353714038146122631041451762573183393610401142124713501455155916641770187519802086219222992310524110251132611527120281262913130135311373214515293144195226247278351329311416519626732836941104311471251135514571565132731141752162472783293510381142124713521457156116641771187319782085218722892391249825102261062711228117291231621131542052462773283593710411144124813521456156216661772132931341652062472682993510391141124413461449155316561760186519692072217613283104145176227248289321325384115136187238279291031113916212315420523628730834936103811441729314417519623726829933104011471253135916214320423525630737842947105411581263136714711427312416519621724830934103611391241134414481552165713283134185206247278329341039114312481350145813253841151361872382792910311139162123154195226267301729314417519623726829933104011471249135414591561166417671870197620782183228723942498251022610727113152113164205246287308339371043114812511356145815611663177113253841351561972282693610381143125113551462156416671771187419762081218922922396249825107182143174225256317358409451052115512601366142831341852162372683293610381141124313461450155216581762186419682071217522792382248525912695279728100291043010731113321173312434128351321729314419521624727833935104011461248135414591566167217771884198820922195221002310224107251131328313421523627732840943104611501257135914641568167017731878198120842188229023961328316419524629731837162123174195226267328349381043114612511353145615581666172133204225276331529313415518621728833936104111441248135014551563152731041552162873083593810401143124513531421031642052262573183393710401146132631041451761972483193310391143124713541821331642252662873617212316421524627732840142831341852162372683293610381141124313461450155216581762186419682074217922872390249625101261082711128117291193012431127321343313834141351443614637150381561329312416522628730834938104011431245135314571564166617701875198120882191229423992410713263114155206257308329381040114612531356146015641669177218751983132831342152362773483694010461151125413561462156416701772187719802084218722931229312416520622726828933103611381243134714511554165817611863196720712174227623802484258826912795289729100301043110732111331173412135125361303713438139391444014841151421591429314419521625728834939104311461253172133204225276331521031541852062572983493910441149125113591529313415518621728834937104211451249135214551558166413293114155176207238289331041114812531359122731141752362673083693810401146125213591467157116741776188213253841351862473083594010421148125413581463157116741779188515283134155216267318349401528313415521626729832938172103144175216247288319361044142731241752262472783293410361140124713541459156216681771187319791328311415517624728834939104711501255136214651570167217751879198320872190229423102132831541752062372883494112273941451862572883393810441147125213551458156316711428310415518622724826934142739411515618722825929103111361241134314471552165517581865132538411515618721823926102811361529313415520624142731141351862613283104135186207238289321426312414519624730152931441952162873415283124161421031542052262573083293510381146132631141452215273114145166207248269301033114013283124175226267318419471051115517210314416519623727829933103511411428312414519625162113194251521131715293124201226312132831341551862072382692810311135124213441451155816621767187119771621231942152562773584115283114155221327310413515619724828931103711411245135014541560166614293114145196237278329391041114612511357146015651672177918851989209421100132731242052563273483994210481150125413561461156916761521131341651862472783093210371140124313471449155316581767186919742079218222881429311416523627729836941104714210316421524627730835939104511501253135614591563166917721876198020862188229416210315417519622729832935103811401247172123194265326407458499551064117012741380142731241752262472883193410371140124313471450155416571762186819702077218022832390142931341852162472683293510371143182123214235276327378449501054116017212317422530635740848952105811621266137014731579168217851892199520100211062210823111241152512026125271282813329139172113184235286317348409431048115112561358146215661669177318761979208321862290239324991227311413515618723825930103613273114175216247298329401321131341552062873183794310501158126413671471157516771781188517211317421530634737842945105111551259136314681573167917811885199020932197221012310914273114195246277308329361040114412471349145415581662176518701973207821832287239224962510026103271082811229115301183112232126331303413435137361433714638150391544015741165132539412519622727835942104511471252135514571565162831041751962172482993610391142124713511455155916651772187819812089152731241752462673183593910421146124813511453155916621765186919732078218022862391249425982610227106281122911730120311253213033137341433514736153162113184235296337408429471050115212571363152831241451862072582993310351139124213461449155116571760186619712077218322891427394155206247268309351038114012461350145515581664176618741427311414518623727830935104311451249135514581562166717741878198220862190229423972410025102261042710928118291243013231135321393314134148351513615737159381643917213253941151662372583093410381146122731341852562873083493810401146125213571461156916211318420525627732838940104311451250135514591427394135186217288319371040114512501352145715631621031441952363173584194710501152125413571464156616691774188119842087219422972399241012510426109271122811529117301213112632128331323413535140361453714838155391594016241170152831041351962372683293510391143124613511455155716591763186919732075217822862391249625102261082711428116291233012915211317422527631737843948105011571265137114791586168817941898191012010821113221182312524129251332613827146281502915430159311653217033172341783518436191371963820039204402074121242214432221224384135166207248299341038114012431351145715591662176518671971207621822287239324982510326107271112811629123301303113532141132631041351862372683218213317423527634737841943105011541256136014651570167717801885198920932195229823100241042511026116271212812729134301393114332150331543415635161361633717038173391794018341188421944320013263941551862472983393610401146124913561461156516691772188019852093142931441852262572983293510421147125113531459156216671773172931541952362873383594010421147124913551462156516701774187819802086218822942398241042510726112271181327310414516621725829935103711431248135314581563166617701876198114283104155176237288339351040114612511356146115651668177318791428310412516619723826931103511411327310416521624727834936104211451251135314561561166717711876198018210315419523631736839942105011581266137114771426311414519625731834937104311501255135814611566166917731879198220862191229623102241042510626112271152811929122301263113232134331373414335149361523715738162391664017216212319426532635737841944105213283134185226257308339371040114412461353145715641666176918741979132639411514617719825931103811411247135114561561166417691871197720802187229023932495259826104122831241652262472783193510371142125013531456156415293154215271429312416522628734838944105111551257136413273144175226267298349391043114812521357145915631667177118731978208221852288239324982510326110271152812029125301321327312417522629736841947122539412519622726832934104214293144195216257318349381040114612491353145715591665176818721976207821842287239224100251022610427107281122911430122142113174235266317368429441050115612581363146914293124175226257311621131842752963273484015283104145181421131342052262572782993210361140142103124175256317348379411043114612491352145415581660176518701974207821822288122631041351761972582793410401729315419525627731836939104211441250135614591561166517671875198120832189229223962410325107261102711428116291203012531128321323313634140351453614737153122438413517620723826928103111351238134114451550165817601865196820722177227923822485258926942798281041226311413516621725829934103911441248135414581562166717711873197720822186229023952498251042610927115281172912514210315419521626730836942104611491255172931141551962272813211314418521627733132931241751962673083594410461150125612273124145176217258329391049115212541358146414283134165186217248309331035113812421348145115531656176018661969207121762283238524902593269912263104145176237268319391621131341751962773283594110471329312417519625731837941104411461252122731141752262473214210312419522628733836940104412273124155196237258329381042114412501821531742152362573114263114155206247328349381042114412481351145315561659176418661970207421792283238914273134215236307358411528310414519624728833935104011461253135614591561166912273104135156237258319391042114817293164185256287358419451052115512601367147115771679178318891421231742052362773183794110451150125513611467157116751782152113174215286341527315418521626729833939104311471328311413517622725830932104011471821031441952362873483794210451151132831241652562973283894010431146125213561459156416681770187319772084218922932310114283134195226257331221031442152462773283693810461152132731141451862572783393610411144124613491453155516591763186712283144185216267318339391042114912511356146015631670177618791985209021922299122639412520623727833938104311481250135414591564166917761879198620932197229923103132831341752362673183594110441148125213581421031342152563012263114165196247298349381041114712541328313417520626731833939104211451248135114551557166117671871197520811321031441852362673083293610401144124713531461156416681772187419782082218614273114155186261221031341852362673283593810411144125013531456156016641769187319762080218322872389249712263114165226267328359401043114812541329315420525628730836122431041351762172683193310391326310414518625728834940104311491226311416524627734837942104511511258136014641568167117761881198520892195162103124175226277318359421044114812521358172931341752562773283894010471152125813641469157516771784188919951226311416518624728835942105011551261172113184265306337378419441048122631141651862372783193410401145124913561461156416691771187619821327394145196267288349361042114912541358146315661674142831341952462673183393710421145124813501453155616621769132831341551862172382792910331138124313481450155616581763186819721326310417521625728831935104111441252132639415519622727829935104111441249135614581565166817751879198520872193132631241552062372783393910451148125213581227312418525631733837941105111531257136214661568167417801885198820922198152931541752262773383794010431149125413601462156616711773188112273124145206247278299311034113712431346144915521659182113134175216267318349371040114612491353145615621666132831541752162773083694010461721131641852162472783193810421148125613651469157516771781188619912094211002210323108241112511826121271262813329138301413114332146331501226313419522629735841945104911521259136714691576168017851889199320962110222107231092411225114261182712328125291273012931133321363314034145351491228312414519624727833938104411531255136014641568167117741878198220881321131342052262873384094210481153125713611464157016741778188219881226311416519624727834941104511501255136117211317420527634739844951105311571259136713293154205226287328379421048115012541358146315661672177613263941652362772983393610411143124813521455155816621767187419772080218522892392249625100261032710628108291103011431117321213312534130351343614012263154215236297328349391044114712521355145915621666177018741326384135186237318379431051115712611367132631041651962372683193714263114175196247298349381044114812551357146115641668177413263104125146197238299321035113812441346145315561660176418681426311417519624729834938104711541261136314681571167617821224310413517622727830932103815210314416522627729831934103711391244142113134185226257278329371043142931141451962472983293610381142124413471455132831341852362772983516293114185206237268309351041114312461350145615621664176918711979208321892292239824100251032610527109281132911630121311263212833134132831341852162672983393610381144125013293114175206247288309341038114312531427313415520622724829934103611401243134914531557166017651868197220761226311415519622727829937122631141452262573183393610401145125113571463156616691773187719832087218922942399241042510726109271151427311415519621725829932103511391243134814541560166317661870197320792184228823922497259926107122539411515617721824928103011351241134414501555165917651870197420781428310414517622726831935103915283134185226287328349381042114612263114135166187248269321034113812421344145015541659176318661969207321782281238624902594132931541852362772983293710411146125013541227312419526634741843947105111571261136714721577168317861892199720100211072210923112241142512126123271262812929136301393114832150331553416135166361693717238175391804018641191421964319944205452091621131642252562873483794110431148125313571621131842552763173584194510511156125813661469157216771781188516211313416523630734840944104911561261136514691571167517791881198520882191229515273114175206257318339411628313418522629733836941104511481252135614641527311417520625728832938104011441248135014581564166717711874197720802183228923962410025103261082711228116291213012631131321351328314416524626728835939104211491254135814641569167417771882198420882191229814293154205276357388469521060116712701372147615791684179118971910220108211132211923121241252512926133132638416523628731835939104311451250135514581563166617681874132731541852162572983493710421148125113571463156616741777188619892091219522982310513263124175196257298329351038114512531358146415711677162113154195246297318369401043114512501356122831041451762072382993110391328315421526632740842947105211581262136813283154175206257318339381045114912541358146015651668177318791321031441952663173784394610521155125813661471157416761781188319872093172133174245306377428469501053115915283144195236267288329371041114512273941551962372783293810421145125113531456156016631768187119792084218922932396241021225313415521626730836939104511511256136014671570167517771883142831341751962272783393810431149125313591462156516681772187619812083218922912399162113164225286347378409451051115612611363146715711673177918821986209121932297231022411015210317424526630734842949105311571260136414701572168016210315418524629732836940104416210314416520624727831122631141651862473083894410461153125813611468157116771781188719892097122437413521629737845951106111671272137814841591169417991810119105201112111622118231232413025133261372714128146291513015331157321623317013283124145196247288329341041114712501353145715611666177118761979208321852290239612263104165196247288369411046114812531357146215671671177518831226310412515618721823927103211361240122631141652062873183494010461152125513601463156616701774187819842088219022942396249925101261052710928113162113134195246277338389411047114912521356146215651671177418781980208521902296239924104251102611227114281172912315211315418522627734840943104711501255136314701573167817831885198820942198221012310716213321427529632736843946105011531258136114681572167717791882198520872193229623102162831441752162973483894110431146125013531456156412263104155216257298359381043114612491352146012263114165186237258329401047115212571364147015721676178018861992209721103221062311424116251202612427130281352913913273124145176217268299351042114912521354145915661672177418781984122531141451862272582993110351139124213451453155916631768187119742079218422872393249725103261102711828122291253013431138321453314734151351533616014210315417522625727832937104311471255135914671570167217751879198520872190229423972410025103261102711528117291213012631134122631141651862172482793010361138124213461453155616611767187419802082218822912395241012510726109271152811829122132931542052563273684194410491153125813611463156616701329312416520622727832937104111461248135114531558166017641870197220762178228223862491259526101271052811029115301173112232126331303413535140361463715138155391574016341168421724317616211317424532639741845949105311561259136114651571122539414519624731835939104411491257136214641571167717811887199320982110222106231131327310412516619722827929103411391244135212293144205256317368389451053116012651369147714211316418524629735840947105311561258136314701329315421523626730833937104511511255136114631571122731141351962272783594110481154125913651468157316771786132931541752062672883493710401144124813511455155816641527311415517620725828930103611411244134814541563122631041551862272783393510401145124713501457156016651224310413515618722825927103311371241134814561224310413516620728832937104011421248135214571559166317651872197920822186229312283124145186207258299331037114112471328310414518625728832937104211491252135714631566166917741877198320862189229513283154185256297338379441047114912551361146615721675178117212316421524626730836939104512273114135196217268319351038114415273124145216247298339371040114212471351145415561662132731141351862272883493910431150125413561460156616691772187619821421131842753664174985595810641173127613801484158816941799181011910520110211142211815210315420527629732834937104011431247135214571565167017751880198420902195229923103241062511026114162113144215266327358379421044114912551329312414519623729832934103711411246135014531558166414213315419524628734837939104511471255135714611565166717731421031642052362773283494010461152125613641229311416519626728831933103811421246135114561561166719219324426529635742848950105711641270137414781584168617951897191051327316426533636740846950105211571263136714711575167916283134185216257288339391046115512621371147815811687179218941999201062111122116231212412625130261372713928145291523015831160321681328311416518623726829933103811421249135514591569167417791887199020932197221042310824113251192612519218323429532638746852954106011671273137914851592169617102181071911420118211202212423128241321327315424528632734839946105211561262136614681572167517811883198720912194229623101241071226311415521631736841948105211561262162113134185226277318369421045115212571360146215681671177618791981208721912297239924103251062611227114281182912130124311303213633140341453515036152371583816539168401714117342178431804418345186461901527311415518623725829935104211441252142931141552062272883193717212314420523626732835941104511471252135614611567132931141551962373083393710411147152113194215296317388449461051115412591366147015731677178118851989209316293114135196227248309331038114112441348145215551658176318681973207921842286239024952510313211318422526630736838945105311601262136614701576167817841886199020922195229923102241052510726112271181821332042552963273784313273114145196237328389411043114912521356145915661669177318771982208921922295231022410425112132639412516619723826929103211361240134514501556166217651871132831542352763173583794310461148125413591465156816741429313415520625732834939104611501255135914651569167217741882142731341552262672983593810401146132931542052362973784495010531160126613681476132731041451862072583293810421145125013561421231442152662973383894310471153125813631468157216761780132631341651962572883193610381143124513511454155716621765187119732076218422862390249525992610313263114145166207278309321035113712431347145215591663176518701974207721822284239014210313418527630736840943104911511258136214661569167517781880198617212315420525627729836938104211451247135214561558166517701874197920852187229223952499251042611227119281222912630132172123154185256307378419481052115612591366147015741677178218881629315419522627731834938104011441246135114591721031442052562873483894010441148125113561461156516691321031241651862272783393610431148125313581463156716711321031241652162773283793910431148125113551461156716701774187819812088219222942399241012510526109271131921631842753564174885495710611165127013731477158016841788189319100201062111022114231172412225128142931141852562873183894310461152125413601463156916761781188319882091219522991621332042552963473884294510491151125513601462156616701774122431141552162873183493910411146124913521457156116651329311415517621727829934103911461249135314551561166713293144185236297388459481052115712651372147515791685162113154195226287328369411046115012541621231742252763473784595210551159126313691471157416811783188819912097211022210623110241171225384125176207238299311034113712401342144615491652175618611963207021752278238614273134165206227268329351037113912421348145115541657176018661968207021732277238224842588269327101122631341752162572783393610381142124813531457156112263114135216277358389411046115312551359146315701677178118851988209021972210523112241152511926124271262813029139301453114932155331573416135163361683717418216324432540648755863971107311791288139314971510116109122531041652162373183994210471151125513571460156216661769187319782084132631342052562873083594010441148125213541457156016631767187019722079218422881326310414518621723828931103511381240134514471551165417571861122638411519625729834937104011421245134914511554165717611326310413518628736841947104911531259136114641566166917731877198120852187229023952498251012610527109142113164215246277318369411044114812531358146415691671177318771979208321862290239224952510026107271092811329115301213112712263114165216257318339411225394165196247268339351042114412481352145515611668177018741977208221842290239324962599261022710728109291133011731120321253313034134351403614337149381513915440158411614216443167441694517246176471784818249184501885119152199132931341852162672983594010431146124913561460156416661771187713263144215256307338359371041114512501358146015651673177818811986209121962210212263114165226277338359411048115212561363146515691671177814263114155206227268309351038114412481353145815651671177418821429311417520627731834939104511481254142831241852062272582893010351137123913451448155016561426311415518623726829931103611381241134314501553165717631868197120732179132831241452062472883093410381143125213561460132831141551962172482792910331138124113431448155413263104165221429313415521624727831933103711421246135114561558166117641867197020742177228523872490259526991226310414517625731833936104011421247135014551559166417661868197220752177228023842488259226962710328107291131421031541852262572883293710391144124913541459156516731779188519902093219722992310324108251122611527120281261226394145186247288339381045114812541361146315661670177318761981208521912295231011224310415522625728832934104211481253135714621227394145206257328389461049115512571359146515711521131641952463012273124185266327368449481050115512621364146815741621031642152863273684094610481153125613581466132731141652062973583994410491153125813601465157116731780188614263134175226277298349361041114512501353145615581661176318681971207321762280238324912593269827104142103164185236267318389431051115412591366147015741679178712293144165216237288339361042142831341952462773283493910451148125313561459156116651767186919732075217722822384248925932695279928102291043010831111321143311834120351243612737131381343913812243741151361872382693210341137124113451449155116551759186513273104155186227268289311037114012421346145417293124165186207258289341041114612531356146015621669177318761978208221842292239524972510226108271142811729123132631141451762273083593910431145124813521457156116641771172113154195226247278309341039114212501353145715591668142931441852062372783293510381141124313491451155516591763186519702076217822841226312414518624727830934103611411246134914531557166317661872197520792185229023922494259826103271072811129114301183112232128331303413535138361453714738150391564015841166142103134155206227278319351037114112461350145515581664176818741980208221872293231002410325107261131427313419523630732838944104611501255135814621567167517781881198520902196221022310524110251142612027125281302913530139311413214633154341593516236164371673817339177401814118742191431981529312415521626728832935103911451521131742352663073683994210451150125513601462156616721621131842252663273984294410471149125313551459156416691775187919812086219122962310124106251082611227118142103154175216267328389421050115612611365147215741678178318891429314419525627730832939104615293114145166217268299331039114312461350145215571663122431041251862472783193610441147125113551457156216671772187419782081218522902398241022510526109271141529313417522625729832938104211481427311414517622727831933103912243641351561972482693110331137124113461448155316571763122436413515619722826928103211361240134414481551165517581860196420672169227323762478258226852788289129971327313416519621725827931103311371241134314471551165417601326394155176227248279311035114012441347145115571663176518681971207321752283122831441652162673083693810451147125013541456156016661227310412518623727832938104211451250135214571562166517681873198115273114135186207228269281032113612451328311413517621726830936103911431247135114541560152731441852362773183493910411147152731141552062472983293710391145122638412517621725830936104214210313415521624728830936104411491251135414591564166917731876198120871429312416521623730836942104411481252135514571563142731141551862472783293810411143124917210313418520624730122438413516619723826928103111351238134114441547165017551858196620702173228112283104155206257278329361042114512531326384115166187228259291031113912253104155206247298319361039114212461352110213315417519623726829932103611431325384115156177198249301032113812451348145215581662176718731976207821841325384105126207268299311034113812401344145015521658122631141652212263114135196247268309351038114012461350145515631226310417522630732835938104412283104145186217238269321035114012461348145215551658176018631967207313253104165196237288319381040114412471350145315581662176818701976132739412515619722824928103111371239134214451548165317581860196620692172227623782481258326882791289329983010131103321093311234116351183612137124381283913140133411374214113253114155176207258289301036152103164211329311417523626732834939104511491252135414591565132831341552062372883093610421325384105126207238259301033113712421347144915521656176118631969207221762279238124842590122639412517624727834939104111431246135114551561152931341752362573083293410361144124713491454155616611763186819722079218222862388249025961224394155186227278299351426312414519625727833939104511481253135914293124155176207258279301032113512381343144815551660176418681972207721842289239724992510126104271092811429117301193112432127331303413613293124185206237258299321035113912441346145015521660162133164195216267348399461051115612631368147115741679178712273941351762072583294010431148125513581463156516671770187419782081218522931227394145186247278329371044115312591363146914293134155206257278309341038132731441852162673083393610401148152113184215266307368419451053115512601363146615701677142931541852262614273134165196237288309341039142931241651862272482993110351141124313471449155316561764142831241952262573313263114145186207248279301032113712431345145115541659176318651970207421772285142831041351561972482993410401142124613521629313419523625731835940104815211313418526172103144195216257328369411048115412581365147115751683142831241551962472983394010421148125413581464156616711775187919822089219422972310324106251122611527119281252913113253104175256287348389431045115117211318423530635741845950105311561261136614691573167617781881198420882192229423972410425108261102711814273114145186207281621131642152462873183493910411146124813541461142931241952362673483694310461153125613611466156816711775188019832090219422992310224109132638410513619723828933103911451247135114541558166217641867197020752177228513283104155206257298349361044122731041551962272483013293114145176217278331529313417523630733836940104311481253135714611566166817741880198820912194132639413515617722826931103611401245134814541560132631041251661972382793210371140124513471453122831241452262873183594110471149125213541460132103134165206257298319361038114612491353145515641226311417522626729834937104512243841351561972182392510291132123613411447154916521756186019642068217222792384248625902692271001326310415520623728830938132638411515617719824927103111341238134214451547165513283124155186227248279291032113612401343144615511655175718591963206521702273237924851224384135156207248269301033113812431348145315561658176318661971207421772282238715273114155206237278319341037114513273124175196237258289321036132931241652062372683093513211315417522626732837941104411471251135514571559166217661869197420782182228723912494259813273134165196217248281327312418526629732835942104811521254135914621568167117751879198513253941151661972282693110361143125213541456156016641327310418524626729833937104111441249135614601564166817721875197920862188229123962410225107261122711428117291203012331127142931341952262573183793910441147125013561459156516691773187619782083218522931429316419523625732835938104311471421031541852262673283594210451148125213561328313419527632735840944104815293124145186227278299331035114112451349145315561658176118641967207121742278238324862588269127951228314416521625728832939104511471254135614591563166517691875142123154225266307348389411043114612491351145415581664122539415521628731836943104711501254135614621521031341651862472783293610381143124713521454155916651427310414516619725829932103511391243134714521557166217681870197320772179228123882494259926102271042810629110301133111632120331223412535129361333713838140391461327310415518622726831937104011441249135614611566167117741878198120852189229223100152103124165206287328359421044115015273134195216267298329351037114012441346145215571660176618681973208121862289239424100152103154215246287308359411225394115176197271227312418526633736840945105011551257136114671321131842453163874084795110551161142103144175216247278319351224310413517620724829933103611401429314419521625727831934103811431246135014551558166317651872197620812184228723902495259726100271022810729113132538414516619722826928103111371241134314471552165717671872197520811326384145186227248289311034113812411344144915541659176318681972207721822286239213263841451662072282893210381327310414519623726830935103811421245134814511555166017651871197320792183228723912495259826100271062810929112301153112315273104125196257318369391044114612491351145913273134155196217248279311038132931341551962172582893010331137124113431449155116551760186612283144165186257298359391043114612521528311414516620722826929103111331236133914441547165217581521031742352663373584094510491155152103154175216247268309351038114112431349145215561660176418671973142103124175216267308349381042132639414518624728832936103811401245135014551558166017631867197220752178228123842487259026941421031441752162773483693910441148132731041251562272783093410381140124413461449155316571760186319652073132731041351962172682993110351140124213451449155216541757186119672072217622782386142639414518621725830934103911431248135414571563166717711876198415283114155176197238259291032113612401344144815561325384115146167208239261029113312361341144315461648175018531956206021622266236824761325384125146167218239261028113012331337144115431650175318551963132538412517620726830934103711401243134714541556166117641868197213253104155216257278309361039114212461348145115541659176118681975142731241651962172483093410361139124113441448155016541757186312253741351762172382793010331137124213461452132631441852062572983393910441150125613591462156716701776188215273104125176227258289341040114212461349145215541661122639415518624728831934103811421249135214561559166512263134185206227281328311415518623725827931103411361239134714491552165517591865132831141852062572783293910421146125113541460156416661769187219742077218114273124175216277328359401043115112531357146114273124175216267308379401042114612501729312418522626733836938104211471251135414581562166517681428313418521623726832936103811411243134614501552165817601865197420782187228923942498251002610327107281111527311413516620725828931103811401244134614501556166117641866196920752179228313253841451661972282692810311137124013441447155316551759186119662069217722802385132639413517620723829933103511381242134514511555166217661870172113174195246297338369391042114714273124175226287338369411044114712501355145715601662176718731429314420527629735841132531041451761972382893210351139124414283134205276327378409441047115012521355145915631427313415518622727832936104011451247135014531559166217651868172123174255316347388439481426311415519623727831935103711401244134815212314417521625729836941104411491252135614601427394165216277338409421045114812293144185221229313415518621723826929103211371242134614491554142831341752062372783093410381141124413481529315419522625730836943104611481251135614611563166717701876198020832188229023942498251022610527109152831241451761972482692810321137123913431325374951261571782092310261130152731041351661972182693010341139124313451450155316581762186519682074217722832385249125932699271042810829113301181427312417523629736841946104811521257152831141451661872683114283134185216237268329361038114112431346145015531659176618741977208221862290239424992510326106271101326311418526632735841946105311561261136314681574142831141451662072682993210371142152731141752262472883093410401142124413481450155716591763186619702076218213253841451661972282692810311137124013441448155116551757186419672069217522782380248425872694279628102291053011131114321193312334128351333613713263841552062272883193310371140124313451448155116531756186019632066216922732378192133154205246267298339371527311413517622725829933103811421247135214561563166617691874197913253841351662172382793610421147124913521455156116651326312415522625729832938104011451249135414571559166317711874197820821427312417522628733836941104411491254135914651572167417801886132531041451762172682993310371421031442152763113283134205236287318349391044142831141852563073483994617293124165206277308359421325310415519623727831936132103144195256287328369421046115112531356146015621665176818711974207721802286238924941528311414517622725830932103611401244122437411514617721827930103311381240134514491552165713283114155201326384125156187238289311036142931341652162472883293716210312416524630733835938104111431246135014531557142931441752262873283493810461152125513571460156316671770187513253741151461872382593110341137124113471449155216561763186919722077142931341952562873383794110431146125013551460156316651768187213263941752062773083393910431629313416519622725830933103611421246132931241752262873383693910411144124813501456155816601766142103144205256277328349411046115312561360146815283124145186217291528310416518623727831936103811441246135114541559166217681872197720822187228923952498251042611013263941451962372983513263941351862172682993510421325384115166217258299321038114212441349145515611427311413518623725829931103611411243134614501556166117691328310416522625732835941182113181427315421526630735838944104911531256135914641567167313263104165221321031542052563113263104145196227288329351041114412471349145315561664122539414516619722826929103211371243134914551557166313253841051461972282793410361140124213491456155916631521131442052262773583994410481152125413591462156716701775187719802087219322952398241022510613263841251862273012273124175206237288319351039114112461349145315571621031241852262572883193610431145124913531459132731141351962372983193610401146124913561458156216681527312414516618723826930103411361243152931241652162572783413263134155216237288309351040114512481354152831241752162572883193814293114185206267288339371044114812561362146515681670177616211315420152731241552062573183593810441149125413571460156516681771187419801629314417520623725829932103811421246135014551563166617681873152103174235286327358379411044114812541359146415681671177715293124175236297328349421428314416519626731836939104111471249135414581563166717721874197920862188229323101241062511026113271172812129125301303113232138142731141752162673183594317211313415520622726831938104311461248135114551559166217651869197420772179228323911427394125156197218249291032113612411344144915571660176218681976172123164215236267328379401045114912511355145715611666177018731975207921812285238913253124145186227268289331035113812431345144715501655175818601968132631141351561872382692810361427312414516619722825927103211341239134314283104135216267298329341042142831041752262873383894010441146125113541457156316651769187314283144195246307338379411043114812521357146215661671177518801986209121972210123104241072510926112271162811829121301243112732131142931341952262673283493810451149125113551457156116671774187619841325310413516619726830934103811411246134914541558166017681729312416519624727829935104112253841051361571982593210351138142731241752062672983493810421146125113541459156316661770187419782083218622912398241012510526107271151325312416523626733840943104511521257136014651568167117751878198120832189229423972410425106261121629314421527633735838941104311471252135414571560166217651869197420782183228723912496259826104122731241852562873083494010461228310414517622730834941104311471251135414561561166317681871197420772180228623892493259626101271062811029114301193112132127122731241552162672983393710421147125213571459156316661771187519782086142831041351662172783093310391146124913521456155816631766187014293124155186237278339361040114412501353145715631665176918741980208221872289239324992510515210315418521627734841142831141652162472783093610431150142831441952162472983393910421146125013561459156316691773187719802085219022961329312416520623728833935104011431248135114571226384115146177218269281033113612391344144715531226384115146177208249291033113914293154175216257318349381041114412501352145515611667177118771979208221882292132531041251862272482893110341137123913441448155016531757186219682072217622802383248925912695279928102291101328311413517623726830932103611391247132731141351862473083393510381141124313461450155414293154175246297338379401043114812531357146113293124175226257298331529314416521626730833937104111481250135414571561166417721521131441952463073514283124185226287318339391429316419525628731833938104111451248135214571561166417721325311413516619722826929103515211314418522629142113174245266327378459481055115812631368147414293124175226247298329351040114512491354145815621664177113253104145176207268299331035113812431346145115541658176614293154205276307358409421047114912531356146315661671177618811986209121972210023104241072511026114132531041451762272782993310401142124513471451155416581762186819712075217822802384248814263941151761972282693310351140124613491453155716591763186519682070217522782381248525902695271022811114293114145196247268299331037113912431345144815511655175718601965207021742277238024832589269327972810229104301101429312416519623727830933103611401243134814511556166214293164195266287318359371040114412491354145815651521231742152715293134185226257278309341038114012441521031341852062472983193610391142124815283134155196251521031241551762172482993310371145142123154195236257338359391043114712511356145815611666177018721975208021832285238924932597261022710428108291123011431116321193312315273114145176197218239261032113612381342144515501653175618601962206721722276237924841527311417519621724828933103611411246134914531555166313273114135176207228279331037114012431350142123154205246277338369421044114912511354145915641666177018731976207821832285238924922596261012710428108291103011331115321193312334125351283613137139162931442052262772983393610391144124713501455155816611766187215211315418522628732838942104611531325394125186227268309331037113912451348145315561658176418701529313415519622726832937103911441247135115210314418522625729833935103911411249132731141451962272683193310371139124113471225311418520624729832938104011431247135014521556165817611865196820732181142931341852062473083494010441149125513601464156716721777188219842088219222101132531041251762272782993310391529313417520623727831934103611381242134714501552165517601863196720692173227623841521031341752162672983293913253104155206247288319341038114616212315421524627730833938104411501256142831341652162472883193510391141124715210313416521627142639415520623727832937104011431246134914521556165817621864196620721527312418521627730833939132631241551862172382993514293124165196237288329381041114312461350145514293124175226247288329341037114012451350145215551657176218651968207121752277237924852587269227962899291013010631108321113311334116351233612737131381363913840141411454214843152441554515746163471691224310412517624726831939104311511257136014641566167217791884198920962110513253104155206247278309351037114312481351145713273124155196261329313415518620722825928103615273104125206267318369391043114913273134185216247301729315420522626730832938104411481251135314591225310414517621724829932103511411247135114541557165917671329311415518623727832934103711421246135214541559166617691872197720822184228923942410025103261082711328117291231326312417522626728833938104311471249135314561559166417661871197913263841351762272983193410391144124813531457156016641770187219752079218422882394142731141752262673083293510391143124713521454156014283114195236267328349391042114712511356146215641668177218761980208521892295231002410525109261151327394145186227278349371039114612491353145815631667177218781980208221852290239424101132831141952462673183594010451149125413581462156616711776187919822084218922912393249625101261052711113273114165206237288329351038114212471352145715621668177518771984209021952210023102241062511211021732042652963273483994610491152125513601465156816731776187919842090152103154195236277308329351039114212461350145315561428310414516620723827934103711421245134814521558142931742353014283104135186217248269291031113612421347145412283104135176207248319331036114012421346144815521654175818611967206921762280238424882592269627992810229104301073111032112331163411835121122631141652062573083694215210315424526631736843948105111531257136014671569167317761880198612263104165216237278299371040114412471352145615591664176918721975207721832286239024982510126103271071428310412520626730835942104811551224364145206227268289361038114212481350145615631667177018731975207721822288239524972599261042711128117291193012431127321323313734142351483615337158381603916440168411704217343176441824518814263124155206257318379421046115112551361146515671672177818821984208821912295239924103251072611127118281222912730132311363214033142341463515136156371583816339167401714117542182152133184245306327408429441046114912511353145815631668177118781980208521882291239724104251082611227118142831241652062272582993210341138124213471451155815210314418521627734162113134165206227248289341038114512481354162113174205246317378449471054115712641371147815841689179218961910114273154185216237298379451054116012651367146915721429312417521625730162123154195216247308379391042114612481350145415611663176818731976208221862289239414283134165206257318389441047115312591361146715701674152103154195236277308329351037113912431346144815521657176118631967152103164225266307338379411046115215210316424528631735838142113134165186217238289311036114112451351145515581664177118731975207821802283238624882592269727102281061325310414516622724828930103511371240134214481550165317581863196720712176228123832485258926932797281022910730110311143211933124341303513336138371433814539148401534115542160431634416745170461744717648180491825018651193142103144165206267318369381044114812511355142631041351561872182593110341139124113461448155516581760186419662071217322782380248525872690279528100291053011031112321183312134125351293613237134381363913913273941552162773383693910421144124813501453132831241552262672883394010451149125413571461156616711776188419891621331942552863273683994610481152125613581462156616681772187619792083218522892393249825101152123164215256307378429461048115312551357145915631665176818711974142103144165206267298359401043114612511353145715611664176818721975207821821428310414519624726832132531041351762272483193610401146125213581428311415520626728835940104411461250135514581562166813263114135186227278329361038114212441347145315591662176618711521031541852362572883393810421148125113551458156413273144185236287308379401045114912531356146015661672142831041251462272582793210361144124613501454152123184245276337398419451049115712611366146815721676132931141551862372783293510391143124513491454155616601763186919751421031442152362773183394010431148125413591463156516671770187519782082218613263104155216257298349361042114412461351145915621668177518821990209621992210323107241092511326117132731141451962773183693810431148142831041652062372583093510381142124613501328311416518623726829933103811441246135114531559166217661872197720852190229623982410525111261142711928122291283013031134321373313934142351493615337157142931241651862273083694210471150125213581465156816711775188019822086218922922397241032510526111271142811729121301273113332139331431427312414517620723828932103611391242134414481550165517581861196420662172227823812485258926932797281042911213263941451762172482993410411144124613541458156216691778142931442052863073583794310451150125513601464157016781921431642152462773083593910431921331541952312273114165186217251629313418524629731833937104011421246134914541558166213283134185256307358379421044114712511353145915621667177018731976207821842290132537411514622728833935103811441248135214561326394135181629314418525630738841944104711511254135814631566166817721876197820812186228823932497251052610927114281202912230127311293213233134341381421131441752262472883393610401147125513581461156316681770187519782080218622942396249925106261122711828120291233013031133321373314334146351503615337161381633916640168411764217943183441871521031542152963373783994410511157126113651469157516791783132538411515619723827932103611411245135114531559142931141451862272783193810431148125514283134185236287308339381040114312451349142831341852463073283894410471153125713611469157416781780188413253841351862272683093610411144125014211315421162931542152362873083693910451148125312283134185246307378409471050115712591362146415681671177318761979208221861428311419525630732838941104611481250135714611564166817711876198120832188229323972410025107142731241852462873183694316283104125196227278319351037114312451352145715611326313415519622727831938104211441248135512263114165186237268319351038114112461350145415581427312414519623726828931103411381244134814551561166617711873197820822187229423962410325108261141427311413517620724827931103411381240134314451550165317551861152831241551762072583293810401143124813541228312418521626730835939142831041752662973383913283124175206247328369421046115012531360162113174195236287338419451521031341952563073584094410491152125513591462156716721777188119872093219522982310024103251052610916283134185236297348379401045114812541357146413283134175216267298329371042114512511328312416520624726830934103611421327312415520629735838944105014212317423525632182103154205266311529311414516620722826930103613273124205226307348369391043114912531360132631041652162514273124175196247301421031842452963373913293114155186227268311226384115166197271628312416519623728831937122431041952162472683412263144175226257308339391326311416520622729142103124165186217281329311415518623725833142931141552312283104135166197261328313417519625730833939162103144215236267298361429311417522629737182103124175211325310415521625729162133204245296367408429441047115216293134185216257278341325384115166227258309331037114217213318425527633736847950105411561263142831241752162914293194235276327421326384145176217251429316418523625728833162123144175196227281326394175206247288309351037114012451429314417519623728830936142123164221328311413517619727132531041251461772182393113253841351762272482993110341139132831241652013273134165196241325312415518624132739417132631141813253841552162472683194010461328312420132631041351912273104125176227258279321034114113273144201327312415518622725830122931141552017212317162831041651862072682993210401227311414517619723830132831141452062613283104165221628311418122731141752262572883293715273114145196247281321231541752162672983515211316419522624732132631041251661972282913263114155231528314417520626132538411518624132931441852162914273941252013273104161527312415520623729172123164231429313415520625732835940104411471253135614621621031341852062472983494014273144221325310414517623162103134181529313415523132831341551962515293124185241721331916212318425530635737841122437412521152113151224374115191326311417524182123184245281427312417525182143204245301621231442052563017213319132731141351862413283164225256317348399421048115312581363146912253741351914210314416523630736122631141451662172382993310361140124513501455156313263941552113293124211521031642015213319132831415283124175196271329319152113134175216247288341428311415519622728142831141451662415283114165221326310413521627733836942142123184205246277298339351040114212481351145315561659176218681321131742252763073613210312416520622726830182133164205236297348401428312415521625731152123154185206267328359381044114612501355145916213320428533638740842948142831141752262672983293810441226310412518621724827931103511381241134714273941452262973784094210491151125313561460156416711427312419525631738844949105111531256136114651571132639411516622728830932103511391243134913273104155226257298339421045114912571361146615711674178218841988209421100152731241751962372683393810431149172143164221428311413517621727132831241651862472683093510391529311416519625162113134165206227288329351041152831341652262673215283124185206267338399441047115512253741151561772282593110341136123913491427310414518622727833940172143194225296327378429491053115612591362146415691225310412517621725832934104111441249135414561561166717731875197820802186122531241852362673283794110471151125413591464156916711776188119872090219815212320425531637742844947105111531256135914611565166917721876198217212316422526631735844142931441852262673183594010461148125113571461156616721775188019832090142731541952162673383694010421148125213561460156715212320425531635740846951105411581264122831141351962772983393610391143124613511453155816611766187019742079218522911721231441952362672883393510431429315417520624726831933103711391242134514481554165717621864196820702173227723802485258726922795289829103301063111232118142931141351662172382993310411148125313551458156216671769187219762083218922912396241032510626109271142812212263941451762172382792910321135123813401446172123154225246287328349381041114512491352145615601665176718731528312419522628733838942104711531429313416522624728830932103716212314418520623725830938104011461250135514611565166717721878152103144185251329311415518623727832939104211471249135314551561182143214255306357408429451050115612631521031542252462873283594010421148125413561459156116671228310416519621728122831141551862272783114283114135166207228259301035113712431351145515581661176714283104125206237258309321036114512481350145816210312417524626732142831041652162673083293510391144125113253741552162472983493910431148132638412515619721824928103211371243122538412516619723827932103817210317424528634172103124185236267338389441047115112571721031642252662873414273124195216257308339371628313415518620723825931103411371239134314451551165417571859196515273134205236287328379431046115212581328312417523625728833935103911431249135214551559166317661871197320812185228823961721031241852262973483693910451147125013521455156016651771152831441752062272683093310401147125013551460156416681772132931341952262773083494110441148125313571463152931141752062572783293510401142124413471451155516611326384155206267298319361038114112441347145115561661176913283144225286317358409441046114812511355145915651528311416518623725831936103911441248135412253749516622725828932103611381244134814531559166217661871197320752178228223862493152103124195246267298329361041114412461350145315561660176218661970207415283134165196217268299341039114412491352145415581665176818711975208221862292152831141351962572983293410411145125013561458156516741780188619902092219817293124165186207248279311033114112471351145415621329312419521625729834936104213273114155216237278309331036114212451349145315561660176318661971207321792284238724892595269727103142831241752362772983393610391142124413471452155716621764186719712073217822802383248725932696279928103291091427315421524627733836940104511471249135314551559166217641867197115211313417524626732836940104311481256136414691575132731041552162372583193310391142124613481450155316581762186815283114135196237278309321036114312481357146015651669177618791986209421102221072311324116251191528311414517622726829931103711431247135014561561166517721877198220862189229423992410425110132831341752362916210314416524631739142831041251562072282492810331138124113431451142731241752362673083493710391145142731241852563073483994610511154125813601464157016751780188419911629313418523626730832937104315210315417521625731836939104511481253135914283104125156207258279331038114012451348145315591663176918751978208121852290239524103122631041652463073283894310451152125913651470157516811621031441752362673283994210491152125713611466157116731777188119832089132931441852362572883193710431150125413591461156516681770187419762079218322892393249525102261052710828115291173012131124321311326310416519624728831933103711421244134814551558166217681329316420525629732835941104811531256136114631567167117751879198313293134175216267308339371039114212451347145115571227311414517621724831936104111461251135314581564122531041251561772182492810361140124413531458156316651770187614283144205256277348401326384135166217268309341041142103134185256317338359411429312416519624728831935104011441247135114531559166117671226394145166197248299341039114312481356142831241852262773083493810441148125313571461156516691227394155206247268329361040114412481429314419521627732836942104411521225310412515621724826930103511401248135214541557166317671873197620782182228623902494132831542152763073683994310451149125413621521031341752062673284094610481156122539411517619727122437412518620723825930103211381244134614491551165617611865132739412517619724829931103411361240134314451551142831241652062473083694110451147124913531458156316671774187819822087219322962310124107142931341752362973583894415283134175226267338379411043114712511357142731241852362773483794010441148125013531457156016631766186919722076218022841329312415522627730834938104211491252135614611563166817741877198120862188229414283124165201429314419521626730832935103811451249135414601566122437412517622728830935103711401243135014521555165717621867197112293124155206237288319331035114315211317422525629735172931541952362573183494212283124145186217288339361039114112491427312415520627730833936104111461249135614601565166817751326310413520628734841946104811521254135714591563166617681870197520782182229113293164205226287308349391042114512531528312415520623727832935103711391242134514511226384135186247268321529313418522624730836939104511511255136114651570167217781881198320892195162103164235266307378409461048115212571426311413516619722826931162931241952162773383594010451151125513601427310417522627732835939104211461252135614621566167017761227310415520629735840948105211571228314421524629733837940104311491256136214701576167917841887199020982110022104231101327394155186227268329361044114912253114155196217258309381043114912571359146215661671132831041652362973283794214211316421527631738843162113184235296327378439461052115712641368147015741682178518911998201012110422110231161328315420522626731833936104311481253135914293124175226267311227312417522625727832935104011431246135114541558166117641870197320772182142931141551962473183794110441149125413621468132931141751962272582993310381143124813531225394165216237278299331036114012421347144915531659176518711327313417520625728832938104111461252132631141751962372682993210361139124514273124175206237308349391044115012263841251661972483093614273104165196237338399421047115112561362146415701673177618801982208521922295239924103251081529313417519625728830937104011461251142831141351962172783393710401148125313253114145226267328359391045122103154205286327398439481429313419523625728834937104011441250132731041651962372683293410391144124913551225394145176217268299321038114312481329316420525628734840942104711501254135913293144175206257298341329314418521625728833936103911451248135314581564166717711873197820812184229013293124185216267288329351039114312491355145715621665177116211314418523631739842945105011561326384115136157188209251031113812401345144815511657132638413517620722826931103411381244134812253841251561872413263104145176197258289321034113812421345145015521656176118671821231942452663473984395010541159142931141452062773083693910441224374105146177238269331036113812431348162123154215256301426314419525628732835937104011431247135214561558166417711874197720822187142831441952362773283494010471152125816293154195216277308369401044114812511353145915631667177018771982132731041751962172883293510371141124313471455155716631766187019761427312414521626729837942162103134185246287368409451227312414519122639413515621729831937103911431248135114541562166617721879198220842186228923912495251001329318423529631736839944132931541952162572783493810431145125213551462156616711428311413516622724826929103511381245135014551428311413521627731836939104611491252135814631568122731241751962372683293510391143124613521521031542152462873583994310491154126113661468157216751778188413253941251562272582893510371144124913541457156016621768187413283104145216247268299321039114512491355146015661669177218761983208621921327394115146187248279321038114212481351145515601667177518771983209021932299231022410825113132731542152563173483994210471150125413581329312416520623726831934103711441251135614591564132731041451862172583193510411729315419524629734839944105111531260136814731576168117881891199612273104125176227268309351428312415520622727834936104011431246134914541428312414519621723828931103511391244134714511557166117681873172931341652062472683093510401142124413491452155712273941551862272683193610411143124813551458156316651767187219752080218222871429312415523625729835943104511521260136314671570167517811327394135206237278329381044115012561359146515701326384115156187208269301034113913283164185226287328389431047115112581363152731341651962372883293713210313419523629731833936103811431248132831741952463173583994110471152125513601325374135176197248279301036114213293144195226257308359401042114612511354146013283134155206227258279321035114012461325311415518625729832937103911411245135114561326310414520622728831936152731341551762172683493710411149125213571421031342052462873483894110451148125312243841151762272682993110351140182103154175226247278309331039114112461349145414283144195256297318339361038114012451350132739412514618721825930122531141652162472683193510381144124613511456155916621767187119761429314416519625727829932103611401245134814531628312414517621724826931103712263841151361772182693310391145122631241551962472883093410391148125312263841151361771982392510311134123813431446155016551760186519672072217522772380248325872692132631141351962172683193410361141124513491453155812243749514620725832938104311451251135514601225310415519625728831937104211471326310413519622726829932103511411243134714541557166417671873197720822186229223962410025103261092711413293144195266327368399441050115412621366147114283104145186217298359391042114412481353145715601664176618691972207621842287239212243841451962372682993610401147125113581463142931341652062573083394010421147125113531458156116661768187219781326310412516621724826934104011451249135414561561166715273144165216297328359401527311415522628733837940104311491253135614611621331942252563273584094616212318421526629732839945122739411513619721826931103611381242134514491554165917661870172123164185216247288351621331842553012273114135186247278299341037114412501353145715631666177118741979208221852290132831141551762172582893110331137123913441447155016521755185719612066217215283124165196237298329361038114214293134185206247298379421048115612581361146515691629313152103154195236271225374951261572282693010341136124313451451155416581529313416522624726832936104211461328310413518622725832936104011441421131341852362712263841351862573083293810421225311414519625729833935103911431247135014521557166116293154175226267301229314416523627730835939132631041552062472883393810451148162931541752262873283494210481150125413561460156416671771187419781521031641852262673083594010461149125213561459156416671771187513213316422525629734837942104611491253135514601565166817701875198014293124165216237288319371041114512511354146015631665176918721975207721812285238724902594269727103281062911030113311163211833122341271721331642052763073684094610521156126213691471157616811786189019952010121105221091521232142652963373783994410491154125813601463156616711775187919822087219422992310524108251112611827124281282913230137311443214833151341583516136166371693817314263124175246267338359401043114912521356152113164235256287328349371043114512481352145415621667177218781983208821942298231022410525108261132711828121291263013231137321421721231842353063474084594910551162126613731478158016831787189319952010121104221082311124115251192612227126281312913430139311433214733151132831241551962272513253941351862172482893110341136124113441449155116541758162831341752162573383712263104135186207238319371041114312481350145315551659176118641967207121732277238114263104145166207238259291036113912421344144815541529311416521625732838944104811511254135914631567167117771883198620892191229723101241032510826113271172812129125301291327394135166197258289311037114012461354145815621665177218751983208921932299231032410925112261182712328129122731241852662973183593810401144124815283124155196217268339381042114412491351145415611666177018721976208321892293239624103251062611227117281231528312417522629734836941105011541260136614701421131441952262672983393910461150142639413519622728831935103811421246135014283114155206237258289301034113712411326312417521625728831936104011441250132531041351962472983393510391141124313471449155316571426310413516620724828152731141551862072382792910321135124013421445154816511754185819631427394145186207248299341040114212481353145815621226311415518624726830152103154195236267288329361039114412471353145815601665176718711975207913263841151862072382793010331139152123154195216247298339371528311417523627734836942104811501254135914641569167417801884198820912193229623102152123164225286377458489511054115912631367142831441852362873683994410481152162931241551862572883593810411143124813511455155816631421031442252863173484194310491152125513611463156816731776188119842090219622982310324108251112611527118281221327315421525631734839942104411481252135414571560166917751881198320872190229323962499251072611112293124205266297328389411044114812551359142831341952462973583894610491155126013651421231742252663473784294610511429311414520625727829932103611431247135014541326311413519621726831940104411471249135514581565166717731879198313273154185246317378429471054116112631367147415791682178818921327310413518621726830934103611401244134714521555166117651867197320762182228623892494259726102271052811129114301181421031241852062773083593910421148125013531457155916641766187019751429317420525631738843132631041551762172482893210391141124513491428312418522628733838940104511491429312417521627730835937104211451249132831041551862472883293710401147125013571459156416691774187619812085132638411514620723830934152931141752362772983494110431147125113253941151661972182692910331137132638414517621142831141351561872082413293114145186237268309321036132631341652262472783093410361139124317210313417519626731834941104611511254135714611565132639412514620723827132531241551962272883093410381721031341752262773083593910431147125013531456156016641326394115146167228259291325310412515620723830932103611381242134617210313417520624731836941104311511256136014651569167117751881198420862189229523992410313263104145196257318339351040114412481321031542252863073584094210481152125813611465156716721776142103144195256317338409461051162831542052462773183694014210314421527629736840944104711511255136114661571167417761881198720952110122105231072411025113261182712028124291273013231134321363314034144351481821031241952162673183493813273941151662372582793010341529132639413518623727829932103611401245134914531555165717641867196920732177227923832487259113263841151562072282592810311137124213461426394135186217258319371039114112461350122631013263941351862372783093310351139124213441449155314273124155196231226310132639412518621723829933103511411247135115273941651862372983593710421145124913511455155816601764186919752078132539412515618726830934103911451249152831441752062472783493710431146124913531457156016651769187319771321031241852162973183513263104125156197228259281032113612401343144615491621131642052262572983193610441148162103154235271529315417521623727833935104311471521031541752362873083494010431149125313611465122431041952515273124145206267298359391045114915210315420524630735842945104911521255136214661329313416521628733838942122731241852663073383794410481621031241752162512243741251762372683093510381140124413491452155516591764186812263941251762172482893310361140124313461450155416571763186719722075217922852388249215132731041451912263941351713253841151661972583093410371140124613481452142731441652162673283794010421144124813521529311413518624726830122731041552062472883093410361138124113451325384125146187238299341037114112431348145213273104135156187218249291031113412371339144313253941151461772182492810331137124113451427311413520625730832937104111461226384145186257308341628312417521625142113144175226261529312415519623727831934152731341751962572783293710421628313418525630735840943104711511427311418521623726830132731041451762172382893214273114135176207268299321034113813273104135156187218289311036114112441348145215571621331542052417213316419525629731836938104111441248135214571729314417522624727830934103814283124185236277318351421031441852262672883393710421145124913551459156216661771187614263114165216237278309331037114112253104125156197238269291033113612401621031541852262472782993410381326394135186247308341621231541752062773484194310461149142113144205256291721031341752162572983393613273104145176217258289341225384105146167198259281031113512401344144615481653132731041552262572983516213315420524629734836940104311471427312415522625733838940104411481721031641852162672983193510381140124613263941451762272883415273134205236267318351225310412515617721823925102911321236133914431546165012253841051561772282492610301137124113461450122537411518620727830936104012253841251461872282493010351142124613283114135186207278309321036114312501354132731141852062372682993110351821131641852162573083393610391143124813511455142113144205226257298349361041114712511356146016293114175236267308339371527313417520623728832937104118210314419525632736162831041652062572915273134205236267308359391044114814283124195266307338369411527313418521624729833172123161521031441852362573283493810411145125013521455155816621769187719812086219422972310124106251102611627120281242912914263114145206267338409441049115213253841251662172783393810411147125114273114145206257318349371041114612283124165196247288339371041114613283124165186247268299331328311415518620722825931103411391242134514481551165417571861122103164195256317378449461050115212561521231641852062472883114283154185246267298329341038152133224245326357398431228310412516620723826932103612263104165186227258291327310416519622725829934122631141652062873283614283134195246277328379421047114912571360146515701674132931441651962172583093512243749516622724830933103611391243134514511554166017641870197820802182228423892494259815293144205236327408439461049115412581362162103134205246307348391429311415518624728132831041451862072282893115273114185221729312416520627730833132103184255306331325384145226257338389411327312416519622725132731441752362715213316420524122831541852062472783393716210316420132731141414212318421526631735841944122631241613283144165206241224364851662272582893410381329314417152931241952312273124185266317348409431521131742252463173683894210451329314416519621724828930103311351239134214461212283124185231328311415162931241752663116293144191224364145176197248279331036113912441327313417521625730142639412514616723829132731141512253941351862472783193510391144124813521454155716601765186814293134155191326394145196227288349371421031641952314273114135166197228299331039114412283124165226277298329351039132831241451662072382893210371326312414518132539414519623726829933103611401244134813283104141721131341652013273104135206267321528311416520625727830933103611401527313419142731241551813253941151514263101529311416162101527312414518152814263101628312122731216211132639414132531041451662014283124155191228311414516620122831041752462673083694010471152125513571461156316691773187719802086218922931226310415517622725827932103911421245134714501555165817621867197120782180228423902495251002610427106281092911330115311183212133124341263513018213142731241852162572783115283134165191527311415519624726830142831241651862272782993110351325310414519623727162113144195226277318349411044115012521357146115631666177318761978208221871325394145166227258279301035132631141351713273114155176207248269291326394155211328311414516620722825928103111351427310415519623726830934103911411247135014571559166517671871197414210317419521624729834939142113164225276337378411421031642052462813293164185236287308341821231642152663173683894310461149125213571460132931241852162573083315210314418520623132631041551762372683093410411146124913521454155918213318424530152731141852462673383594010471153126113671721231441952262572983493610421527311414516620724826930103311351239132531041452062673083493610411145124915273114155191426394125156211426384135176197248289331036114012431347145315561659152113154205246277328371328310413515618721824931103511401245135214581565166717711880198220862191229823102241052511026115152731241551762272483193610411145124713501453155716611764187019761327312417520627730837941104311481253135614611325384115166197218259271031113512381342132731241451762573183494110461427311413518625731835939104311451249142103134175196227288339361041114312481352145415581662176518691721231842452663073283714293134165191225312414522624729838942104711531259136414681575142631141352062372883193510401144124713511455155916621765142931241551962372883093513283104145166201325310413517622726828933132739413517619723829936142831141552062472782993210351140124413481452155716621767186919742076217922842387248925932610027105152731341852462973484094210461151125913641468157515283124165186227288319361040114412481428311415520624727831934103711401244142731041551762072282592910341136123913431449155716641768152731141552162472883393713253104125166187248281328314418132538410512616722825930103311371239134314471550165317601863196720711326310412517132731041251862072582993110341140124713521456155816621328311413515621723827929103311361238134314451550165517581862196620692173227823852487259426962710028104142931341751962272582793010321135123914273114135186207228259281034113612401344122639413517620727831162931341651962673013273941451962773283618213315420523627132731041651862272883393510401143124718210316419525628732162103151225394135166201521131741952262472983694210451149125213561527311418521623726828934103811401244142639415518623726832934103814210314420523626728831935132739417520624727831935103811421521231742252863173383994410491151125513581462162103154195226267338359381040114412481352145515571661176514293124155176207248279301032113613273154215256317348399421527310412515618720826929103711391244134912243741151561872214263104145176211529316419521624726830933103711421246134814521529313417524629735841943104611511255135814611565122831141551962313283124175226267298339401043114612491353145715601663176618701327394135166187238279331036114312471325374135176207238281327311417524629734838152931141551862272783093610421145125014273104125186237258319361038114512471349145215571662176715293134155186227278319351528310416520624727830934103911431249135214561561166517711877198120851327312415517622724830934103811441250135714601564166717701875142831542152662873383794010451153125916210316420522625729834938104011421247135313263144195216257318359391044114912541359146415661669177118741979122439416524626731837942104511501521031641952162573112283104135156197238269331036114215211317423528633735838941104411491256136114661572132631041551762372983293810441227312417519625727829933104011441247135114581226311413517625729835132931341652162573083794010451147125113531459132103144165226287318369421229314423526630737845132931441952262773183713283104145186237308359391044142931441751962372912283154185206267298379421048152731241551862413273104165196267318371328314420523629735122739413517625727831933103611421226311414520626730832936104011451248135313253741552162472883093810401146124913571621131842052612283124145196217271225310414517621727833937103911441247135212263941351662212283104145186207258329351038114012431347144915531655176118631969207321762282132931141551762172482893210351137124013431446155316210316420526628732838122931541852362914263941551862372683293510381143124613481453155913263104135166187228269311035113912431351142631141651862673283794110501156125813631465156816701774188016283134185206247278339371042114612511357162123164225256277338391327310415522628734836938104111471328312414518623727829932104012253104155226277338379431049142731241751962672983393710411145125113541458156416661772132103124155216267298371721031341852062473012263114165196217268289341039114212441350145315551661122831241952263073483793910451421031441652062473083593910411146124813561224310416523625731833935103711401244135012253941551762272483293510411144124613491455122731241952262573083593910431146125013551461156316701774188212263124185216257298359381040114614293134155196227288309351038114112471421231742152863173583894210451148125313561458156216671770187419772083142931341952663173684315210314420523625731837142731241952562773314293164205226257298319371225310415517620728832936103911451521031641952513263104145216237278311521131641852162373113253941151962572983493810411145124713551621231942252462973516211314419522627731837152731041352062372683415210313419523625732152103124155196247298351529313416523625732132539415518626728833939162931542152562973712273104165196237258309361321131341652062272483093410371142122539415517620724828934152103174235256297351426394135176237268331729313421529172123154205246307348421628313419524628733839182123174235306357388459501056116212681374147715831521131542052762973583994310471154125813631466156916751821031641952162915273114135166247268339381040114512511729314419524631735840943104611551261162133154215236287308349371040114512491355146118214318423527632738840945105111561262136614721721131541852562773283593910451821331842252763073583994510491153125613591465132113134195216287328359381042114512511527311414517621725829933104118210316418520622724831935104111451249135114561561166918214317422524626734192113174215236311328310413519622724826930103411391241134814501552165517581861196720702173227523831821031741952362873284016283124155176197248289321035114318210316418522629731835939104411511253136014681572167717831886199215210315421525627732840946104911571225310413518622726833172123174195246301327394175206247278329371041114312491528312420524626732132631041552162472682893110371621131541952162673183694110431148125013531455155916611764186619692075142731341551862272582993310361142122531041451662272582993513273114145186207261227311414517623728832938122831441751962172683293812283134195276357388439471051115713273134165216267298349371040114512491354145715601666142931141751962272782993410391144125212243741351762313210313417525122631041351762272582993210361142132831141752062472783193610381142124413501327312414519624726832132731141551862372682913253941451962573383693810431226311416520622727833936104013293134155206237288329341037114012451349145415591662176418701974207821822286132831041551762172582893310351140124413273104125176217258319341038114412263114135176197228249291033114012421346144815501654175618581962206421662270237524792584268927922896299830105311073211133114341173512136123371293813339135401424114742152431544415945164461664716948172491765018151186521905319254195551985620257206582115921660220612266223163236642416524566251672536825569258702621326310412516620724830934103711391242134613293134155186227258299331035113712431328310415517621725828931103411371241134514283124145186227248269321035114112441351145515611326310414517621724829935132831041451862172482793210351140124213451451155516601763186719702076218322862388249525101142639413515617721824926103111341236134214481427310414516620724830935104112263104155206267348389421044114912561358146215661668177212253841051261772182392910361142124613491455155716621768187019752079218122851521231642152462873283493812273124185236327408479531059116112651369147415771684178618901993209521982210213253741151561771982192910321134123913451451155816651771187819832085219022952397241012510726110271132811729120301223112432128331303413435138361403714414293164185226287338379401044114612491352145415571663176914263841051662314293114151421031241852262472683293610421146125212263104155206267348389421044114912561361146515671672177418771983209021942298152831341552062572883293812273124185206247288359411045115112561360146615691675177818811984209021942298231002410425108132831642052562772983393510391143124713551464157016761426311416521626730832936104111431245134714511721231542252562973183594210451147125213541459156616711775188219882094122831342052663474084613263104155196227258279301033113812411348145115531657176218701975207721842292239524100152831141751962272683193710391141124713531458156016641766187119732077218113263104155196247268309361327312415518622724829932103711431427312417524627731834936104111431248135514611564166817711877198120891528311415519625734837939104511531259136314701576162133164185236277308349371044114712511356146015641668177418791983209021962210323107241142511726122271281226310416519625729834940104411481253135614631567167017721877198120891226311413518623725829931103411361240134413283154205256287328359401045152113134195236257288309361040114412491352145615611666177018751980208421902296231002410425107261112711628123291273012931134321363314034144351481527313415520626732837943104911571262136414701574167917851329312416521624727831936142113154181621031441852463273484094410471151152731141952262773083593810441148125313571461142103124175226257298359381040114412501353145815601664177118751979208521892291239711021732042452863273583994210451149125213551460152731141651962272782993510391145122438413517620723827931162113174255286337378411621031241852563073584113293114155176217248279301033113712411348145015561661176518671971207821802284238824932598261022710615273114185226277298359381046115212551363146615701674162113164215246287308339401042114712491355145815621666177118761979208321891327312417519623726829935104111451247135314571560166415210313417522628733839947104911531259162113174245306337378411621231441852262472983193610441148125213561459156316661769187718213319422526631735132631041451662072282492710311138124213441448155216561326310414519621727832938104011451248135214561560132631041251661972182692810321134124013431447154916541760132537411515617723826931103611411243134714511555122436414517619724827931103411391245132537411514617719821926103211361238134314481553165917611864196720722175228023822486259226972710113273134155216237298319381043132631141651862472783493610411145124813511454155816611767132931241652062372914283134165236277318349411327394135176197218279331035113812401344144615491652175618601729312416518620724826932103511381241134314461549165717591863142831341952462873083493910441150125613611467157216771783188519932096219822102231072411225116261212712628130291361226311414517625727829934103911411244134814501556166117641871197320762182228823922494251022610527108281142912212273114135176197238279311429311419523626731833937104111451426394155186237278319351041122631141652262973684094710521157126317293134155206227298329351040114212471349145215551660176718691974208221842287239024932598261042710928114291213012631129321343314134147351523615837166381713917340179411834218943193441991226314152739415521162831041552116283144201628315421132631341551762172883393610421328312415521623730162831742352816283114185251527315152103174195236291429316418523625728122831241451862212273134175236297338399451050115612621366146815751679178218881992209621104122639412518122639416522142931441752262572883093510411729315418522629731836940104311471249135617210312416518622728831935104011451250135615293114145196237298339401326384155206267298319371041114512501355146015661621031542114210314417521625727830936104011421245134714501554165817631429314419521625727830933103611411245134714521557166017631867197220782180228523892491259726104122437410512615722824927103013253114145191721131341752262973583994210471151125713621466156816701775188019852088219022932397241022510626109271162811829123301283113232138142103134165196227278309351038114212471349145415621325311416522626729837122437412515618725122831041551962417211316420522628732834937103911421246135014551429311415520625731836942105111531259136514671570167317761881198520882194229723102241052511114293134185226257321621031341652162673283694215210313419122437413519623728831934104212243741051561872282692910321134124113253114145191326310416522172133184265306357408481228310415520625122638411516619727122831341751962172482793310381145125013541462156816731777187919851228312417522629735839132831342252863273716211317422529632738182143164241429313419524630162931341752062973283693910431148122631141551762473183693910421148125213263114145196237278331721231742152362672983493915273134165191721131641852062372815283104175196217271227394115156197251628313417523162831341552116211313417524628732835939104515212314421524627733132731141451962572983393810411143124912283104145166197238289301033113612381341144713263114185256287308361228313417520622728122631141552062572883594118210315421142103154175226247268299351042122431041651962172712283104135156207258329361042132731141852363173784094410461153125913621464156916751228312417520623726829937142113144185241328310416523625731838132103164185216237258309321039114514211318421529634737844132631141652062272683093310351138124413273114145196277358409421048132731241451962473013273114165196257308379411047122731041251562215293134175226287328401328311418521623726828931103411401247122531041351761972382917210312416522122436414519622727833172103124165211224384135156187218259281032113612381342144817210312416522122931441952612263104125156187218249261029113212361338144115441647175218571960206321682272237524801429317423526632122437412514620122531141351862614273941351562072714293114155216247288319361325394115136187261527394115171326394145196227248301428313417521624728832934104011431249135314561559166514273941451762272783293510431327314420522630132631341952462973583794110471421031541852262813263114155206257288341529313418524628732837142103144175216257311329313416522132631041251762372783193610391146125013531461110215318424528633737843132931441752262672883613253104125176207241521031441651962272783413253104135186207248289341721131842252763273484016210315419521624727829931103611421326384125166197218269281030113512401343144615491651175518631325394145186217291421232042753163574084595117214321423527632736840943104911531257135914621566166817721878198320892194221002310724112251142612216283124155206227278359371043114612491351145515591662176518731621131942152362873483994710531157126013661469157416781784188619941328313415518621728831935103911431621131842152462773283594110471152125613621467157016731781182103144185226247278299371529315417521625731836939104211501821031341752262472782993715283124175236267308349381227312418522626728834937104011421244134714501553165717611863196820702175228023842488259226942798281021426313415523632739843949105211551259142931341952462772983494210481151125513571465152831241752362573183894310451147125213551459156312283164235316337368399411044115212561359146215661670152731441852062472782993410381144124713521456152931141752262672883293815293124185236277311227312414518625727832937104011441248135014561563166817721877197920851528312417523626730834938122631141651862472983693910431148125513591463157116781783188619902095211012210323106241102511226115271192812329127301313113332137331423414635150132731141652062672883393710431152126213641468157216791787189019952097211012210523108241132511726121122731242052863674184394910561160126413681327312419526633736841947152113154205246317338379391043114918216325433541648756863968107411771283138614911595169912263114165186247298329381041114912561359146415681671177418791985132531041451862172883193510381141124413471453156016621766186919742077218322871328312414520625728834938104211451250135414561561166417701221031541752463173784094410471149125313571460156613211316418525631737840945105111541256135914631570167617791885198820932199221022311024112251182612027124281312913330140311423214733154341563516336165371683817539177401804118742189431954419745199462034721048212492205022351227522335323554241552435624857253582555926160264612696227563278642836529066295672976830269304703107131672319733237432875331763397734478350172143184275296357428449501055116012641366147015751679178318213315420525628734838940104411501256136214651569167617841886199120952199221052310724110251142611827123281262913230139311423214833150341543515936166371693817539181401844119042193431974419945202462094721348217142103154195256307328379411043114812541361142731542152462873483894310501152125713641469157316761780188219862092219822100231052410825113261172712228126291293013131136321393314234145351483615237156381613916340167411724217643183441884519346196471994820312263941351561972482893210361138124213481455142631241752062372582893210371143124913551461156516701773187919871721131541752262973183594010441146125013541458162113184235286337398429451048115212541358146215661670177418791984208921932299122831041351662172482693010331135123913431448155316561759186219662069217122742379248225842688279228942998301013110332105331081325374115156177198219291035114112461348145015531658176518701974207721831427315421525629735132537411515620722826930103211371242134614511555165717621867196920752177228123852487259026952797289929103301093111132113331173412135124361283713238140142831342052262472783293710441528310414516619724826930103311371242134414481551165617611863196720702174227823822484258826902794289729993010231106132931341952462873083493710411147172113164245306327378419451047115012531356146115701428311415521626731834938104211481326394135186227281329312414521623729831935103911441250135214571559166714273104185216257288329381043114812501356146115671673177518831326310416520624729835937104517212315422525631737839941104711511257135914631567167017761228312419525628733838942104411471253135514601563166917751878198120872190229623102132731241752162773584594710521155126113661468157316801783188819922097211002210923111241142511926123271312813329139301413114532148331513415435157361633716538173172133184245316377428481227312417523625730837942104711531226311416525630734841947104911551260136414681572167417771881198620902195221012310324110251132611627120281262913030135311383214133146341493515436158371633816939174401794118242185431894419345197462004720648211492155021914273144185236337368429471049115412581362146615691674177918831987182103164225246297348389431047114912531359146215691674177718841987209021952299231031326312415518621727830933103611421245134814511557165917651867197320752179228523872491259826100271042811129113301173112432126331303413735139361433714938151391554016241164421684317544177451794618447190481924919850201512065221053212542185522356225572315823559240602456125162254632606426465266662696727368279692837028771291722957329874304753097631514212317422527633737842945104811511255135714631566167417761881199020952110022106231112411725121261292713328138291423014531148321523315934162351663616837172381763918012283124185236287338379391043114712521359146315681674177918861988209221942210023104241062511226116271201325384105126207268289321034113812421346145215561663176618711976207921822286152931241952262673183994414263941752362673083493710401142124613481453155716591762186719731729313417519625729832938104111471254135714601564166717731877198020842187229214293144165196227258319371041114412491352145715611666162123194265296337378419471227311415519621729835938104111461251162931241852262873383594210461150125413571462156516701226310413515619721824928103211361244134614521555165917651427312414521626729837942152931141451761972382592810321136123813431450155516571762122731442152462773483913283104145186237268319371429313418522628732837942122731241752262873383812263941151461972382693310371140124413501327394155216247278309341040142103134195216247288339381044114912541356145815621668152113134165216247268309321036113812441348145415611664176818731979208321871329312418521629733836940104311471251135514601565132931341552362673083794310491151125813641469157316771784188819912096142931141652262673083594310451148125213551463156516711776188019851327315417521626734841945105116293114165186217288329381521031541852462973414283144215256337391521031442052462873183994414273134165206247268319361038114412491227312414518623728132831041551862072582993610431148142103124145166207268299351041152103134165206227308349381043114914293144185216257318359401044114912511356146315691329313416521626731837152113144205236277328349391043114814293134195256287328379421521031341852362873584394914273104155206287368419441051115912641369152103164205266297328371429311418522627733142831141752162672983493810441150125213571459156416691428310417520624728832935103911441225311413519623725830935103911451248135214581560166317681527311415519624728832937122638414520622728830932103511431245134714501555132538411514616720823926103111361238134314481552165712283134175221327310413518623729834938104411491327311417521624727832939104111471250135515273114155216247298359411046142103154225266307358389431327313415517621726132631442152362873313273104175206237278319341038114212481353145815641327310412517621726830935103911421247172931241651862072682993410381144124713501455132103134185241224310414516619722824927102911331236133914441528312416518622726831935103711421247135214273154215246307328359391041114612491354146015651667177214273104165226277308369411044115012561361152931241452062572983393810431148132731041552262672983393510391141124513501521131642152462973383794310511156126116212317421527162123164205236277318339391042114714283144201629315417523626732836939104211471628313415519623726829935104011441247135114541559166217671870197420772180228515273134165236287318361325384125166207258319351039114612511355145915641669132631041551962372683093516283144195236277338379421629314419523625730835938104516212316418521623730838941104511521259136415210316419524630734838944162103144205261224384115146187248279321036114012451313273134191428312415521627122539414516622725829936103911451329311414516622726829934103711431328316421523628730838142831141651862472883093210351139122437411514617723829132639415521132731041451661972483213283114161325384125146201529312417522627730835142731041551762313263124195226267331521031541852262473212263104135201326310414519624728830934103815210314418522624732132931241651862515293124175216237268309361038114614283134165186227258321328311413521132531341952262873083494013263104135201327310416523132531141551962473013253114185216277298339391326311415519626728837132731141551913263841051361572315293134155206241427311413518626132831241451762272614263124145196247298351529314419521628734152831241614210316419524142931141552215293154175226247321427313418524627730835937104011431251132631141451762513263104155176217261621231842452863373684094815293134175196237258311521131715293124201226312132831041351561872182493110351140124513501456156216681775187719812090219615273104135166207271327394135166207278299321035114317210314416519625729835152103124195251227313419152831514293151921131542015210314142133164231821414293164195246287318381326384115146201721031441652062573083694010421145125113571729316172113144175231228315122437411514617723829132639415521142931241912253104155176231529315419522628132531341552012210312417152731241852262813210312416522142113191528310413515623142931241715273134191428311416152113134181529311415517623726831122436410517626152731141451662317293134165221529312415517624132831141713253941251561913253841251662016211318152113181427310412516622122539411519621728172113134211521031615283124191527310413517621122831141913283114191326384141327311132538411516618726122437411514617723829132639415521142731041812253841351661972413263104141621031713293134155186207248279301032114016210317152103124185261326310413518624122831141451761972513263114191225384125161528310414516619725827936132537411516152931541952462773083294018211314416521628122831141812243741151461772382913263941552114273151225384135166197241326310414162103171329313415518620724827930103211401629312415521172123174231429314420162103171621031541852415211316152101327312416519623152931441952162372682893612253841151813263131621531741952262672983293810441326394155211428316122538413517620725132631041416210317132931341551862072482793010321140172931141652112263111529314418172931542052616210317132931242015211313418521627152931241452212253841151661972382592810301138132631041351662072382693113293134205246277311721432016212314416519623726829935104113263941552114273104181225384135166197241326310414162103171329313415518620724827930103211401621331542316283114145186207278299331036114115283104145166197258279351326312414521122631141452017212318132831041812273141721231642052363112243741151461772382913263941552113283144221225384125156201326310414162103171329313415518620724827930103211401521031341952162915213321132931442152462973183694216210315422529152931241452213263941251762072482793515210314416522624727829937132631041351916212316419524627730834937104112243741151461772382913263941552114210312420132531041613273124145221529313142731041714273104135156207258289351329312415523152103124175196251421031241652412283104135176237291721131441652217293124181921716283154191227394145201226310412517623132931141551862172714273104161328310418132831141452214263114191326384125166197248269341521131915210313418520628132731041351762072615283144201428311415162831613253114171228311413517625142739413517152103174231821432113253941151361672215211313415521132831341952763373784295010521155125713621468157316781780188519921225394155206241328316152113174235296327398419471227394155226267298369391045152103134165226257278339351043142931541752062472812253941451762172583193510391141124613511454155916651429313415519621723828931103611421246134814561226394125166227281428312416520625728831936103911431245134914511554165717591863196620741325384105136177208239271031113515283104145186237258289311033113612401343144815531657176218661972142103164215266297328361629319425529634739842945105011581429314421525630735838942104711501254135614611569142103154195216257308359391044115112531355145815601663176618711977142113164185226287348379431326310413516621725829931103511401246135314551562166817741877197920851521031241752162372983193510401144124913521456156116641768187319782085219122932398241061521031441651862072382993110341136124417212317419526628735841945142731141551962272482792910341136123913431447132731241852462672883193510381142162123184235256287328369391046115312581360146615691671177713293124165206257278359411046114812531356146214263941251461672182713283134155186207281421031341852362572883293710411147142631041551862272582993313253114155186227288341328311417523142631041552162372782993210371141124413501528312415520623727833937104311471253142631241552062473183794110461150125513611429314419525627731839142731341652362773083593910421145125013521456156316691429318423525628731834943104711511254136013253941451862473083393510411147132831041451762172382692810321134123913431447155116551327311414516622725829931103411361240134414481552165517611865196820712173227623792486259126932797281002910330108311123211733120341233512636129371323813613283114165206267288329341039114112471428311416520624728830937104211441249135314591527311415517620724828932103411371243132631141652062472983293710391145124813511454155816601766187019722075217922832389249125972610027102281101421031341752262772983593910431145125113581325384105186257288349381046115012551361152113134175206237298329361038114212451351142631341752062672883393610421521231742452963173784294410491153125713611468162103164205236257311528311416521624731837943142103154185236257278309341038114417212317423528152731041552162873383915211317421523626732834938104111471326310414517619724830932103511371243134714511558182133164225296317391721231642052363112273104155186237288339371040114312491326314420525628730836939104611481253135614601562166517681870197620812185228723912493259526982710413263114165206267328369391044114812511358146315671669177318751981208321891327313416520625730837942104711511253135714621564167013293114165206267298339391043114612491354145815601664176918731976208213273124145196227288309361042114612481352145415591666176818721978122438410512620726831934103811411247135114571227312414520622724826928103211341236134014441429314418521626733837944132831141452162372682893110341140124712273941452162472783294013273124155186207238269321721031341852062473012253741151461772082493213263941251562072483093210381326311413516622725831132531041251862472782993310371225311414517620727831935103711401247142831342112253941451962272883415283124155186227281325394155186227268329351039114513263114165186257278319341036114012471350145614273124175236267308329371043114512501355146215641670142831041251561972282693310361142132631141452062672983593810421147125113571429314417522625727833132731041552062773083794210441146124913541458156414283104155196217238319341036114112441346144915531656176018661421031642152462772983593810421146125013521455155816621765187112253124155186227258279301035114013263134175236257308329371040114212461352142831041451661972582993410371139124213471449155316551763132731341652162673183693910411144124813511453156113283114175226317348379421045115113132731341914283104135176237288329381227310412517621726830936104111451249135614631569167217751877198515273104135186267288339401044115112591528310415519624730838942104411491255172103124165186247288319351041114312471350145515581663176618711975208221842292172931441952262673183393810441152125713631521031541852162372682893410371139124513471452155616591761186715293114155206227268319331037113912441347145215571659176715210314419521623726829931103716210317419522627729834937104011431250135314561558166417210313415518623726830936103811411245134714511557165917651427311417523627732837941104914211314417521623728832936104111481251135314581562166417681876198020822187229023942496251002610527109281132911730120311233212533128341353513836141371443814813253841251662172382792910321134124013461325384135166197238289361527314419524628732839945105211551257136114641568167214263104125166217238269301033113512391344144615521655175918631969207121752278238024842589269127962899291033010531109321113311914273941352062472782993310351140124713491456156116641766186819761428313418521623727829934104214283134175206237268289341038114414273104145176217248269311036114012421347145415601663176518711976207821822285238924952510126104271081428310414517621725827930103311381241134314461550162133174205276317338369411047115012521356145915631667177018741979208221842287239124932598261061421131341652362572883093710421148132631041251762172683193410361142124713501453155816621765186919722076217822812385249125932696271002810229110132631041551962673083393810411146124913511455155914273114165206257288309341039114312461351145715601664176818721977208121852287239124932598261032710914293134155196247308329381046114812541356145815621665176818721974208213263104145186227278309331038114112451347145115551658176118641966207314273941351762272482793010351139124413461451155616631765186819712076218122852390249425100132538412516620725827933142931141551862372983293610421145124913511457132731141652162573183493910451152125713601467157514293134205256307328359381041114612491354145815601666177314283114155186217278299331036114012421347145215551657176118691429311415520622726829931103411381243134514471552165517601865196720712175227923822485258926932798281002910817293154175226267308359391044114612521721332142352763273583894310511821231742052562973683894419211314420524628735837939104814293134195216247268329381044114912541358146315681675132631141751962472783193610391142124413521521131642252763273583894310451148125213561461156716721775188113263114165186247288329341037114212461348145315551659176118651970207715273134185216257318389421046115112561361146615711676177818861429313415520625729833936103811421246135014561559166317671869197220772182228823942497251002610612273124145176217238279321037113912431349132531341552062473083794010431146125013541458156116631767186919732075217922842392142931241752262915212318420524626728834142831341852262472783193310371140124313451449155515210315420523628735842948105211591265142931442052362973283994310501154125913611466157413253941151662072482893010341137124113501628312417520625727832936104011431247135114551559166417661869197320752179228323892491259713293114155196267308379391043114512501353145815621665177313263941351862172582793110361140124513511454155716621767187019762082132931141451962573183894110441148125113561460156614210314418521626729835939104511511253135514581565166717751421131641952563073484013283104155206247298349401048115112561362146615681673177818841429316422525633736841947104911531258136414211316420525633152103174225256277351426394135176227268289321034114214283104145206227258289341039114312491352145814283104135196227281327394125156177198249261032113912421347145215581228310413517622727832935103811451247135014531557166317681872197812283104135176227288339361039114612481351145415581664176818741977208121871328311414519626733836944104611501256136214211316419525630734840162831041351862372883594110431147125013531457155916641770122731041251561972382893510371143124513471453155816651769187419762079218122852387249125932697279928102291091529313417522628731834939104111471252135514591563166717701873197920812186228823922494259726105132731341651962372783193310371139124313451449155116571759186119642067217022752379248225862688279428102142731141351862172683293810441146124913521455155716611766186919722074217814293144195246287328359381041114512501353145915621670162831441952262572782993210391141124413481451155416561765152103154205266327378419451050115312571359146415691673177518771981208621902293239924101251052611313283144205256277338379391044114712521360146712253124155186227258289351038114212471352145915621664176918751226394135196247278319331036114012421345145115541656175818621966132631041251662072682993310351138124113461451155913283104145186217238289321036113912421345145015521660132638412516619721824927102911311234133814411545164717521857196313142931141751962572983293410401428313415520627731836941104811561225310416523625732835937104312253941351762072382793010331139124513273124175226247288329341042162113174255316357428519551059116412701621332042452763373884094210451147124913521455156116641770187719802084219016211317425533635743132831041451862372783193310371140124413491454155816621765186819702073217922822385248925942698271032810629108301123112017211316421528637142931441952463073684294910521154126113631470157216751779188617214321423530637740847950105511611421031441752162572983293510381143124713531460156316691821432142953264018210313418524628734838941104411461250135614210312415519625732836938104311491251135414581560166617691873198020832187229223992410625108261122711813293124155186207258289311037114012461352142831141551962472683193310361139124313471227394145216247278329341038114212481354145615601663176518681972142631041551762172683213273144165216247268329351038114012431347144915521655175916211316420526631736838943104911521256136013263104145176197248309321037114312471349145415561658176118661970207614283144165196237298339381040114612521354145715641668177318771982208721912298231032410625109261112711714263941351662172482793010321138124416283134195256277328389451052115612581364146815701676177918871527310415519625732834939104211441247134914571521131742453063673884495010531156126013641467156916741779188419882090219322952310313253114145196271428313420527632735840943104611521254135914641570132539413518621725828932103911441247135314571559166714263104155196227258299321036114212441347145015541657176218671970207621802282239013293124155186247288309361039114412501429313416520624730142831341852262472783393710431148125313561461156316681774162133194265286337391521031341752062272983393610431150125513571463156916771621231842252763173984895010551158126313691429314419521627731836941104311481254135914611566166817731878198020862189229223962410325107261122711828124132831441651962372983394110461150125313571463156716751777188219881226310412517619723825928103111371243142113174225256317348421327315421526628730833937104513253941351562172583193310391143124513521459156416681772187719812083218913210313419522627729833936104111461250135614601565166917741879198420902196221002310424106251121521131542152763474084694810511156125813621464156716711778188119891326310412516618722825929103511381244135212243841351561972482993410371141124813511459162103144185226247278299331039114212461351145415581662142931241852262873283793910411144124913541458156412253104145206257298319331041114712531358146515711676178118831991110217322425529635741850954105711591265192163194235296381329315417522625728834939104411461250135612273124175196237288339401225310415517622728162113174255336357408449481050115512621368147215751678178615210314418525152731141351762272683293810411147125314210312415523629733838944105011541258136414283134165206227278329341036114012431346145014210312415517623726831933103811401243134814541558166017651868197020762178228413263124185216247288319361042114512521354145915651429311416520624730832937104111461249135314561558166417210317426530636142831141652062473083593710421151125713631467157313273104155186227268289311036113912431347144915531657176516212316424529632736839947131429122631141451661972483112253941251761972282592810341138124614283124145186217278331327394135176217258299341036114216211313419525628730836938104414211313419521624728836942104511511254135914631567167017751877198220872191229814210312417524627730835940104211471252135514591562166917741881198520882194221012310624114251172612027124281312913530140311463215212253104155216277298349391043114912521360142831341552062272683214283144185261326394115186237298379431428314419526142931442052863173383794314293144205276327388449461052115816210313418522628132831041852462973383914283104155206257278319361041114412491354146013283104155176217238269301033114013283104135166187248309371042114612511355146015621664176718721976208313283114195256327398479491051115412591367132831442052763673884294410461149125413581464132831341852262773283494010431148125013551458156316651767187019752079218513283104145206267318339361041114512471352145515591665132537415521623725831132731141651862372683093410371142124813501458156416671773187913263104125186207238259271031113812401345144715491656176118641968207621832289239324972510326107271131226311416523627730833937103911421246134914521554166014283134185226267308339381043114512501354145815611666177118751979208421862292162103164235296327388409481227312417523627729832935104011451426311413517621727831933103611421245134914521556166017651871172103174245286341228313419522627730835937104314293144185236267298349381041114512511354145615621428310414518623726830935103711391242134714511557132531141452262673283593810431149125213561462156416721328310413518620725830933103711401244134714521554165817641867197120772179228714283134155206227288309361038114012471349145315551659176118641970207621792285132931141552162472883293710441147125113561461156712273941452162472783293710391142124513511457142831341852062372582993210341137123913411445155016561225310414517620725833939152103154215296317358389401043115113283104145206267348369411047115212571365146715711677178314210312416520623728835943105111531258136414681571167617791887142831241852362873483694210451149125513591463156816721774187919832087218922912395249725102261052710728115132831041351561972482693010371528312416520623727832935104011421245135014561559166217641867197114210314419524629731835941142631041651962372783393610401146132631041551762472683093310351139124613491455142831341551862072382592810311134123613391441154416471751185619602062216622692375248114283144185266287338369401044114912551429314419527630735837941104511481251135614601563166817741878198020861628312417522629732834942142931441651962572782993210361141124513511456156116631767187019761428312415519624726832152731041451661972683193310391313273134191328316152113174235296327398419471528311413517623725833132831041551862472883093410381142124513521456156116641768187214283124185216287318339391042114412491353145815631667122731241852662973383916210313417520623729835132113154185246297318369411043114712501353145715591661176518721974208021832290239424962598261012710513263104165206237288309341036114412461350145414293144205226267298329361041114512501353145615591663176618701326311416519623725828930103411391241134614501554162133204255286327358389441046115112531357145915671670177613293124145186207228259271029113212351341144915511657176318681972207421782281238324862592269927102281062911212253941151361872182392710311133123713391441154916511753185819612064216822702374247825821225384145186267308329381043114612481353145515581660176318691327310415518621723828932103411381240134314451550165415273114165186227248289351039114513273941351661972182393110341136124113461451155516601766186919742076218122832387249125942697271002810329107301111427310416518622726831933103711391244134814541558166117681874197720812187132731141451862172582893410411147125113551460156613263941451862372983693910441146125013541458156416211313419522626730142103124155236297358399411046114912511357145915651325374155216237278299341040132739414516620725831935103711411245134914511555166017641866197020742178122731041551862272782993310371141132537411515620722828933103911411246135014551561166317671870197320772180228423872493259713263104125166197218269281032113812411345144715521658132537412516618723828932103811401245134714491552165717601864196814293124185226267328349391043114812511355146015651668177218791982208421882292122631141652062673083293610401142124613491454155616591761186619702072217522792381248425902696271022810529111301163112212263104135196247298349361038114512481352145515591663176618691973207621792282238624882592269627100131521131341651962172383112283144165186227248279321036113812431345144915511655176018661428311419525628734836939104311451250135314581560166317651869197120742177228123852492142931141752062572783193510371140124313491452155516581763132731242052663214283104135176217248319331036122539411516618721825122631041351561972382693110391147125213541460162103154175226267298329361038114012451349145512293124175216247278299321036114213263841652162773083493810441150125713611466156916751327313415518623727829934103711431247134914541560166616293144185236267298369421046115112541358146414283154205236287318359391045114912531356145815661621231442152663073483994310501156132731041251661972182492810321135124013461427312415518623725831132831341952763173584194510481153125914293144215266307368389441048115412581362146515701674177918831987208921951921131742352663273884394913273104135186217238279311034113612441351142931341952262572783193310381145124813521459162103144195256287338399461052122537411516619726830935103811451427310412518620725827933103811401247134914511554165917631869142831141552062372883393810401144124813511458156516691775172103134185206247301225310412516621726833936103811441529315419526122631141451862172483294210441148125113561461152731141551762072282692910321138124315283124165216261225394135156207228269291032113912451352145615631666176918771984208821932210123106241102511426117271212812716213315419522626729831937104311511253135814661570167517791883198920912195229723102241082511226116271212812615293184205266337408459521057116112651367147115751677178518951998201002110622109231172412325126261292713128137291431328310417524628731834942104711521255135914651569167517801521331542052463273784212263114165226267308359371043114712541359146315691671177618801984208721932298122831041551862272682993310401145125113581464156916761521031842553163613273164225246307338359401044115012531358132731241651862172582793110341141124813521456156116671769187519792082218422892391249725100261051327312414521623728834940104311491252135514601429315419521624726831938104211451249135512243104165186237258309321037114112431349145215571224364105166187228249281031113512371341144415481651175618591961206421682272237524801226310418522631739842947105011551260136314681429313416521627733837941104711521256136014621567167117741879198520912195229923102241072511226114271202812529129301363114032143331463415035155162133154215246277348399411045115012521359146515671674177718821986208821942297231021326394115156197238279301033113712411347145215561660176514273154225276307328379411047115112551361146415691672177818851221031441952162773183594010421145124913541456156116641769187515293174235286377398429441048115312551359146215671672132731241752362573183593910431151125713611465156916741521031741952262873083794110431149125413591465157216771721231942753263474084494810511153125613611226311413520622726830936104211491256136214691574167913273114155216277338369401043115112551359146412263114135166207268319361039114512501354145715601664176913273114145206257308359401045115212551359146412263114155196217278299351038114312491354145815601664176718711975208114263124155206247328389431049115412601365146915751679178318871992209621101221042310924116251221628312414520622726830937103911431246135114561221031942853764675586497310821191121001310914119151291613817147181561916220171211802218423189241982520126205272082821329218302231326311414519622725829935103911411245134814541556166117641867197120772180228223872492132731141551962372983393710411145124913531458156016641766187019752080218522902393249525100261042710728110291143011831126321293313134135351383614637149381513915640164411674217143175441794518346186471904819612253841351561872282592910311134123813401445154916511754185819612065216922751521131742152863173684094310471151125613611225394125156177238279311035114012471351145515581661176612263114165226267308351621031612263104155236307328399421047115112601365162931541952362673083512263114145216267328381629313418524629142123154185206247288331326314424527632737840944104811531258122631141651962473283494210441147124913551458156116661768187119792086219322982310312263114145206227288349381044114712511356145915631667177118761979208421892294239824103251092611527120281232912930134311363214033145341503515236156371613816339171401764117842180431834419145193461984720048205492105021251219522225322654233552385624257246582495925360257612626226714263104145196237258299321038114112451348145215561659176318651968207421772281238724902596261002710528109291113011331119321233312734132351371225374135156187218239271030113212371340144515501653175518591964206821722275237724802585122631141651862472883393610381142124513481452155516611765186919722077218422882393241012510426112271172811929123301263113032135331423414635151361533715938161391654016941177421824319044192451964620047204482084921550222512255222853231542335523856242572465824959251602576126362265632696427365275662796728268285692897029412273114135186217258289311034113912263114135196227298329391042114712541357146215691672177818811983208721942210023104241062511026113271162811829121301261226314419522627729833938104311471251135714631227312416522627731833939104611501253135814631621131942853263474184495110571162126712263114135206267318399441049115112591362146615681673177618811985208921942299132539418524626732835944104611531260136314651567167517791882198717212317422528634132739414518620723826929103311371243152103124185206247298329361039114412471353145715621226394175216247291621031441652162572883313273134155206267288339381042114812551621031341852463273984614283134155216287328371226311416518624730834938104311471250135514591562166617711226311416521625731835940142731441952262873183493810441147125013541459132831541852663273984494610531159126313691476157916821787189215293184285376467518559581066117512791383148815931528312414516618726829931103611391244134614521555166117671426394115166197238279301034113612421345144915531656176218681429314416522628730833937104511491254135614601563166817711873198120842186229123942498251002610327106281102911330115311193212315210315421529634737842946105016210312418525630733837939104211461429314419523627731833936103811421247135014541560166614293144165216247278339361041114312471351145415571661152831241651862072382593010321138124513471453156016661428311413516622725830932103811441246134914531556166117631867197220762178228423862488259126952798281012910514293144175216237278319341040114512471353122631241651862373083593810411147125118213318421528631737839942104711501254135614601563166717711874197720802184228623912495259726101271071628310414516622729834941104611521258136014651569167417761881198714293134185206247278319341038114312471353145715591664176818701972207721832288239024952597261032710913263104125186217268289321037114112431346145015571659176318671970207417214319422527635742847952105511581262136614681571167513210313418521626729835162113154205246307348379421048115212571362146615711677178216210314417524630736844950105811601264136614681571167617791883198714273124175206277308359371045132638413515620723828930103411411244134614501552165417581861196320662170122731241751962272682893410391142124413521455155716621765186819732075217822812383248725892693132731441852162472782993210351138124013461451155516581762186719712074217922851224310412520626728832936103811431247135014521554165817621224310413519622726829935122631141551762172683193410401146122731241852062572883093210361142124813210313417522627733837941104611481254172103134185206247301225310413515623726830933104114293144165206247308339381041114512481351145315611668177118751979208421872290239524992510426112271172812529129301333113732143132831642152963374084294710501152125713591463156914293174225306327358409471049115712591363146815731675178118871994209721101221072311324120251222612727132281372913930144311473214933154341601329311415517621724827934103711401246134814541629313419526629732839122437411516619723828932103611411243134913210313420525631736840943104511481252135714631566167017751878198320862188229523100162113134195266317338399451224374115166197238259301035113712401346144815511654175918621965207314210315417521629735840945105115211314419521626728833939104311491252135816283124175216257288319361041114612511355146015641668177118771428313419524629731834937104011441246135114541557166117671873197520782181228423892493259826103271072811029115301173112032123331263413013210312415523626732837941104311471429311416519624729831938104411481252135514591226311417519625728832938104011471249135614581561166317651868197220752178228123852489122431041251561872182392710301133123713401443154516481752122437411516620726122539412516622725829122438413516619723826932103611401243134614491553165713263841351661972582793110351621031241651962672883293613283104125156227288309341038142931341552162472783593710401144124913511453155715283124205266307388429461051115512601365146915711676177818821984208821912293239624100122631041551762172482893110341138124113451447154916531756186219681226311417521625730832934103811411245135114531559166517671870197320752179228513293124165196217258299331037114312263114135166207228259311037114312461352145715631229312415522626730834938104511471252135815210313417521627732838946104911541258136214273941251662072482793110341136124013451447155116541758186219672072217422782382248525911529313419524629735838941104411511253135814611566167017761225394145186237288329361041114612521358146315691675178218851989209321972210223104241081521031241651862072482693110371140124413461450155316561759186419672071217322772380248425862690279328952999301013110432107331113411513283154185216257298349381041114512481350145615601664177318771985208921942297231022410925111261152712128127142931141752262873083593910441150125213561460156416681772187619782083218922942396241002510226108271102811512283104165226257308329401043114712541360146615691674177718811226311415522625729834936104111471225311415519623132639413518132631141451862172482993210371139124313461449155216551757186119652069217422792383248925962610227105281092911430119311243212833132341381328314421132103134181327310416132831541852562773183593710411144124713521454155616621225384121321031542052662973183493710401144124813293124155206227278339381046115312611367122631141652062372713253741151561772382693310351140124613531456156216651768187219772084219122941328315423528634738842946105011521257136414661570167417781227312416520627733840943105011531260136514701572167617213320422526629733837152113154175236257298349371040114412461350145615611665122831441952662873483994310481153125813631467157516791783188619882093219914273154205246267318339361042114912531357162113144185226257308329361041114514293124195216257278329361039114212471351145516211314417521623727832939104211461250135214581562166617681872132103144185246287338369401043114712511357145915641667176918731979208521912294231022410425108122631041352162773083493810441226311416518623726829934103811411245135314581561166517681872197520792187229223952410012283154205256277308349391043114812501355145715601663176518731975208221872290239324972510026102271042810729115301203112432127331321226310418524626731835940104211491251135414561560166317661871197617212315422525630734840944104611501255135914641568167017751878198318210315419524627731836941104411491252135814611564167117741877198120852191229423972410125105261111421031241752462773083594010421147125313561460156316661769187319792081218422862394249725992610427107281102911530120132831241752062572783093310381140124413481454155716601764186819712076217922832386249225971217213132631413273131521131715293114155216247301325310413519622724830132831041752362672983693910451628311417520623728831940104311451251152103184205226287308361428310414519623729835940104611501254132631041652162372883593810411148125013541458152831241752362573083812283134185266327378439461051115715273114145176227258299351037114012421346144915551529313416521628132831141752315283144175206227288369441047115112551521131541852362572983293814263104175206247278299321038114616283104165206237291325374115156207258311527311415517621727830932103511381245134914521558132639413517132731241913273124155176207248301326384115176197271329312416518622724827929103511381241134712263941351862272483012263941551762372582993210371139124713273941552062272883293710391145132538412517623142731241852663373784094410501621031441652062673283693810441729313416521627731837152931241952362673083593810441148125013561427312416519625729831937162103164195226277338391621231742052363173712273124155176217268299341038114412471349145215581427310415521623728835162931141551762313263124155196227258279331327310416519622142731041551762072682993410391145132931141451662072482793210361142142731041651962472883193610411146125113561458156016641768187319752079218222842388249217210313418520624730122831141552062672983513211316419522627733142631141551761972682993310391527312414519621727830932103511411245135312263941351862272482893310391628312415519622727830932103611421227312417519622728122103124165196267321327312416518623142831041251618213317425132731241451762072282493010371140124313461450132103134175231427311415520624730836132731141552116211314418524152931241952663273784394610511157132731341652263073684094613273154185256287368409431049132831341552062473013293144175226247268289311034113912431527310413517622725833142831141651962272683293810411144125018211316422527633142831341952362917293124165206257311221031541852162473013283134165206227278309361426313416522624728832934103811421427311415519622724828934103711411228312418521624727830933103714273104125176237278319351038114415293124205266317348369401045114812511357146314283114155196217258279291034162103144195216247298351821119213192131227312122103164195256287351327313419524631152739414518122831141652262973183393715293134171325384145206247281821131441852062272783093710391142124612263131429311417142831141916283114145176211428312417523627735182151225310416152731141652062272816283134165196241326311415519621727162113164245276327381225394165196237291621031712253741412243941715210313416524152931342052262815273941552113263941451662172382793110361328311415518625192123154201521031241852513273114201429312415518620723826930103817211317423528633122531041452214210316422132831141351762313273114191528311416152831412263121326314142931341551915283161226394125146187241621231742015283131521031341652413273114145176197231428311419142831241752362773413253941515293114155211328310413519152931241651862614273131329315418521628122538413519142731342114273114135176231321031442214283124145176231529313421152113154225266321224374125176197231224310414520142931542013263124181426311415522142103144201528311416524132731141914210313418526172123144195251621131342016210312419142731041252013273114191325311419122831513253104181225384125161225310415519625152931241652213273104181428310416142731116293151427313417520626122537413142931342017211316132103124181521031341915210312418524626732172931342152914273114145176231224364851617212316142731041551862072382692910311137124013451450155416571760186219652069217122752381248325862690279228100142931341918210312419122631241551962373112253841452017211315162103124191427314142831613253114191721331741952717211315420523630734839944104814283114155211921631842352918214316424192153231921532316212314421142731141713273114191527313421132831141912253104135181621031642052814283114175241621131813273114191621031241914273941413273114191325311419132731041812283134191328310418122731415211316422172113171327310418122538413520152931141917212315419152831141352114263104135166221721431742117211315417522182113154185206261621431742018213319423529122731542052362913273941452113273124191521131442012253841414210122531041415212314418524162103144195236277318369401047152931241713273114191528314122631041713253741051613263941151562014283151428316132831512243941351562214283124201628312418142831442152914273161328311419142831141417211317192171427314418522630142831141415293151528310415518623152831616293114191128310415122731241451762212283104155176207268309331037162831341752162573383694010441421031441952162472883216211315417522629732838940104311471251122731141351862472682993210381529314416521623725827929103111351237134014461550122731241651962573112253841652262573183994110481325310415517624142931241551962572783415293124185246297361224374105156187221327312415519624726829931103516210313416520623726832142739415520625730832937104011441328314417522628736162123144165201621031742352763313273104155176237301227310415519623728830933103811411246134914521557166217671870197420802183228723931225384105136197238269301035113912471352145415601326310415520623728831936103811451250135514581561166417691874198020882193229523972410025105261092711428121291243012731132321371628311414516621726830933122731041652162372883393610411146124913531458156316651769187319752080218522872391249525982610227106281092911330116311221328314420523629734837939104411491253135814631565167012263114165226307398419461048115212591366142113154205276327398439501621231842152662973312253941552362914273124145196217248279301035114215283124165226301428314421524629733835939132539411514616720822927103111331237134014431549162831341752262672983319211315420162123144211329314416520624728132531041551962215210314416520623726830937104111461429312417521626162831241852262672983493910461327311416518621725828934103911421247135014541521131842453063474084813211317421526152103134215281521231842152662973183813263941652062314273124155221621031541952563073516212317422132531141552112253114135156177211326313416519142113154211321131542014263104151326311415517622725829933103815273114135186217258329351039114515293114145176207248299331035114016283114135166217248299311038182133154195236301225384135166211226394135166187218249281034114012210316419525631737122437411142731312253749512618724826933122639412516619723827122538416519623727829932142931441751962372883093614212316422132831441852062813253104125166187228259291033114012421345144715541326394125186207238299311034132831241652013273124155186231325312415518624132739417132631141813293174231328312420132831341716210313417521625731122431041451661972282592710361224374105181721131441715211313417523629132931341952462973383894010451326311417523629731835941104311491252136014631567167117731877198120862188229023922495251022610427108281102911430116311183212233126122631041251662072682993310351139124513471451155716631321131742252663173484094510511154125913631468157416761780188419882091219322992310515273104155176207248299341037113912461352145715631665176918761980208221852288239024952599261032710728111291133011831120321233312634128351323613812283114155186227258299351040114312491353145615591662176718701974207621792283238924962599261032710928112291163012031126142631341551862172683093210351139124313461449155116541758186219642067217122742380248425862691279328972910230107311103211233117341221325394135186237298339391044114812511353145515601665177118771979208521892294239824105122438413518623727832938104011431249135314571561166617701874198220872191229512253941151561972482693115283124155231225394115156187228259291226310415517621172931341551962172383193610411147125413571464156716701772187919851325310413515620723828931103411381242134414491551165517611621332042252963673984394610521156126015212317424529634739844948105411561260136714263104145206257298319331038132831341752062372583093310381142124413491456155916631765186919732080132537411515617723826931103711391244134614501552165617621868197020742179228423862491259626982710028103291083011331120142731141552262572883193310361140124713531455155816621767186919732077142731141752262973483994210461151125613601462156616721779188219852089219222952399241032510526107271112811429118301223112532127331293413214283134165226257328369441049115112551361132831041552162772983293410401721131641852463073684294610481153125914293144165196257278299321037114415210313415518623728132731141551862373183694010441146125313571462156516671773187519811326311416122639416519623730132731041351662072483093210361140124213461450155815283144185206257278341325311414518621725833152931341752162673383894310471152125814283124165246307328369391043114712501352145415571326310413515617720824928103311351241142103124155236297358399411048115012551357146015641666177218761979208121832289239224942510026105271072810929115301203112232126331303413435139361481224374135166237268309341040122731141652062472883213293134195246297328379431046114812531356146115641667177218771429315418523628730833935104111461250135314581563166817741877198020842186228823912496251002610712283104135176227248289331035114112451348145412253124175196227308369381042114814273114155216257308329381045114912521357145915631666176818761227311419525629734842945104911521257135914611566166917761325310415517619724829934103711441246134814511557166017671871197420762180228223842490259714273124145196237268289331035114314263134155206227258319351038114112451351145415571659176118651969207521772283122731241451962272683093210371143172123144195256307328379441049115112561359146115681421031241652062572883293710391141124413491453155912243941452062372983193710391143124713491453155716631768187119732079218517210314421523625728830936104211441246135217211313417522624728830933103511411247135114561558166412263941151661972182592710301134123713401443155112263841051461972382593212263941251862072282492710321134124213253104155206237318359371045142113144195246277318379421046114812521356146515293144195276297348399421044115014283104135166197218249281228316422528633738842947104911571227311418522626734142831241652162372783093510411145125213541462122631141451662413283124145186247298349371044115312591365147115771680178614263114155176197278309321037114012421345144915511654175718611965206721712277162113154195236297338419491053115812631366146815741527310412516619723826932142931441752162572883193710411148125213551461156416691772187619812086219022942310324107251122611527120281232912730130311343214033143341511329314418524628732836945142931441852162673083393610421147125413581461156716711776188019882094162113144185236277348399441046115112541358146215651673142123174195226277338379411045115012551359146415671669177712152113134175236291429314419523629731836938104111441246135014561227394135176207258309331038114412461352142931241552362573083493610391146125313601467157416761780188719912094219815283124155186237288329371042152113164195236297338379441046115512601365146915731675177818821987209221972210223109241142511826122271281421131541852262873183493610421150125813611464157016761421131441652362873183694010421147125312273124185226267308329371043114512501353146015671529314420528634742849952105511591261136514283114145186227278309341036114212481351145615621226311416521624726832936103911441247134914531621031641852362672983714211313418522627729833936103811421244134914541557166313253114135176207248289311034113912441347145315591529311414517621723826931103311371241134717210316418524627734840942105011521256135914631567142931541852262815293144205256277318339381042114412481350145615621421031241752462773083594010451147125213571459156216661769187519772082218822922399241022510526108271102811429116301191328312418523631737843947105011531257136314210314421527631132831442052663073414293144165216267328379421047115012581364146715701678178118831987142931441852262773083393710391143124813501452155616581763186914283114145186237258279321034113812421348142731141351562072483093710411143124713501454155716621770187219762079218122862391249525982610027105281102911330117311223212433128341303513436136371383814239146122538413518624726831934104011421245134914511556165917641866197120742176227923822488259126952710114283114135166197238289311034114113263941251662172782993410371141124513491455132639413518621727132831441651962172582793110341138124213451447154916521429313415518626729833935103711401245134714501553165617601862196620702172227623812485258826922794289629100301051521231441852262673183693910431146125013541459156416681772187619792081218422892393142931141651962172582993310401521331842152462873283794210471150125613591463156616681774187719802085218822902394142831141351662272783193712253941251862472883193710391142124812253941251661972482793010351137124013421446154916531759186519702076218022842388132638410516619725833936104117212317422524626729831933103611401246134914551561122539416520623725829931103711401242134814511556165917631866197420762181228618210314417522626729833935103911431250152931441652162572883393610421521131642052562973383994510471152125513611321031241752262973484294510481151125513581462156716701775187719821328316419521625727831933103611391245142931141652162573083493810411145124713531529311417522630735838943104911521256136414671569167313283134195246267328389421046115313253941752462873483894110461429313418525628735841132831342015273104145166237288329361039114512531227314416520624728833938104011421248135114541556165817651871197620792181228723931421231842252462773283694010451147125313283144215276327388469491055116012621369122831341551862272683093510371143142831441952262472983793910451152125613621428311414519626729836941104311471250135314561561166517691874197620821428312416518621723826929103111351241142831341852362773314283114145196247318359411046115112571359146615701674177818841988209021981226384115146167228289301035114012431345145312253941151562072582793010341137124213491451155416591761186519682076122631141351761972182592710291133123513411445154716541759186119682073217822802385248725902698271022810629112301181226310415519622726831935103711391244132538413520622726830933103915210317421527629734838944122931141852663212283104125176231225384115136177231225394145186217238259281032113412371341144515481652176014273114175196247288329361040114616211315421525629733842152731041451662072582893210371139124613521458142103144165206247268319351040114212441348145215551658176318651969207321762280238424882591269427982810129106301103111532123142831141452162873283794314283134215266307328389441048115312591621131441852262814210312417524627730835940104211471252135614601564166717731875198020832187229123932498251041421031542352863173683894310471150125213571459156714283134185226277318379401043114512511325311418521625730833937104111431246134814531557166217701215273134191428313418523627733152113164225256277331621231441852162773183494010431146125113561460156516691775122639412517621724828933103611401249135314621566167415273124185216287308361227312418526629732835940122731441952262772983494110431149125213541462142831341552062572983393710441146125113551459156712273104165196237278309361041114512471351145615611667162931541752262772983193510401145125113571464156916721777188319891329312419524627732835940122831341551862472783293510411144124813531455155816621767187319772080218622882394142731641852362773183793910421145124813521456155816621766187119732076218022832389249625102172123164215236277328399431048115012561362146815741678178118831989142831642452963273784494910551160126313681474162113164225271428313417520625728834132638414517622727835942104511501256162133154205256307368409441048115012531356146115641667177218781327314416520625730833940104311491253135814601564166617701875197820841529313418523629736838946132931541952262573383693810401148162931442052362572883493710421145125013551457156016621765186719722074217822842388249325991429314416522626732838941104611521721231742252763674084494910551327312416521624728831936104011431248135514611429314418522628734836940104611531256136314691571167912273124165206227308359401048115112571360146615731679178318871993132113134195256287348389421044114912551359146315651670142631041413273114145176207248289331037114112431351132831441752362773283493810421146125013551460156416671771132931241752262573183493610381142142103124195226287338369381044115013283134205266327348409451048115312601363146715721674177818821988132113174205236297318379441047114912551328311414519624728834939104411491253135514591565167017761879198220842187229112273134155216237288339371041114312481351145315551659176318661973207921812285238824912597261011227312418521626730835939122731341551862272582793110361138124213461226384115136157188239251029113112341337144215451649175313293144205266307348399451050115212541359146415671672177818801986208821942297231002410525108261132711928121291253012914293134195256287338379411043114612501355146015631665176818721225310416519623729832935104011461427310416519623725830932103911421246134814521555165817611866197020772180228623912496259826101271032810713273941451962172482993110341136124012263134155196247278309341039114314210314417519622726830936103911411244134714531558166217661869197220742176228023862493259826103271062811129120301223112632130142103134205246287348389411045114812521356122831041351561872282492910311133123613391441154316471751162123144205236297328379401043114712511354145815611664176618691973132739413515619723826929103211351239121314283124165216237278319371043122436414517619724827932103814212318420525634740844948105711601262136714701572167617781884199016212314418524628732837940104311481253152113154205256307328379401045115012531358146015631666177018721977208221842290132631041651962472883293410381140124513541456155916611764186719711228310414520625727832935103911451248135114531556166013210313415518623726830934103811411245135014551559142123184215246267328389411048115412601363146615711674177718831989122831642252663173483894310461149125213561326384135156187208249291035113912421347144915561661176618681974207921822289239224952598261062710828114291183012231127321313313334137351423614637148381521329312414517619724829933103811431247135114531556165917621866197020752178228323892495259726102271052810729110301141529315418522625729836939104311461250135414561560166517701875197920832188229123982410225109261112711428119291253012931133321383314334149162123144185206237258319331038114312461350145615591663176718711428312418523631734839942104811521629314416522625731836942104611531257136114641566167117771879198520882192229614283144185206247278329381225394125186217238259291032113512391342144815521656175918611963206921712275122531041551862072582792910331135123913441448155316571762186519732076218022841321131742052562873283594110461152126013621467157316761778188419872091219422962310124107132731141552062573083694410461148125413581462156516711773187919822087219122942396241002510426106271102811429118122831341652062472783093410381141124513491453155916631767187419772081218522911327311417519624729831938104311451251172123174235316387408449531056116012641326310415521626728833937104111451247135114541560166417681327311416518621723828933103811411246135213283114195256287308359371041114412471352145515591663132931141652062473083593710411327314416521624727829932103611381241134414481328314416521629122539414520625728832934103611391244134714511555122831141652062272615210317419525627730832936132931141451962573183493710411144124913541459156316671774162133184235316357378429441050162143194265326387428479511058116416293154205226291529313418521624729834937104111441246134914571429312416522624729831935142103134185246297358379421046115012551358146215661427311413516619722828132731141451661872182392710311139124213461452155816601763186619682072162123174235256297358379401043114712521357145915671672177718831990209321100221032310524113251152611927123132639411517625727830934103711411245134814501552165618213315418520624727829932103411361240134214451547165117561859196220642168132931241952462973183593810441148125113561463156616701773187619792084218822912395241012510426111271151326314420524626730833936104011451249135214561562122831442052562773183693910431147132631041251762172482893010321136124013421446155116561761186319672070217322771521131541952162672883193510371143124613531457156316671771187319752079218122872391249625992610327109142831241451661872682993110361139124213461450155612172131329314419524630142638414519623727162103154195216257298351329311414516623132931141451762272483217210314418522625732142103124155236297358409461052142731041551962372683093410391145152831041651962373083293610401144125015283154195236267288339411043114917210315417523627731834941104511521257136114641567167017731876197820841427311419162831041551962172883393712263941351762473114273124155186247288309341039114212461428310416519621727830934162143194215256317368429471052115912661628311417519626728831935103711401242134414471553122931441652062372583312273104155216247278319341040114615273134155196217258279311034113712441347145215581661176418681971207721831327312417520625729835940104311461252135414601821231742052362873613263134185236277318349401327312416522162103154175216267321226311418521626730835939142931341852162472883093616210313416522625728830938104213293134165196247298369381044115012561361146415671672177718821986209121962299231022410525111152731141651962473083393710441151125513571460156616711777182143194245301629311414517621727833940104311461253132638411517621723829932103411381521331542152863273813263114145166197238289311039114312491329314416521625727833940152931341551962472783093210361140142931141551962612273114185226277341721231642052362673083614283104165206261527313415519621726832934103711431247135314210314421524629734838941104511471255142931641952162573113283104135166187228249291037114412491355162831141752062372682993210361140124714293134195226247301521031241651962172482893010331136124013471451155316571761186712253841051361771982392610301134152931341852062372582893110391146162103174215266307361421031742153063618212317424142731041451862172582893316213316418520622727829932103611381240134314481224374105166207278319351042132731341752362573083614283144175226257328359391045132931641952262572914273114195226247298369421045114812521359146215681672177912263841151662372683093616213315420524629734836940104311471228311417519625729832934104017212317421524627734122638411516621724828934152103174235291621131542352914293144165196257308329381044114812541359146315691429313422525629735132731241752162712210312416520626122631041351662213210314419521629162831241652162472783193713293144185246287341228312416522122831141351762172883193710421148122437413516620723831152731542152362873183615211318421527632736842132739415518621726829932103811441621031241552362973283894310461152125713631327312417519623730833935103811431246135214210312417523627731837152739411516619721827152931241652062612172131321031241652262572883414283104135171426311414517623142639412514620726122103164195256277318371225384105146197238269321039122436485141629313419524628142931241652014283114175206261326312415520624728122731041652062513283144195236291327313419522629142831341652162773183512263941351762072382793113253104135176207258319351427311416518624132531141352114273941451762314210314418524152103144185216271227394135181521031415210314420142133174221326311417523626731837142931241952162773312273104135186207281421231541852162918210316418521625729122731412243741351962272583215212314418524132638411514620722827935103911441250132831642252563173712210313418522628730836122531041752313253941351561972382692810341325384125156177238291226312142101621031241814210142113144185241226394135156197251225384145201225374115136191229311415519122631116283124195271421231641915293124175221228312417520626732838942104814263941251461972515211317422529162103171215211313417523629122431241852363113283114145166207248289341721231942252663073283894010431148125013551458156316691775187919832089132731141752162673083493710411147125313263104141428312416520622725832935103711431248135314571427394155196257298349371041114512283124155196237258309341037113912451347145015541660176418681972132631241752262672983393510381142142831141451962472983293710451147125113571463142739411519622724829934103711391241134414491553166012273124185236257308349381043114712501355146112253104165196237298319341038114414293124195256317388469481055116312661374182133154205236307338359381040114512501354145915611664176818731976208321872292239524102122831141651862373083393710421147124913551426311414516620724827935104011461249135414571564132831341752262673212253104175246267328389431049115712611367147415771679178514283164225276337358389411045114812501356162831241652062572983293510391142124613511455155816621767187019752077218022842388249416283104135196257298349371043114612511354145715611663176618681970207321781428313419524626729834937103911441249135614581562166812263124145206227288319341041114312461349145315571662176418701427315421525629735840944105214263941451661972382693210371142124413481454132931341852362672983593710411147142931442052863573984194610491151125613621429314418521626730835944104911531259142739412516618725827930103411381240134414461552165417571860196320662169227814273124145196237268289331035114314293154185236277328359421047115012531355146114293154195236277338399451051115312591363146615681676142931141952262772983713211313421527630736842121521131341752362912273154215246307338389421046115212571360146615721228310415517620724829933103811401245134714501553165517631869197420762179228223842489259126942796281002910613263941351561872282492610321134123713401447155016521758186414273124175206257318399451428313419524627732837941104411491252135514591228314416518625728834936103811421246134814521555166117641867196920742178228423872493259912243741151361872182592710311133123613391441154516481750185419572060216322662370247412283104135156187228289301034113812401343145015531657176118701972207621782282238724951429314419524626729833935104111451248135014561558166617691872197613273114155206257298339371042114712521357146215671675122731241652062273083393610411144124613521521031542152562973283794316213320426531634738844948105311591265136914721575167817821886199220952198221002310624108251122611727121281262912930133311383214133145341503515536160371623816439169401724117542179431834418545193152103154195236257308379391046114812531358146115661670177518811528315417521629731835938104111471249135314571565166917731876197820812185228723922494259726100271062811315210312417522624727829932103411391241134514511555166017661429312417525632735837943142831341852162673283994110471153126213651471157616801785188819922010021102221072311124115251192612327129152831141351762172983293510401142124513491452155616591765186819722075217922842388249125951521131842052663173483994110441146125413273124155196267288339351040114512491355142831341952663173483894410461148125013581460156316671771187514263941351762472682993210391143124713521460142103144165226257318349381045115112541358146215671670177718801987208921922294239924105251102611427118281212912330128311303213814210312417519624730836941104715210315421523626730836940104211461250135414591562166717731328312416518622729835939104411491255135914621566166917741880152731241552062572983193410381143124613491453155716601764186819722078122731341752162772983393610381144125013521456156013253841251662072582793210361138124013441450155516571761186514283104145186217298359381041114712521355145715611667177018731976207821812285142831341852162673083393810431146125113541460156616691773187915283114155206227278309361039114412471351145315591661176718701974207621802284238724912594269927107152103154175216257288351621131742553163473784094410471151125313571460156416711776188113263114165226287318369411047115112531357146115651669177418811429314419523629732835944104911551259136214651569167317761879198420912194229723101241052511126115271192812429129301333113932144331463415035154361573716038167172123171721231742012263114165186247288349391046162113164195236301328313415519623728835142103124175246277308359401042114712501354145915681675132631041451962472783593710411144122631041552062673483894210441149125613621467157416811784188819952010121105221081527311413516619721826930103611441247135114541427310414516619722825927103011341241134813283124155226267318339361039114212481350145315551660176418701972207521782286239224942597261012710528109291113011331120321263312834132351353613737141381433914840153411564216143165441721527312416519622727829933103811431248135314571560166417691874197720812184229023972410416212317420526632132931241852062673083393610431147125013531459156515283104135166207278329411050115512591366147315210315419523627731836940104511491253135914631568167017761879198520892192229823102241042510926114271171428313417520625728833937104111451248132831041651862472683193810451521031541952563073714211317419522626733122731341652362572883093410371142124913521455156016631328313418523625728832939104111441249135414581565142731342152763374113283144165206247308369411048122531041251862172382592910331140132731642453164074284595010551159126619212316425529638743850122731241751962372783393910411144124613501453155816601765186919732079218612263114165226267338399421048115512273124175196237278299341037114112441348145215551328314417522627734839943104611511258142103164195236267328389431049115212581365122113174235286351226311416523625729833938104011441247135114561560166217661871197620812188229123972410325107261122711428116291223012913283104145191527311413517619723826930103411391243134914541561162103144191226310417519623731839945104711541258136214701576168017841889199415213322426530632737844950105411591263137014741577168017841888199315214324433542649754856961106611711276138014841589169517991810219106201112111614283164225266307358401321031542152717212318425532639743849122731541952663073283693910451148125113561460156316671770187419772081218522892396241002510515273154175246307378449511054116012681370147315751681178318861990209321952299231032410525109261122711528117291213012431128321303313334137351403614637151122739411516622731834940104411481251135314591565166717721877198120851325394145206247308389431427315421525628732837939104311471251135614611521331642352663173984495010561158126413681472157416761783188819912095219722100231082411025118261202712528127291333013631141122103124195256287318359381042115112531359146215681673177718811985208821942297231032410525108261142711928124132631241551862172783093310361142124513481451155516611766187019742076218122882391249525100261052711013263104125206227308339391043114512471353145815651670177718811986162113194235276327371529314419527631734837940104411491253135914621570167717821889152731341852062472883193510391142124413471452132931441952463173383594010441147125213273114135166187218249271031113512411327394155196267308349371039114212441350145515591663176618721977122731241852062673283894410461150125413591463156916741780188219892091219722104231082411225116261192712428128291303013531137321413314334149351553616037165381693917440179122531041551762372983394110461150125613591464156816761783188719932099211022210523111241152511926122271252813013263104155216267328389441046114912531358146415701677177918851989209121932299231032410525108261112711528120122631041552162572983593810431146125013551460142831241852162672983594010451150125413581464156816701774188119872089219522972310024106251092611427116281232912930131311383214233146341503515536162371683817139175401794118542190431934419945202462064721148216492225023051234522395324454249122631141651862472783093410401146125013521456156016641226311416518624731834937104211451251135314591563166817721874197820852190229223981227312419522626730835940104511491255136114641569167317771227314416520627733835941132731241551962472883293510401144124812263114165186237278319381040114612501356146315661668177318791729313417521623729831935103711421247135114551558166317701875197720832187229223972410425112261172711928127142631041552062472813210312420527634740843946105311561262136914731577168017841887199020942197221012310824114251202612727129281332913630144142123164235266327388429471053122631141651862272582793010331135124113451449155216561758186219652067217022742378248125872693279628103291113011431119321253312834135351383614037143381493915140159122631141652362873083493610391143124613491455155816621767187119752080218222862389249325972610527111281152911730121311253212912263114145216237268319391044115012581360146615691673177918811985208921931421131541751962572983494010441148125513571463156616721776188219842089219122982310224104251082611227116142123174225276337358379441051115912661368147215761681178318911229313419524628730832940104311451250135514581561166515293114175196217268299361038114212451350145215571664176618701976122631041352162773283693910451128314122739414518622726834937104011441428312417520623727122739413518622728832936122731241552062372582893214210313419524627734841944104711491253162133204245296367408429441047115115210313416520162831441752363073283693910451621231541852214210317419523627731837142931241552162573014210316419162123164195216247298329361721331842052262472782993210361429316421523628730834938104211461248135114571227316418524627733837122638411514618722826152931441952262472783093414263114145176231527310414518623132638412514617723826931103611411245142931241451762115273114135176211429313417142739413517620727829935104113283124145206247278299331037132531241551862272783412263114145176207258311327312414520625727829933162113184215251325311414518622122531141752162572917212315418524132531141552162513293144165196217248289321038114012461348145015541224374125156187208239251029113412371341142931742352663273483794110441148125013541528310416520624727830934103911431249132831341952516293134195216257291329315420523626732132631041552162713273124165216247278329361327310416519622727832936104311451249135319213192131921319213142103151328313172103151427310415142739412132111527394135181621031341813253841351915211314418522624732122931141552015273124165206257288319371521031241751962519211319132103124185261328312420132931341913293144175231421031641952262572783193712263104135206281227311417522625729832938142731141551962315210313416522152931341852062372983493816212314417521626731835939152931241551862072683213263114155231528314417520626152103154175201528311419172931241651862613283124155186207281621031341852463073613273941651962473083415210314418520625172133214235276307341326384145196247301225374105136177208259321327394125156217248271527310414521628731837132113134175206257321427394125166217258311721431842252916213317425132538413518623729152831241551862172582913293114155196227258289311035113914263941451662172382793010351139124113461729311413516621142831141451914273134175251327311417520627122631041251561872282493012263841451662172713283134185216257328359431429314416521625731161521012243916213162131621312263941412243641013273134171521131514293171527394125181328311414518621132831241651962515283104145166221621331541752362773283694110431147125312293114155201629314418524628732838142113164195236291629312418526630733162113194255316377408469491056115812631365146815701674177718801984192153194225281821231641852162572883315210315418523627732152103134165241528311414516621727132731241852262813263841151661972182593114273104155186237268311228312417519622728122831241651862712283154195216237268311228313415517623172123164185236291227394125156177198271227315421523625731122731241551761972812253841551862373083694012243104145201228312415517621727122731241552112283124185236257331225384115156207248279331327311413519624730834939152831441952362673213253941351862272582793313283134185216247288349361042152931241652362773183493710411328313419525162931212243104135161327394141224374105141428313122531113293151225310142731241451815283124145181225311413516192123144171427311415132731415283141226312414518122531041351613263841251562117212318152123181429312418132631041412243741252062473183393710411144124613511453155916621766186919732079218322882390249425991229311415142103171325384105186207248319351038114012431345144915531656176018651227394155226287368419471326384105136157218249281031113512371341144315471651152739413515620723826929103511411329311416518621723827930103211341239134214461549165414263841651962172683193610421145125013551460156616731521231742253063373884094310471154125613601463156516711773187819812085218922912395241022510526110271162811829122301253112916210314152103151528313416519122438411513616720182123151326311414518132631341651862113273104131227313419132639416142631041514263104151427314419526122639413132731341914263104151426384141428312418152831214273941251662172382793219213162831114283114171327394145201421013263841151562014273134191721031515211172103171621231742213273104165236267311621332042352663114293114185206237281429312415520142831141451962272582814211317419526631735840162931441852662973283514293124155216267328379431427310415521162113174215261621131642252763073383593817210313418522142113154185216241421131441751962314273124161429315420523625729142731141451962313293144185236257288319361429314419522627142731241614293154205236257291428314162113144195246277308339371041152103144165216237258299321721031241852313283144185216297351628313417522624727832162123184221427312416132931441852362973484114293154205236257291427310416132931441952262472783493814263114155196217241421031642352914210312416522628734839943142931341752216211315142931542052362572914273941451915212316424527631736172103124185206237288309351228311415520152103164211228314421525629122103124165201329311416519625730832935132538414518132831141652062614210317420522626132631141351813273124171229311415519122639412516621161329132101421015211317162123181721231642313283104171721231842152763416211317142931541852515273124201428313419132103124175241429311415517620142831341912210313421142831341913210317162103124181428313419142931542314283134191329316418523631142831341912243941215283114135196271428313419152739417523625728830932103514283134191528311418142831341912263104165186257278339351040114812541361146315691672177814283134191421031441651962472783414283134191429315420524631142831341916283124145186217248271428313419142123194245326401428313419132731141551862616211315419521142831341914273114145191428313419152101428313419152103161428313419152739414519142831341916293124195216277318389411428313419142103154175236267318349371428313419152123201428313419122631341652314283134191329314142831341918142831341915210317142831341915210314419142831341914293131428313419132103124181428313419122831141651962214283134191629313416522626142831341915283114135196271327314132103151521013263114141421031315293141521131616213315420527162133154205271921715213122631213253121527314132631216211319142931442016213317419523122831241552116293161427310416142716212319142731241812283124165196251327312417162123144195251225310142913281429162111228311417142101321131618214142101621213253121426313162123144195251226311132531012263941314293124155211621131441952516212316420524629735839947182151224311419182113164195241226310417525162831141351717211317172113134191721031513283114161321031542117293141521231441752513283134185216247321325394165236257278299351429315421526632172931515212314417525122631341852362913210122531217212316422152133154205226257331226312417522628172123164211521131741952263013210315421528142831141713273134191428310416520132831212263111226394171527394171621231642217212316422152831241915210316142831241652062272815273114145201821031442014263941151914210314418142639411516622152739414520142639411519626142631016210122538410516142831141713263841051862472783393912253134195236287318349361039114312273134205276307338369401226394175236257288329341039114212471351145315561658176318661970207421772281238324892592269627100281032910730110311123211633121341243513036134122531341952362773183714293114175226287308359381042114612521521031642352663173984294810531157126413671470157413263841451962673283994410471150125713591463156912263104135176217268339351042114512501353145715601665176913263941551762172582993410421148125013551459156116651767187019752080218522892393249525100261062710828111291183012231125321293313534140351433614937153122438412516620724831933103611391243132631442352763273584195010561161126513691471157616831789189319962098211032210913273164265316367438489501055115812641370147815821686179118951997201002110522108231142412025122261262713218211314418523626732837943105011571263137014731576167917831888199320991628312416520623725830935104111461248135414581564132631141651862272883293610391142124413481451155716631768187419762079218322882393249725103261082711228118162831241652162472983193510381144124913551221031942653063473884394610501153125716211316421526628736844947105111541259136514711576168217891894199920105162103164225256297348409451051115312601368147215751679178518901992209621101221062310824112251172612027126281302913430140311423214633152341553516136167371703817439180162931441652062472983393910451149125413591464156916721775187919842086219022952397241022510812263841351562072382593110341136124013421445154716531755185819612065216915210313415520623729832937104211441247134914541558152113184235296327368399431045115012561329314422529633739847952105711631270137614791582168617921897191032010721109221142311924125251272613127134281381421031442252863073784395010551159126413681474122731041652262873383694010471154126013621466157116771781188619942010221104221112311624119251252613027134281372914230144311513215733162341673517136176371813818539191122631141652162573183794210471149125413591462156616711773187819812086219022941428311417520626729832934103711411244134914521556166117631867197220742179228512253941251662272482993510381142124713511459156116651769187315212316418524626728835937104411471253135914641571167617781883198820912195229923103162133154215236297328379431047114912521354146015641670177218771980208621901325384135186267288319331039114212441349145515591665176818751980208621902294239824107251112611512273134175236287318349391041114612491355145915641673177718811329313418525628733838942104711521255135714601564132537411515617719827930103211371239134314451549165417571859196520682172227523772483258626902792289529983010231105321073311134114351163612137123381293913240137411404214743149441534515646159471631325384135176197258279331036114012431351145715651671177718811986209021932295239924101251052611227114281202912430130311343213733141341463515036157371613816712263114165196267298369421050115612621369147415811687179118951999201051421031241952462973483894410481151125513591463156716741782122631141651962272583193310401147125113551458156216651771187819822086219122962310024106251112611627121281262912930135311391226311416519625731837940104311491253135614591562166717701872197720802184228823921729315418521627732835937104311471251135614631569167417801887199120972110222106231092411513253841351862272582993410361138124213451449155616591764186719731327310415520624727829934104016213316421523627731835939104312263104175206277298339371042114712521354145815641329313418525627730836939104611501253135614591563166517731621131842552863273784094710501152125513621464157212273134175236287308371327313416521623727830934122539415520626731837939104211461252135514601566166817751877198420862193229823101241032510926116271222812629129301363114032144331463415135158361643716838171391754017941184421874319244195451994620247204482074921150213512211326384105186217238289311037114312263104155206227258319331039114312481350145515571663176818721979208521872291239724101251032610627108281152911930121311273213233138341443515136156371643817239174401784118515273104145196257318339391043114512511355146013283134175236267308349371041114512511227394135156237288319371042114612521360132731141451962372683293610381141124413481452155616601764186719692073217822812383248625901226310413518620723828932103911431249135714661570167617781880198420882191229923103241062511126117271222812529130301333114032146331503415235156361603716617216321427529635743849953105511591266137314771583168817901898162123174255276327378399431048115112561358146415681671177618831986209221952298231012410625109261122711428118291243012631134162113134185246287328359441049115512631366147015721678178118861991209521982210223106132538413519625733838943104511481254135714631569167317761880198420882192229523101241092511426118271222812913293114175216257318339411045115112561363146515671673152831241452062272682993410371139124512211316419521624729831933103711401245135014541560166517721875197820832186228823941429311416521626730835939104311471421131341652362773183493710401144124713501454155816601768142123174195246307348389421050122631141652162573183493610401143124913531455155916631766187213293154195236307368419431051122731241752362873383894010481228311417520623729834940104211461250135414611567167217771884122631041251561872082492910371139124513511226310412515618720825931103711431250135614621569167417781881198712263124185246267338399431045114712491357146315661672177812263114165186247288349401045115012571360146515681673177518791985209121972299231052411025114261162712028125291303013231137321443315034155351603616737171381753917840184411874219343196442014520546208472104821449220122931541852363073584194910551160126213681228315418525628735839944104911521258136212263941351761972683293510371142124813511455155916631769187119742078218322862390249525101261082711628120291233012931134321383314134144351513615637164381663916940173411754217743181441834518646190471944820049205502105121552221142631241652162673183493810411144125013561326394135176217248279311035114112461349145315561660176218671973132739413518622727833937104111461250135514591563122831241451962172983193610391146124813541456156216691774187619802083219114210314416521628730835943104511511258136114681570167617791885199120932110112263114165196247328399481052115612641367147515811684179118941910020102211042210623109241122511426119271222812829130301363113932143331483415035157361603716838174391774018341187421944320144203452094621747219482254922950232512365224053245542505525456258132831141352062372983694110461150125713601462156816741778188219862088219412263114145186267338369381040114512501354145715621665177018731978208521882293239924106251092611527122281252913130133311383214533152341553515936161371653816939173122631141651862472883193510401142124713491455155816611767186919742080132638410518621723828931103711431226311416518624726828934132731041451662272482693212263941452162372883193610411146132631041551762072282993210381141124513491454155816631767187119772082218422882393241011326310413517619722829932103611401245135014531556165917611868197420792183228523892493259726101271062811429119301223112532129132731041551862272783093410371144124913511455156016681621331642052863373684094310461154122631041552162572983593810431146124913521460122631141651862372683193710391143124716211317425527631735843950105411571260136214661572142731342052462873083594210481152125413581461156416691775152123154175216257298339411226311416521626730833936104011431247135614581564166717711874198320862191229523100241052510726110271172812229127301333113832143331463415135158361641427394115196227248299341040114612521226394115186237278319361041114812551361146815711676177818811984208821921621031341952262573183713263104155176217268289331039132831342052262473183594110451151125413571462156716721777188119862088219222972310512243841351862072582993510381140124313481454155916611765187113210314417521627732836945122439413518621725832934103911421246135114591566166917731879122631141651962372983193410401146124913521456156116661770187319762078218222881428314422524629736838941104511521256136114661572142831341551962573083694110431145124813521455155716621765187219772080218813273164215256287338379421046114912551360146415661675178216213316421523627731835938104011451251132831341552062472783393610381144142103154225256317358419461049115412601362146615711673177818851991209521982210414273104165226257298339371043115012551358146614293164195216237298329341038114212451347145115531657176218701227313415521624726829933103711401246135014551563166917731882198420901629314417524630735839944104811531260136914731582168417901226311416518623730833940104211451249135214561559166517671875172931141852062372582993410391144124613501456155916621766187119752077218513273114155186217268319351038114414273941151962272482993110361139124413471450155216551759122631141652062572983493710431147132113174225286337388439491426384165226277298349371043114812521356146213283114165216237268329361041114512491353132731141752263073684094710531159126613701475157816821328313415517623725828932103811401246134914541558166117651869162113174235276337388419471051132931341852162473183493810431148125313571460156616721776188019822087219422100231042410825111261162712216211317424529634739845949105311591226384135166207248279311036113912431348145115541658172113184245276337388419471053115914263941251461872282993712263114165186207278359391042115012531358146515721675177918831987142113194235286327358391621031241952663374084495110541157125913631469157116791228312416520626729834937104211461250142931742352912263114145196257328389441049115512591363146515721674178018831988209121932298231042410925113261172712128124291283013231136321393314234146351483615237155381593916340166411694217314283134215276297368429491052115512591366147315761680178418861988209121952210023106241112511426117271212812529127301321628311413518621726829933103611401242134614501554165617591863196620692173172113134195216277298359411046115012571359146315691676178118831987209221952298231022410625108261102711428118132631041552062372683093410371143124813501454172931241751962472783494110461149125113561459156616711774187819832086219122942310024106251132611827124281272913430140311423214615273104125166197228269301036113912431347144915531657176118641966207121762280238324862590152731141451661972382893710421147125513601464152931441852362873213273104155206267308329361043114812531355145915631668177215293144185226287338389431049115712591366146915741677178118861991209621101221052310924111251162612327129281332913730139311433214733149341531428311414520623728833938104311481255135714611564166617691873197620802182228623892492259612263114135176197228269281033113812441349145315571225394125166237288349371043114913263114145176237288329361038114412481352145515591664176618691973207821802284238624912594269727102281082911412273104145176207278309361040114312471349145415601665177318821985208821921326384135156207268309341040114612521358146415701675178212263114165196257328369421047115512601366147015741676178118851987209221992210123107122631141651862573083493910411145125112263114165216247288329371040114412461350145415611668177218761978208321902293239524992510326108271142811929122301273113132134331403414935155361593716338166391714017641179421824318544187451904619412263114155216317368419481052115612621327311416521626729835938104311461251135314591565167417771882198720892193229723101241062511126113271211428312417522627732834938104011431245134914531555166017651867197220772182228423892497152931441852362873483793910441149125513591464156916711779152931341852162472682993314273124195266307348389411047115314273104165216237268289311037113912441349145415561659176118651226311416521625730835938104214283144205276357408489551058116212681621131642052462873413283124175206257288321428310415519623727830935104111441249135315283104155196257308329351039114112441346145015531655175918631628311415517621723826928103311391821431942553112273124165226257308349381621131341952162472883293813273941251562172712263941251762272883093710421144124813531459162831041651862272583093410361140122739411517619723828933104111441248142731241451962372683014283114165216267328349401043114912521355145815621326310412515618724826929103511371245134814501554132631041651862272682893210341137124214283124155196237268309341037114112471224384145186217268349421047114912551224384135156207258311721031341852062473012263114145186237268309341428312416520625730834937104111451247135212283104165206237268289331036114012481350145415581224310414516621727835937103911411245134912283104145196237268329361040112731041612253104135191325310413518142831141516213162131225374115146167188239261030113913263141426310417132638412516142831314293134171326394131225374105151327311417520626733152831513210313418523628730836944105013210142931341551862172716213172131227310415517621727182113191224311416521626152831141714293144175231225312132931241551862272815210314417520626152103134165241527312415518623132739415519623726829933103914210316422526628733839122931241652062616214323122538414122539412518122538411517122531041552062372683393510381141124714283124161225310417525627732838132739412518621727830938152123184215246297348379431046115215283124165226317338369381044152831041451812283124155176217271227312415521152931241551862372883093410371142142631241651862172583293510401721031541752513273124175256337368419461053115612621325384115191612281328310416142831242014283154231427314418522627152103134175246287338379421046115012551360146315681326394115161429312416526634152931341952362813263941452162373017210315421524629142739414518623152103174225256301621031716212315420525162931642152462773283794315211313417521626142631041552162673083694213273104145201325394141225310162111421131641952562773384014263104155216267288339351038114413263841412273114181226394141326313142912283121224394145196247311326384125176231326394135201426311416520132731041251712273104181327310416132531113273114151325394135186207261327311416518624152739417132731241552316293161228311417132739412515621142103171429311415521142931242014273131428311417132731241618211313417122638415142123184225246277308369411044114715293141429314152101327313419152113171327311416182113174195246267308359401721217211316132531041551762213273101521014263104151429122931241713263104151427312417132101527310416522162831541752216214162123164211628310414518624122631041351816283154211326313415517621728833936104213283124155216237301628317423528162831742316283114175241527311417142931441852412283114175211527311415517621724828132631341652213273104175256287351325394135176207238311521131842152763273684213293114185236287318349401521231842152462973383894413293134165206227268309321035113712431347145113253841151461872212283124185251427394155226257288329341037114112441347144915531655175918651325384125166207261328313416521142831441952262773483694210501156126213711479122531141612253104135196227281421231641952262714210315421172133184235266307358389441225374125156201328314132731041351762072683114293134175216267311521131341852312283124195251528311416521172113154201326384125176247268289321036114112441349162103151628312418521625728831936103911431248135313283134165196277308351321131742452863173683994110441148125414273941151461772282493210371325310415520623728831936104112263841551962272683194010491152125513631466157112263941251762072282693210351140124513491427312417519622726831935142931141551762172682993314273114175206247281428310412516621726829933103714273114135186247298319351042114615293124175196217258299331429315423527631736841142731141552062572883393710401142124713511426310413517620722827929103311361240134414273154195226257288339371428310412516620722827930103511391427312417521623726830934103711411245134814521427315419527630734840945104914212318423527132531341652363273583917210313417519622725830935103913210313416521623727831142731041351762272783393710411226310413516620722826122537411514617720824122537413515619722825928103011341240132831041452262572883293810411143124613501456156016641326310412518626728832937104111451224384135156217238279291032113614293124165196237271325310412516620724826929103311361240134415273941552162573083393810431145124813521226312122731041514263104135181224384125186241328312416521122731241451762172683012243641251662115283114165206261228315417520623725831936152831041652362773215214318424530635122731341916283114175221327312419524630735840132931441952462973283894110461151142931542252663114293114165206247318351621131341652062612253104135166207238269311225394125166207228269311036114112471349145415571662176618711978208121832285239024942599261062710828112291143012031123321253313034134351383614437150381523915740163411654216843172441784518546187471914819549202502045120852211532185422455229562355724258246592506025461257622636327064272652756628067283682876928970293712987230273311743157531776321773257832912263121227142816210162111327313152101427394161429312416132113144181427311416152731141715210152731312263841213263941652116211132631014273101225384111225122539122631314263941251561912253841151616291328310413122639412152101529312132831341852162773083594010431147125213571464156916741780188619912096211022210523110241152512026126271352814129146301483115432157331663417035174361783718238186391904019341197421994320344208452104621447217482214922550228512315223353236542385524156245572501329162831216293131429314152101326310412517619724122538412517132831412263141221012273941215273941151813253941614283104181428312417132831413293144221326384155211528315132531012263841251661872282693113253741351913263111326310132931241451862272482793310371144122631041713273134201521231541952413293124145186231226313418523142831141814273121429142931514211316419524132538132631141814211316419522626122931241652113273141226384135186201227311417142103154201224394141325310417162121429314132731215210315132539412517132631041714263913263121621131713263114171326394121427312122538412517142631112263841315212314418521132539411514618122539413517142731441952614273124155176217271225384155186207258279301034114013283154175216267328399441049132931541852362773213293174225296351229315417520623729835142831141551962773315211318422525628735172133164195256317371421031441852062472883293510401327394135176227291621031241552062673083616293144175231621031342052262673083493710441621131742252863415210315417520626730837162831141752316210314417523630142831241915210315421524630736841947142831041451962472916210314417524629734836939104511491254135912253841151561972483013263114155216271529312415518622726828933152831141552113283134155206247291227312419525631735840132103164215256297348419471225310413516620723826931132931241451862272482893110361141142631041251762672983293710421921319213192131921319213142631014210315142103141421031414210314142931313263101429132831041351813283161327314122831514283171328316132931141451817293134171326311162103181328316132731241715212162103154215306337381328316172103124165186241721031241451862112263941351562014283124181429312132831613263841413273104181328316132631141852613263941251813283161229311415520162931514211316419523629132731141913283161421131642052613283161427310416518624132831614283124181221012273131426394161321012253121327312417172131821416211316162113161621231716211315420162113161729317420525152731041615211122531041351913273941452062615211316422152113164211226310416172111621031612283124165196241328314142914293114165211621331813263134181629315418523122931415212162121521012283124165196241426394135181221031641952563173383994210471327312421524626733836938104111431249135314581328312415518622725828932132113164215246287338359391043114812541356146115641669192131921319213192131921313273141621314293141721216210318420527142731241615283114145191527311416142631412263104141227310416522625142731241551813253741051261616293124171521031614281226310142914273114171529313419526122437412515619152831241452062513283141521031542016293124171428313420172131528317142831442013283154175201521131441714263914210316132931141714263941351662072582793213283104161729315419525132638414132631314273114135191528314416522625729831936132812263121328312416122631241813253111426310132731041414263104141327142731113273121326310122531016211152914281321031241712243741112263104151228312122731312253841313263941151516213316421132831341612273124151721131415210172121621016210152831714283141326311413517142917212132731141651962414293141521215210315419162101527313419132831214210316142103141421031414210314142103141421031414212316132631014293131421031414210314142931414273941413273131621116293131629313132731141512253841051561914263101329315142731341913253841351813253941451814210122437410518132631041251813293124145186227248321329315142113171421031414210315142739413518122631341551862272814283134181224384105136171325311417132831515211162831412293124161329312416172103151325394161328310413518122439411514619132539412516620726831934132111528315418523630142103124185241326311415522142813273124155231325394155186221328310414142913283161521131542013273941251461872213273114175206267331325384115176197248301327394135186261226311417122639413517619725132539416519624132831041514291521312293124161321031614263124165221527311416152831141452263216283131428311419122731341852062573083614283114191421131441952663114293144165216271329314420162113164185246301321031612253114135186241329314152103141429312152731141615210314122631341652062372683093714263104155211429314419162931341914263104155196231428313152101326384125181325374951313253841151361813273131629312162931316210312415132638414142731241852062612273124181529312417162113151328313419527630733836941172103161621315211132831515283141224394131326384145236271328312415517623728834940142639417523628731833936104012273124205296317338399431047115112551359146512273124185266297338379391044115112541359146512253841313253941413293151227313142731112263104161521012273124145191527313417122438412122531017214132831041615211122437410515619162133154181325384121426394145221326310415132731413253741051361717210315162931413273101325311142103141529142123184231326394151427311152831215293151529313162931313253841251561972482793116212142631041615273111821414283134191224384125156191226384121427310414122831442017210315122538413519132103151226310417142931415210142831314263941313263104135156191226394135156181429314162111225310122631041514273121427313162121621216212142103134185216251421031341714210313417142931241614283114151328314132539413162103164221227313122439415161528162121629312122437410513616132538411514618132631214263104155176231521031542052616283151529311417172113171328311414518122531414211314416522625731836941104411491427394155196237278329351040132537413519132931241652317213317420162113144171326394145176201427313416519142931441952463173583794314263114155211628312417520132731241512273124201528311416521162831316210122631041514263104151528311132831541752015273941351762014293134171527394125151327394141621217214132831413283104161226122739412514619152731212283104151225374125176247308379451521031716211318420525632152831316212162931417210315162931517210315162931414273121721332012263841313263841314283151227313142731141551962373016213318423527633739132731316293131721031413263114181227311142631041514211172131426394161421117213132731041451762112273121326312419182123161228311417142731218214142831241713273114135176211329312415521152916162931212263941251517210312414520152103134181327312416152931315210315142103134171421031341714293124161327394131629313142831216283121325310414122439413142831314273121621414291429315132831541752162612283124181328313419527631734837942132831141714283134211428311415518132103124151428314142731313210312414518132531241712253111225384141529313142731015273104135181225312152731041513273104145171326384125186261521031515210142121325394145201321031241652113283104145191429312414517620142123184225266307328349371426394135181225310415517620726835941104411501256142631041451862314273111327312417523626728831933103911451328311418522628730835940104711531259136514691572167812273124145176237328349371041114712511356145815601666122731241852663173383694216293134175206247268319381044114812521355145915631668177118741977208021831328313420162113181421131341615293161326310413152931442052563213273124155196221327312415518621192131921319213152731115273111229313418142731041514273124171428311415517619725142638414122639414519171229132831041713273124195261521131742414263104171325394141426394161429132831041313281621313273141326312122538414132531141452015211122931241812283134155211612293124151328313419527634739846952132631041414273114161426310415132931141713283104161327314142831141814293141225310132538411514620725132731241451915210314420162123144181621031516210172113174231821031341814210312415521623726152931341914283114171326394135201421115273941552015273131721413210316132731212273941512243841612263841413273134155191326310412517132731341551913283114141326394135191521031641852162573114283114195226257301326394125151226394135166191529312415172123171227310412515122438411142912253841213263841251512263941412243649132539412515132531341552013253941251512263941413281328122431141714293114155201227313”

6.2.1.2 Abjad values per word and indexes from Basmala verse

This is the third known coding pattern on Basmala verse as mentioned in Chapter 6.2.1. In this coding pattern, the Abjad (geometrical) values of each word of the Basmala verse is concatenated with the word indexes as follows:

x<- nQuran
tmpl <- str_split(x$text," ")
tmp <- c()
for(i in 1:length(tmpl)){
  tmpi <- unlist(tmpl[i])
  tmp <- c(tmp,paste0(paste0(1:length(tmpi), AbjadSeqofaWordSumValue(tmpi)), 
                      collapse = "" ) )
}

print("The coded number of Basmala verse: ")
## [1] "The coded number of Basmala verse: "
# First verse is Basmala and should be: "110226633294289"
print(tmp[1]) 
## [1] "110226633294289"
print("Test for mod 19 to see if zero: ")
## [1] "Test for mod 19 to see if zero: "
as.bigz(tmp[1]) %% 19 
## Big Integer ('bigz') :
## [1] 0

In the coded number of Basmala, note that the first 1 is the index of the first word and the following 102 is the Abjad value of the first word of Basmala, which is Bsm and calculated as 2+60+40 = 102. You can follow the rest yourself from this example.

We observed that this coding pattern is multiple of 19. This was discovered by Arık but neither he nor anyone else considered it as a key coding pattern. As you have seen in Chapter 4, my book has a unique approach such that, I hypothesize this kind of easily testable codings in a few special verses, like Basmala, as potential key coding patterns and expect to also observe them in the full text of Quran if they are evidence codes. I call such evidences as the key coding pattern based evidences as presented in Chapter 4. I did the same hypothesis for this particular coding pattern on Basmala too and witnessed that the same coding pattern also exist in the full text of Quran considering all the 6236 numbered verses and so discovered the evidence code of this chapter, Evidence 6.2.1.2. Here is the proof of this code being multiple of 19 in the full text of Quran:

print("Coded initial verses of Quran: ")
## [1] "Coded initial verses of Quran: "
print(head(tmp) ) 
## [1] "110226633294289" "18326532024232"  "13292289"        "191256395"      
## [5] "13221263384640"  "16123313681"
print("Coded last verses of Quran: ")
## [1] "Coded last verses of Quran: "
print(tail(tmp)) 
## [1] "1130277732044142"    "1902142"             "1362142"            
## [4] "190250031644742"     "1741214239043005142" "1902893148"
tmp <- paste0(tmp, collapse = "")
print("The number of digits of the coded number of 6236 verses:")
## [1] "The number of digits of the coded number of 6236 verses:"
print(nchar(tmp))
## [1] 316555
print("Test for mod 19 to see if zero: ")
## [1] "Test for mod 19 to see if zero: "
as.bigz(tmp) %% 19 
## Big Integer ('bigz') :
## [1] 0

Here is the 316555 digits length big number:

“1102266332942891832653202423213292289191256395132212633846401612331368113002791356141555121061879715583799221711750245433142125956197660179121623104542225157687740382961797216234348856164778889091521084511451222216721103194905247673745824515127913307477515561397741870913951031111621104026631104183511662157116833991312108111773121020196214239041465926687958832947104511198174126637974985476740732823694710636190218331040413756661041781877398110431178127881708214037543155516907103281389921010811224132296345427151066317636170821403754985616917142813891471061119112187133214961545161871710618311920617082137379149851386927708863794110425111381252131701492151081657816624923474105590611157181167279139084897552612176108104994710781150916152590374145715252615171212841949107071166123031367114901513711631173581130262312041255316339172122390414259561371728083089169102091190127971390142981590816477177218671939413523333699433959168127758347995107081197112155131481442153111666177371821719345205121662211023502432025314111217314248452626741779087979901019211190129561741210339041032558261487638949901014211511288413714901511721630817901811119510206521612249723596157251039042125816138711081279488102731190125751388143801590166017661851195102025511312703587486558765887282844191221014211254124751342115082791398415355616517758454961310901181412288139114314159616901774518308191382070621741223582390241322541426727749288129963018312593251339634691151266331449855161012757184198831012111192121221379114981528616561713918901924720482179122307232822474225206266627708285712984030731731323533734731354736840377383239332179121016379466590676765682519411024111661271351141361521616901710321867194520948111027563684516544961607540852095401098115401246137291112741373049054169071032812495401047711411214213202141321550816171752183201915017072131322241665616104790810329725101381150412961390141541596161761786181141912020742122022502313124612514126412731285961146245314345655406111571108137921110129111141252135114510152551138214133141405816327418591971104511118112109113121134541085159615179981599131107111131129013611414115101216539171038181471941204622147225102391617072181316647557561547328103913106891177129013392118721134541315451642789857996101205115181275113371470315710165391755718901910621164240131264930581672795818792410932119021280139614901510321680017517184119681620245390420754916483711585691110440112891181224396412451226531710081991701047211201211113686141551537164517131179723073735446556761027282845996106911112623312492855706441756181709100109111871214113281434411042433488423557161707378483937103011171237131307144241559116171172818637137249931394755873613974978596116421573414464530461107382169821423235457252516497788684549112106561604232531634635267632711081062179121016396417752476102746833011126233124928557064417561817096710137011110122321514257331442051906120719083219371014211961245613371413161596161041737184519406170721743904315406623277688049776101241155012181139614790154316901726218102017072431362424152556135873184069497101606170721323116433357565407214181349901081114971210271540220731804905766750719089761707246231164454546861907865170721313116418151161467111814109251101764111341249513411427315618162511779018810199020124212732248323170245625112644027289170725703114116580614675084189260106611213121841132971449715160615402683390476550661907976110172170311124145517061217143857990104221141124181347141027151061678172361810361707218136424710534661377968518975010120511648123613681414915221613301790186811913720249111627913977413751210674171408759219101101179112977132111490151421643177818306170726313116418152616100371838242981410951195212575131311410415140165017112185871957205162190223072366243725977269027103228244170725703114116580634271108120919101551181122221381314811581168521710321890191382062321138221462313424131259532674127112865297433011318103224333313413135903641375313814083915540766412124226431804449045664675047984878493665041451665260253153541212551395675057435816759846054015127913984797517638872008909911068119312832131461413015155162491712418247193720686211552237234524131170721352371144075246624671307841952210113119341241139514190159561540288639047657506147791086691701065911540129013952114025803791448251506907493826197510831130912731124021023714625306477716810279660170721313116418155166673118519111710307111381221521319141311577716681751187719902013011382753814222572681741815913110561114612571330714311510811637172221812719622075021268224123702113827538142225726817418929131105611146125713307143811525116921766018124211382753814222572681741815951103331170812161135814511531116661753511312563146457530763177668111091032103711570127391317514311531516961713818821941320141218022247233224246170729703191472759667278438419510109161261210143880477053866674878286941710190116561540256031984905766750795826897103051117112571390142481571166931795182881957209621712251023893249525822657279628712926309031915326633473466351113361113759616562513113490511067173908135923610911166125401335914901576164117211185119206170821373791498513869277088631991710411187212138131014144315488166617170181181972012421262221122365613822063514665150641732684792161141210733142065454632710285794510321110161126282034884454572654072028706990101241166129471371459115171161261775188119822207021522275238124148114428035514282532653712981309214110124116612801316014720156616841741185921911020662141223123596142290382485542567710348147910210282114512961369117972983153456156761027898459961069117072135236514625312631753283296610140111211271613343144981521816149171711811919164201572141422642354024886253226171271502849729116617072135237114315616611573781259925110901127512540139411449715765154024913524986525161265739181509901026011156212155135741416815571647717272185361917202882117022850236332487425454267622787428121292130903119032750331503432356173690375538963962401874127042414330544804454746664711134811149596167279139084555966839711187709165108041137124513406114024623116445452476907818323946810150115312290134941477152161619517172187419296204321312242123251241123254712611622739728986114421893111043251956667347825194110162177259342349051246667234871915510841190121321310141411015791163071715118591941203572130722723235246625110263921113290837423655163177438889661010131151129713661490159151611017901832119902082211002218042311024180225427267732710517082140375498543688766813891461043118812161133721443152221617171391823519712015521130221502398624742566269027132285129510301961140274311644965540621417134890981104971110271707213523711440752466246713078419522101131118412138132211422715516169017183181341934720130211132231123724162255126510271961130251347149052366837712486697261090116012142135771447715511651017255186251138443554467077281509106415382299314241105246967791852892010581136123201311114115154716111777189019804205121320227223302244325206113029037148152756136792811091521075311661223513711462152916251751818256190271381465551263017251810791311066118012421114021393614412546364773108893210328198287380475753906135732876693110162177259329649051246667234871915510752113901290137911441415454164231766182171911562011621312220614862413836441151106907191847930010191111061241113307142061514216299174718881911020181213722612236532447252012690271328418291473092311083253533111347003568636136374138446397406241281422743474445451063467479048134932507535166526125341541055553756255571405814759120609076141623563906483765906673167108684169507707712367236737874206142296398451455836907124866981010361178122061112173791498531654373228149912021018411427127731381141220379143075906367454837965110511197121701390148101590162621772181100196552090213212272237062494125105114127603904165761667451881299610711576127113540145115661611017501832019314171254035146653569075398103894710901190126013661490154616371735014126703514498535666171008116990101321196124461333114135151841683017771813311027303904365454636733089097610162113021273139014124152361690177618411946220752113922238231922441825421266627248285129663011031503232033314116421573414464547655172818909810104181112412661351146615431659617302114428036444895326907718169710351114501214713130144131531816511751018255142290313141956561771588115920910124112071237136861415515371645171311537256350043825110632075378382950010561111012320135114496154541677017131187911931202062157022181231462478251072656271872813129783095311176196297131304160510866675189309961010611146129013809146715411671177518511965620322175122752390249625617268127902883729773301020171267131279418254436620714866951106611137121501144217013664415126632735841990105391110381250133514607186253931038470859106242717281469351070111661137279133142065676151766879862101611770121311379114901517716570171811811081918320104216322443231762422215223623141451359676377491812091021092186214103140456537638274188872951510130115112191366141115501696178731868197620741213422902317124412550269027662890294630373135017912507345445015108684276781629710961131012713147144515948111262331249285570644175618170967101370111101223215142573314420519061207190832193710142119612104133714606154561637174518406170724433259420754936576713186191241017111831213113961413201513116311791188919106217072154344345485171698717148909181102591117012136134114259152181651172151842219220202682132722104170721313259420251046706737892931410411190121172139014911513516681793188321913120962130022596231712454025101526412777328282297830371170723603259421259064437218825395321091117112451132111418112532161323045059661361746817595010258112221240813161147115451164401728912532579313542975135644671558432920110454111101298137114451151251610919621212312047552596327908145919510140112461290139614621590168371712018220170121313354207513161317531823292321112283259467519461176285196610190119012951311114896153216497172261412510332047015100861887477870191311097114112532139014861513816126175618421934202592121822176233724202511426352722614502463104410305366417482896941105221137125471311114781520611442833164753516816713083297510259111491247137114901565111432923684475886927478889411025911218121761319414110154716417171161815619472041721149229023247243125430266227132813529114303531226113129835724415531677184841795710443111721245139014501153251666171718211191811109726639641195906667109781149351013311302520390466517625372688879193109611202121141335148161412592351425952186176719481109781016117123511313014492151411641176618961997120130214602231523129249025662647276628111329111305961450246310441030536641748289694110522113712547131111478152061206218739041425416827120857794411078111161213013651467115127916291790183211941203002165017762214346476551363207110814299210327111701232013471415415168164411747018116193220220219022482233272413025192261102718728572947130267313232110337913419356636473771386639920401624151426643144443264525811042260353243459061427276813791407101161134125091313814280155241641175101812319802051421572279123414244542523626562713928902924730473166321113331113420619628113791441454546527168419479105521147124511347514577154716917174751813719872209621873226823902476254126342790281712971307023112032106217912507345444215616416710985793911013511556121391351142061139290322241115526690777118621931149256506124276184194831041111621266131241451156616110175018320193141962518312034116534650971388280962101681190122221347146615111316111175961962518312034116534650971388280952410411151012123138014514157116861717118170191620322179122977231352411125135126973274772857029170301963186516123423150429751506446717084639113102161145412110132161441157016483175961106729813534440537675611121737914985598632571638519661011011384137254331204540590610276684489321030111061231131026123423223904717511662467908109922810117811508123841791270235394147513865276585894610330167215535274905247625977384595361512202328849055816667170811944310711711121111362141151551161051748189619485208112113122662352124150151279135264415139690749485699010761141126813171149015454166717205186619211202381322791341041425756147740981559581044011289151279133074454551630176781559155106611143121481317416952963314770516568047378459121611022363194315366327118329928915129037304539510386111871018293916710441116131290132411443152101614217471888196620902114222902351241002572610322776284522950830963190325033123478635250361083793138623914240103841442421764326619621423904171059066076686191211030116612797139814305151116651742182201979120977217012226623804245125142266527124285729663031831804170126033791448059067917480821498041098511471297113727913480436551681722587339135106111619129113770142651566161871766918155194720452186622902328211121731424575816907103287092210371187912101613401145615901680171021922311310944365576543711086694110311159617082140375448054168876681389321052211411217213115146515431671175518311926620321213722475157627913307459057416230743831918010321185127113130146215120161251731182661112173791498557690742284194181053411651251135101417155321922248317044865816847898847936107111240126613170141010151210161003173718751911120541211152251236624128625258151279135264415886667908454997210711591121711367144115117169017112183219282203721145226623562418725372692278128773298116727913908489755268107135881219338101101128217502533664875454614175787919111810901145412120135011486110022333514443580613276718127991061023311901291136814931583216143174601815919417201022111022152371624343254982621827592813329198309631334321483315734417356436219371263870239874039041904210543104844744594466747791482014973504551627111217379149854226170731289095711023911241121131310914598155941617017160183519902061621320225542342924222546261222775028117029903026231259321703348534763575036115377733881196290331242451164776781909956142221703702410085736477751862098111014211161124001342914109151101663111702413117417551726546711087919107105111661218013150117026813904136513467754282099107101111154112115135114661512861625811121737914985422617071728619422101101179112901319214190159561532525317047151506105177811093401015911901252138011411615791161901799181201918020170214852281123912481025352657275432881029903051315103259615052109137414885956382719817194691090115012468131701430915150165361725518961971201051217221102334024159259026522780128224296630623130132373322434623536136533371103866539664011041414270431964497617082111387413051416312716885910610702111251260213401414915121617517570139290375417258116417181855993109011497129313851414015661611117510181507192512048321170221572318024162255642614162741284222966309031633251633418344723590366503784438903965040102419042314435404444845172464147101483749964504975122752905313954450552256665711158714597706072616662417631716417565566137245831384122575644778841910010488113911290137814142155741649717596117721203724130515655771718489106102331153128081344914901511171610617233189019511204142144922902318245142566261902757415442903102466579166577378881951106611311220136051588251831171486159065187870857293051090115611237139821412415138162801741818607199520131215972266223770242125392113124633131466512866258158824183314476553569279586591311046311111121311332141101510621536228035384280568662817170848591701056211115125721341144851517016514176618154195120662111022631124429031024665376537787841949110132115112661320142491454242335246551316739712187319901050113712545133361441815104216501783181701971201502110512272372471125902626627179289029141307311993273313034782355313617037910383483941404241121427314390445045170467047174822149103650525190524253143547025571356450575755896597506012061706280634164101965138662806751468666915470517166723187320414225063587417051080614574281119780103711246123713381490154216471758718901981020155216622430231312481025432654727563281129473067110021703624515180969117908262978210132111901275113100814661512416641172801893819612070215722510239024137251202692215402898390451858826142717548669511066111286122581782213503231410085666100077487930510921111701214213901414615253164521790189619472035219022837239024731114129031464253545269079681239961083711123121571377314282167275315248158967273408102193426639045255256170750389091161011111541121151396141201151111654117115181201951120514216622154231112446259641962142390410551416907558969325106611110124113901413715171635177621708244631404905103261847968719739101771172123113201417617082140335450156661706711385749155109811108128119621423904520519561414714418669721029611110111217379149856426907161810693710879111016124011356149015801610211312507390476541647474948228951106611941278135212163324515466666790896099010111211143129161327214471566166731727819026233124605507690716867996104611165126613901476154116419171311866193182020416728203307455596693279087919981079711508122311356141871572163171790183211912122071171214234642456526667153860291056109411155124541314114108156216142171311811181995204721111122952332247912541826902776284129459304943110133210733993466357913698377138111839954090411394275843724429459046321474148300496501412510351410415896777471857097911063711901219213545141051510481687174181814619327207972198221152345024340256626322751283402966303121177274232964130541667179088109241104001149812218135914133154716587179018810191312066217221501422217035624175225690714685196321032111171281013901414615511641717321181719500209021722215023497243125596117721203536428055316957130853199510232111001212013102146615306167171441828019811204121952222323124246625572262232790285612937301043165732418332803412035124365137548389639618401504112042694353044174530146147474194818749905096518435273531025428255455696576911512791398479752166267908102966106711269126481366147215128616258117721203871434751306136754182329247101711159312223139014246151831674217296181301918720770217222662390244432519026115619029638434183512064927130813097510810115712109113798147215150162151790181991942203112166226112351246625942678137248539924418510668271418810990105651142125361337144851565116418171131811219136208102190225602342241362567261402741282822972309031413289331362347583578364173717138175391386118321203889413051167117595815299010889113712763134181427415782166641754218901951820301216622512366242025500262627745117727083904488576866177508157928110514116612154131111418215508162271372510366410755192651760989139541106211142127213180141501312137736641069590616271068137794310482111981272131286148818202102390416656926278750681319981013111661212861325815721243171413156661807150161727523248410365316637748885951105201141127301366149015305165117701810619682093218322256923109242612590267502751282132913130913157032741331653442935300361653721238723994407811712691320243985766787122837948109011511217081381149121532116321751186921932201612122226623131241120253226161272228662911130623115632131338853473545036223766381113988640964148442224366441474545461058113121453111443853569077684189478101711121512131131451411115621615617511868519512095121512216123222466254562622276628782917630206170825793152411625896262739887932910398113712581131202149111596161901775018184199702019521372221072341224662519269342756028662917030473188321703390344543511036104037738514396640154415142664352443204515017082579315241162589611171361851913810731170212140813107144291575016986177189019712015021106226823932483225790263827902822129723015031497323133596147921130397410451516120720685194501011071111612117133514362155471642917311853019190203221142223123140124462548263727862835294730116317383257033750341313520736202371203814013913640913411114262431564457456454651471937481024911150625117052702535705441558515642957514586659154605161666243635966430217972552315049725196752724882789506105771178212108213891411115621617017131182301990202462142922722343245962581213726231704131515106779086169152107115611290132511414015661611117149118106193120542212612232235124543251372639727372852429179301103141832104233454343935154365137663815039414090412514210004315444514566461286478813126231704515579615274187095611071114871285131095145771511016207173091811619771203092151222429231092411025249157264039041325516561711081520985101095113001241131520143215511621617718166197412021211792211023572455725303265762737285172994130122315132663343345963530219962110355841635116615976586111131211203315475274678275318100896610611120012411370144831559617972552315049725196111793851294110751112101280513131148531511116621717018901941202302190222462390243962572269427781646251134294109511066311770272366490541761907656171260034147915810690726085191171090811477122111375146615453165401765185119662073621910221102314224106257212614227312858615442903102466515465176681809150190270137414111056661101711981046935109531173512721391214871552167291712600341410259066273128909761011611701121381392147515573168117911858119902010221662213123352458025512642227170285622932309383113832473381343235581369037102386639110408554190422664312144151454224615547562484434932501715113552725315054106411372753107451566610475728909446109111138126113861435151211616117114181091912320952176224162313524902510226131275128662918630170312332763390341713514036723742638953990403214172421374315011372753107451516695751848198401095111451290132621412315811662017311811619372026221483221372351249025750264627902851295103019611512200344649651316517668542925710170115021295131801410015961670171341813619100203221902216812312852421255892695273228171291353015131223211337973498351153613837313811539814087414424274431314479145101646964717748664960509051955217553143254955573556753576658725911060384177221634704745138625371281816192931090811197123981311014177153921183275336645365216440741386691211011011151128113321147315154166617142189171987420574211032221062366247062591026110272321450241236644925130614177781209421145023213961491751106872713589099010661135612917136081446815150165317290184941977202162119522422331124662541269312779128902912130903176324133459344943510636111837215389039914014141904230043424431145664641479384810649665019051415222411121737914985238681741889091321051114211256133114821595163717635183719456203942145221058166231336432511649718783191706101151137129613351441159016539174718901910322090217012274123460241292532267582715028412962307031473275533373493353223690371453832394340311411364229543539441038453746354710344817491415010511312227390495510464627535890910411017011310121449131121468151841658117314186471931202622136227223180241501662463791498585869071402841928710797113071299131447149141590162871741181402196720102212822245239624691171260034147415126259790820795110407116612121137011413115259162121774118381946620131215222292345724131252592613127662842129433309031671324813383490351273364873774138300397240314129421774310621727613240411053156217622811095821013111611238137101466157616452175271866195620111215402257723131246025932261312793228572973087231563213133323493235563611137123138413914040529417042525431157444145269462094716481714911575041511042521105341354540551425679571515846259356013161141625163666411065506632067314170721313259420252616110742884879131107711496121311342141061514916142171311813801927820902125022425236124540251042611027502835291453021315403213033491341413514736513766389439781570279132964123590610276685909151085311132121431390145015147165617151872199612012021321227223137241501791229631234905102666754083195381041112381291133714711157516249171241824719372068621155223723452413111362396313314810590619974888711972101060118811121737914985316448765581239748107611124012761322114142153716106176818931983220655215902222723115246032517926392770528125293130370311103232033813489357236313729381773939215762791329641235141461441766813199901023611590125813215141001539168811757181010191312070211082239231192472254326596273021212733514476535658790869091301061311901281413288143515961690175018117219105202532141229152396124180253622695272512811892977030723166329033443341903511561112173791498523869074228419522108711855129013901410321537164971711431895196862053621131822322351242247259526154275128662910603062140121443411431754326727144813259951091711721213713150142621043904321596641671048184941710811117311247139301432154316671472671390423557613907908950913110661115512471310911490153421512413362642415156577109288249422109111810129013316141801590165411772184319596208121100213035541065666297908321947106371190128101336114471568616321714141814196620472163722902381024962510126497273128142614512791330649051026667318615910031090111032121251370141072159016661177951815819312015721142221212347246372590268102713128662973015017912296312341035293626171728155924910124112471237136861415515371645171311791211732344315212632761815697411010261140112901313114750159816138179218113195702023421452266231132425425234261702719281021299030207315463211533413417035252364137663896397540147411024228243454496456911158266323442285626672731820950103011155115127913984153556161557157841496410751124912124132471437156861615517371845191311112173791498550866679138419112109011234125113510141961131270358748385212690766830795710842111701227613138143115142616371714261572713706433551235641731585796011081011901251135101459615142573729495541666754084969501019011411248213511431151036111217379149857026905766841934101501151412468131221442315137163717131842319512043221612214523662454225146267412711528139295463066312073237336723495353213613137713874139115401394115642743961447453146559475148804911502205151521375378354379559056294571315870598760293613136269963130641456659066351675168123069607014007160728427337741375351767027741788179378050881518283383130184785233864187398879089170901249166921539337594719532961010973298519947610060910110141026761031221041801051701066210732108834109323110702111923112371131011114423115371163191175711858711913612024612162122514123661242161256612672127521283201291501572510311043405766414742483369953101311191129321387314130157411649717497185461966202072137228672334624962547626136275412813729723043315963215016524139045395476907103285794131041119012251137141091151411671766181370191202032121788229023321247225110265027320283141912327343488546690720782299501091116812512134331430115311643017621813199020295211442222123137241351252532667273711312140366419153261427368419482101221141128831325314311517581651171711871966220253213722478231612429225612648327110287912990301833125332373352934413531361153781387391574012141128742814330644451451284647247110481774939217116623133643251164971871872130345441415235671762829994106431113119021323194171594646275187919307104141166127513773143181572169417706185921512663314700511563207908103293710901114211127413366490528161107321831936103211111212513109111274138841305454695741285099551041114541280713114914122157911690171831810171961820412170822952314142456625142026452274728150294523032316632954339034171352023692377385039904012441253424743930443245434667125323131407418957667017470813981109011104122531371144511545125327131144142586631721289595110661131127201315615127913307480514606165712383798710901166123211373144515116162821272313406479759061777729846591426106611805127213318142041130282033074154859706417988789811104271390416590655079328959931109011102126613817143061531116625172111816119722030213472290233212451259026750273072877293251672171310474359061527149840794351090117381292213677141821519916745177501851119552096217222129231182474113021293812490579068207508812492471045411613129013814142881569516961724182591910632090216622722330224110179122023253410259261361781880991571077311282138422923648436751877630313092663564315366327118143949101711115212202133114361532161117125181091512953124466516364771111879194141045411321290137614411559161711710131810719962031021414226623131246625340261021131238321045315246657968523913610820114141245413148145721513116138171841841719572044321172221302310642472253022611015127913366441456666027153812129108106021179112307132021490151421662717775188116727913419418759069678438479751090114011712600341479154146153790845491401041114231266131081410715540164561739018135195120116617502983138480555162827328539525101251119012109134114781574611902702320948653162127958502950101901141124821351143115103611302106391412158166121790871195331012111130127111348314901571116113617901871119362084121712211023502432025314143921013904287544562877908101912091049119012481131209144811590164917713189019711201212217113121710322343925586907608227996101901175012180139014661590163201732185119907201352150622984236624195254726662737111302513108744159063607784179155106611156124113901453915471690171032187219110205021320223141562407350419054165407908810910491047115401290137614410153616511768187319462087219842266231952472252962611011302513510446656666197828669129610901181812721312861425811302973664333513164437131866931102011392151266319044557163772598379361101101123219152878390487257261807150170125313642436152026617135085094110901171124491361214100157116451172111818111512128235314202561612827561872914110431112761210613951146121567165161729018671978720222113222290234012428416182208314041185465645471198142923810911163412116132381428215131613017308181311911202902161225023706245312511269027124286629513066313173290333213412123571110627532384207513162027784099010104119151226137114180151161540213731741515140690728285196610532114012235139714901566168117311186919902022011312202361486540610717110810929253106581137112131137701466151901641173211131220231044405166131743183294901014211103612521332142481592716222177311876194132026117072531313741152906517668201924010207111101212113232111229035614252584630771108382175029036441043579661747847098910701111961221713561414015290164717470188919701201196170125313137411529065176685329971095111061214913150145315290162517901896198432096214331106214239048056269672201531220236148654064077682309502101311177012661374014411532116702179101824219172201462135227023166116124543110464951311303241362431256161047473818990102621161127311390149015100165017250188111995201662122022753236624219259726330273528487297533066311293243335073447351260369037478385139904075041464290435144510451961241271362424590664377589098721074111248121701347914181590162621758818661915215126632124268516867067300865011512693150413553316131790835294110661113112312131081434215661692176818316195420226125329234344885530632775548110940112732266366472581063521701213136641151506617556837794110280119012791133071411015791164991718618791193072041215622187235402441253732614927122281312951030953115661122279133074898577463197908969843104711751290134011482791398415355616231725587293110201110621750249131304905443695771091512570315041245666590745873599010603115401213113351470151661139290322241115470690777111702323954905766417348909171102101150812124131151413015178161871724818257195402048721233225502366241102581415127063414311513964779083693210661157126613411412515109113124433131466515062771130211336445455086417958779113101281132121261332146615371657017718321193720171021923228732320724902560266627131284432922330317315432226111236345447054686907259847948810643111311232139014811511216656162491352445551316907781409150104681113112100139014715140167217150184971931205961412713259436537640271068719149101711147127113901465115124731424261582064847712893979710981172124613227141021053904365454636795684798961032112361247136361112363454470575664147668497976511123634544705548613977589229139104971159615372105390436545469877438889110107911198121413287143141580616175173391372503332412054726124713085195010191166125113426141315570164117857187198820124212622213023512494125162666274312890293213072311373215011100265539043215726706794181051196236345449055164967362825961101411190125113496142671531162517611832194120444211152215223750249825138261002716128902914230102312083211033663475335513620614229039748655176131766820963115127913966481566615375918171967103111731127513901483715371614517661837191160208621562218723372492258126773278115721353421410255866456751189094541047111112901345414208151116901712418661947201121902212423662420825110266627753285129206141271353245154316667454810591001054011146121711383147815401690176018661910620832132322432351024596254542649275102872013723113514210751376159720783129333107611701124911322617072130136646515153671787189094231079115401274132961423415711617017576187198312013121942221747231102479025301261382755228131293973058311703290334011170244637647505147645732811291264366410685416131790890953910103811861223213521433911302923684475886161747888911010259112181217613194141101547164171711618156191552090212472231234302462251326135271142835292261962141231210416356561607142895917109011837129013952111022936641475307676714783229511032711108126513494147215311629171771810621672623514155515566671438148917416952963314770516568047378459121613227913410490576675071428131966101286112581512791330747651476540724830198010532118531273134514918151279133074454551630171608142990105811801210321370814421549516717671875197732081214722752390244011802488323344185637681746684796371090113201213113661471515015021513714395926312732841924810312111101219513901413215511648717643181301948820645215232251235102425511702691311046657536907768750914710451110581130219436645605756259714984797110901165115123734124876517167707298264925102611952412346341815259696763987199210711111012142131114443159016541174618103199620300211312266231060241202523211302113364454570675674148669721031911110124113596113021133644545706550712081029661090119112146413801449715320164717661811131911120596111217379149855164967391890979110414114541228013761416215361111627563497484051706412766815693011096116101268131841419154116300176501112173791498550866671088906937108961132124971322616142423664124537678779348560966101701170112510138614191156216198176211856719659205162111022381232932490252822699127962877029723066319032417331903486515062150346414054168417313842991271012011341127313451424513724833811478751124690776841959104941173127513773141020156212123204476520612277918471965107411176121621389314804154316510177561482791312134655170625376684599610691145024123664492513061417478669224109711126117124139045395476907103284796610673112781510281034641204517166977429851791201034111558126813421491153616454171011881119752013521223227722332818021076332471155766077112823995401031114061140221553766461541668773284299010661146129013142142615180416901766181408191552020621750229823782436625414266627602281052912123010831750324333167348435540110727739043654546467156849694121066116212101135114133116226839348325313642971278120934110403119012124213731490152201472197390481051606321772815096331512791330748051460616571238379871090116612321137314102152821645179618691157024132964905710655796859092181096112901249413708141461597716236175411847191015206621106222362310361112173791498531621077678909120103111157126341317144115560161041740618184419902013821472210902334524223251042663279028443295130510316561624913484511537613675588456955107081119612138139214708156371687717170181531990201941211302245323197224512566261502711032833115126203123451155765527858305981057116991291313311410701579163211751186619432020621671707214103904565418622772158591972101801115017012445355141505516811772892911610661157612223114024003664208549767367588866919010976170125363256481518065171148262910381011211901213713187142251369949135483690733187069118102621170712112139014137152061472108366432551269075458198971047113711232139014124156616125171091219229039047915307677477827996731100250390427253206774188155971082711176121027171241390453954769071032812909120103211178812901332114721512861625811121737914985316458723489539996105141166121901357415142282344144755421110326633334190570413442413132549052626647107685399103810475116601791229639043025104861058719418248912010142117212201324917972702318743945769777236892796610182811833129613129014789153216661776183071911020412118722512320616726231325490524764607613890981410288116951296131661420415232110421030390419251606357790810329123810110117112178138531706263317142551027666013724623374472549761887518510919615122303308418451006177730885759456108311971262131421418615661679117981817161915020320217222312320241062118426637914985164639214125103514104158967771508669791102011150121561338411402510354644775906132751854191841066211497121606147292332429651046103079081379321101321144112713530146231511016234179618192191102018721160221010236624321259626662761214727132204515846632775386694241080119612214135091496154611696179618214195092083721461229623136246121872903624531511562687730812196810711113912901310214661547169571747185391972202021384147271318143255161387253812819811080911399129013292149081519716398171101817719392152726635094965124650978378729201024911121737914985516496779183079280101101123412669139211322663137417581064321250290313847915307630374385289681041117012971371415115991628217781855619106211402254366485570165697758841897021085011974129013272146161590167617411826219412046621150229023224249625156269027224288372954030430311653254233140341513518036723770638910391104022717012620337449251106137333815099010862116441210411310421491154721611017411854119372041211542272238122443255961540288317049057661071796818291320101051115012111131041449115236161016176818121019139209502185222022335248125902627227902832029130305131272325533653474635903623637413831397240504120242364371448145904627247320484149581506251130523653510549055478562395779158422591556056161416295963488646665416690673606818469417090711987272731507411037533115127913443415055665417195892954310401118741241138914140151511666171651851196620128621881112173791498531648378118307914410733117021210091390141032157167817101718361978201752141224482347245372514326662775028273299030183317232383346634723543365963730219629703904102566677480813559901066112591281013811417919624803749705716667964112322533904665480675742847099811019401116312968139014641523116165171747187519558209021272227822351724536251102666275128662920305871512410366411151033690757814009170107011174112410139014811511616661757618223147271392451510406967107084119431010301156121871354014496155016190174118482195120312110361171247331057466511061376718909661059119812781337114526083124466572630274382061134290366411052276701757281359297109011236124461315514417159816201174541811019572078219022132231202486125102178255431474104553365867570861970610130111112901312414251155116661711018501932020314147215435645415195683376681869227118627913238414657565087538890910210661171216213138143615190165321761418451936020766213032213523162242022514026412710028902918330723114132433352617912138373341875366138741853791301030211120122511347714511551016255137252037914537590610276684499321030111241224713373134824334474665906915710348793970101551147129013755143215686161551737184519131110282167390466591665776683198901020411227179124743654333590676741813993391082011126121351351414204151020179121313754142551614271048120990101032111371210313144141211566161661797127021673904665916670721587694861010571166127213706149101510201922790340146965636111711328743951105101119613729537914397590633179688091017106611321122241366143215113167517909189019837208121773221020151279139084331513568071017866932110811177312811372130379143075926130775881092661092111301275136314542158116773171051412713664940522761107418491911510418116712114313901452154716711766182091911020104321106226623425249025295269027321281782968303013157325033391334170352043610201372130379146985436447766890991510111181112751332141115500167517241184119639207215622187237124751255392610382772284329596308121134217036641365791613875186693901011411107212532134114138155811610517121218108191922081321773223491750243354448555766671008973914617912138351466579692732814693261041811472123551345614282151301610417741829019902014221496227492357024150251021265127510282551131274831844722529069071528219496102461146012331150219038164477598654272708569187101701130121201328214641158916184178818471955209621322251123143715182903138425756566907791841494541090111921296137911452815711167311757186991991320131217502290231172427817072130136646515791641474548547917110371192112843132171411561591416717591181711915220412196613125203791435454364087828519691043117012197131111456515135169017804188119773208117129035394103857261107508320931415129037304539510386111871018293944210771167179129863664152518761167106877299010730115391210381325314411511301670617431814119231207732128212532713904103452826184710238479109110901134212532102322141065756162751898926410172112531213611381148091530616121175321854319110204351253245834145315110631073781058956101871171123113111014156154727532474615316881714081419150109011920127135611493215901687217871182161981720902126022720239024112255442654327381281652952630766314543261333903481435288365103790381243966407241129421184354013121280353247915307690768151121703540493598678781110027913508424757564547613890981410288116951296138814901512416661747181241966208102146415729033644545120610676884798810101114712881386141031156516311796618414196620591211712267237524249251242624727512866293403010211121737914985300630672258514966101901157411121731424508526267417790890919010241173612961322145081513616235177311812719514206621741225572372428725512666277128170293131414249231234375843611437548379458101231141121381356147115171623315721120332457659064927166841912109011901215213600141037152791613117112018321951120104217224123490241622575026652732285131414215236504935131661790812093201095111911214113761426113728133187413854416103766890915210365119612138131491475151371639714462492341847025103961107131855191351050511242128613123143715463163431721418511923920962171221061238102496257126391271712842929782305943186321233339734155351163668378112942152381462051236396718781529811062011123123961381141301595167177201815319112717082100832364435343649872188439995101491175121371339719462791336462759067557915895296881015511627126613189141371579151279131174785492697179281179901011211252122521334111762663904102598065707908865291311070111211218613101114165151031164117620185719471202421116222512360248025192613627155288129620305131713235334034131357036803735384039717401541156421061431314471453546612471564815549905076511115211653854755645670571265831596606056613036290632016410956590666667516866697170151717919622203414620578651770880985104011131127113851440151701630317811867019902076211112216623824725642691273032881291060305131703280339034403513136713790384039165406214181421060439044764511146552478487496450575171522335371654865575624757415860159760100161160621963136641556513166786772168906975070125715317290731061749075767611177116788797806481121082104183111849085668672871508888145022236649658966673078649945410613119012814132881469515961675617124181051196217036643075490627764982529636109611411277313105147824713425490518168577165827891501013111316122621390144491541816552174771871911320662185221031818247831504833513164047136811589166105111661271134101425919224443110466582062067107846954010474119012312131471441815661615517771866191512079150624443820420655126418770281008958104771113112611380214821537167911751218511930120672152622752377424821112173791498531648790851911071015211226123713136114114415874164117912183219512047121396221072363824429251312672627220285129632303213111932663395348113573115726453498416511161678578699361101111117081295133211417631545916548171031116217623110489159326417872813579150106521119411372485341478570690715283294110104111701256137114394155471677171031648217035074519510746577710988459963210459111032125131347214118115107416901711071845319181202812147222902327724902518126472271074285729131307031483321074335734111356236170378538124397914090411844257435204462451092463247414810449170505151665271531287542591626290315243254164907162842396610170114512901341142171579016511718091814019248201210212492212123141124725145265422726528109529373062311703213133185134735903676371126385139664071411514279196270354941505466517888620956810170114112490131621490159511656817721814119164209322190228722322024753259126468272652842929589301210315903237332141346563578236149371313846139396402454122042414311044620459046804477504812049910505515115052575369954810559056725712865825812242663102490595616077918909192104241117012721315014781722224351441851706230779185389743105111487128113102112242663514770518067367193896111121737914985316458713881229751032115112476136091412015140116150173718937192512051216622712362242591962190375041325977622671858252977107501111012661328115128623233441551161257350818095411075011675122711372897341491056667793281109872102941115212811349014187151521681175331810519662090219152251236624712552263202715118621543874815620612373968797957410162115321219713511466157116110175018320193201265220331104152543691076689179110108721149122381390141231564116952171390181072194320988216622478231137244182511112627627902894529107030131311903211133140934165351033651376638713911140233157211203501410856606697908419751090114212511322514131151961666171081851196620712115122813190266337492757632171408121971810343114981221813241147101534316241178618138198820592113322472349024162255126662731282029903071311072328871791269833134142566565327418447966109011915125321342114774151061797229631234221514263771628689371089118321296138014401153516361171511836117482155336498568693783282449811035211661277136614471515115126633149805671690575784209123109671142212901389142051510211190270236449055064673218709221011011521232017662203791430751736327736847694710103211371252613661452311121737914985316709715784979291104181154712411359214371556163217283181021941820189721572251023105024725110263402772814291330150319032105133734571351523615037414385139577401754122421964382449145514666477148157491287171260034147915414615379084549966108971128612511312371413317221413148411656864771168689351190279131743545121612079228208922110227111771212101321014328154116588171361890199520422196221382322124137251772612082710128811297530153311063219533663434735111361623732381711112173791441454546987438138923510711117012901313214511515916211734018110192142072124522612315124102254932677272412866292271512663314129055165307781296941106011750121201332114961553016681718418691195422010211712600341479159362367328669471090113211237131036145211115121103746411056667537116879542101031712600341479154146153790845491621043811145312208138201430715521620179018791199820103167279131954665966160766816094071035113511412753152490512167827318472914210361141213831424110541644776689099151018411462123113259144541511016513179118102112152903914751416907948125911610100113411512791330744655146622572528919125310881113212441312161485315804165117661871199520791797298315345615789645476138909814102881169512961381475159616181725918735199312097115126633114515417652474184297081050811621214213511447515137165117661816119104020721512266237124181253031112173791498597666710383279531027211150121311396814901532016295174118661933320512151022552236824932583226750278102812529448171260034147915183696798843988106111471288139014152152801651174861841191447201102124822512331724725230264012751288852986230871708214037545085416417888669471032711611123621316014140151051190270235394147543654477085409401018411681251132561432151211660316727913150466541690718381151916510102111136127513901423615137161043147234239042965326120775386694210961170112977132361440151828166617174718751932720502166224102325911112228331416254186104713185039107105401131122413901423615212168117131018153195411422523473415555165387251879811109011275124113191143215170161351742189619187204121104222723101248112575263112713131708253739048552056102111512301365119628936643335147611077918161966101551190121531330114357152261612417671839117502941390466511666871511112173791498513076968741889039710338111241572150312041115131655471478131910410161116612110137011470157116155173201962154391049056662267718709470101221173125513111450015470161551717418941910211651290310246657916566755896983910961154112901310214661562016717104218226194712020521102114729033149875906102766815479901026511158121281379114202152531685517901871019346201002214222110238124902510426472711028812990301043135117912983597490510266677978307959710901110212144713618145815401165117341840119712096117126003414791514067571078859164101571141412641315114422151551656217702183901913520966211422293523662472530526915271442825329703082231161325623367341252354136343731238130395114096411704284343810441204551146374714264852111022483329444775426510790821193591057115371212313153147101590161241766185719537208521153227102390241442513026502790281242966301513152321773331349135251365231412114390412351706667478114990108511170122101336814171152971611617681832019028933274184581666796844691211036211155129991208285378242165906144741281059135101210117411253613721443215411647817115118165194622011021662211623682467111226723382442571690712481210966105011951211131373117082593241490512267771787799710421121512411332714471547162721713518175197912059221135227323910246625170266592794328401293230171161129031024665316530732821091014102271114012661351141101563167911730718721930520642131122511190246034564123580635715289699610460114561285138014351513016961777186619110205021320225511708246834254105512169677821695110661171121101350143201581166231336432511626374185691871031112121295139614195159016661752311212903904362555067273268439891067111511241613901483115661696178701866191602040721352210311723637564615307661277781119210710135115812418132261490151021666171311844319143120588215182250423372421072513526472737283511322791318644151466122711386519710801169812345135114607157165481719118421931120662117422170237072413125574261502760728144291013016131121321033366349035155361031523286132804515167611471918509411021111411256613288149615131167017583181531910120161211232270231431245882551826117127113281542990301553115132103147271316645155406137732861099610530111371261013898143071514116251717518411941203221512221123131247125902614627802890291730136318983230733141345735713690371463812239113406514199421754341444145824463074714148170497050175122152565539735441355905666577758665915160791962540313745555102698763689691808106611115121611381143515774161021111217379149857026144279081029661054911371254313120141411510116162174901813719185820107021552296232042466251131267352777028510299030132311703266331703454935513666377138433959640813131248632624905227612107478123191461090111021266131251424215910166617144181251924220110212662221223572480256626159279162866291443011031266322053310211608295313314259577666712878259151279135324137598162367138813095101013811711215101390141032151381671174701810011966201422169622962314724932598264772734113221541390426551586128731861595310371147512103114721403664515166616577786691571012871962219390410256661779081032912821073111141129613813149015417162501741186619307205402123922477231842417625209261102766287729663012873125917082144239041032518061707628519797109011157125113112014511560016791173071851193922078219022812310317082470313546215756157765081059135101301113541254413782147415203169017277188371910520811217022137232472413025135426953275502810297913030731363215663312034559359773622637170388539244037416242170435144714562467114790482494975051051105052515312775455955131356968575158665975604216177462106178221350315741008566615271878116912110782115911223813157145115157164711711018227194242055313724623904141451776517483852791761013711611252713665149015661641173118269197720662115122791522139361445451416498762814294310222116612371347014781157411174726635146657161287725913724383120479151117623675186693110201190127113658145521120629031424375120669076681791551070111478124113311410201590161671777186619432020621681624913524478516569075589691701048116612165135614187154116901786181551967196215037747598061957540817509661017116612128713259196292354241725976110719587796610151117919629236344755426540725087922310184114791245913548141031732910366413056596475710581359511086611471289613321423615471610861790183201994206621130224542311024166254126702747028540297730910316632130331021131281039047305906105732890924110201117123961371413015621614217961819019750201414211441226623226244712520526102119625113327490576641746283595010488111210121021322714911541164461718118981947720341151266331412905516530778129694110601175012120133211496155301668171841883019862208715121403904655326553757814093210371112551155266313741781590697715381127196222323372459257526193737281380973010661196121710134011447159016601766181841986020912211031129216134741295401632714071672933984375736126714917972983153456157896454761389098141028811695129613814801566161091796181951990206621141110021643374102536645479081509771020117123713171435159016601766184719372035119621503904561590692077856191710136111471270013891437151036163611962119365413051316197658179158104791175122591314914170715661625917671171241390453954769071032877966105211320126811032290315241305666560714584794501017011901245413901446115152164721731189171941204222185221664235124539251547269027122285729553305213120232473358734903581036131376638713974015115722473108149051086364778107391111062111561251131391410815129161651781018141519222203392157225252391324131256626712743285962981318629563514511562615274287389111104871150121111313921429615571653517913181311966207121128722259157279131060466551690753587796610138117917124139045395476907103281409157107911141412454139014192157816511750818661957207072113122652341249025539264727902810322977306631106132631712413904539547690710328116968106715123113777417514264177863877966101101175012315190271322445095966204766850999610843117712661318114303111217379149858362077202832096510421111012251137141321540016511780181061197203912114622472348241112587926522751285112957304433173214773313134663571364337596388131112173791498598668730784609741108711110123011346014741158816901713218961931020682151222433233012493258322618427830288622987151279139845405307654079885409307105401124123011370148015661613201775183719104201031502236235347557746821791217663392458590660722781469916910113111311211313651412411102873170490545465177028610941210661131012813489148151111658117155184181914232090215222212152311124702256152651276628114293623039831903298331241791275836241315716907488890966101381171121201317014571571164211715218138197120122421170222762390242272514626782712228562918730863111332663342134110352273610315123623741466517672077088148941101571114812121132771414215371698617661832191711150426237504315416527378419521096118701266131601440715351610311121737914985316210773928589901060112271267113511451015651617017151181031512362390425552026907282886940710751135113227913410414256146687734810996510147111101222713152144161566162271720518102114121903664835551696075378779661052211151131220366423951096907167832990109701177126613181141511512413381147510916775578120976101311166127113157143151512791336646853016286751839796210661130112208131461487415356168741728618511917172062217502210316724533884109553264217774810617972983684301576639776281391351067111461247113255147715661612871725911212363454451548761557424890914210184119812116132231490157501621817252186619213201826212972210172354024170825134269027762841294593049431287321203375034468351163615137103140722313246469851876757642836968101871175123113481149015493161358171351865219194111232995369643515414666758181059121210108111871218913111014321581166617116183471911120162213222171135321873110429054596102111872523581414951506537290829696610471154112471313314106153071675175718791191118209521120223202395244125752672790281402932304743198132473354134171132235536644657766679587915729033644545326186778132945110621118712861315514320110522903791417529961557422843997510147111201210213661473111352223431104625125610277881429751053211421121351377414821100294839041715135622971628439881061114712881390141521528716157175391864192292068219322832236724571252052610211522763614615766417648159990108111821241132591421815176161941711018156192520132212682219723468242125216129721043376413059061327297870937510130119612661311614501129126023105647158661717110866916107611321127713661495157911002663319443588661793814791431037511116126813320151279133074107512061027668104983710862118715127913307498357068076681320975103711104123201322319398469559668777875091101066112811112173142410457463277141890926210178118111290135714707151311665174118901953920103821772266231512479111236345443151437690712483795431011011661232131391492151491615017531829019296206621501221382341242902522026952717828682930130373154332103633463348113590369237663836391940126415142864335444045354641479048539494750905110325211653685467180262031494515866777658379137104291196126201312014482156981670317461812411222791398415355616231725588299010915114812791136181469615907167741782183719732075219022602366244725372635111121731424104574625879082629145101011125712103112227913984685614677829890925310951191612801346143011565111026213036645605906117751824795510100113512401341141001151161622017411862019172071621512270238024362540261312747228101129156301112318132620335734783561236235371273810603957040908416524272436644904551461237477248524932050150111217379149859462137439890962101931132124113450141701512101688171351849719248205121662278234124224111217379149853164457581866937105361128012371350143715176163717101184431928020146821911229023247241064257082650827192283729363304013114632513316034120351383628037513888139540401104123342553433744534451104657247168485144966505151665231853204164821703486481584689874783691240106611712882138941469615119164717511816319322041211170224723710241102517326572710672811229790302403187328033791343073590361243711138135139963408741491429043124448874517046570471416489049163506551170521010539054775551210565745757158131596660128661258117727423394755130639790845394710580119012249131521465115811620017661813719812017121170229342310124662511526514276628512966303403110218723939044535126679174148454938109011186123813751462615901656817626189019791204142145422902319224702259122626527248281210292493037311750326563396343103513536184371938145391740904183742904395211121737914985702658074181579117810801191124113452141221533816300174118183195720510215622302235724510251050267271102834029730143113321503390341051357365713715238150394144051415774217543224419645824691479548414922450665114352170539054211551065622457314584865956560170611906297619342165366417056626741766787970110570112211213713514146615511666171501811031933111121737914985836207765832092021037113631240113146141101532165111711218111930320576215142266235124662581226432759618026637914985153656177581325921010102017972307373544655676102792111217379149859286560766817097011045111461251138814101157016180177018180195142066211162266235762422311402130136646515626312762981359561105701116312137136614611517016901758118157198572064215372230223774241547256626110127119283812918030541317813245433613349035814362883717038300397640750411504218443830447745133112329953696419651606183717683549121101201192212123139091481159271671737184381950920110216662213523322417125135262312716528185295130663120322491962791313845253516135276968197990910811192712713134214107151171618501741185619187201522111722662343247825276111236345441045746347772890973110811151012113613901445415172161201773018104197420902166222562342924102129273664905473610627928162986410901114021241132871475815801641173001865011342300379141385516667118149953102901113012170131001490156616321175118206195120652114922532329024522596269027103228124297130903153932103833473410835740364137321387239110405041320423141537256338841085646667298130915010842118201232134911450215130167301712901812019321207882190223212371249025539261038274728108295230371111236345441045746347772890911010685119012321135114543154116651790185121937209602118422742351224966257226110275028320293141707213131164181511614679288165966101701170112103131501474151691697174681841197020416211422902323211121463642410325240644174228669901037111011121101326814669159211138211311645159661477266858980106901141812820139614131158201696171321869111312284390479157476161766815696421015511361278213108514191151089161161766185431951205102119611382113116452580669078841952109611788124511322814612155216621723111312202361431591632720086179461101131168121771333211312137329341555333611574818909103210111114611211013177143321437215535346354561417701830393541061211901259137614542159016832171311863119131209221542226623902463119024713414345102064175287492410611158112611368214661520216232161221535144185553656775568909102102821175612211310621565235319545305616661571818909952165226631204452059061032725581109227108111616121311311144471548116511777185701970620123421298228123611241812590261861902343750447351106627312856990105301119112121213190147151451690171032181921953020142211242296232624192252026142271242814029459303413149632540335134731351353676377503890391032404661922213791427756663077202890910321014611511254713714139157165791770182851990207112172214723902410322575026752761728902996308131903283733773341020132279134104905132651771181559228105111661212861325811121737914985508666714168469142102611901210713190145741512791330743655167574189091032101241158112115135311471590167731756181871941205322113522812377324811280251382049052826477458866996108111773121901398240332674715216437838102990106611721294137811702403390476597561357131866941810115115112661312861425817125403514665356907539810389782109011321121296131201432115721611017501832019314111217332743159567917397890933110901179112138139214140157616496171831896197912017212272278223227241762586126702743728354291213090317632922332023451358573670637139138573970408174199642964321444664593546160474904835499050665132152675379154705521456665751582245918360756190629663617648165906683767773681020122727823108452851316407149810797101071111651257131470141651516016103617321185719468201492110722202235124662520263001116215431754643596668766854095021090117612750134714671522915221393643496519626277888914910791111381282013171435615249164317145618901942320662184221152332024111251307261422796328372913073042431591321713396347035783643378838663914740454138814792155396451522162237167816391681016411788127841314714143152541628117170185941972091213062235239624702578264327882866291473045311058124721103747415255362907235871962102911901264313473141251595161917262182411971206221292290236432425251027266601114236312544358866679589697010781143128813661414715451632811452613454414152356717628299901045411152121151314914107154316881766183719872206821111223423902413925802615427150285752910630423131132663319334463524361063713838903941404624165042124243414466453734612447212484349510509551156615726931074435886667378872968109601151125661312014872154116881766186119131204432122122922322424662551261572787428803295730731319032142333271149285310684965119690766869917610222111217379149853162107756838895810917115812872139614491151501613617135185119662031212922177231062169027913904183510406397713582029960105111553122201322014661551164211752118719241209021129221972311024412526826902723628155115227913984535791620876881291471096112001241913187141881592111121737914985906614715081209691022611421126613148146515871673617110182271983201102139222792390241022566263727747288129813075031910326633431349035321367237137381501922106366430757976987791821691571047811641251133471962446366430757976987131817966104511112011121737914985316210777918170891241019111091290137911441415454169017192183381958205142166225123510241961708250534141575171361971098750998101461131122661130211336445453566467918329511092116812471388149215471688179018132195720781212971130235312345025906750755381249661090111551266131808141151510916135173401890519822014472167225002311224837251202677271331708280313849251106641733385191041081011712721314114431578165261616273131354397590657271688102949910102114112781320616721113350424951206181757281029499101021141127813276153725631446651111614307708163943101381132122013568142401511016321171171873119135204121882261239024222251071263072719828107291173018503141325633187349135118362523727038973966402024190421032431464472453146204727514225133644545986514738181659526107671145412201142296314946435131647788886990102471188129013231149615808162791713518461963920736211352271234124206111217332741032541688761890922210571170125801312114143215696167217230189019142205121662231232924177253921130211336445455306110732084189557106431113112471388141011590162621711718731191352041218822612390242222510712630727111284612911030177313921512791398479751761967388890991106811931283213146141301511116686171551837194520131113421352365146253126348786829199110591129612431331144211523616391177291839719596183232347645355197614375408403966101551154012117131431473015135167217302184319206113423003791413855166671181499531029011137121491311146215312168417661821219268205621902253023682418425248266627115288929593028231473210913390343421134230037914138551666710318103694710901136123213361419155716701747218111192022019021791223072313524773258111122474341466518176727128682581412149353429053262967104810309901013711321125213209147215112161511711511811019112207521443225402311512461251721130253339046056664173181009901010011137122011372141115211161811130211336445453161437790812491210101391137128791323141461510416837179018132198442073121843221202377241331150279133074905626312711081419211015611531229013750144315167168417540178231352241205310619171028419781024616102731313545025791630771028419544107511236125113669146615155169617804184519691142278316246859964778884694110175211581210613731141351529714872305314248658206987568797952810493113481255138201498157911613817521835119750205321135222902326524102253126748170821773414885416327761081769129010901114512811335714901513916202172531892195542011021401147281331414656864776589091391017511511269513253141101517716220162926634341385454661379088149288106951196127561321142491797230737354465567610279211121737914985316655742284193910661190123713881145115661631172018605163281336746657062275148669741104911171219213121377366410695906162710681377943106141113312786131211457515181169017761841195752010621722531237248182530726170277028172922130103631523275033306341623570236558371002381623977040724166429043417441904597611121737914985926871734781819116102631190121401340114547151901657419222243401451518661227117818509901087111347121701312014920156616126171571811519491205511103266310343275922613178868228992101101134712106413133110021103791498515365617628131912610702114112508131041415315561165401750818104195402050821132227223202424911121737914985188666732289091351048611851231513180146615901669617104518170194852076217502211523773248111121737914985316937713584979248109611535121501355514101155701641175301890191912078217227072310424150252026103327128287293063012031181327331043475035142368463739382463915140664111142170439644754568046664795487249945070651592139290310442415131651279083429254101701110412233134114484152491651417661874119462096411032663128444352806152717185429280105611182127501357714511566161501741189019539204721902210322357246625522632027150114825136643185204657766812869258141211033274325106467271508419462104711916113023134864114355864279687259114310588116612111347146715190165741112173791498531649871208322951104061190125261357144981512616681797183821940620902115122662312624722512862688110429731464905192654071088893611412103366490522563777883791411037114912106137911430715746161101766187531977220312126617082140375450854164178886694710327111381212113411464151151665174318711955203121206223212337244751112173791498517062517318107099010830117021286013411466153731612417212184319510205961112173791498531561227702810089731047711681214213602147071510416150177188521990201270215122491231442249025103226634271472847729572309031763215733341346835513610433731389603974059141424271437014431245374651047315486649525070251120526321131277031104975570654279328207922710901179112569131551412915341166817791181091990207562147225362352247022512026106217502653514418534861107208796981051116041210213761414715514166617184187219312029211772233215621233664321522667427446813893110140118112711345114141151049170121313664115150653729089219570101301111612461137011443515216161951749018142199020802162227072356024454251102664927131287072911303090311003250332503476335121036963755638220397634061841974233043763447074512034648747763487074958050625131252140537015445855496562115779158307591356051617066232632686410217072425341431655169871283149138109211316121041322617012131331241151506537290835955910222115112971316114601590161421713118508196620512151022196113822643514101596651571898196951101041164512132131161490154011131215035342905106625378881619601090111421247613811485151181685817221811019365204572181022399113126636141335170617073108769150101411177812774133114778151416901723217072131366411515065372908452953010171111767125713961490156016661713118141194120862140225123137244125100264027110285129470305353118432545335403441359036200373738141394140904121042714345144141451049141253037543254167017785198410661121212268134761415515320164117444181351915120956214702245123343241552545726110275028320293191512121731764975576168077581519451101251110911312663706456521062867239875945410613119012814132881469515961681710101866191652010132112522750231242410511652903539410385476145717811095010320113141832653741473055396103871098140292931054011791123071324914170111274137904905696540791083594010150111291254013491141096117266390453959661032715083209274101561141125381472856390416590641272478329781012611117011842729314147155962267466864941107811712548171221736041075906177790835091561090111032124113701416015901634817142181551944620160212882261323902485325232268052740928902912130351318611422138313044245906370722187291611079111307125113706143215268161021144267388411559064271398919940102721154012311312161422159391418952346179715584191581140248332924905152618977938867913510411178127135481130227739041032554061158711087191781085311302120341490553961038713086594221011011195122841326314411556161871731182121995207912186722236231252431251621412413130490510162937178211918111302121136641701547629075398103891710129113712129131301461156411651177718371990201312137225262390246511130261368245155706212777385691020190238031254766518462537756812491331572190366410025111640173583291110571119012812139114110155016320173141172337318648251761097843113021133204223531561307668319972101281131124113706143821510411671796181032191212079521512211023662441258112613027312831029130309231113236331934117352223681379761791250734544421561641671098791986710236111251231131621962971313046915110666772387972210419115612311312814105816226033124454051866820752886195871079111510125731540270347049755326517138872925310411171126201115121103729411052366836716584197810746114129035804615160611071838769511020611961279713307145715217165017161831191132082141822702234024124251462679127307285129706303231281321281512121312541235125657712183292361047116361422610370141935110628272188119491102541137127721341414253151321690172271322737544157867467908132942102111111212711362141251510216809114425131543254706967478108968014226103701419351106247713181019706101411113812421325914131158931680417431851019756110428603791472951436667418870294591016711140712138131114719151101641173401896195120144212602211023115624322571264127273147255396432510264772718837981010820115661211213656110421903564125574162027176831980810106111062124141366148111402112232904905152637971108419729107201141812447133911437157616521176618140193420902153224211572713222413051117613179408519181210231119012103213714131159016142179361818194220311216622188231102450251112652627902813019224853791423654936627766854094610339114426738741155166907207813095110661130512110135114971516161061776618311920614729031249051032637722082299791032118112632134114340159016454179018320195402041212472257417972729346541305686907140289093111066118751296133111411815110163001765011302672351446257736667788619167101211116612530135114510152551322173530449054165307468519311105721141129761140234234148159061527147781079104810175111536114727013594114514776106756081839731075114011241137814206115121173414927576539715581295010320114181270213295144315414161397171407187821945201881259220731774791597768976582029232113026523514130156662307360810469110101981190123613121014661548116717115118110194202044321540224523240113026723514462577366671407879213103511651232131771410581472340342143256026105671708919135101111168612155133714451513117972729346541555804643778830611302313137490513466687668379141101043113712137139014611590165117473183219412034214122130233524486251522633927112281156195727379147475516525741824791001075119012651346143715460161751756613726133791414052476104374178280919104111130129013116149015320164717901891191552090213202273823556249025106217762531391748745183653790866915510901111312101136614143156141708234379141625465621071318170942210262111101219513284145615901614017150187719462054021403229023812413525136261286272581776225034434958510263741130261346545157767917530890960106611130123113473148315104161260177021847195220902154011302613110467590621271168879411013411411210191371451159916321765182001913920172181022292113023635141345416101977894092721072111281272131411410641135252931043431515663271181569411090112331224713471456915901631117321815619372015219022137123103224372521126372773283229903042331102117274135574103515664176518289954010642119512950133414150155401646173731854019132204321510225961172337318648253066170799384189702101411731247713891143411551163117355154022113414665122613973283599910171133112162113029031334905137162337247853591471107011190121061390147101520616901761211302663133496596650722285409491109761130211333641105516582717087749901024611712901380814294157161621738118826199322063218722211512311024420254432617527251172827316641751396130749081709681802533800415255961708261137914147259064637115181659418101423119012522131215144815200164011711118574197620961211102217723106214721103791456659061167908320910610930111751256619062791317084109510364871651855996109261171251134921419015431648217100183619902060216622462337244602557265042750281042931301316319632673379134100354336893775385033990409841779428143434478453661130213139046056664173182619371010611126012110132251476157011661176618761198772041121902210322326924352510226145274128502946230130315132193366341135503629837210382323923215721583157451851767417468964117274137304539510386141762814697010166111411213913411412115561674017901832719141201043213522217231092484317072131325944852086210171838419611022211172129013861141021776226032594496553961038712289092871151253311541015211649713187069212101511111112131133114111520211512211337141011513167067212815191111013111901270137914212151571690171771892211512211343141015513167067212870692231015111511121311311141461561162221781189761612414324477052896539710388149947105211901265112321513131447959066671108609371068211411297613714321551163211721218321191362021221502232023141241122517761116268234149615376113771118961968104111701297137141701515116911748118109191242051215102259617912983764109514769727678759122105111505145624623468425951106151740086089901036111511222213781415017023531704194551670771870990101321196121315132114197152516162171221826819776207021249124424431564108550690722012182177313245255769617110823219625931362470955186121741830096501750219366429576907321890982104211528124913165144115781620616727913507445451056100713183109810521118412107138141471510716817363167279131946651376510713083191521011511205125113111432159301626114723113664108530967017138841988106611110125021390143201513016901788184541974120142172211623257242525171265642738028468291142307313158632413370345473549136373770381303966405404194542904314514416817122423314442635234674176282991386104111341129613501479715162168391716218719512011021566221055196297131304691511066677238791311025114112761324144615320169617131181481957020412188226623422461025701261058279028164129477301433178327033811342513587364663777338923943405104159242110436644121045139465164712048417491138114025103295461584163772458106694110747112171211711347142601517016521177911855719962015021531221342357924122258362618027412851029573151266321144151036813749890948110849114811290134914790156616141175621211213331094101513164377377812297501071411125121811172741310349051306846788909137110233112471210413251144431517616206117274134124905190624788085869104102511144312176132511172741388490514265179358794531050113201293513951416011585316951711186641996207112190221152320724702546026902712428510293283074831121632748331158344135745367023774138141395140904179042442431764416211162653531484578169137358112945910121211140121261351714111152361862539310384615866357408769470103511106127361350143201517165217320181501790266326243153663271187319501032011168121713110145015320166613126293325417523463257178160984311042743303490526261707293830599610120111961247135214170151000177624203443418956646153717682061473241325461590622273183693210111110771212013651142231136644155286477174815599991047114511215513681372469379141405906607668159966108111121212140137701468158016461718518540194120247213582219723432478252061214268312414759064597168186981013011921244313124146615471664017571870219414203121162118825403345461570611377837924510100111901211151318114221023138486513761417487856591551050113201213313411478151431632175118321196620106217662210417762154380462581638071428909341091711411287213887141671514071642173111822219412019121102522472374611536246310047915316162783981057983310411145128761129126631413469517674178881019454102411179712507134541420615561612717901822219141201112152622902377118462490322241955111631776852691710211111811572479372149059061032786681209102106611511253813321498115571645173218956151222231141415906840712081079171014111542113728139204101566611575185109419101961472903324458581692071018669115101101120012901341142481517016321741181650194620572173122926237024121225140265127222281129141306071913211063572473551679171488572913610431178128461372458381470593061017668115962102701157124111311014411510316144175718571191112064619727134514165516063572578360971090111421211013575149015140216100178061896197702067214212241237824206177621543904505315622472998307996104711326123213238144715636170824593164138580614674188466957010411141712290136614661514116518171131869619172207912125122129123124246625779263182743287829326117022143664515346518729981929961021411511284513113142991591116212171121817419902014221770221132366242942511026791273128162171223003222465151046251744381769986175220531624124524761779184397810206162256331244115610684710481621990101421113712991390141421525316971179231887419108920852174122434238124131252822660727695289629323041313113266335134222357836150177629638724106258736437788148111261038441485716471729081509256101701142212108213141141161570616138173601811019242201651215522962332224110252362696277828361175025137048052226957341897294810116718626083814147547622271113811192061228210913706428455163117777811869901013611411232113611441215901691517146188611512413536443154764917182113021131464148511065717618141922610596119012476133514178152361656173118128191058111626538149015906739719981539218107061165121641371214612151211671176061811119130204121662247237124652591261302741285762971304131134177626737604905651653078785729295101451115512109134214311156616411719118102519472074611442710316247145211631713583299010361111641216813648141117151681631179861810119662011621692221152313524432578267461144241390467571061937726810079294101101169125713801445515125169517531181351922120562178221501104286037914537587614671212814092611041113521266136921411015661610417837184719782050911727413352445451017612167101787179314101151115612510133281474915121616748175718901974520702217412241423113245625108263727747285629313020314711962193389458755768173678669371087911101612401135614901580161021606218390488256116967148861191301010111124812411365214421511711611517250186521912820142215122510232551962643611496533366117130810119248104111652124213117114115152501665217411851019320207012115722662370824170259712613027691281102966307233187032142331212341403551366637313829391774010621130231384905416257418289911010120111341232135114861545516717451819519720782186722136232632472524126362712402866297301703110103212103310033437357536131372223812863925811162791317429955067107118089693331011271129912155134001432154116478171157187195720721412210402310122475025116261059275828281113127483210426257066253714283792141068111201217713374120627913528436531166674185729371061113712299139014320157701672217791189019177204182180822114231302435251842690271402812942981305131928323233981345735491363237134611302145347410695116631171008174113027533804791537565176682489706101311131612111137091415515371687217231879119729204652179722312316224839255126249271701130250834314415248626271708329927107113211214013121143715937161021790181721910820417216322372370924426254126110527962847296130373193732221334413424835663632371413879039157407411904265613727093714491532644371581199418101042113101210013911414515202163117180181911932201422170822570231922442257126701273122887296630943179032157337341903513761572706331046515564637787981239860106211120121071379014157157161901795615402462311644545482611077418119961710801132012251325914175151431624717162171224233144426355646514719087041512543392488545461107560890918310571171121201371014120117254333645258861617454810192010135111841274136714901526216251725918170199712013021722224142366241802512626130277912824029120304633176328043343347835240135212163324515856613777842192221071142112872134121422215561642117872184121922220312121022191231082470254702649127902813229730482319032108338113413035155836523716461512791338741095846381749081359901032011921228613411466155401611717431878192461902143156411555706578796814911810111113012321357614511531161036113021113704212541630076508659151107511259121491347147115901665111302513531414657564977658202923213125303354758564165873782611130212113664101352036177202850932010371148212501319014321511616371760718219192132081121540224123262243732521226432751028952915661172741316347215103263567932818698721060811138129013411446215511622217340182041962201316212581161142328836141115806907314821199510138011712936132561480241388410159062627378879990106511581217113411413761662903315411351006114741487945101971121271312647015596114732851913810521171121031130127913291486522764211400215531424475716107311002766313941705103061197147845924519621080311941475791686772368439781046511103611402171390410325160690796842191711041119761140284135404407554061817166875975101541132121031370148015901615911312413180432546767017661813195210810119512119013901425115114116901769113129739641215866507518102299610884117112901313821131212113414565638113127139041281113121233147742555756320768115402536390462570696775581269147101261142612371340714766155811131280439647975259612074928135915210981115012174117245313144515426897131890951810751113712703137101453915557169017106212122763401456576641722281669901051311137124113117142631512016710175391832195120477211502272347724902572612532613914120524011612140831514802553964067768513919610831111561290133061489151081624817711811719120204912153922137239124512540126912780281021132225331021424255767071680881970510206119012952113122439324902580696790810329800105171141126811312963474410259026102712591112623454104513961707948227952710517119912547137501481015750169017412186619175209861112623454315650640176188049791090118912137131661413915296165131756182711911201532190225182331247012552261542741128582982030313116217082187339441385646116765872929210811130125113661431152511643217593181101966204121312259611302241321242025164680712485091071092118201235139514611567165361391219339741085155689779681708941110581190126013661414215961650511126234541307552761247508107963105161137127471356143115201647111302903248472566644178048112945910901133812130131514820159816901755189619726205621187227702325024443251762620611302923248421254266417110589694710611157812104913121214139155716927176818411970209721722151235724543251102666274128312959618624633447825146797318132791361037116701112623454425531629071508256917010422111701251113135141111568616155173718451913117972729346546965126667710282829451096116911170297131304691511066677238797221041911671213613197149015454164181770218459193412059721138226123412451025530269027602866291383083731121323223311034236359636783736111312642390481510461030790819299010841114812901328214911510341646175501810071941820702212332296231242453125847261132725328522988830526317743295133903428235131368037950381063931405961537283387741215716907161890991010893118041243135101453815127913729446556966126731888897510121114212371370014891541816431710418901910020651217762270233741752903984505966231713078776970101062179729831534561531618071918329142106711102128913451496156911184241390434559061030761389098531028811144128313651474115611673617471871194992067215122612366241342541426290272532814129733051314903289331159344335510365961712102389410252826517104864941101311125312109131151445315411680172621810919138201602183122796231072451251552666271102810621791216031204102566610807808519839103571114214311643835234641675181589681010211891251131311417015701665617511818517082770333945415102628271388253931105541111012177131062171210233834235546161587138841910611018011173124713510141138153279136414315136666725586429891031116861217013371449115521171210232824102589651789881619901082117128113367146615138165117661829419110203921791217083109442510961651755896916710206116112117131411410115706164717781846519811140210934254256511061407198259917610162135212163324452556642174528146979110121119012132131041441415290162531714118115198120902146122547238124725254262702712102874129713019031104328673323634836351653641377838746151226236647415730653971038890946510521154012477131101460115132016101172871856191019204372137722136231301242482532263527761282782962330663120232232182226231471470155663172086051372551390410325766136792868791261051116481266133121490152491172741330042505503662724865394181070211531127213632142161566164501721918719822093521722902350241172257702685327487281902913761732523813445857536207774781102931108131132127513770144201544316176175861134234236544151516211711814698410661141129013901436151215166117682181701977320562110201131210239041515526301790886191021131211314641005126866711682969901020211232110932692321241555906147790866941103111596152225137449205906262711082339150101050119431219613704181322003797411559061617135887919729104651196127813147141701472753647416513161171468849661041119012901336141215151121695611312102379143075906151752830199010151115812105013901481411312113146410051261517116829699010202112321109326923212458590614971011522251374492059062627110823391501010501193412701131631472115901676171461864197820902176122762310082442256626190275741138246531564665236956741871986106111532124313525145115470169017286113121043176417059062627263818089555109011112125621349114761541168717661881990201502116382261231702490251681120027973115425559162367207879197291046511471278131961472550364741305131611714688496610411190129013361412151510416474176718901926220710211562266239024162599226451279028100129663037315123278331451347733581193427013163472159067677587599010103211215612901310714397159201667174191810081942206621372297723902410322524411312102379146905906151782081418912010911113512597135114130153301690172071813819522043212912272319211312791369045257436531778357145721873483412052416247714481191291046211431252513511447015901642111826231931884905250660415262165313741151466134714938296921210554119012106133114466152401522701313141815858642574182229810901113129013232111128873265431659066071528329491101461143614727131241515326517138885599010770119612112136801200247332464754716907129413072155325041231511067171788374147210436474383513161171468849661041119012901336141215151041647417671890192622017421912214523372410692514226367273728551299030103231763213633790348103590365137510381961372581352430055366556712081029661090119112713147014801593416701175101817119860201164211102271231782427515727131054150598674376918791111070111131238013418147815661611317171881019160113121023791469059061517953811938210797119812130139014761157165601790185211913120432171222861104274231104665723651712589095301076117011210513661496154716861781185119130209621322251233212466252532613627253285029320301413111032663350734253354893611337683819739141404574181042580113721023791430759061517908913938310111117021294711826231931884905250660417912729338347157061067796879197291038311781245139521526216531374115146613471493869292121055411901219013711411015146163611472342390431559066273281352942101071110481217513113615402873111411651546418715781449104101001165121042133081414771514071651173118636142251336434159865147569815596231090111421210381310614729151477164317781814811722363341451546661147414851915719823633414515466611478188519168117922603664111510162607668329177109481772193820476651032690776842951103611361121891380514137151101618317125183119236145023413240413059067071408459933510496111211278131431443157291690171321877019912066211102213823392147264379649057965776487669331154026233904121511664657418406991101057118121231131101471151781627511372116311440656162967908202923212182110351431513761107668329139101041147312691390142621537116120176218312113125134704413518648178851947010901128612212166378241556236102113321937824155823612711131210239041465406651770682999150122425138734905106168227697113822093613429759061367569143725232694150120230434064138551681723585197110108111124113121603117412054331138211311644255165407488519126101081126111312138315141385275613171428725927102701110201822413116451513161817782815961010411116712562139347441578620611119210631964135111472304312811382923204423212022116326811312406353147513265177518909511070611290127111390141401512401696174218226195961260285330049057116540726381741138252341425352781472590391432551692741482539711046511253121281131611429315543162301137210239041465406613017116815791911090111032129361346214131156401610917544181661958202312136211312116318145985686306751810329651072211901232113901482152151666011382768390413255168627968769411046411131121401326214511565161401712461890191032201240211102259611402135233144065203624679081172917510986178224593154413858167107578537985102361111812961311514321592162651712418661910620766213122206114428638524759061677498891211010811501219814222155317742455207699278184129641107701184121471334317721763155424151386117116875981102221143127913144149015800161211724118226195020426211302262233121151245131654241541634745810449702104511636172221353147749058169877298465984101261111711764217737914785147666417103281255944110274119612846134901422215159161101762183121943202992130122412371242202540626157274728782963617426433124241548861107146823691101018211751213813111411615104168117371861197520412113122111231462449415125236424415456957488419781020611312121136641073537617797081109232170721753904315406623277688049596101241155012181139614790154316901726218102011382116310914755544657275208551920710333117512137131161464615262167711790181561913520372187222102232751772143116463251016207713182029261101151116112131138014661151061611511741186619131207612111622226236612415125443262072795281082925308063111632261331513418235131361413780238613958403741227113121131164615610611071428704910910138011411283113761490156121479235390477590650732081021961710801132012138613113142471516616131817127183311920520332143121203422479156886907103281212913910571121712501316143115113168175718217191022053521312217212310324572521726102271041281721291033075031983272933465348435126361171179727293465414758376419718783597610321141127813206117072146311649058169079381049681035118071271132171456153116145173718741910320171221842210311772169390470521469671048837913810901170123091325314129615811620617901895217722733116441515161853714281319113101216119012861354414241152621614717771813071926320616212182246231312453254126512717728147729383065631111321140331234117353736563371103817739106211312202312814405647669279086689457102491134015127913170841345196618027908247974110901155129613776147015811179721473512454054106907828104951102221190128213131614258177248031204116518336130177789691116101911259128201345142771527311208211631514192523466327151817469319101311120212361371014501159016132172818507194320180211872291235124152532269502712302882990307113142532903371134451359736136137813830639457408104113721429281390471059661237968837952106011611213113783141031571690173121866419536205021320225692382024566254782664277972845294653016217912538332749358267417788469916910901164312131132961442915117161201734118541975204532126422155231144248862516526336271099284412947130155318713298337342943535736486372873874139884011541674245432451130211317414256162967668101912410741113512901353914103815311636173218111938204662117822682330724932582267412710628682950230490311903286519621463116446575614171381701281296135754745826827418116970110627111511251131003141831524216596179518952195752013121104221402350241122558726101727155281112291453015531121321433357349035422364137418384739102740106417842236431036170721403754138571063467638969518107501114912221364814361568161330179018109019131202491116279139774135513761210774181409751042211155122111390141421543167817103611432120334644415471610147241870191401090114931270113856145141556165071757118621931205282131228562377024133254326782730617072531346413557061426714786691401071185712774133191413815101516411726218181195661151211734149275761157791812191201010711135812791139771477515821643177818306115124773120441562612571818759831030911731170721151322246625155641756818799010161117612804135114222153701620417621813161925812812903103248251356216714186097501014011552125181317514339179029031214710571364547136781070970610961120812135013811457154561610701757518132219712013162115522651234542451253126153271102866293230139312773241339534242358373681037820385663911240656179721863456415551576527318930920410259170726013664231576693579638569177104711130712411352214113159341641179518190199561707213013222490562645790811569135510361111101223613491142641513816421736018511954320562118722522371241202570626117117254339245215616907132877991510901112112587134314180151681776225034434181533914372155353474154676463782189695581040111151129013109814223613436485111663574181032947910171165512590138314511547816115175451871910252054521750225702317724791257292646527361283112917530766171257131774791572964657242878910361902193664915490696787081479451094811402952312847315906847148875913810311125112813811413115311635817818811975220312123622823672421325322645278312867294530119817121433159416658691377918108990101171113612411378142061136278134647551416137170179727293465482259065187318206187275351444550017727173414148590658751811932109601110217721167390449655396103874787309661090113201257131401451158616104177031879199320522218122162190287036641115206357961890911151018111772120316746253076130792814691241021211311259135421432151116103017901853919103820312187122322314072417725912698271262813029923014631124326633106347213514236313720611302313914230520163771001832941103111166124213470141411510431616111790188411947201602110722512352243225960265182717628162111274137904905190624710989692210170114712151131707144781579167711772018719151201031218122662324824902586226130272062890296121151244831304104535653171318448959110661111112586158724133147405321651779613726153754341537623674061572525341450531654877781709572104111491125871512791353049056066677786329206106021190125113510142551762234340648541675715837798104111751213113358148154116751775218236198201302182225912354024902511126160615125636647415876454717845692201797253039046553166157400837923610406157252534145053161877652812169611051113112358113002187324743835107761207130148211373904401510576131176885691801015015127913508470251456100790840191327107821145123881709215539041041554063174561708270384641851386677822813099210473114112341341149015212167061730318901926220252125922176231621708231033824658535655471908704192722223904210514716701766823999010167111043121591337144701590161202151279131244222531674871208482914710411113311772120319341305193665733385889661014211110112122131031466153071651175101819619222233791470259206667439818397081084011155124171345714103151161624717522179122163157487540362961672453223410957566087124824791331103131127016128243222490543261417578391990102271131211242903139411754626112722784194771051111216170721443664235591657790847295110121011110112362134761490152301666175118118191392049821195222072339211482139357473542622573701701224263262454759066171448113990101371138414721083664325512654577819894710371113212901312414661551166617941878170121380321249659561037170890914210511131412713723141801521016401172571811019198209182172217717012343222441513766171708989979110981120112901313814791153071630317109018186192532010162113522502310317502983408466530769675118669307101311166123181320417902897357442157736282111217379149857026580779183079961011111487122391962913766421153267297561879466104111951218413131418041590166617591898197820371115029813106466557564776508701965010106116612250138814227159516431711918511966201802115017902573664101534639215121355318447455196577862891981010901157124871312414861514601618017550183211942201120215722662311024227111217379149859766673078379443101251149712626137248338114138522165173182361512500344412456661617938791931102661422140366413558116246742821694731051111166111217379149854836657362870291351071119812154135114661554166217281181431962204621964151425353314552579169777150869691541051116612318132041934270134914170515066907103281137951101159111421214813811434715373169017453181901997611121737914985316106376683339106910553114971259611542923138410855356577668129920410102011121737914985516907766811399010432113161218013541141296159016721770618941191051170722703224791530769687785669710839113321227613661472158101635217082840315544635138610472218369361102111157012706135114706153216281171281707213831064515716706711813999010144113301216113217149015142167174621877519811472713664857545761357478719661085711511218061472753324827566651716081209138102801147127813631451155916321762718106197662031212061472713566412454436327718515989310804114312510137561512791330742965123614171208102966104421154012476131551427315540161098177971830719412098215741972663114349055261197114388779110108721135512124131981490159816671745189481130282033074515472612907758419104101701157129713184141240155101612815882418331447655356927958559651013111463121311366144315206163021572443322845156661377160811791661038111542923153049053206131765870593621074611343124981321814591513316511751018531196820472113922110231272456254622656275412819529723011031503232033314170124913118496551611872378259917110150114212921131581149015156161061795018661924220712122722952390245525120266727442890291830120316732573366342103515017012285366490515161717428267973110880111004129013272141061566161301756181501911032033117072331370149815906191717182369901017611950126613242147115227164717661867319278111217379149857026580795899099341066117311219013574110326633074375535689771113827893061051116612110133841372483381148105906260721282279142101661112012102136614721543162061767170726737544015187613773181033990108711901214213671420415901615117101118572191602011021187221372361242222515026612721128412931306563161326823366347235318362041701214633584797590618371040812009521010911961246613110146615131166617941878142261037014506579163077137810689651025911819127731334917502433544485557666710089739146127231340647975906177730784149661014261166128051351146615116163181720417502533664705306125171658167911010146114181212271341142381557166617180181501272313406479759061777729841492471023211805121358133114406155616781710311512500344412456667917307812593110162179124803135454051016612479085092451051113112566112221175390424155846477908755917510986148211313904146566668337868110977105111661231132014752137213037914307516969673181461882753414980590611179682129671106631171280136614146158671690171051831196412066211952247236372490253202690271022866299630101314973231331426157268319041425366462711086695610111121112181157223135147105131690766811974110351134712235111726231834365631641790810329124104111511126213183141061566161111710718561994207811121739349056669674938909227111217393410085227611075628519801015011626123491310491451115571680171501856191049201122190227912330724982514626312725118227603664180514665171508951913110801115012561329814104915511165717801815019111201049211712275323662472251102638414127139245158663572718418911601090111032126701310701496157216224178371872199420781672423390466516261907131817419773101020113728131530470522651476685196610128611258111217393413051206907858909302105111150126613901419815811164761781118811913012015021129622902372241286252581572231310814184565866679081329191101351172121501378151279139842225266125724289091021066117971214133531467159171658178721879719982076212262241239024902549226902732028418292263057318673290339534250353713632371103814639122401134165142724343445964530217972307391745858726327591847095351090111032121511323217972983222426590610276687979141035311671245132231410915751613251731318270179729839047652226267170814791501049112811291713471487415901642317661851196620522132022150121829036643075416791752089096511165290310324278550661547111812109130106611571266136571439217582903664307541614275684292541051116612222139014651153071613117842189119810209021572288623228241112512102613027662850829791303073177532811322791352049056516540770831693211076111123121701314145281586161241741184891951206621202263117822741353742795618665175188504913571035611188127513501433415131164101715518157194142064217172214723512466251286262581572133904651568562897418818099110661154012103813136147501598161461731182061110286368047951246667130830193210791115201212413138142801512116609179018698197520512166222023631111025731122417053163197150832937107451111261214013419141831577216297190824143664591517161817120810799610711141127813206131236839041365326377745873945106011131241031554157541466477988909951025611443121761320615725773147490576612471428909124106181156123311396143115102167517175185211322987314745775147658780783279511082113712245131402141461510916511713111851195102019615822827366487566864167155839693001014611196172321910318344245666110790832197210150117814125103514102757761507668791920101501176121717139014601566163717301183719227205421722281223432459614127136804515327610876683709110102361133312671341914187159616282174518691192232031084665906917688939832101481115712417136414761591016321766182201967205121932290235401544217634343225138628071108919681093118321219139014102156616311753218124196620722131222923177241062179129832224265906102766812592421010111121212124136614731545161851557224732554955106364607758969170101901695296384515666129720481020111217379149853162107774872495810511147812331131101413315961649117150181471945201058113025137147051266724784810469841012331161512135613911417715146216111710118901966203072119229023107247792541826421276628248297230313129321773333211342400366490510667357628118970110536111180121501314501418015321161307171701810321943206102154022486233061540288366454551106301711682279941064117012612137781479115307167561721183921540241836649057667507110890932110721112861225811121737914985926647711381119319101381128012761315614706155716112017115182261911302066219022915235124311255126662715028781538279133141625686377898832937103141141122481366143071537161301764181391990207912141422454234182496255626120271428512913471537256328745356665377382814995310661175012181131401488215136167911730718901913220576216622612317211708225733094207590660766815595310290114712248133214123153716201731183619322011211262211123586128025131164256566614072986693210511145012261134214225153881112741329143015526707139811509110109511551242132251464711121737914985516731790824392951014711781214213751416615120161021766187971914320738219222237233022490251022666276272877529811562683116490525169875168895610112111162127061341145171528116893174118510195331512793542412456665527570850699010423116612561373014539151038169617278182481975020952118122111231377241452525126544276512810629613065731106321543351346635110366311922161327490533168407787919307101091111212325131121473157916411724818661913520412124822662367247525762618727722831292930177313921112173791498541690770281409901033811901210213661410721541161032171451185719962090218372212123511245525962690278372832291701322737384247745826512714781270937101411113211272131101450153201631413227513184434556667017809879193071056111611127011346149015123216701171461813619312046521512266231612416825662654527115282629653070316123210933953479135307362113710138663915401424172429443781338276236384265140625779081029661079011810129013511451015596136271310714313534761967529810694761015511436122501368143615591168841717018121192362072211502296238091151266314047051151675741884729501079111201125461381413121241379141625686937832851930101251124212721315014633192212413791431516266879388329101010183111251290132571467414222133840411253567971068225966106691163612146131821411015266136281031504415786327634892097211011281156612156132271475157216150171064113421410356649051326145750827894181014111391211111324114661551162821141290314647615406377940832990105661117612571398141021539415125123123451155765127147815391041013521129212901313214459155116344113028031634325416422766881911101281111612661357614223113023537484535326237219811497421062115112172136614775159016129177187819779205221170227881130223838647522668075428150911110510111471230114722053514532513566767328969307106811309123713467141571532165117121183719296203221512228211112495312343758769272248669857108119012551396145181523616511735711902683964180547645715081519146104461362733744751642677675873946105111117114129031074905626613178789691007105711701296139614702154516735142296310074415447666730781449121106611537126613901491515307165217411866191259192262634514218523861167198818399610334111338129613102146615591613317109518901966207221150227811412791377249352086117751813097511081011901210613681411215256162591782018981915020797217722229623662475257732681118426839041106572630771098519102110511178121961712157356490527666730781319351025111981263613961475015648161051191823583514487515562717507843990101831113012490135114661584316411713641962536322649257161456715881309691042311307125101393813121777310447405766162751820091201010511150128221310514981578163431358270939174905872630773438127912010427119741270131171466152451651173621845193281802663362470953386251798869599610151111512201136614811577316190181129031924785305615071118727979104911105812778131491147931561169711779118901919220778211846227612314082467254192618727902896298433073314532948171245635347915906177714686498110556111521225913108141041598416846173351849619121207121662210552310624782523626103612292574391745858726307742981279120103411122212157134781464151611666173071867193632066215122662394247818026632274574545466137908814928810695119612177132614901545416124171063189019662022321750221123124241051111217393413533263687193781559991098117812371118426834141385140613879583319313107611177125813431470159816471719718321951201097216622307239024915251312642527302881129753057314533282733663477435823690379638843394740754190421032439044464537463501141290380466590645379089159324102121190122201151244739049155639677449851911661298223239041835416567201843971810661141129113491478157881712157351466515063057111857966101411110491791214332164905227690762687979311073113212571310061413515860166617135188119773208111741275374315214067575182140975101921124512160131290146615751675017981830719682030721722231232924177253321288283732614711529666672388519301012511242129013102146615144163117737189019239201302125122982330524209253626782725119552171375473152164377881481131229336644151056135713188869921010801112101212013814861593816120178118111191450202132137222452326224110258021372520311041351356441788379540101101130712961330714681530716454175118297137249531234935926224766851982710811901296135181423615511635717082488327145159866872681109301101232114312761313514144159511612017110182661100725339341105748687711081839125103111251110023273797498511562071258242973107511124212731345142451752663754454561369078148288969510961175012124131051120210973904305579667571808791972910661130712172137911430715135167731781110021103992437511061081737811097911031117312411329614211157021615517651830719412011021249229023102247225128626258137211037914702541642775538530931108114112139131151444315182161290179018145196620322124224123296192213331104791512976517107281007953109311110127481387146615110161831712518311920611436210137024713586613073181777980101461190121041310414661590168641728618661920020307215402266023412414125104326352272122843295103059612442683904702562368671507816591158101651196122631399149815211643177818148118429031437416551316140771658131966103111102012120131771433213052305330142385214632715782294110881166121101330114721515016781962305390417105416240712818708962102521115512220131071472151801615019623053904106568693783281716941102401170312124136614533153271632175718307197520749216622902365324512566261286272581256212439043405379679775248122910101066111651210131312514811575164541761318814192882069521962282375024124251051113621043904305532769673681409251101101126212311358514108152351692717700185401927020412177322102018632758380546465141613078078819140106611511241813155145115661612861725811300290312341995659648878812691551051115411213013751472151801615017121573514665116142744481209821013171162612571366141115440162891136214833604665200630772298726941101411110431235213212144315510165961863229932714665426827748841891551072111501278179721708310841202530767977628227930310120112111266133071490151321621417511825619322015921722231923962480913125403954851376121711085479901037115612109135114546159516951723418761951206312172222023345117121213118411055166907668106398101041119012121131181411015381162831720618337197209021251229823722431252926177271062131248315847415596217790818393210511157912183137214150157815126639114905227623671298539751089115971290131021466156761660217811811519109209021643221312338824962597268627902866291050301443174132523337347563511361243710511500216431404166537861557328842991491012011341121082135214661550816227141271312247975986517175786809421078114712312139014761541164621775189619102209214727131742425954863271208125986101711151124621335145615801665176031895195120259214322881472713664870514767677018559418107211751241135661451156616521732018150151266335490553961038738846694710901190126013661490154616371735011342403366411059363467379879194841090111361236613901476154116251710271813819390201352154022403231552456254726296272581116210673791471754186702713018155910321043116101213071315514236159631651173118741990206621322246235402440325155264552751286629113044031289111217379149855086667898110928614127136641405966897908305951101127111201229613661437151219162381712018195197502098213122157239412437251422637277752890291023066313732853366341920353323637371473890398040914132424224375447451404612947514866493150890512045224913722963235413055376237737824592210321142212751310514661511916411778182061472713223437751066147733089095010385111351210513632149015951610031719118702192802086211752297411121737914985538679171568909332106011150121935131541451156616110176311708241348842715215690714687194171071011103121221379114981553716103175118102814827913904183510406537726484193081045411511235713822663964596590650711182459710700115401231134741437154516986170824134884271511506917741887293510271119012131354014428153701666171831898191462031212511134274329649052516947115841956010308111701222913296142581131244332104805666317368329111011511856121713202146011510511231245034124454510917221713764515766417233813595110951111421250813791149815511675171441819419124202472113122388235124706252992610215122623664741573065397103889094651052115401247713110146011521616272174118901946020322190227623756247902566262622716828112291376146237331244805666109756817976110540119912601379114981515316561172021879719307207521503229023982477925812643277828366111274131034431582163777257831591281057711781220113108144115730166617750183219141202102144322176232061512903111241015293647773086699010539111038124421317614566151279133142695192610137578969114108117971245131201446315116716729332824435786148151279139841535561674724781499613109011853122881390144541520111262963141410658696967131880791261051118312651320214232142211336641715531661078438940986107911103012791133114269151921690171115181811708210031934103151266907781769710152111511245113125141005152401671177018135194120100021105227702367245002541267827206114021073387490519267179778465933510496114712781314314770157016177173741540221437214905103269071218123091101059617082840315544635463613177918319269101921141112353131210147061571641171301841198620402151224223902454125200265127473283229413034314132613368234513557036212377733856391020113023633114665416841717083792661071118412932131501431115901613717112186561170297131304691511066677238797221041911561231131281437011482903604665416317105583792551020811521250813124146615130165191766184319312015021902253923372490251032261262751728111295861472713142432546624711988739951056211901222213940141071513116951711761208267388411551669072078210992101043116512163813611417015901616811708285231424253590676710118545970210751126012901346314130156616331172611851193412048821412271611127413340490523362477418870295101090111611226913471422015261630117818420192182024121652280239024502511126963279628282947308131663282033353495359036515379038710392064090416121151210037024455106869071032812129139101111171214213921410721511016251175111855199620540219222373232522443255102659619225703554965716144790814291120107114531210321381146115142161991741818702191701201032218932247423956244225962636127116284082929230713173225733240341133571367037145038134397704025041443421764376617229034142055162635790832194110300116501820212631594335376315765870093710735116712102138914451596166911797289351242158565787756873594110751190126613901420115112161711176518180199020101211011226723102242822545269627691162260331244540518668207528817194911059311178121071313714572154116510176318532119026833204113512865177181209537101201110624383504190541657172178419661012211139128361316514411578167461130290337749051426103879181009201103311196128131349149015481168191748118901949209621216222722334224662521026112279561870266326241395822676713983298921014111826177025083490422251106791724789693110162113023539045915906177761854099910130116612171376114540159916141175621130235390459159062974181399130106611291216813171142915411613917109185119482209121312229233224512529261212790281102952414724823766432595165179818319107010901113912321135114661515016431724614727137064382551670079086096610106116041274113621429156161645417311821219952090212022223214122023687413054886273757588899010980119012601366145115510162551322729343470544614777784569452107701172212791139014177151231161101771181781910621141290310647514169073181069710228111411227715727483210440515069672008491927810811114112581322214811559611412903636461553265707161842978103111266114129031160461553264197151842978103111358151266331498051426321710681429236101036162256337147055496327136890928710817111071210413860147911572916143176618471978205091482330387247415169677616817293581054011661231913110144115246186246329647825146341791081079202105111311210361208245037064111551651072551130231391423051001637720183294110311116612801346143415702161417791811119132720136213722670113026523514462577864147782579742105731195123701541270234141765531677828110951010711101915402140382049775813677376658359466103211431251013538161421093114130511621875681389471049111182142251380419051370641790810329915107112741213113711420815804169161710718202195120312110361322513654415906539710388329511080116612108131061476615311620611123834664525729111217314241045474610217908262939710711190123311325142591525611302912366466158326415711881098110179113026523414885666907908307962310951125012761313014661575116901741181101966201136147295037914746511066677538569187105111661273613910141101514216106177661831195861472476390435154768367958909351103711596129013140143215711617017316187011913462095214722892312024222259026671279052890291032303731903214233373412913590367503737382233932409041423421021322513584665316686715583794510131179129838445661752543390455596696783783194461052111661275013111412415105113729531814515113665712481192111018113225136549059065397968909103210471148212791131401490156016661753118511953820322198122572345243225956111274131034905101656779582939333105111901275013442141761523611382170136644151266117109183594110901153912471390141032155116184179018150197082059321110226623412431255961130251379147465110666775383191841511290396454059263587540890598041034911431278133661437215535346457016131718181191461051117112222131701419115134616414176618190196620856212012230123597245402531268027301281702910453054031908324133373416061131288631214551590620475182149321011011661264713511477159016261181321993964115590616172058721913581079111729124651312311411015711617817108115402623390481529164171918145949610121117812143134314729157169017132187701913120110211382260515402623390412151166268741840699110465117701284131471434311512593139490517561387518706929810102113121163593416857167472698706937101281135611382465399141115646115765848299110274119012103213471410815911619811372406347745252696150115121433044131575611671388419491102261151213831314116541645377829995110661111612511366143115138161401727511242663139449854262257370112129131464325915690715181109686109011406121311351145851557164061713118901910322062211202247111372116311414655165107531868919510463115112510132301218211036645075253631755485359206101062111026703904177539218224131164622551640972378332941910117114781213713164141571550816227113721163253471581164067828729851090115512961325314877151201612217253181101911020123213152211023183241112511326418272172880429112113121043416454156926377923810297911031112061742643312424155986406774810139871041811702122301313311413115491165617311836193220741214912272358243122558269027261182211035704132547669072751167213337845065120673071685797311090111421212013463141197114026036243125496194740989094531012111111812418135914171155116222179201810719562018721131227823952411761131247039043205816139761817297911037611454129013152141341534161391790182221911120526219022771137252639047915729641476685569901095215127913508415554906222731816214224593504165418621778048112114724713315449152866108732814691261071119812451131651477315648169017551896196122041216814223113222412159069071032895912410532116251214213418149315196147271322045154966327753866911910294111101279113311426611302115837424905539610387478146094431098711120121461331141621115216163324570552679176378909177101301116381261131701490151681154021133341479759867707109816191031022711302113174142551651079083209901074111111277137911453215901660176618106197720662174122557236472451257726902722715721413344124514963775268909651137247439046056664173182309371010301113112580131511470215901610621572190366410025111640173583291110571123412812131111420515945161121771890193212090218222172313172428911302113174142510467471398909262101701142012172134291422515961683017172188401911620472152221702368147924133446152996418778866917108101116012312423346944175540660079088497810812132248333246651116907958960951815721748326245405415646758085129119104111341215013422145015710169101791518571944320141216822217023773245625232141266337341751106507320831413229636164345511876957328689182610558111501241133261447152161656171501811031933114729031249051032632711086693131015611806125921350149015423161021172741373045395103869074658529771057511110128213138147115119161411796185301911120674219022762347724226257912630727512870629323026831102196285231654804541646712982269411085113212561346614100154171616517115184719412078217225481962852319349152536540718489595610116113061962857317147651011650572268707951210130115612318138861322791329941535561667775813259210102321230262138724415346617917879314105111153126713881411515771671714181151990209221451229602372241102550263202766141220236874130548865727266857591131108811901298013901460156616511751018255115124923904228592688714286695710311136123213111411515491162261902713224455596647971368869187109611511296133114728167279131004755906837732828292510411121712961348144115781620611712713110467590620774578310995109611137124231311614831525916671716218719962031021722902350243622512526111274202890292553095315632139339034222351063672137142383139162196297131304691511066677238679113610110112471215213342145215791167291711018247193220155216622110231062179121603120410256661080780851983910451135716727039341805906103274787197510901160126613901458159611675178041841197820615212012247237824358167279138674236583661657418789746131224339649058376457948151279139841535561610167418247967101021189124513961469115702481317241685339621773585379571101121113761140234236544151516617908960910215123134834325666617682817097731056118112112102379143075906151741827193210503116211247132711449315321679117451898319172024221472226023902416125902691027322810602978311312113146465255164707110867990102121146812253139014129156001617017200184971936202821172146331415251156727518214932101101166124713521421615791169817961817719247201162126222147234941172146390441059066675186589112101376137213739041345668666737814191043103711137126113901437151371682017621181911980204712166228112366241412543269027236286129702301203110621138211364410454896120178985329431052511511247013901428611312923481475666517311847949110182137227031584515605651714989095110711166122241351141086151116262175218729141220236874130551610967190825595810222118112699131241364456580610679081669321090111041291131111487215431678172461217216131844815376107279087919977109611139612262161397424051156717908151986710951113112511312671491151321691017150186119131612262596390442657736632754811597731019014182702314429252876687718187999610901150127613611146215321690171621811519167209621912247239124115253226170113722303964102566625073138519212101316112581212613347490549687771864958107711901214713111462152231616117371847019110203921131277341435527069078281319311020111871290132411466153216901724818451910820802115122902314311146211310014113571617711182119181610821191612272138731411015541614617771820619106217126432074211520265176389094610571110012139134571469151601131211364456510069075685691401012101112912111135411441151001650177181401961209912151224762390241301131220236147775226517112841910010401171214013381416801540167141771189019952114021136441751336917629813091161081111301213013871466515540161551791187731981145029036441043580661741847095461045111371216613901413215706163731751182091966014727536474165131611714688496610411190129013361412151551164911732187761112146331415251156205751821493210110117411234913112146561172146317484262554064157468300914210170114461287131111441155661637178431834311382113154415464669747810896331048711120121561347141081550161981512186332469258726487778813196110310116612323136114222158116976190265318041245540631716061612856311046652126268741890912103211111213011355914511521216110173001865011312443318441493541669177810191186102121114712127013371414611532116511721218110195020320219981772143292411451667977988115925510911116512901377314194014562753224414524761737295848692411050112061213414862903710496515566271878329511076113071224713321477151051614617151472550364741305131611714688496610411190129013361412151511164121790181032198372096211832225402341524462551262122731228551138211312941045470614172508132970610508115112126134114861561161081712018320198120531214622252113121131464652551647071108679901021211468129513253141701541016901766185119575201212153722121023127011721463710415656669071689929451109011100112661337145121578161451177731831214622211391749052656103675287509801012101176811512143292411451306797798811592551091119612617137661451152221611171471812511307279139774144518869072608604171270310674965326517550830792471032117712580114024143341425955456138713281319131101211153212511314141051576811512211370431552064673158769135106951113812311310801452153421641171461845165321563130846395172696721781709188153121134564365586867712811299111051117061235013851138253639042415666648766863491701036114431256136214571151270731204259530764257543899990101461145151225931184135102111225931071412057066567104814924110222111021245613773141210152541772414334144658064779078479971101371170612561317212521513341446596613277882069512101311111121461352144631555162151790185881966203721106322902390024101251502623327514113821343540441581690747389091081077115701241132641131236351440562611177817941102701131811382113454525290622278081379611034111581218113901410115371692017150181319322066221562214823412413925512616527131281012913130314115121432924154511761777307811692171090111031290011512124322244751569071062888147210436474383513161171468849661041119012901336141215153716647171321814519612026221812226723682241702577326562767117214639441325145620273781069914210367113712977139014103215244151226638104905516510719684795210170111000113821133824542566165176708419861061117125113230149015129164117361187119481201192154511312113146465255164707110867990102121137312951330814119154716215175118772194120412111722125235124215253226161274128940294730606313232683311534856355236631172146331436355116517172857094110941114612641371414615151671714618129194720146214522150238811754226235404415546651721282589201138211338244152356731781853695810301111411296113731423415344164717451181611996113121131464225578617079086692158102771111161251132121443155961667117214631484110557166171418146959610901142612773136321496151116723177161861191702031217721432924114538367977988115925510911117071279113977141441518816901726018604171270310674965326777134861947610550114023423116446551566102141240639145605241640674782419406105161154215135641875336628277882419287148629037104155562618777283159361175029036443415245613079681519118147210663106497752366121714518165948110441111401290136014661590163201771181419241202222147226323121024814177621301322247025130163417218976951101306118112318151290375044651206681777388379750105611159123513142147561556163551472861332464512415624113314490519063277588215941010150112227913407417052826757968297942116952963414445553961038732841931110222115112222131811471152241482791314141705896695796841944510539111038123213411431115222169017121018144911112420390425558168675284191421032116112861355149015132165817207181971912102028611402462311644545119169577389595621090112221294013107141021512016320179518252157251371423152226187756843920610812168126136414965403613073781416956104311596123021372677341479159776640728284799010901160126613901458155401631177961147215732994287512469071018519550107671151212750139301410411299213136643158906204724911472713904387590619274381179121101201117612901310321432151711613017115181351947920791219772241236882495258426343147271322249553416972748822414223113222413351426467248379104101210132290324842225786677578468959222101521198129013891414815174157224031304905646321741895297101111140129013710141391510271693617256113628203314162514861107571852919711564252316461712101235394103855262837272855916210462111151247132221411131511116596123124503412445451331522144335242835190665611082240313041195311643776861970610382115712470139014137151201612021701213131564485116403761861191310570114912437133771465615401612811312113624315680623771108102791311050113512511340114222158016102177624453222417659064477555845695651013011116123113188146115447161101739189019132202592117622512322224150257811342713904156510186412722117012138318646185116417648919114101671151125513120148611510215382156374229510026640790814973104891190128113147141891131214131354315937615671488909141310361155412872133071451155101624111382113554415506317492811091561058113512235129621613100546805118658735810751131261316545151114677688851966107431149712125131167113829035647435114616775287029947115127143741275516124790814139361082114612587132881470615511631176361272493381488113821135545257586612767781569124105621113612743134714451151381681174218711925512721103245446572261317328496990102511124212372138314721565216110174118626142022763378425651256457131811951210706111071122781387814721515016431720615172592366242505129684795890910811372741390749053306677727185529140105111261127131755144115776161111718618901910322023121902244723555247225103326110272462810629721301423131322061772103233104467569614777768709249162224413114905418612071958153694310537114151250131311481115661656172121811919557205621312212823105811402445374515866775182119258102071177012450131251410715436165617901812819851157023635104245590620671288809441036115311241132114901520616581777183219512012321722773238111312153671412052006315731089094210511171122451310414901513216674171718901981415727132454104590620671202817990102861151221132454104590620671318569901010411511210413102011562107131204706517576802771847099010711113721213904140564261257611848791201019511104121386131114521528716901786118102115125703317469159668817858461980710501124121451314114537158041616517151182661927820235218022186233092465254126706275032851297063032319032270153128803741458059561407616812091951074111961270131901441152461620317123189019138211312202314441154168172008469381077011130128913931496157716901713015472353207445051256897568119211101811540273754905766417208844392081041811681640211531444541513165976182629361108411113712832136114262157916186172711861019451202502195221132345424522527126902724911312313482412057636327514845491321051114821279113811420015212166117102018751914620312116222682351248392545263571879275324425951766194741871981105111570126813901432015750169017910186619161201162114222106237212414225312658611121113144420758766810741866950103371412532390465532611275628491976104111881266138149015150165117991832196520241213222483233224172575026952718128106297213014231313220611121113144442574626072078841948108321121212531132501490152661691017272187411995201401113727703950456554613679818124922210197114011292013207146121590161441787218170113721213614211513267037151811691321015411138125431316001480715474161117171810219547209021227225123510242772572811382230238044751086449711182031137274135441365231676746852912310454114271156217323545325906132770381519116101321115412138135431416001580716474171401827419412014221175222061131273331324170586121754289919901014711321217113811450715402421390476575061327309811194110584118512321317114811560415402421390476575061117958151191421010111426113721213477475151619732781319274104111222121771341143315152164721722918801951202122191221501131241368147015661615671208195918010309116512411319114115159016761753118642191252082211962213923522461625120261952762281202928617502180361470565661045757866931102911341275214722133200451522162777109832941102481121212511321214128615258113721213477475118662307151895913110711187129513120141011131216431104668510326617998815017762111318649051032641979685189321101521170112901336114371593016204172491240283738104820598684756612026123156472151156475751835936617726036341315477660379089097310321165612611397149115581681017218113127038674751116607908134937107581138232131254955862671137257631114131859062847175842297021019011411281131751433911512280341458513861175581609911091113711216113653145001558163517107511312353151411553266175518110961610901113212146138101499015171624917340177249535564205131866047868138911105511411210621371014132415604169217306188719104420653217222602328224750256026280113128032964170541868627647890966109411171232135114281562161511741218691191312066211102241231862466113721136243151041690758199648109011121282513471410611518016901766189019320205121992232236524115258562612127576285831772641390451852866547418719107010165119012661390143201532161717901819019188209072162227362314024712519626106277212814229313020617726413110415651764676078131961105211627121111387214431578162061151260363410352076907238861695401075111796124171331114111154471138214631554742564011382234316741215126614778789282105811712127113824663134458054166472248909103210471171124211138212132245155106783113822239041359062437918229770107011106218725343132487561665407127089098710616117701275131861441157116134117607189019642012121322251233212466254002660827902836129192305031710321403315011382513370418453606601735890913210347111561290131951476152216751713118491195002011221722214123432462611382113174125551635748911923310138011641211613521427115901624911312811366451513516327908649562101291152127021310571151253939547275646131727787195471051116412104131301141701564716901766189619132204121729229023156241602521126103227418287612940301331732783366344035173681037160128124137342235116557518739360104711360123213431419115471671171072181049198234634414715966317744181849961058112811131232349649052516242737288391401066115112481134714124155616111718118109145221653137411515161107156812199136109011961291139701138246638814132051566418747681009971047611901214711312923327451258164176681479901066114112311359611126237154615590615676228379478109011214126613561431158116901721418661932201772138811512641311541385116177125815199310103111701288013561416715811691176001816119512066213022725113123535804415620615876228701949110951138272348141565131652715687129611101041190126613161145615901651017308181311966203121890222042324911382466313447215666161757871971011312313111241705876129076689091710249113401715225237064222511061471384119303104731198121741772600331141315546617388218915610671151125901138246637141205881618511512513144543513761107198685930310131117112131139014611514116901766184119312059611382113554174158168097528719680113121463174149052126567118131792891151264131104156517646724813796421033011511231113661415113562243110460158136357688137911104031170612447132271490151321610417109182121910920110211192212237012486425902614427202862299030433190327633513410573540136723768381017395140212411294271433214456451146181471091202210438714905121660679084479555102901153912103813451145615901696178431854619171202052122217502903644104357966174784709891070111121122861351143261472721314244256986198147253631154905204651711832992010261187290316490553961038730681169511012611116614721063766468532651761611792513856413165906773766879856101671114071251133114636113027103112481541666711083079521096115331212713661447155216901765114723423904152532623577488699010361134112151132871490151032161247171101871191782079121902217723241248372581026820275082811229656141827023532432159636967104872995910391111431290133611437152141611417120181771937411342713904325527767776784197110523117001210613604147411562162917616185019320202521259221762316212712450341244545747688761890922210139111061272113142143115162166274133504539512126114766285409477101101160112866134311437715501622317641815019216202722121022443231902414325262266121172741344410325109696727782649961050111172121031396147615611161320171011828719512090217502244223176247661962103231794105154606907124828396961019711121612197131801453151916966178781811019872209021822251239024750254422617627266157247531554181570367176048539120107301121126713791143071524916731710931890192672073211022228223452496256911655211831324154511061030790817791002105711222127361313251417115110161015175718222193482020411522791330746758861157168909207109211451129901386141461510166215034144785506561747822109281104711416125613320141291534711412104333524263557217721503904261516769672088799610111111801210313269142891352613390462529696771581059990102411166125113661431151220164117148184181912272041212382270823206246625148267727111282442935304731753290336534903537111274132804333568761267376810296621862305359414359061095730682989192108119012321135114104159016661717183181911013528531394797514069076583195411075113221232139214115154116821710721886194720112110402247238524392253226902786117127739049055396103878682329101210104311159113029032024539510386130766813092222109011651258133114156152661620117371810011913020352148622152233392441253526876271402282932941301103165325313373734755357883676137155381303966407314150423204317445045337188290314245155716267312855991311014112141287131761411515901628217141418531972051121132257523770241012256626139277928122294430797319432483341342103514236650379038103239770401012416642603182024743277415957976707492835936105111751241139014103215124165811711518522197206721752276231022499259826782781117121503924885616907222813991101011111211292131330144315671791215238146653761016768217972186341424156667751813699721024711753127613102179722993141441452476155715782449811040311261121721328614156151161667177518182192361454212437064965128690759869913621014311700121551390145015511312170343473252406182723617972101637946659067676568251941102411166127135114136152161690171032186719752018621812276232361662813338412053216320730185799610471155129613901483715321651111522791330746758861157168909207101301151126613840149015321163517461890195417912983515418359226667328922966105091116917912983153456152767571248431770236239044651046103079081389811086611155127411376146115511636617331181301911202122131223623322411251152685627522844314225133524670576677785799710103211712901371448715321665172721812419151208121791229823512436253212666274928142291243037314832791333073454735433621737376387394384031341904225043418444214580466647514866493150720511561140248332924905152656178208307954010174611190127113173117121131514110550619074384829116106511531121301315114411552316431731181501990201032214122110823902416725322667278202830729305301073112032133339634870356636121373538903910175277339045559668097837840194710751190126613901410715702893441480562766137908814928810571155129421345014182157911650817188183921928217972507345443545436887618969501090112801287713130149215641165117771866193720521217224623812452254317762144369428359668737688117934109011171124113501490156616901746183719107114023423291490515261607758199921104711711232613511442115181632177531866198020342142316426634143215918613574184541572413330487257416169778616917210130111064121671310217722173524461510326296790829797210781131122121310314171534016102111022603791490517761457291812491501041114821250131901421615332161201718218236115227913307449053316130711086893201072111281296131291414015454123124233144461512336142790814029411028711753122471341143001512516931662741335441590653974789091032105211421129013773143181791253635549651106837716681209102106611108012801367149015861168614723423904296532614371518102975109201166129013321143515901632117171812519109114023423116446555168047166890914021041112871297113541466155116901775018442198020293215261707213131164181592861657668170970110115119012311340614232157616804177821812419550201812196227902343249025262261020170721151326249059606162796874095110783113481137211635147075491696790810329124101311166121090136217124713534791590619271468649811055611797129013121143115195163217661845919335204962129122702390241382514426522735128432973130731583212033320348135581364637252153123353914665320629075398103891501013201190129013818148821541163417150181381951204912132225022362124670255126551271112871298630613153832152331021531275333545151086327502863091061066111001211013901432115901682174718711981205121521221522332247532566261162766285762922314728133245065110666711086191431042811110124113120814116156616576175831137279133074365599369071052879560109011521121051386142471518516106213262103239041215750612076818191968710901962260935042065134190222239841865906517108168823733541085543264777908509111104711111245213961422215773161940157027913307424951876265711058792491090115612241133114370158116891711018320197502011218922211717126003514665730653971038814195110311117771241713732142114727503110466596122226531244211599268207690852971109011473121151349114114615121169017773186619902032021138223623612466251602677271612813229413034331413281339034148113724013714910527265176681409801013911546121251134714711540161701790181501932205121540229862340241112554226892725128412952309923147324913394234613570036433710173890391324051411062427543773448116412791398415355616454761389098141028811695129613753142471586316961713117126003110410025666571795826952810261112712903133621490151421816257350468575362087101886696031017111175121386157629531117452851117613047908186910321041113612901350119122663791498516969347908559961096118371284613661410621519616661741183211712600341479154365607668301952101911120512240198219237845321116265361487751206107713089179131104001141122821130211737914985167615772538819403102611117212901313214511542116561731188219952037216611662741373045395103869479081429511088411712901311721430815901686617901816119643209021241222482386624902528818662903431437757768667908101929314682903504415542657748185609661031115101251131931410061530117072131325942025104670676789291221068115112126132131202210639114731590614271708532913610100119612221131511412861525812532613531490513206137121087109277101241143212319132531419715157161841710018901914220421218622359239024117225175265861253271354044157406477200847970010110116612901332014901510321637179018142183265374141354061107253821291761051112121221013116120221643190415759661320725385389851253212813404875262656715681021372520366411125111615071058892986110861113901295133251184227033214315614686733485469221957214235644665804622677918977925310852114112341331214551550016528173211877194832064121902213223412490259026441576290317147915977623674688909110102311147121059139014603111022673305413056663057578719305104731195126711112520366475058562957518669941070611592156243631032412105103265457222865950103371616237437664450590620713482903360417165656282160266350419054164827518669340101021706210333171410035761937928119361019119661243136712312450341244545357610212432203791430753667872301945268393349651026226720614721073904315532642742381861412562390446540647713271144211317474158761157951871917913624138624139551647079082861412137313743251416477788702912501522108313849515586357107511402342390415259063807128147246639042965326787785481770216539041385374131216237411051030611571281422539315546590614271017895933911682923680434553261087146837011402154390414252126807127111051290350437052531322903761420155586308710211038210531984965277651079689095010320111091160290396442159665307358370157290332043251756673747814293210306111861348225031454219590614275183739471049111351272015821383784506511467941140219137354150514061917139215722223114563556678715011402781319349052416907498206191278639041325906251717717072131322241665616731750389092411090114912206178224813113649559062247257835912811472137395417013221033134515866110715911312113103441550632747681109159113127037149855326113579082419901049112061131288439641515253157213031864415566951131220231291441556663811312151390412811412563537421711312202343414775148675790810329114810174132297313548511131270633004110565015128731004505155615073289094931090111098157298319541741362137312480556135720824615126313904454514216472133315111842413904345590610307659811094601063313121553964142547645796890516228736145251317628915727833114804511211132120389042591701264131154218513261317528150995113823134394525572610737150113121009311045151606253712289581138257331414111547069072511131296316949052536207732891811312121367141754171138252334244151466343132231345452517461741322647335545751206129411512143314455417113121113146436611382323844435786957706148821413584281134125831814905101647972538379920101501113128541351814702196724637504272551620775282259200120236314041028113125135249005111613441514266337410631138277312541205232113125234634515510624113602963120472551811182621443700123421173177430751556217790810315129037504442566616321343190151290375044652561572713102467510611722213531034114510211402722310242425421151324633158412651170184252439046754196151118262144320011212106131654415786148147278135394103854761087328141957101671144612259132091411415122223114762518111402482313349056326388710511312494316044154165617781991351037114651215513148714821525611362613524991513316121393110473117912110338249301308226631741111278320612452433646410775120665115221813613179121693110466537680172268206114021903714920531464372021150254322247659061591832222341844415201141122413664111597461267517811195861972137324749052466110790832199010821151129581356143115361632175218637173025393103841415511611175861730219339041445782611774081021199273639049659462477102850719629637446856746747724148426923414365706483710488329402102221151122621332614258167721070329546645786746741831959611162663194413351026214742831191001017411127413884905142651790895950310101115031295135661462290374308551067277161896950101172115112901375014461517616766186629031014293543763777136813019248105111901275013442141761526614729013904905103261151793851990107501146121761398611727413860424154886957798220916761095115312554136161416115847169517184518901991520196219761147290310324277551645476282649991019011865154821323454475117127403110431574061127137615724813165466531651075186691316102581722150341471654766061797214039046056663177968321951107961448212103304475636662763819623631948715316162783981839315105111778131224335146651506417326847921610561131122013813170821403754742588626271388281912811252260396456518769672158791994110121211140123213711441152731104226037914905177649176681589901021211880121551327114901523116453178041890195182031216361540256318746725152661754187919510108571113512131137911441415171165117648188719113201102139217912932313749815236621871618419711019011901276134214511566161501743185101959617222123984695596618275568753114628203508474258862627138881198201012611901271013961412315241168371781018196192052063114542124370646135906814728887599610411137712770133014661563117912932313748152026131717086429891043115101259613521216332451585661377784219241102221177012180137911490151771647171015186619106207821236221036121924813414147511564774187897105481137279135284365311666741812799010651190123201310814371561163717299189019652090213202277023180247912590261772711528110293213032311064321331140262339045054662977518849661046911144712215139014191566161411790185081911520897213572290231032241238251102671271782885315126983110455513166673182999010840114712751390144011214268312414753165827668909456104211811211513109141061572116142173118206110227537414117659561867791830799610781178319221873350470252616517186835970101661797221639046659067674189779193109011961212313240148371522316361778182061791229931164247552214723423904152532623577488691791036119511251135101431155961496224631454615951649271718419871086111811276611722791326745125516750766847910321071146612804139014518153116636172135639045775121645718217213563110410865131626273268258177221734144157306667908320950110966111201214113418146815651651178611712773414905539647790810329901012111431251133114748174722473904231525264173121137266331421075966611792811936101911102123441412413904539510386417958100912911066119561472623904165517066675408702916010103111126126601540270234004103151806702739081509249105861347243350749975226659611752713314206515368174038466957110111115101211361175265348441265816417771170825023584594593061971118179970162729031774905766417502879136101101161124113791490156341632177118411913418202313162483955706107771860191421017111251210914221317366414251017641762081169901012111061286113411434151501678217141879193120132721136223723670117526534142915576658677538519751015911311224313511475152821610217385146621343342441581690715281479751040111187129113911487158116773178114721393130445453264927758741911181095112512259131761416217228839041425516100778103297610452115112901375014461517616236157290390419353076280781890972109011621278013501483157221610721762319621141372141615215669572818314911910511190127501346141761526613122223414119551617117908679419109611534128713636154026039045051172620179282229761108131190127313503141150159316951739118171195120902175022462317624766172279035404557515669072148419931103411160123113150147615140163211751186619150203141722910393241105872690733881219791109171121712352131101441154901614717125189519772024821662281172210339049052516197109890990107811112121031337314901545316156171621856819662045213661148290360466541631710087593081090115391210381332114371561511112140936546035516667150849793110596110022663571477513763173148110932010961136312911330814119159116240179518261192152035215322283236524322576626312720611008266357142935596637318314911010320111712501311014821510216291731184111981220352148622112396242512513726172711028300296501712101235394103854762417167832998103231171211133031451156616110175018320193141722864390467550763175968321910910901120112331131371419015976171221734142505130169079814294110185113212661351149015750164421717618162172210339049054786131710989099010431119312419131602145615108016621760218961918420222215842210032351824412568172210339048157306962710989099010671112312109139014303155701623917309185701912320770214502256523170241902558611312443317241305106461331416256036645405342677273881622622390450546632075408319766108201130712371345149981708221137914977580461117770816593710451112161708221137914528557661387253852957810791117112130139014801521816861716718111198091144241366476651616836716584197810746179123073107412051026667107877491861080411431278132101622622390450546632071558909236107011221232013110145215144161301745418464198020320212522259235182429015126632514137515764287710834398110120114301234713104914104015190161376110028136647025520637713578133976104461111012543136614170151411651176618150194120636137248334614135051043690776811195731021561116212635131221451154761646171518213199020462192221082366247251582690275628187294130510319532156614223113664193546624710688409901032111351290133211457715111165101759613722107316246355122651771448769914101219111071243135381412015102166617961877319102013721307381466559161717928124966101111810129013511451015596141218431444475124666710381569791102991124912121134114781520619021403130490592067756181791361024311241226132011424915121164117781820617822701338241311568690740182841562100335415051106791798811692471052219221553110479155076797745879616170828731641115166727141843997101381192124511372014321576616311720611302923214419559062227141894297911098112512518132901140219039642025926155750281419741101081146121241371214141152821610215127913314162541466673187496610811177312811922700375347915316162741486697310451181019023003684905766107732890922610143111491213513106149015508163331729518235191802209021662281237732410201750298347845559661107837857966103111291217713392167279138146651106183722183459731045111198131224339649058376457948154025132224820521669077684195371054011201230513511422215901682171316182581562811350419054386120719685029501019011411254013511431151036110082663571431554716967154842793131012051190125013111147801516316661788818661993201102172322432378242761140259329641355813614267804851910271137281336746657062275348560966105111510121713532192224831704486581684789884793610124011661271317014101015121016100317371875191312066211286222581372543371457056016753770686997121024911111712110136614753155116791177461811019662075321312218415112170381477358111162791317429954163317130890913210471110661210613781423615103615402513222482051476107746854094101090117612750131421451152221690178218131619258151225937144655526657149876930109011651152221963412421541630076501473290396412356269078378120922015402763614515473675725981499471071119012651192210334934110579161118795857922210108111071256131871413115781695171176175241310242225106610587154889944310151111912511322214111514116921783018120191072017211412254215726133260457254166187789697321041118101241312992473312432568637746581559371042011901291013811432615126631104791550867977458214112127413271483571690713882809411013811232127411327414491529516901746318561911202112133314682116345441655196927312832921071090117012671915290312941105646567718779527196724136243125906454762489091032107001158612107132331782214380484562361707788819471063113181215113661142461577168117227154022593904256515561667808118922010721113411512559355942815576502711687829141080118371212313801468715138166117645183719245206552141221072310131140226235143185576514712581609981042111309151270633824295470615714785189227107911120612561135114751520516233157279133141625839652677587749821902193353349058436777193811011602101329344715185616710181609161028711337121839139111490152621658317781820119108205621320222562361115621623134422559062257859835956101871142412146135971302244331104212587613078119024203172442952256967830817298401011611371260713219142131581116471771188721941820622212971708225635141055315629277368327996101881111612167133811465516621073904387590676764811692241076011821281313303190271322441405154635796841936110120112641254013154143515981613717827182591962206383741465366146717813691471071111851256715129435245859069072228479711090112221211551115121103961491751106872787282239608102291113211312503311046653768017654882791377191622223324483532617714081219421010921114412253135914715971611117530187619812037217012213623762413725271114872763624761590628471368202929510611127312130112622141343490525665174838189913610711113012128714072701334341135217659713383791302101313151210333784658541167774018237930714821520316541414525369072228615921010751113712317137250333441111541624073784779501010211654121171331515122223814338512063217320856971108411813123031372937310249155172610874028789511057511711262013233137270938945657163947778103137293732214441524866673281419961053011101712184131541481151511611117350189019561205621712238713727093714491532644371581199418101042113101210013112145115110167117147110029137024490570626376818750981010125114481372580341410055067714085192011032911128125013671471151251614713727403904103252496717808130091032108611143212671346150275037148551246222727217502813254615222690710483795031011011661237138011462015901698171171825913132262314541707590613775538111962210137111021114024213904706538269677478769321033711302363714115541661720287029144010411171012601131031126251731114202510762331470235353941635103869671458579901032011321280135914106153116641175251856197120892112871708270133824154582668779183191621083911151270711602110318347655162067968797930710708111320122221390143821523164317110182531933711082141343463657670176368619707104511691270113146141058155116928173218234193151115121103100945056036917711186159103114427033714101256886537704873192211302833217475271727313814232590636073428909145101301174112349133714245152056166117321182081945020112113022140235124862531315621503101145951412651797283291711136211731534441515611975184019106710107115112401137114222158116103126221413624515311631877851931110842114712362131551467122821413924905539610387140896198721015311110128721346814211521611302823791455759066571118156940010103111180123713455167279131404146854162477142856930310275116531275313778145115773162221771189551572903315432510861077132856918710711824127741331914711575016901745418316147221135143405445632751872298101241146812550131871433715105716817471834019445203221109717072181350451522261971448479154102481144112282133214535151711654517232189019382207872112122762332241071252331707218131664755756154732810391311069111201211301370113126323706474156606110790812519411056111871255913131514321517111312708317044925135613179887792110333156129039404135551864271558662925910572119012109137914125154716129174011832191407151287310045051556150711682249671262274133049051616907241818399901091511561271136214259170821603103149052416830790853093210171115112114134114233151511167717193183071612251375046255662337783009170101021154012311341414901567141253135141545956606781183809170102721190122491314501443157401654017311841419902016121722483114023113624455180690723382479409109011453121012131101473015130167811713211562130350411251296170741784289117101471137612468133714103615521196271390471051216917908837912110837111031572323646412057416767618112091611012151170812175713671173251397341345424667078683219171170229023950455595665127540831940710501116112351157232366349051032686979687089311059811731123213171111529031044342515269073418379407105911145511412157390443154161160710183579314105111351123141371143561962101349247516665071408519602102221118212991136220236954674519468707843819491101040119012104131511435111362143139411857365177387191191143290338244151163917259825693710311110621232138621708221231104193510716677638708910510531117112871130250315041105756634271418929111020111031183212032454130524569072418212947108571190121711332141711962361383747435766617540831940710501171216113671322253390422255169157718130923311302903914414259061107518418957210706113821231134671457715421671179171890219111611402421317149057066382790850957010931172112142133214307114428031464505418668378189091032101391724763504585906690712887639288106671169417256931424615517616171618798111068111431214317286350441259068877787109901014211861214613360144181548716161174241836119130201212121222352347024322550326297147216031424515113670175985093210511113812573136614503152971130236371490510326106740682099168101551190121421391142971130211036843205726128756871984108131130319621936649154806967870816094071075115812901365146091556161871711018651912120692113722932398249125100226107273411750262398430754656144770387191012106881153127041373114221772217351466574167307539810389305101101151127401361514109157516351731182121995209321105822322330711302363491454656686253721287029591109151126312771319314707114024623116453054126463717286293121070111591221113351440615611610011711181161931511312134354044158865273282029539101038113031267131001141115406167491286251360249051032614377968115912411872903814925312613871032878291410801183712641362142011147214431474875476362732854399671358243637364110514261107560814994981130298374753165037518791941410171119012137137021445015155168661791218681208212132534515716807253825718722912388482597711302823664758263297128419481101151114312159133714608155431637171481188191409206221750221031136283365474157061710741876980103511530129013121147615801635174618901976120233216331832653741488511068174548769113103511801151299036443195906897518822797911020611561125113751420515119162129538196627913138417015666411412753749051406377898622995101203119012138135114202153216723123026733210411057476517708113970810553111421522154341411051032672736816395610119111411582190341411651756211141247035141025136638777889094631076170121735264415136621872538452990101041125312311381149015292165051113321103797490513661707791540266832204115108610977185399461108224031304985141696749589892491011311191268211031834701514862187253820295391010381180121301390146515371613417181187021931915221973170849056564176784679155101521162121701397114130156911611017661872317072999347414253266679484191361056011901226213901465315411690179018301194211616243137024509561461207150811019141107081116021215451311011440215511690179418951975020902141222662390241925662691274802896298703016031407323533473454515212101335143105233611017141811079402101031172129861314314361551016155174761813519482205162113522273177626683548410751316141713586099721013811583125713714872155616138172621814119432097221660227323368247102541261402712702817293830121315813230933953456535373663037623814196251311224170531967716089095151086115251270213817762822315541875516807668108957101671131122121396147011559416107172861821819602015521114222472314124472513126791271039281102928630183031155321081262210363318497520867057170897924410104511208121371364214971513016212171411852119412019521322217023111246412513526322725128110729373013403113532135331413725863350461518167507100513225133214665927622277028520913610140115112791321214333159016706175051545290315041031556617073085311130266314144355396357101285399103810293117121771341147515901665179018461937205302190227323141437241325461590642372228319761052611861240713901465154831299221031104791514062477104384179280101911371247413151141651561416721755189619372047921902211622313724120259712647927172877292463029011362139390426251706311721689693111042011521252613109114252151916471737118571919872015182153221262332624512572265342747728821151279139841535561652731893092041090111191214116727534544124561369078538288910410961190122681390147071516416514171601189019174207692153022962311024263251602654027524288211100927535714293515468975138909124102711168212160131081427814512544380145757661370795832193401070711256177235374042115136617723085297211011011721284133311640245831749715225613174189519511041611710128147295131674156596660874182129881081111961222311312353106417523067017743875099010603115401290131441454015871623411012113664212537652172148141732701310344473553064173118669311011111321268135114650155216131171101872194712202212351447658116907473830691161012211901214213580141751513817211035341207516069497358421342747318141425115611074182319961021116221211013582141521511165001770185211921420141762470335495541169076086694710711178111062833654139511681075108816917311009275357045559667171448909142101120117124531310321418115356161311172501877196620110215022320237451102214537245559665517561881091241022211510128161372162232036746165103262157610815091255101351114110832110322241715134651076188419371024511321255713811415315901612118822454369043745580681795820891110497117112706134541431151215161305173718237193220106212622412314724101025372698027222281417072181316647557561547328103971109011841232013120142411520716224217132118581990207021512290238024722510912637141275537304539510386377730823694710470111740129611387516221463624541579165577205815094921075111601210713149121723703282410375966229776824912610411114024213904706538261717908509570107711193127211332014381472160314245151136701759850917631024711321251138561411515128167174661880419133147234034214325602610567548791930710751185912713139141714154221647179581819196297131304920541462077115181269126104111544122013521415415110161831776185119206209621797223072357245192541265027160284262970230812282131737064284536613627438899133107511804123213751412015801624179018651987145623413152471597761607170812117072131311645165316211741881033915310301117128511311111512103331534108512164607178181079901024111263115121831314516545261066713481919901039111706121431131261237014685416926714185209445104711177123213401145115926161707171071890192412076113127503414715105266867110874892811942773904128546762537908175920210901185121411131235311643554936110751859098110540115051131271380494951206293111626923110441570641777880311312527351431156662947378171950102421131213139334111555161207320841895131050119512921127124183702422359062367906813191307101730114212134134131432115242113127131314715806949712082931131231317674435520637776589092511033112712418370241415107266157131893191911042111212121901313414413153211627111312713131450571680794981209293113125135114120532068271118561910410143211901294139711271241837024412536631575818429901051119521294139614209152241651179601822719131203621710222131231152420511312706338147258861437449841970109391111512293142223635514211520669072418685951108911771226213901413111550162051710931482110231514155196610417518361910711030713362513924248581169573383099249148223931514116155206907140877981310771176127713551413015286162221751181043193512012802112322253239024222254726585271202825129750304473141327033539341153529311832120371044415130649771708959921152211133549051032647379085093201065155326514182702310324124254316197160289091301063111912130131471418115111670117441184219512011722148225123210024135251191131242390497052266827754082149411020711867127741327114829039141465130611572181599252103511901229213271154024733651418270231032414954316197509811091461070111531275139014661566117702110369443549680315402473365141827023103246251556137908106914710311191122511313711382113701444155162375982409901010321111512153135014804151101651175031811319113206511312413120495521268107277811391041012211113122451467220935744185702677762826591311073811418127021310814252151311646717128118115193101121214835141126547654873581531131270632534905212678271488092121010811351277138014212151091677291737664595906872773689093271028911114111272983766442151071179124713176490510206120793088493110615111711151279133074515171768779087095810521152612981342114881130235317249545143179128303185490555696751813699610184112111672791330744145247615274998187911110200117512561318714641750262398443530761714742283069191512791398415355616471775845493811088169529633141068512664511302363714241550652172128164924110132115112534134911421215421664175771849113029235245025630634741892996103611191217013711421915141162071726018141191302037215302284232072414119519202648322248152381701265320746556911131220236146151041610078078292931310761171121071320214411167210803118490522764777652837298710401190121041347177027163904315188611572028101111122383524572510736106738870915310351190121321311111312202361486540610717477865293721011011143212901325314481113127703131422251161107658110911501090111321276134201432111312202310444051661317431832949010142111031127113771883211031514905282610578685197710227113871112383130044545113647379981031116290385439577651112092583764805207617111372115356440562645676285829191927290345442905701615537908429112106111218129031054155422647726581050936105031177153126137774331511065174708511113129235242965222638750810729381531261386440510716767230850297610211110131131277031314222511611076581949161017111259129113771424215951156321633374112520111012147234147735716653171185009440101321170612476131211416111422903814432547561047103822298281027112826137754716557061307212864114025193316413151226660790853391410226116112135013358141371516016911787181221881273152448351386117290813494131032111291111210013262441571629724287694710471116112101319822463138411051406907718909801010311312613764665462645471698631169226436144154706164715987094110444111912092453376417352076411116821103564440562644776285739191750215035342905136613977418959706141271365451517106907408126970210910112421217213146143515701616615726632124268516867067300865011191250390410751266820730789093491056111020117124732994565518610071058887990108611110211002256330447015910627275189091115105111311216215221083750410325966116798833919272903454425955667172058631701213134841154036707476841931101801137123021337141070151401632111124033614104574690717184197010431116131230133011477111240333144765401651740187193581017111124033614682551613077738909329105561143012471131212043451412054466117259890970108551134412275138111312131313041801550621275687191210991574247353049056066678782129140103211771287132121441111512553347414259066076686493510170111941257131541463170275390469951606757141819491111927290345441165566717761877929710631127290356424651326364764170235390469956076262763192729034544212556671719581119771029711631772251341415957067771248207910511927290345442755566717205863141221123111167279131614665155690715389099151045111361212913110146415961691517259183181913620702147322702238402415525412263292780728682939179029031214710587961577486874392261019611101113229034034975146613071478700989103711103612321145421243441480532968271045856971108511452131223639641037532613278183529961022711387145028934414756590612879087195111472537332424352226357418629761047117611247136214750154716711722218121120225393103844751086162730885129351054011351211111522193370344154406176780481913829303193452578669071328769301032113082683341745405118364479885141540225739045053856567305811093291048115402138314147935456477881311572150332421757161107222844999511540211337914508595661062796851417082840315544635463613177918307982010981111124811381014182151251665166210731774905350645711981003922711302903714905897616873583299451041811702122081341141461542168041748181671934620902111225002311224957255813726637914417519655175618810912410222115101281613245169227413300446551376497772847111021043341417015124632978015125323414146510063579088049451761241314644785285117142903604665416123775878151242635244148515568051712600352434254116110739284589911112503315549251246757751562558363144153296911222237434149852111312156348743259061701712483299801144217013329441113424533321461425253937494955856610327120686791015128133584411472107233584515171064115125039049055396103873284119329107711342145312547511012416356418752851512791398415355616173775832991111722326316349325766317135687914710351662107317749053506357468813599010131171257013751422811414121393130438258401322132531204920149821303730410325545614113292110360144771352413904539547690710328479108104711808127411572608316941365150629176971662313364325116357143815914124223522411617012211325242115716568761851192521014011471129613164147158161101728218191151240837041151161612523222478151806717448235925158216213651471534111125236643153663275282179147101571196015121673416426569764507508190943105401111217431264905316106788479917106941472450313241151161131215317144285116631278811091100104611961224313811113121373114116121827823154235540113121306337410805200667677818872343414825120368237908121097610161181113102903463426317082413406456510191131220235094405304127624032511752179390415112022146111024032244905461262261113092732181532290325113021403731199627311712470353430311312104381741165116116114021413130424558111701276341461541634151289639048405976690781825598110132111316128013401486153516547171301855191002064621110221401701275031021461653569571108909145104241141126113301470015136163717465189361919120214219022107123557245372510122617027902836291043054031413321103330434113511616462230170824513633442453764617908930170924134064565101912172353137491513561330778920113222533102473155162997161879511010291131231310824111517161717217149722173524297522263717161862931210371112171210413841418159016222171681811019902047321501522104325492551680471108909722104521131217032634115116113122533741490550632077358540919113121213334387578113121463124421259064237318840921210371113017412103390410325506116790896993109411901214213511493515716191790184531971015722843222451590675074428779961962841310241945102691376068811114022673463456580261911312465312844905105262907118116164122703575418451136887121831976510108113712451131121476113121803564103557651871428818152624063193439554064111131275311641065316108771108669723106181177512110136031490156911615228631074274510011382513756435052756517874890910611031611724127811361112012943540441851716110711988799010571113821131164425516540748851912610371190121411131232313847825866221765084699010313115712540115029031954695511611812313108047154516142113724139041305610641721789292171034112691237131281430015518164111221230436841385926204726281221131253133541325516751790856932210741112001229913340148515300169017711182691990207792171122626236224305257742611911382803776411054166579084949747103401198112411345114901159216131017710185519961522923255413205816672747867791151090112991272138101411915629034114207528461317358989311045611961237133819624163137410451406561714787596391014114542124361349058146288769589697561021119012437114027634141165516261789810839751032011901224113731431151081162251737181310159824063704143559068174181355183724063151447519111262331241045175690714081989561024611132121441317014121151431572903422441541863771416895912810170111812129613781411515181216184172116721311312044035976146713085409420147212431204166511611611312453484110571165097618202914401131213231044531516669079688829342135321163414151518536142713181191461071111441226213811411915121161701711018411964520512148221702318022490252622612312713011382413762414051436107712982169901072111771210171385014141153421884275310446853568077218870699610421111612200111222663324283586613773781009751010011137122011140213137542625906132711814699210970117125713262143291561916103172511138280326041155231641872838929116113121132624415180670176568837132292236514251113121135344153161701746083792731061111310125113536147801562166217312187619702201461131212136314115311113126923434705309677138289079901070111327121238137761449615401620011312788313145059065575185369311016111571250131211480151115161157174118561974120133021115221722344324540253252690278128191192296366474153163673281191361050113201214117702240313049056464171048162911010482119012851392119021071312541365886567187821416952953774755566187779156274039043275564637477668308115472107351497253265711108214134342025701614676168324951109721132125711832120367421052066212719119962172334113126103964805376442176625383116431579635713768529935810111115701232131061766231360044875326907751835932910101611351213711502413624705476755737893971014115262513784187511066037908789971196215039045615176136711186919971103711846177621443352428354276957908121917510566117125221375149211591266312141395376503738489091321051119201261132914136152021671171411140213034144559061327200876957103511118170721813166475575615473281039131261211345451570668075087291111092411901289138901512503324479596637768017723131341496537612181212246340141315116457358559110105081166512961331145211322963486476551361967831815699010306118912176134514207151096154024123207448351156251131218396412459326902780812295311010011191217013473142015111168401737184201962107131204930513163574258871956910561118712121113122023704968512161107470830311312770382144635606677678785201776270390434157661067414820798091083711305121191151219375460510761777908387940610901121612511390147501544216771796173295356249052226101779840915013732110341420257665472228132911510431111381212141396146215101161501729718287191502014101372494316044154165617781991351021711551296136551495153131622217810181191247256315943085116631716183089108103771121512576114426734724185906207777884696710411190122091378142252315247755906137716882539671069111921229713602144321590161321751187801967311302503732477957366907102833191071096114201703217131164515906111571166141246639049205906247755283295821051111681512183327441005791697773587069321050211630129381329914497157481131221231504167590614271038817921110181132213832302480532668773281195711057211181261132911412414124913177490531561137126816214723423152432523567478681799361095111511251013311459614721993684315117615174787896951540229031114240596636171138471113421393101442459569807112865616622813904315547169767409882914710861115127631144702545696710861312142732874415416112179582379190105471138211397452571610311121243834504126541861997113870514727813142410385476108716313622563514175054261787790885951107111241132293031414110573611397782811911310961177128113626141290390453951038696712983197481012011482123713794113621013293431574614121708341490510326457616136271313644153266675758201966102021160112111132361312101311141905516157141217083904655416130741383189706109201190121201392614901514216321776618311920620139211252211661472342390415259062967328749461056113112361332145215213114421701332944151266327778356131223331694515248620611502413624705476755737851693210120111411125113901413151557619621403135461536690765883097510981177012701310621772210379143075516539710388472970110757111601290138214501532016181711218162116029031032427755164547478160996108811931217513475116021423241410355516120741881166117274137304101529364377377850990101301113614721543532490515266657132844091251072215021903816447751546533784785359981072917082221379143075516178673281997071074111930124961351149221532916451735717302193390410353316422711181019120824503706411155165107255136215037914307568631716681209651028211371212013115614371545164061322856314074932511166157210837945101216114024833292490515261897793886791351041117812713548113029031264103529369073298329451012011920122471311661412753414605590611173186159340102361137124513911416613225613524655418640715583419112102661152124611310321429615901629717126181120113029231011457537618071618116970210411110161962545314349057736222722681199710521171121031192621453200486518761117137081909321105711711267113151490158341646217818116195320131114024623116426854626827792786601791296632474104555169071678576171229203263414455726357366114024623259450959061327778792011701213134841575416710710128441949110361122711382643654365137113121343510449157669078618102113824653141441545169071941131232326242025539610387741834495810110117901290134011472211532424765516443730612282140533242335756175746833911382903180470654896567120810621138222134904975514163572591138248837411051316142717583751138245235804706548961172591131232318542775706622375187892251360241323642185111649171058154021373110432151346540741852922511312613390460566641731827093211037111070181290377453259066076681129656113823193354449655165107241118121132514865207613871108259121927335427959521125252341410325441627479682611702353170419451666577154818912052563754294582686718081242914810157114281264138414811513715224673694147512569073468441947110540111144129613781414615761630116972903699456590622017127013654905132659773581999471090112531210511402290317747915729646579687891461076111477121741272197370141295906739770188309951010901117712771314314370126221913574462569614779178110921106711130122561377142411202221539849056386907123811594911057712272249324646135248641710328441927410961177125213320142011962411390411625356212714186097501077117512104912527013654207561616071031845792491034015972353531441576907100084739411062111155122531390141751593616197121822813707416155069073841737290369949659062201707213737014707518446103075188093541011511145129013140214511531163617321845119141206121470229023106215972353125490510716776711382271244270136542075202631713608285945710810117981597235370435538618673582199610781139712901312421419715120316214178418811910311447254932894861596690726581669651016112611512710350144652465872628213159222863107450592633011702150390456151761367111835191751058113512479125521103315411359663173391418270238884235596517908509141020617092111313947825156996729487919307101111971210413711490151115169017706183219712010311111247353249056066671008989491103611267136271352441541622275689696911752963297451596631723615127913562475591615976781269172131223631444515906417110682369691131212031884254598261377706811697411051011536156275314243951246482761858937107301113912811316114521571162411140247339042465906767951851910321071611871221615129037064106451766137147236233242535261113029233444159269673681991151049111226113124433210412115110677757821593131041118612411353615621503239490516761567418916157221531354535590651774186811312202369414152596329765281109411062611121731424508526265177981679320101020156266231135450511156111714718127695010110111781284136161414215291164717451829319106207732166223181962142390448590666712128140948810501137012254142221153564905442613678458409411077311371111217314245155106907212890960310132118411290136031454015901614417540189019205205402190221845237752412162577526142279028356299030281314132361334134343515036540379133812039540401469413654215643904450645156469047214484149931503415191521505390547655140563215761658103259556078261139621166382648136560866859679068506916702017502533664115139662738848796210110115012320133141572167341643152126967578669582109011901233919621423904485906667121281409371019113712423133001561216438704120510266673589099610617118711256131871477315349175024335444355576667100897391461962142390486566611072888131999108101110112713571449915535161831711018191986020962184322750231124942251331902903604665416317101584793110215117501211138921411719021203100543035906205710281179108106111512663644479159861537561845496131090118141228813511466151901641172241902713960451580635576689099610843111681266134114142155401621917127018351976720392141221920177621443412446355766672989092241512791398479751762007388814697971052811511266132101410715561618717511866191102050213202231917126003514665776357908909539109611901210321343714377151361673175401850197362090211422273623108241152580426962765286629121303531903230033513466351903641373211756278131138490524768717307857997510513119012251131021490151861632117129130527341490511268018122513904261912213351482059669071040892996108191177312349151266364447915986153756184549613109011814122881310414961590162681790187071979201442196224181222413524905167622741830099315127913307416651206102766814492801074111159121711377142021595164417961821419952046219722285523902477325811707260328941115443651731892091210321112201242213220142481532716104175729031424445437623571168509104110471119012501383142201356224137549435101666790852958710110114112352139014621519316137179618133191042042115402947310254139510016148744586111750296310204649566691781083591241020711445129013193143215411645017170185431929420902158922469231362424411492653121046205769675308689192108001190121421311741425015716421177182491990201112117817502963102045815666137790851691691902963241441534615075408849411044311611186246315441715967610176681109411035211901262131931417615361619171151813819508201133179127023920466543961837390811094110139112371215713871440315296193216039049055816667908969810101008111011266131161417715782164111767181371996201332125222747237702491725902619027976180291366490537657710689695471015011770128661390146591566161101741187019508202491512663165412057916987518669311020115012657133061751282035974985977657766811093851034417912811390426051212610873285191531025311661273131541466151421691717874184791920720882153322114239302496251012666277312843629663090313553251336634146359417912513156490510326149715784149641025411429126813120143411571161781727815727583184411225177614676488195561152225931524451108210437284116556164217540817469190107111280116129033154113521697679586229110105821121812154133961435411512287390410325556675713882669810711752122361381413715311652017325181061952020169214412290233311655280638647205666857578579124102221113112115138114530187290331544815366217976854091707104711371113021131741425926527908960910218712983153456157561325731382701797213739044635181667710289214723423904152590629673786293210702115001214113401149015506168001766184119150204012154022782366244172572261502778114324131504401553568207908183910401021311183125713106214120155011686118627913414417155661397908222919310711148212351318314571566164017791189819412030021650137248379143075906255795841898561016711140712713466147731556162201121276636547851076871798815395611090114541220117972307373544655147675777381051797221639041025666540753787944810442116612308131191457156616411781018399176926753107145756661807881750296317345725416178778540910121011511435126613511466151861612861750253366449510169072878559287109011101125713661418015302175025336641151396577418140990106511111273135714661511161411726317126003514665886907142851958010103211164512511366141291581213524139045395476907103285796610411110911293171260035146658606907418909103210167116131290132411424815136161421751185701911020103221322275823512466251442632627258117274138045405520654079885191931033618024631544171545614271118208990102721181124113222147115140161917650157264321046651416437596166278312245651876131751089591566171254035146651506417908142910381051117501290134231451157501611017661828011482903604665416707978791511047111001275137141401547161091179018350170828403155446354636750790820979110307113411291131351479315496161551746318130192042050221902279023282248625662679127307287829371111217314241002557066587358519791105301190126013661480157471670617421852119352057211472273623321243125133126952795028732912414123113664108530965176681469941662199390413752916967142851966101801130211502413624705476755747866967310278111217379149852986817908262919410841111901257412629036641085186117467847910310170119012951390142111575167317259181119161202612190221322396247062511626327273202817029489303203111032142332383415735414366437614386839114013741240421174316644381110421193223179124539045665102717972453120410675116617972453934237179724533644104513221103634754164907147817691210101761170214133217475051476457162179724535684130532717972453110457251055167245379417912766338144559666911140278131934905126690769154021593144490550161201540278131754205586162367184588619187610101211217121042137914540154081673117801187031966201192182215402111376475055361540211135641875102811402781324641325320647771812097611011711145290314245153066217790810329581011011708127133911483290374454590669071308909961011211735121021350715142120339042155131685279281098917115729039041935307628078189097310961196122411373514102155071122211631614534114023423654415151621171181469841066114112901390143615121516112179561211210237914307590615174187069321050211630122241351141320151701642173111866191182010621412222123708249025652612815121133242335765877798794181068113122023401443577811562463514211516161847818782914102921128712687131911496159016501776186111962203221902216223115241672513526372710722890297913097731963213961782287734514965130611071618210983106511741121051390141771510621136220231484128526464577810821815129037504442557671756215402403390412153516861142221353297413555168476684199010901136121215131121495611372102390415157916307773581439837107831190125513961441157061632175021863019612081215072295235182481259581962520350346305111670279471145211137024480551666047101881119899142124213714536151215332447059664967758479108106801512113324233569161107668723947101081135121981131220234014435778113121113170419051551182621443141427951511615772068106215402403390412153576861141256239044654064771327154023423341410105506417148469302107331160412917138731420515524161571717618311916215402342311646135262646571568102141240639147705846147716112182147359246215198681713318542158390418611402462311644545175647511602533290452516612074182139110110501111761112173321457590645371548130961104311596121501572710350144652465872628637166622863107421055061774388993441102529031685441856811372923139475906717118138127539041242532631763615127913454905915624775761797245341442475162179724532494315586179724723414408518964479684192471033016723973904124255163672191372180319143251426101742381699141105111311210361322183390412455906706781814299010601175012451336141971418270231352477558066702745827013126113874111591631779611042471342248405170659071108234961617822733024664115122233167441559641770841195910128141270336743415125635736614122023745853265971418772916810282142247331394685574653971038896914510321150712967131251412015965161166141253638044884522268107178810939917725553414300565015727913314162583961207331815914223443457441547690710008709901011151118111402139738064121553962777478153614182702353941555667017773831897021045119512188117274133524905201633171378171941109761172741396149051032652796411727413384466541611127101829391121065613221383570441513161241138270334914775604610187538704113421313108467570669071328519706103211281121281130212031032496596651751085961262265313041125137611302903202453951636208760181051126226531304112595611302903214496550632071782239371021411115125113510145961262265313041415724132250731414102580914121701366490540647771811599010361170212737135014361543167301713718917191102087221121226623111242361141210433352459151116586113022023424670541614612022111356349051776106215821103514280541616973911155244331541195116610871418439236113622023777422590645374111783222320245151074141827023144585477613172028330114021413130413151020651757895911101471196122621380914411556166381782273039043275111611471078766937105671170210303119414754562451962108031194147579168677236890998106911518265328245159661151712470342248405170659078811781138225331432416158576777147889112532855396413151256132710271131267839643755461562713390490587620272538929136110811130612457138101434012272287134184177593065167135812841612465387443529969674581851131260397249051032678717011382583357475872656717281661131251397243251716367111851095961591292384145735117692731872915912663121413953163673281192021060111301196284311046653768017318258935107111721276131241420715561631171281838811362202312814255545768107340127121453114341455966412746381909137611042105312545051961367568429371017611148122861390146415661651175101855219682093218322235523819241052590262271992313884325736775658110931109411321258137145601525416750171101822717972306362045405706418728083209169106511142123713539147515315168177318451932813227913410490576675071428131966101286112581797230636347658067573208329236103951158122731371114681556161201728617432513550466511565177189098141221212638044515709627377118689561012011814174325131802466511665177189092861732910366417056596577668409978151279132141345167615073184819501109011321211138101490158016251171351841194832090215722274723446242272513526352777328102016727013621495052236574723888119144107061110112102167221311542805320678177084189353101471112412661345148101732910366417056596907968843919010901141121321139514773151020170125913603459851556417100890971014011537126613171412415661610201732701362145705416867818519540107081114112706134581410201104026635144875605687518510919617826639044435726150778151279137645157806425790879199810751177312811390149615843167217150184971931205961732910366417056596577668296925811121737914985316879710168401996104821110161240113136142511543216347177318910196620170216592241233724150259026132782810629663047319032321337234180351501372441343494151506172751842394710343112181234613901410215661620317231183219466205121129022662390247225128626258151279133064620515436568715789099610843118112773131020156270931554586576628574387892061766215136641095139621275186691110139111331154421232312054157354596141711484829671030811811220213751413251531316270111217379149853161041741981210947810418119781254313110144215790168101790181901913761131270341449651461117104684189766109011571214013901428115361161117381890197220432159622150110021703624515104164197121081819961051111901272131501441154621647179161130225631817490533961011733487509381075115112661381214431527611362597326604905349610547344837976105221132124113110514961510981689717110187619372076215222232235932472569267271428563297301193173264335633473571336737623871339740624110634274317644745414649047157487495645012105147522395390542655575615057791587059112260110616776215263376410626529166180674168750699070522714217241736674124751676223771907857419229331504226590613771188519931039111110512661390149151572161371715017362791331473580641871115866990109151179712146813454148115490161621755418511958020135218112245823902471256626741274622837296323095131110321044335134255355493618393710703855399640964129042131436644904576462824712864825811402139310144125503657779087919637109011192121027136601662256353941038557062617386896914110172119012191350147715481621417120189019508202682147822312361524372512172635274232883029423070315653225133256341103525636293766382913990403214110184266436034417145724652473204815019024183751466551675079368969106108011351296131043141591234231349046095376827120892096610148111571242813641474715571693217951816919331110526631194415147682790891597210317119012321131212147117972307318742835187685710228519418107021119127013221432115191666171291817219762072213402210217213913904210543613167498909191104911901219113711413711587816186178721870219804201921702234232172496257026113276628352925730121313532903325617126003514665806357908909539101038112561257213501410415140165261749118721915020432124617129035394103854766673711712600351466530672754081269671054011118122621369014141158131690176661810319902014221902236239624902520626192277289029321303913112032903332134353511136307377173832711422663101429355169077508307977103251722730350412590651721589093601011011661214113901436015110162931714118901936020110212732274023662441253212651276628110295030320313141134213934124503572629790832194110300116501208292368433551376540745683909135109011761275013471467152291708281341466530761087107870293901013511116615728037541395418646792019121833104044156116417747851910810661115512307133214671545161058192271313642275702681741866930710108111071251131531422115137167317451824519628936643075916666752181479451018512142683124147590668678938130931106071185124011351146615812164317596113029736641035327613174438172911510411178121761341145181557165001781618471911020327213222106423133180266379149851506153756181305990101032116112117113791149015177162061775181091974120141121752217723902476257312692272022831295863012313213296333003476357503614737453832811642157341446451036327719087041312520379143075180690710328999282101081137111121737914985131167917490816297971070111049121091315014103115641169017132181261931420742113262257323902411512596267627126284122910313067731903210033170343735155366237131381523917040932411104287243770447245664690474434872491505078170821032315241505109613387618121297911090111771277013721466159016417177218150197812182903152447253162697808180916510621151129301356814121015104616741757187501981020852172221802315011002110315242115376110730582119371011011108112211133714110152511651174581890194782072141822742372441825507267274182871829730418311068327334183421235736418375713873941840698417424184310924474541465304753448749264501005117052625351544585512456757110358782591074604196121762110632516442365906612467666826869267077071727266739074443751907665619222233791498568630777088789115101101124112114137014724154181612321751187911912972067217912216223682430725782261238279022839629831301203171032135331747347535663651376638128639258131251038543275122610579328873910410150116612791135861415015738161028177911877719120202462151225472353524725157267732781132251365441590653971038810491501041114911211513621433915461619717431814719722052213202215016232741387446251106817116826199611741235390453951038676717108419761080113512530139014121157361650173201838919715117142903654415316796732185197961037111561226613100114371520116371715618447193720242137225571137279133074515706632710186879133101151114612857131841421159711622011442281312848295956480711582279138113029337414150529169075398103895610711112871225911442713706432756161517366890919910671188124613901416615115169611721503464775764767358589611096111371210581351149281532162341731511151211031009450560369177111861591031623274135143115103650781189097501045411613129013814142881511916501739713227293169453251206722716983411702264639041115866177736823119304170821383964112591164507818106970913124813874709520688770987311130275138104415586665744188096271047111751221133471752963414377569567171108222981101471622563347414259066076682269492101301118712521341144515837161331138214134147151072681751817509901080119012581310614955156516418171171895119842014721209118427883434592512161005737183793411096119801215013855147741523314723423152490542163279681479151104121190121991316014932159021653517749187719222203031137279133142695192667788816191371071126012253131341469015901623617483184771923315622663137431551267667403820892121025812012413414147590614072398189797110228937664810580161257181162290031424111459361377498112127663139435857765771108392934116228803100241105296146711850092101101101132712103111245635004705170161627671113428913120495157667017748779401102221113371137232731142025516156717088706938210255177621543804625816907374811692241021113571137279133074675876115738287892410770119821271311114692151041137248735724325846141712587511791257431104655416987678500911210837111031140246231164454516061157607826292241261270934141775791672974658420965511522643714729532161397720581719161053211109112774138218225563108429153636627750873115721053335460355766537101311402408311043465441665072498107915110931127212321378143115269165571708222735141786532619770787419572106611297151225392141205487667751834391161015211206126813266148041590168311710316122903170144151765327476811596714124703514766523667726685194510321121312321345148311510317126003414222511064479618429311101381113212540131541443115115167515402958392490352811172741310349051016947133846491091028711557117274132914250550366272486539145109011142125113221110827341445152316817781816391281073111402426310749675936721714283293071422361365349055063157961111124793392464576147233117274132434301570667727681871297810811109121081381014218152581172741373049058265037188811393021077112221231511482903604665416317255837910551077113321211013207141116147236233245435967113024131524115590620473289093111051111710124113207141031462211034947415316456776859911610711760128213813174127303539410385476108790846595210540114771211013601143291517216717813170821403754755358613874783299118107111692126313337162327413103490514262127109896926510347113011172741310341015293671571208206951109301171220613527183232937914406511061032762870896571012611138121321797247832774685158179722023253437151216773798851977910711112421572471380141881797270232384705357676771787796210750111481797231314041105666377801837959610221114411224813661432151411637171231896191902075021140225431961235380445651876650795897132290340349751466141713081479461066115261251913771466151287162591962403314641305136641874186694441797231337542445708624771069824792621797270239274414524767078178116913110178179722023253475816907698136893051013111161126601383167276313164435299620279684239138169529635184801518811302413834625212667714181849116210226118612791109145024123454413311502673321043259361961512351313741555906142716814109267103611153114724663904920590632975528329781012511117011842729360646454167877854817722173414103256065047968909501016112701512903750446547671776681961572222341412552891707265322241165516411717781062114624063324566113122023614682551678819262304337419951516371741826218121103752476255165961131251378944655526170766614922406321745252966202723215122913161462531211312713272414155169387141890933010170158626003441458054576907392113125863702458590692219602150371411405936407212869916910901142114562165349641105516476762831211312406347420252321131220235394103854761087518510925611312120349432510261131226232084745128113125133564741529161017179113122023671412795476108751851096561131290321014375122062047908250113124334334322510211312481374515470690728612212166378241556236102113321937824155823612711131213134945157066299715012242513873490510616275782286971138220936134579590613675691437252326941501193230435814565186114621713354491560911812522330445157864571124115121433044138543666178182359511071111081211241131216031174702512064331131275311641385416491722612182863221414458464067528138911201221211631664782515661074181671221230431281138292320442321202211632681131253133541325516751790856932210741112001229913256145961526016851730018901971120269211741138231310104525416253727815221693514129058162537672851971103711227182241311645152616897111856813712406390413655691512523127542261102281319971582153396519802903454414218921873270177027703624312160427001151262131954131510261167528350113125135141205212613911562413116451510036183724183419151105011380127013105111752540389211212116396411551741540213523892151290375044654767177668196157222234141255289143721553534259170121313484157541653211382126318341060536623111312353296470155301723263741066113823236446557706246113127323414510553214912763232117628034043252026232174127903914791747211318942361708214403914450174725203540488174721203514129054061039756895120227340469520562221110240314141945906892117029037114585201112872433564715906922137210673564638156231321047153761081322903411466513461401524289366016152923112711462753614415510653219026036643554666778061131296345411001692103317011382513964119614662513714120586161021701218632044232147288233243701121281390451113722043981116251381422552066907227151290375044654767177668196157222234141255289111222146364442117012131375465256463279561612903296410115882663152147215231154905204651721483291101020211232158826631521138214735044995101811312473150443578620615121163324110521263671026147252321642271512523324960510211382903704855511664755689093801131220235141565778156927231134489511969671208909227120029631154905161643515402135237641941512903750446547671776681961572222341412552891112227534211701213137546525156327956161290329641011588266315214721523115490520465172148329110102021123215092523280416510281216222513190410901708275137514266158826631521514274131054435596110521643118146021421612682317047735566102011382773161413775416707470890910681512706332473051281472108387418132232351490575064674787197661019615722223414125528911122255034211701213137546525129632795616129032964101158826631521472152311549052046517214832911010202112321107729034146251511902454314212892686311548551920290367441953461588266315213724963241447117912210390410325376194113829234514905399141245133245025621648171885194701090112861131271031564365502696750285691861372512378414515773656710201462218831551142628043514905750646747871976610196157222234141255289111222146345442117012131375465254563279561612903296410115882663152147215231154905204651721483291101020211232185821002390423211362241373049052626907788329491101461113111382903704855511645755689099341131261323049052221202211335248152061199247317413228739041294154022953892130721553250415152496108115129037504465476717766819615722223414125528917222102367442117012131375438253269561612903296410115882663152147215231154905204651721483291101020211232194291337448359069911702263368113721069314243675376977790810329244151427413790477512811382923451490539914724513324502562165771020812098141250216131614905142651747089092861131221231414435596181321426377345659666567718773956101020151290375044654767177668196157222234141255289162252732024232187273245413211102152350649051081114322823102162212032094128177280375416551615571518629312142214331104872520513862155341478576196177021663904138537413121623744185217680471121546214073514315636123323531084124619072629169225136064170154025934147851461412106131654415786576147210739043155326367104619302473714103114728873744111472107237544756151962120320142391111247431104665376801755689099031957210003394114872823120449359062271131218632104615222681759614622110312542891741223136845461558290315915621132114181135212331104905487641114872110350410255511196220137724779161825273109417126003964905506117121110222023414315246132279139841535561693376687319754109011761241139771421615791169771711182221924816924503412438254296102119251832561791221631574478564651783984592221512791331416258396687758187912510181167279137547658046517908837945109481772570338249058467871501701213131164715616511725285319961080411712471133101416215190165851151220370451522869079082829961050111271266132021423211121163564525666125710911372181315142075812677754846924710761118212111311614311510801661173118691194420417132290397045405366119776876914110128611258164123439043551203682379081210976109011530124121341144061515716961778181471930111512459346343375138670672688102128283103342365971611371231811097110178112751140246232141975141613878386597411096111110127301390148215227171221913214137511617714281919199102501147412901350143201551167061741189411913315142221368490584614872568125914914182702340841105116151753181259111017111511264213231143115177161911774185119312063615822830390414251376202714485195211058011441125611311014116155116571714118130191406207012167022902397242201590225032114415406317211849941107111901211041858277433194757966775118152910216402121038642115418643770841797104391190126313551417016124133247453558236907508320942105701110201419215831334460590660766873975104011118712219131201413315125163117475132284365474158136643790853991038101561141121136134714606166231336432511620276018105111312126035954415470690781417082435370642165866540743681659123110742113391531211317410256161417418423927015629031914625102666732982891322507311044735230153121131741025547690725184194701018511242124181376511382108343411154966373188278961101241117421270115312513127470256416315715781169831042117361277613246167233538642651236642728384171151214319141315551673712184629661081011811246213321449115481167441274286366646553161327758899841096117361251131347113121131741025716481757881329511047711230113127603904845526431778132951105461190122011367141151514616101113127413129414059064547528431971013211511261413611430915151162061780118129191312070621902291023212241382552226412730128962952030172315303222533963430035131362123710603827011312277336457651200682074184769901079111311247511512414314047275590653177681194741017111901213813771423011062413471447659066076685794711090111461236111402363645432951516606747583898061012011177121311356142981528416901751718531192022061211370222002353724110251912665272022823211402342341455056476130751884966107821145124411311961131211314647051019611871328154967102196116612190137041138227132249851306131728081249661032114911214613986177290314045355214621079081032937101941138260836845475476540726688194110360119512411358142811273226133174261551631763611231211037141785305652734081979174153024633622443597765179087509461017611206112127913984845566152270131314181585864257497874811212887326543165906607152832949110146114941121271312415153265171388811931104511901277013961411215680120024733246475361690712941307215532504151524961081113028336541375110682779181909661081011421258619127303539410385946907908142951105841171212313110114151541167117901851198592050921372211023662432254526146271701912103310324502510966677258810993610277111091262133011420153716110176618321976620312120619122531080470258064167107817997211010321137121101366141711541161376191289390413715233624779683009250105031162122413653143715110166617511186619111205861912173761454059969673778909142101038113712110136614130154131631817511851019255113023131504905906539710388104393210661147126361362146381322226318549058376327458909320109611321245139614166113727913307470357166047678629929113421313706410856769071328519706103211281121281130227739041032512386110771817893741372465315543754706907910881932612082450370641115516510725511302140351486528469078728741910191572222373649105110614271068766931105861572222318044154706345747821614729031018490514261038732890942310102151270633824200511066273128721974110451195121176162249325942561512222392041075756177125818115362110366471511061397133171231357044875376570716181169702104311306147245132241515120613067518570932109011106124651312514226170821763167415558556757128909103210535115112142137814465153116222162255839045054669071308732946510125111491418270232141315116364247768434981014111743125101359611822167315544359776125731822517122173524154510161777958293933310511190127501344214176151621622740390432752376907908539996109011103212321390143111566165617412188651616267347645352166407240810292101066117411255113501432015561681217431863619021431564115581069675189091571076611147196214311845025656907282835946610321141125101359619226413514775202671077287419254104111501232013647145115771690172611572437338241705420617274298225996108301121012921352149015108111362833654340541768927478222911131011111596110914502412345441331486213039045351166412714181769162151240631014905103261097428381914201010511135127201310914504151661656177118901927512702513140411057916141879081032920410561120412798116627539041032526664067103811591351041117812974182241341411655161086778281080911510226119012811337141091153716475175218216196120121219022421162523134064116575681772851940610103111151278136801537264234064700513064075683199411014011511226113714175515411651173118636110729134141165128265174258446971067115112262131101413815506169017227153721036320547725761207558519311063613052115311424905132661173589591101036114121220113901451153516205134424134643057006136737846595761051118012661310814106157661631172061772103233104483546766971478776970102491640214031104685111569074289399610293119911270613901478515712169017851820471974120902178522110237412490258526118271162899029115301313170632903314034401355636803787038102113122023614137052006136174081360935105611111213171328911312202343456151106160777811169403118129031404692571267827741880691341013651113112351311614711510461610211512513206451532167437118809761013111111211613615145115990166117930181911913420512161422322351244762520726902710322847296143051314763290332591202233390420151406150713181191161051111021270713221459615884166117501890192401883296369247125131620271138909177101062177241435414104513161407212851989107711133177221035141045136115746890914210226111912901310514702151161161311741186721953220312122022418233042431225662691027232125027635404446541696172118202961107111488124113901481015390149926037504110549065317518139110108011204124113570148115151161917196181151931120131213122108023459249025177261062153126031144035670651781089091065101471113211312613215451599623746384669110105111664126011314141311588116571171701814419472021521512240123130245272551263112766289029220113127503724885526125713108111913110110117212110134114186156611512910311646552676437111890956102461125212131137114568156116511172521814019471209621804227237142490252822619027585115124083704905320642713289092081029911901253913511411151161661175218661920220232157213131814151520768127778549461024711761218213111411615133163717108018711990201821111234390435512036823790812109761088711611282139014238158511630917901822219412040621912296237824147253011131220236149305135619177628519596161722623114179510061427376812092151026411611268213511478811312414389446335159691715181119186101021146512492139614534151120115125931164465546361387418706932102681173012471322114708159016651712811372116321241415926147528909129109611476123513178142361556163117128181058113724063114175102641754089099010361112201219113401411159716110171001818419402029921140221102341243625116266727986289029814168921137449051032612127139896399610921131123391143727439284905816123171108719178101062120525631404415282662718783194061575290371049651556627187845990102471140246231164454590676741810793871078113031217113251425915175161386147247035841243570169617418116927210471147012901340111072403335745265155634174784709518109011361210413836141551546316107177118390147247035842465701611671068253990102221113801214713411444715901696017901815219175201386173251354741475436544770823392531067116911292132971460215432161321790182271151259313949051756138767841795701041114171211613771431715431641717116189019132201382131922150723144245225522635711302488342549051246667118209136104781151125101325511312703492450522169275388689961083111130124731317141212151916901766185119662031212922177231062114021773754167517561386179125073454490513764577816217082450315541385926775681399901025311521271139014137152301672472324947005436299728681569116108711403122961708217731067410785125614478181939961020211131121701331141462151301712313419490541361067668299901032111171214113542114425135224505130611397908105297710160117512249139214251546161141175018320193082090218522106237662431252061662107390431556116826753082169701053011901212113321417115771610817798147271322249553416418758289094710297114461215513463144715711610517341183219482010271472857390432055916557968479947101241166128101311914112156561171213638141195916146711085669511105511961254013111456151871690171139162212032264615541679175108573113127913108415551676253752879191068101113116112106713654146115411678176318142114628235914205515064927758214980410361196127813475162212032264742544664211600215539547665125631756711222903403497514661307220851986109011249122827403414321512176417718759846101211166125171311114586122821503414470534564772161172663314365326117358839901078118431241139914521572911302652351410356661707101830594110561118712901336141210156616481178231811219626113026523514103566617072878305941105611187129013361412101566164811772185861995201122174819626533103490510162937567895918451090119151219613976162212032264615541679175108573118429035044653206261741383189227105111139126513836141651541167817746151235737149051466116710928155947310901111412411351145341549616200174718142197012013121352215123312468825512666273128202937911409213134224665236683773785109172109011961212513611411915661661173718140219176209021103222512366243125202627511312923822411051406134777815095110661110412561390141371590163871790181119305209521111227272311424372510126120278032837018832110315149054726131779182809551096111112440138114570154116417173571856197362090821102011372791341441715106650976688109120109111146121301337141471532163801871273218410325121671735890995104111190126013661447157116901787111072791349741165134620278786698110338111201232113901482153201667175118901966201612177022532392243125128263881450223638374159582063172808107990101032113712146132151466019021431564115581069679681491181011111301279113147145121532164117781820615127413108041305382625574181159130102121114112901314145215961611179018861191021472470360945151506617454832925310901122212111135261411161542113721743120441256667677018488961108111411222213371452615901665113724743110466537680173183693210111150123201356143215191635179918521972917117121423514637551615379285193110596114025313791490517763107668791920110236118141412703791420655126517229871941101341902713219414156661317348669431101711211121811962133172423522565176681090912010232179729831534561543061657526820191191074111781220611632193358411955763479508129411010011501271314014111155251641173731820319432051021596179729831534561580969072201962142390414659266877828717990106611103125351314214793156616961714183401990202222122622522371241702510726662714328432990303003123212362663791498523663621137279133074820598648071538164968110471145121411390146661590163201796188091174267736394110567761877568187911110781174611402342365441515166127135811191151032117601211213142614177155116102712002108323641665166261126527013131418158466675188790981010901151125101359619225323904605666559711928102951107911153212901360146615311615617901830819149020124216622338239424534253526462772915721129318447225816907192847911010327113212106413133177221731104265666761754089995110750111101266132801130227739041032512386110778761954010661137012387138371451156616110175018320193141782290332142645906321752858814724913182490510326377908142947109011901260136614901546163717350179723073414466515266778789096581073117512773138111212713124151532651713885429710319111401266139014282155116901775018442191762016211372923214149056066675598559122109011551296135401456151871631017932188741916620932218732211423282244725902690274011171235345413756162497418212956101111125121091702353170419451606907131589494601047311209129013961462159016837171201822015227013131418151116887742584192221081190121313901423211212887326546415133686379081259341101211171121213151143215511613817462187751966205121470229023286113122023401411051776275177241433414259554561387528101936107101134612511342147815103111312513964465138610871418929961019811471232136471447115901612941772513414434154668074789079471097111144123113108014371546516521711918621932206622147122902312941522183311043657106346721189091421043117812306114026713964165676176726614721043647438352116117146884966102171187128321337149771590161032172441813218263319418859062507604182255631104462590690721687397510401111871221913120141331584168521363241231034140559611674968770990101032114712781322311312135237594215590634271158102914110901117061214413141149015791167171032181411990201352214722712366241055251062678272362810361570279131708490560666758859095791021011141312571362144491544216579173618781920615126631504415140690765890932010171112512109145626033105841715476216732822817302663539410385141651790875094610256143124132546159064547147815795110157114651212013430143471595616661722318721915020412166613724453364454532644371581199321079111977121351314914921574316881792189419101209321102221923114243525226177621393614454587165077454816297109611521290131061471547162517465183219388147247038364905137690742383791014101321170212634131681322113412446359063007791841491711047112512465133214105811442673884115541269072078130992104431112412661398145215960161021772155352413951306454745081559511090117501228313936141761516211302110368472512863207150841990105391110381279713981475153131668176718451994816552806373434515068978048552914071051113112636164928063574985102639415621356380449052316967808827991521081311411251013596111287379149855161011714281029213150219038164477554069277291797298315345615193690789812819613109011814122881369514961516016204172321791229931164247552218729031243154786313766832397810171121112181196253639047305539610387866843193771022611661214113172166281333841205321690782832093510511166125213320141501962536390487590614275181009710103211901276134521422615661613017831865193220766213122266147271035549653264171088579236108371145121061336147815206178222293904161581666782083599510151119912411323314702154516586134724335074963522662061772217352415452496927110581429901089111561216213173146615366196297131304691511066677238797221014111711219131011490159816556174211797220314141945143657766814092491711143222771902653103245159067671077811581902872317046552726907132896976107721129812223134226633504905321617712582891802663314720566685710687219142103111206120621107390455596651712088379451011671772717390423654167307668539910381047111081232131411440151501657177311890191422014321247223871772287390410325124761107718178979110901117712781330514135151111671517103218328197212081213222246523335244962512126712766281055291063078312363210361540271317847915796108751872994141066118412813548166217376145405996540746872916225463167410253701762803754905576646178485789361162254631674766584611222791398415355616125790810119276148279133074735546561477837814799010804111104120126636845565746556141283390453951038638777481561181324939044815819648179084994410103211761245213776141259196241735147905906603754087029491105021114061962417351473059069072518199567104711109121221355142591551169017750184421917620766196241737304539510386111876018154951109011750124421326119624173191410352936147679089159511090117501244213176142361962417328043335687612671038909142105111118127131032147615452165117901875019442201762126619624173514546514261038724885409702101351185129013103214702154911612591412903904539510386507358607117274131747615540699717862911510411160112142139014539151038161717125181091100229035714905251635790890941104901116212901353114901541164181757118951977201182211170222512377024250254432617627266132247337914977568612127140817092910901183112661347147515901640112212343124414956896667441828991421011611311244613760146615750169517181181061972120142213122206116224635184164515763774838909651190279133874109584638175081794310891134417082100314241000581624771628469540107021184712951325314702153901613517249185861347243350749975226659614121393155415159165007438789710586170828523142425352956875785379851043115441270137021445152251772217351466581633871208321932010511190127501344214176151621481270133434113521765971338750981010820112801214136614731545162451472851390420352486907788142911110218111241266134714851159016331767018141966201472145221077166274137904540536765407520854099810351190125911390141901590167901790183201912620517211112258611105217639042335247643748282591421089511872127411314714175153391130227739041032512386110771817897911090111321271137661462012212343124418159061327518421956103111244123513901466157661623019023003195430559661407130834691151602791398415355616907915856931102011392196241735143005250694379168909653106491116112248131845149015915161961797611402342390415252916417191814594961072211901279113251147715109161611734018227166274133004250511906727166890914210110113211212413161146901514116813179018666197822094217229023321249025822670227452810281572783904132551697715589091371022211231241370246485666110738810329761045211511275013981448715171611017501832019314196234232194292541169677908819366115123135704487537657071618116970210431130614724513124151512061306751857093210901110612465131251422616627413790490595065407103890976109501111112540131031490157616111179511832319740204121321221723181243451622546316742105370641753981210913610770117812172113727913414417151396134797289094231066114112561360314786155616603171661851019312059618462313210479159776145573784599981140210533171490570663827908509570109611458121813226147911530716511749118321913717702913664110513867917318206137325138046651086377122087919311022217114502412345441091192259327817912216315744785646517839845922216721103194905247673745824519621423904920541655378708120910210661112121214013172214191567167517773181051708284031154463546672377187091861071119012766133071458715775168115127913984153556167574548201169529638046651096177125810917302539312124114566261477908103292771051114541262135081496159016501712181451990201422151225842396249025502616272701706273036643475742673077918909651032111058129013861141021140246232214104551652176589695301017211530122251396143001513116661710601862170721313221488517698571186293110920116812511355114100015102011632193358448354666271108619212109011171125113521144015107164117371157234311045159206127418100950107111401211113525141531590169617397184791910220902154224123540244125373262032743285102959611126235745154206671715890983410550119012895137149015539167179018103219411208216622512366241292581211126231414157524764297628120934110299111101241131141451157501690171171827813727603624417153767407908103292491051116612311320145015107116886120129033704260759065167518271952910526112891712607351466586069074189095391047119012103213106914170151651611111773189619142209021482290236624121225140263727192837294233030017082140375448054168876681389321052211411264131151465154316711740118135194120773213711962140319441566617715881849581103141164712471366141781527819623003111495530569273588237943101471151126613150141103153311605217135404110454167737194019625363904730553961038722686691301083116512321376614311520616524139045395103865176681191091109314229239041032590650871728247959109011811213713211144115534164911766185119662094217814127903374632532621072485196610180113021712600351466549610179082879551028711901210113866144311537716501722318411934201502157226623432459625812175025336641151396577418140990106511731257136614111514116263171260035141615613690724185629661031011901241713511490157501644217801829319526170821355349410115816667820835995101511199124113233142151563416471725184651932205021120122306111217314245085262691475783193010411112012451337148615111611171201846193212051218022662310824111251710265527962837291320306831143715126631294140516761037154181569411090112811247136141419015742164821710051847196142019021132210012384624512566261502781217114972454331421259569072028232141220236874325116139790822291380101471141124471390149601590161521717518475166274137304539510386477108890946510521154012477131101460115411690179018651990204621372246023112241776121622723904142541610327540828394610901156127113350141111511516811753017502141310434352512562891741211935043205735613773081939901069154021033145490512669075181051540272373649559062197109890920110331111371217113411497611442703391149051032653712087309211032114512143132471435711302557390447757416567628540941102621172914226103701437051376321712482479253103441122712405131901413015521625214223613492450519061671068108916710100111521298139014891514816174189324335604141511667067528231981910773116651243135101459619221063465479157026927788807968108311541224713511431157481894210631204945514062477687812698710403112961111254031904415691675790830591311021114312781320611712713137411057162427318532142279139841535561615574548889881043117812206148279132474173528269172138519820109611921296131461475158131677317282187411951020721117819912903804496560680472548175933919629713130492054146207754081071912610521190123741368611402462311644545111647079082559901014611165121913921431211602135356475529467172998849465102221512222311421051076567187813197810951111761772193754605107690717789093871040611901221613511490157501644217112182361772217352421658264171032824199331071127812451139514207152421611217358120824503706451955165107255113025635194315210679173078147937104511121611151216531557496516461112173934501566637747983929368105111661271131511479147924133446159062227518669711043115961281314622110366411656866714121033664263590619279089494710103117812821315621414515507164717103181561912420790211962215523722414625139261727292813311262893114170512466671318709547105911798129013951415315106161701762181311910512072110622412391424198257726662712872825919324732294905236629749284992811091711471287413901442315661690172271834619322051215872241231182439725712675027902845429316170721352390415356966116796864926510122111561253132901413581513516652171941113122863120423958164217774882111217379149859286165766817097011047411631242213155142191570167017612187719662043215962230317012803904246596617171508707914081032511143812169132931414121568161038110624433223487576631917072146335847975906183710408419131106611307123213140717072531310541355116367712831918110901136112122713390141351593162021751184691928120472115222832351242802532264821422103431554905317654071078566944310471193912813321428111402783874665906132731810292391077117912661314711302803270451255169207908477971056111708123113966143215171113029037014741527069076685192061062117712713206146215253163717731875199020602166224723372435111042150366430751506238773387599210371146712941332141711314217037824145717665671216861961010176117611213201311514901547716782177071871719256201482117223142311024841256726702711328100296630187317732750331103466352811136250370472455764117508279361096116312901330514157151201612417421878191502041215382232231711134271390490529666677281239120107111219126613931483215926166617731177221132234505138670674181319661030711200126613307144715571632171031854719022273234420154168776681159215109011910126513141149015156016471743184471602663286424157886362751831197104181115512511366147115128716259121026637914307519576707988811911610661122712562137714661511716951942791311574905366454790824698861090111831230313391149861572316391177321046326641295100867074318779661011011501232013315111217393413056865175208654955109611479126411358114345152701684157252036544665307624278378131966107511619121601320514102111121213934905411616073968107996110361180412101013771475015110166617281196256031604655307654671308462921010700115321236133081427111121213934540533690715285199611011111192012169132091474115901613717104018186191372039713562903488437565566057858789197101571146712641313614661530716921722418661974720180212942236234432429025625197724134504905488690741286691101051116612711313014813151226136084233557466487989829296331039011731121068131409147311510721623817579181086193342014272110182266237312413592575266627752813252921130102114727131664375141670279108669307102421151128613751484615901628617961817019662030721184228302386224103170725363770416156661157567811591211013011361250713661410961590162101741186619612013162114222722310924512513062615127910282129963021631933260333134863511036227372113890391840141417024290743145442164577462414766482271412713110493590621171318108096610351111512661390147911563716901713218771924120662130522351179121098369246659776377966814932106611116126813811412713924451369072948106929610661110471215313771466155216320171511112173791498592866679218731187222731381112741314041705512690379081402941102871177122291325918632563201413158167572058271111217393452536263117549896719224136647585271630115082227353475590666791182331372479339243685806747746281109661011611681267111217379149857026518756885409640109011132125113561141211590161651790187919936206512133522270238411121739345251206507388472981110265114712490131301481159216661713018459191302045921531224592365124459251052264722725928130292533014131513241333196341223551362063793385139554407264150429043604422745104461914741481131491555090516352475349054147559156865713058211597760666112876225916132903711414554286617908711996101813111301250713111146215130167501765185119700201862137227523107624432586626105277228150294130903119832773366341513589131248350415259067673785194361057119012181342149615173163217411849019130207721662211023502432025313111217379149853161041741889393210511176612901341141201512101612111757181061970220524217222278223559241038253726671275522851297903071317263293335783415035723631374983890391394070841592425124323344904521746144779048215492285019951475271539054515511135629657665837595160485612362906381648655166790677168124696670102115124133321475109161317668719521032011151131262316549056963771198379713103711641271313371464151063163717176183719412049021157225672366245125662671271102850293203032015126635124186511069371181797911098111271211513143145411512791377246653076195766890996108431181127513774141061797277232274574512126417490818494861045911548121031112173934130568647971278227912410165119012103137501465155116410171111877619772066211287222591902703465435857976907183810409416109011140121360134714540153116296179618321917112562102368741308554369411115266390479156376907132886940710145116612447112121423120416751306927146812496610471124412130131671447615313151266315043925816757341169529638431573647737835115625323654905282620271184919131106611137123281144225335241315516629079688134125324463101049058046202715182331112173791498531648378118708911610288116612811313814771512416661725111217379149855086667149813797911382903202412965906818796889966103071118412881394141021152211213128411055396103877381439511014411537129613901419315561671179771845181226633624709565769987424866911010227115741277136614128715259183265374143554169075398479901010321141128313901483715171610917843115024134349051032647781389694710971190121421347142831596161717289181317113727913307431586261677130842921810951111411210431331148915125166711790518901953920372190221032233724129125902675027372822329323090314233210216027913984153556166777581325931310270179721373904463518166777587739901021011811226279134144171574168876189092221011111391235134114300151251693113727913307435514461107233813297021058711501218713111141201573016211691211036647235416775883297911031111621283913901480415898161171151221734144156267074787559901014211103812511335114790154716103217718219191552016121902214223512490257502646278028762910211402462321491591161173681991151025611881235135715121413146443105906295715481309611043115961230212272249310164505522765057148835913010340119612841390141501562162917753182071996201017211352212023292248552590267732737112062353414321590626179878140963103161167212148133114211552116176179018871955711512961311544775416797110845193210121110321245113556141511580016862178418511936207821206221043234124539259026804271361134271393490521561675048120911010377115712901330714262155341635174118261920820128611158242231554100534161387510851391117105111649125371332614901526416170175021163434307541671732833711602107368434154416274796831091111103611196123011327714961581165917151121822533774625393698372368279952410249115012187135114901575016442178018293195261140219431554103595565647328391990102271472713354155590615073282209901010611839121301311149615901632017228181101950203202199811302823791455759066076683191561067111905129013539143715901610321747187519136209021520224723352413525902611151372600348741295326120775183594181070211157121201318314138157421613117262181381913920172114122263113029033774905539610387130866958107117212140131914715901686117102113023135474111529563771418111959611302123311342535540649871138141917105201118111302267379145795765317518329111066111251210914723623324106517165137967810697211014211311220612082450370641115516510725511302903125456531617177125813693710106011372791330748051466708738283797431062112912421361014701151058162881712418247192832091721412287223167241462579126141827820286902967304913110132196113127913690482051418610972098120950107611701127413321451015343113727913141848205690632726081019293107011174812511335014681515916351761182741913120712120822804231602410932590262222779128307293530763132324133783420614723423904315590696073281319732105211431273113714357114421083721479549647710888741130251321248153386120732183209106107211114212311320614721383374102544367627175812793210901191121461313014147157516211798118431914720512190221712231471797219639044635181667790880491104113025132124815338612073218909821032011351247136711490153201691177251817198102039916225633124454051466166753872978101421138214134514975906105732878914210841176612471319211672313100493259026201737810019192108201197712813137731428215441165101781811781708284031554463546361387418706932102331122412511316414111157116861770181441941207062132221012373024137257912630727168287129593051317063232332683410214725073904422533664773428869152109011960172827913904177547610397611841950710809113001219013711428011302923103142655165537658600930110540111107124113163149015581651171118321996020902162222423773243181130241355149052046917908519214103211110126613171411015501632017319113025132124890514161417104911302143139447526673747894113025131260417258316110720085798201012311341241132121456151801631214226103701416451116486713148909111103121144292374675756788790811198611102307374905132695271045890911110861542107368441577166171808429990101321196127813901432015252183265329045395103861047137829194710671160012103713279143115901676117411832119512066211102250233202431414124983664171590625371118160936104711130121111333014351590168117171812519109111217314249285560666717083599010731111210126613377149015142161038173118361932201121141225621572758318441122529069071528479661067311278111217314245158066671088111917101055119612371313201468151437151240139048051792681792890922101231190121021337117912307375477353186797798815395611075111325122101323211712673354765145628671198131966108401190123211335149015321161111711071821019155206692151226623150244325276172274132914250511906727296841936104501116012713103214761545216770175871902713224411351456113712484691741012111521217713160143651579716326175121875197732031821266226723112421817227903904603554069071448540916310191147124781390145611537161270173218147194720320219022350233724250259026315273228902942330513175032110336634280147248632924706577266817107185089712107811812961350145071579162201717251853195542061621161229523847241839259026915271962897614921013904287555628779081019866104311137712501322314641515016790176618262193520121217972253023902465254126156279028359151252533141875145642717784194741090116212187133661458215371692175701881211121731424491542264176687291110109111931512311377744175732621147275031104665961372607321942135811657747486759411084113112881395143201542167117701183121992201350217912296623247241045251552615727962843729172304473122532473366343711472486315243391372140233742871372961337444514724863614375479651766818099010321114712451132121490159016339151245133249601522362314145135967657790846932106311196129601572758318447225791690717784599335104961124812462133311540217013791430751906717280171260035146658869071428519935107111141121151139414961567161117812182541911502094211221227019621423504199511506937770892992010661190128213182145115661694171286151279134964423566615571578244981104031126112172132691460915801660811812255382490591565671286852617472763614905454611713982359711062112912511366148415842163021540275834544791524169071288215997110225111411263413141141631512441675317661875019112094121263145421243706410459669072688909707107911144129613418114428336547415708612179685192531013161152617412903205421759069157318161996101421137121611396141038179723073754251598631792081559543103711770121651390147791577016701750183061512965396425358556190713081210974110711119012771342014411513301695179018132019802099121893221212310912490253501512663141410125539610387568150911031033111127413163472159061032717083009195103051137123113392143451512416247173218541193720312139222345233224862113026523591479155306907608669267107421173712901310321441157516520179018539194120507214242212523110244622595263227512884291058309173187332323314071512663130453951038651744489694391051111671290131314901581165617711889191287121426831241475906597960816692010901123121121315114591596016411757183219337168529031032426651116377128829191111032114312115131216143215510161281716018407195402066214472286234072454025662645517722873904103251247611077181789791109011177128413305141351511116471771186619125209021320229023539243725902610322756287129151303151422131736641425436897418620911010111111901212131061486115411634171501878219142079211312266237124842530317013882109171212034211110230036501497212532891138021473414951555612571167113421083167411057666125731816215221543904267510636957418883912510244116029036247056569677558659148710125113112358183215531397441570613957318162192213503904473595169167329810459587101327112101227015221083784487547864171518753956103201116512901382141021100927535714102534667017208417170123423864611585462157103382189521010111386113824134914325502662174788893291090113201251134911432151178113822533150452510164161472161332410645133113825236704625906707862843392561091117731281113822803170461513606327491814694361202903201414052336150713181191461048011421148029033141615205651750514724033147757416349752872911702290365441551626473298100293110145011130128961332114371591616127023120486151021612491326443071140263538941315116440715682061432128034042125169690739114721393110415159068179085799010142114712711318715124713324113524678274587011112273311041085416466790829693210781171254817122173604107517769073878969861031113391572503714123595611041222753103244865866861796811917510117116029634544905690613073408969901016719829037454475545670711285861121274137304495566817852810329961023611871231132061222753101474059562877782845910661437261338304365750671471258181137723603128441857563807185131243131072436551662473718379101101631128712561390141301513612227535241295135569071618435178727539045755416288157235131395411159006757378459916132225339145185416681708214037545085416627858479770101901170414728563904165906412724783297810126111170170821403754238581636776681319791103071182012981317014901536163211766181251951204912132229023861241021208245037064111551651072551412121633241135246174675187961111261535114375416817339173629033274782545690754084192471020611382113974905623690739587069411080113291220013417151247133241135246782745812399510110411672313137041905321637746683294110510115961512102389487590613307162145269390496151106263752617529631114815416140113121373904202525814622873174370171280310141156264575183194831040111561290138014102157214337064300565011402831315043657316151748386561710298344145105536113328734345105756187210903110413855476707715827994310781114814223613190411051766650733181419358142236138264110555661217548885193710339196236531854905761611272661472196360144751072635751811932109201135712102199029037141951246167711083921772217352478157568175408769163101251136121471823275317642735102611718129632414549511265861171429036046654161757406131261533854515756577110411112953181452519064173268479216177221031934525786690714487829111074011102110082813571412657356131790838910421021112901130244374143585376245717852973010150174121033904905534616327252878294911095115661107274137304539510386307711085197401061511421217137621418119222463702420653216517146835970101661201274132144965506320752872916092171172322111953292115129634912022539310384475108620876721522683142496574680199529035043705245131223634141025142695279085095612192813773499132290368947255558630876031106624633054731541690778185298261090116912401322475393217082927331498617082208316413861144251370643252686102170324913774604510186537704168212411302160349748611172215321542457826457121611442113974706556695170625632314741551067711781516279139774695476787142190260366414154163007921237296320214129033147971322453874686113929173110487255671138211135104908512061411138232370448351961472713814170590615073285109147101070118821613136425355268971120825237141067117627663904804510161522770323043761962783702414057563173683296610748120826236574487560161491322143141420054211111284738044112147246633244155106596132277366485116727533074186111225133561902454320111102460363311002155383490517018232735362313129631036437545612672031175279233204130112628123166121329173110487255671131214131354615716407360114627231204325170324913774604510186537190113123534914205119022863904775921131246635144245694173216532124500590611391122210835121322897378447510868741512706341412451051160027063260422817512810388441550861841522160353541091157250831203490512169211152763276441111762137396421759669815402513754116533969079815402513358471592196211835948911125211037474341114028303177472151281140234231354105011231211037141785108113227736648511140210736442705142112524739042535105111602131534541941677211539048921131211036449052321522770370424915629031284227154021352389215729037854289170121432074134514017012131348415757426532111224136046656701121210103204423211230211553904130121126132101523212533061128124134814211532650714129033146151128121553100341431220246315311312533341491417227903474596113826033541145222690792129327335427952621137261370844152126139120227340490522016382107338811512103231154171513161176286192111090111621261137311412311574216610171311811194032018121412264623527245125311266627902838411512132344141251127251311425911042594324845257706707249151270634147451331156271231020167721153904892113121103259177027032491562903128422715642172363490522012802115311641705966135671588977922510102114021413110411652681166219839042535105114422158345411241514245435931122233136811677215639048921131211031164268152277037042491972903128422715721023120442117012131318143259561531210331362411958221662262320847451281813217631134132277366485116772115390489211312110331413115227703704249156290312842271572463120442117012119347417413228739041294154022953892111727263155420011092112365615721263120442117012103341416154351186215139049431656244531741201147256371490520115622903664415566638188823143174210151021153508490517913532413564111576871178268634146811066225334844815139141278131374553551636613229639041465232140266310248091190248431104143141290311045241112213761412903150410214882485351451052551116267368489511361407540889996101134112126631114236132277366485111912473532141249131154593132290311412159214729133243551816186158213832581582138319715727832321362513175492159061281101277366485113872732264206114025623541415854211962753473157210837541120151621653418468134422263358190726291782287351641515101610811442216534184681299222633581121222232024113511162361137211034211892653202423219023883710495113227913307490582650716021073904177590635071428437968101811882513594990513561377388870692691072311042723374205516706735087611962102313545153486306711084969511070611350122151412221370849051066837751870693210113218921153951490511363274589093201090119301232137114823157731412169366842535222612574514127539045395103864771088827990109715724131064985906501112221773146464581641277068443155621523454108567667750151250332472253216188717314721160352432511362474183699010187114422533103481516061327568102129321103414202592761277218701946105611101522911367411551306413763912562559350435510136529534734104520666431412422353476157016673728217012641311042152376135713883191080107811110121292313110148721514916113171411837197182067214122772333115127063611435553065927128846912810241121112197131431490156431131213439904995543641712985797311090116811210521391714110158721632177911898191532056121176224123452495625212692275362818212920730806312923260114112353750457535617571578124943111221352417457256907103281499621014211141123713872145215940161201710218661951207912189622120231022466257526773273182843291173056311021472781314241038547610874387509950107911130712126138201430715901628214121533791498515365617295890910321041111531263113335142321443614263525364177136684396717025131914160510765671017012107031154413565364912112613413410584161207920821294181010071147121621103269410951996259114025313191419851106295768854095411312202312814405136407918319107210431190128613711445115451991235324946135248681175188941417250363411031867245039042071706213732214751216121277115723531754157512464319272127319470156562077618160940110144117791102122553706415305207650917023534146215155625379189369771067113062363230141083576377958852969102941116012107135614101927212832594176519464775683311522817372849305236110221753120431058431927221231774707516165679088431706292035746605148643145421243533475543153029631404965113673575091175279233204604170624135364865102151270633884415356907135170625731130453054319821923152481170629373984116718072903355418170628935884170531625174789691271028211382323491431525166274918595981101521153211382253390414458167067968774995110901128211442413814315260623577181699901073311797287134141408516563251512750313841131536628211302923524990547690736832966105011337120225393103844751086125713121130211353410201491212531166141271340490514061047142870191196151234341432592652796081021701213132224166561673175038909691782248131136495590622472578359128114721373954170132210336834775906392113121131034415180651746787191130102611108312411347014901519211312523810495511906907251811419901069113128843964151525315721303560441556695113122023129144155666381131215139041281141256353742171131257931142417413229731354851113122193145413711522983110413654926135717411302413152411559062047478529901066115121133249205261162625837646814972454390466512561091522139361445451416157766876193510951322653954752579761708790865958104111171123213399144115661612717511866197820107219022412345249525117626512766283129293090311132723333011362206366451517106417220881974010411132112126131114661550163371730253931038414152366101711082879242102871111012101138661443115377165017223186419150203221112212523131217902903190424554061037968229941090119012193136061418158001690176718507197312090217622730239024137125103126790276628262293530121313132363332341135141368261512707313146651060618073781020911210331115712927131015149015371660717219182131981120540214122262233732421225432651027596285629150301103313311708210031934100057562077103846954010702116411216513951412015411671179018461990201322110922652361248702512026107271302891029322301713171329033102342821912113551462510166971588918983710225112531220713130143515486167911720618797193120206219222133023432467113021137747915986508726288209126109011710129613123141007156616142179218106193802024921121222711130261364145157766677618359951647281377437526111302613682451557062127773856910201130266377476153567411642413750490565613075189529791108671123612971356141871532167501711189421913317529032314960590628279688539960107501169612661371482151116771763717972463314474515986677418669751054311582127717912636316746185124667779185596610731145124313671171210831154955804653271250890990102821100279135084247575612807908192912801010711613129013814142881580166617311872019662015617126003514665886907142851919510143119012103213540148131571627817115118931954020282168622411235402411825592651279028750299603077316711712508366429951926917110825699010207111261223613183149015920166617671890198612010216628731194553542467497601810709951043117911296613247145401549016881718918411992020662175022192366242925726902732128962987030663112132353390341011712520321476580465671878146910911081311411251013538172227913904177552768047908518931106361927266364849055569678098837922310361178122061140210533171490570663827908509570101751113861352228331210471057961757566110022663571423459565317877824091311026311351253713571148315651632177661831192061712450310245061540211135641875124626271586117029713130472251106667728822797011019111011290139814556154211747214322742005766774586271752413377412452476750721824913402663165468574161477818249912110741117812206110126631034815778679379086599610870116612121133514901510196219366412153569078708101966109611710125921962536390473055396103872268669130107321141125301390146015661651172661866191002203521552280223100524725266262552735285529561306533113032803366341153546636583113021131464148511065717618141922610596190242637734632554611577738190152213931304454517161417170842093051096118301217213840141161547164511715518681662506322246854526447770884099010137112101244113910141161547716306178421841193420150215122902375024442251762676614121708390460566646171308439781031111561232113371426611302653487412453569075398103895401046117291708292036642357496138779183191621083911708129201379114901565167021745181028113021063290453951038614171043835294511046811621297139014411578169517117614225138204977541690710328124958110115115221271390147615804165617187181319752090216622412370249325536113275348144158961157478419781071154817822100319341000512665407702869291651091111311292138221411015140163217151853519106207662131222061104213737914905177612171061816594110781114812192481341489579769777908529217104811141128913471445151821772157351466581633871208321932010511190127501344214176151621130211387479153486110723683195661090112531266135114661512901678917124185619112013172128917624132624144535690713285194811080411540123113796148621193414885101690726289091321051114811280413140714497153116102615125363190411566961107418689990105511661257134701412015952172536336451566670750089096311725363684610580463675184092251015711901224914221043434442251202687108984769901039216221873610479157296110766865911510101119012981355614782179266379145085575631715581079371045111311662731350432051761107508320966135218535394103857976307741486696710451194811302129136647075776177126114022536144757916907152890992110109111601256213901495213226631574765906612147231136641085309610387124813079561018711545124661311714126155171611117586173629033274340590690753989699010103211321290133111466155401673017951881119782204521151221216110072103232584208588264547298155935710916111071214113511431151036150225031904415540617714184392461176279133074415986248741887029261088811181213713751410631571164711729018150194962017021412222622310822414125116267062713828422910630508319532804331103439211402642312498569569671528556975311762791350842475416897248841897021026118941218131371475151063161311717018451197272069511442833654741524568577648103294591090118912518133611424015204162321616213731494905446601713685492471091611107121411314614831565162021723214814972454390466512561811128127833139443953186204771087693110361132121113461437114124839044125666327791830791111014301157712901368111222177314646455669071218451950104611343121352135114751585916717139181826191902071211731776250834904222511067917307896910210282179121443601496549613675482479168107111812128201398142531553616501732018253191472013612182022410234862412225151267732792125326863454412454416525796812899010591169121362137114451151251610911512512396450055126766718486539756101111124121051151279133074121557066672238909600102511170112530134114133158361138225334924101154866101178828811911510411180912901310217902583702484566623774085795301071150312179136514141152631112741328044175103690790814293081047111330123213901472116226638204355956427225838813602639370646015150624579082469110109011321129013821499015561656215624532664315700611076681359320101201112112871365145015337187242035041905436482731897098710511166123401310211002256312447015169644729381021941101091119012981337144601590115026663162447510906331172292031414797514069076583199661032211511266131114211153331772287390410325124761107718178979110781190121771378144515305161351711118709199020103221142622662380524472571267527902866299030107175029834714856533564967387814269661056111161231813204114023423116446551566102141240631034363521862697723115125931414905175613875388649791109811115124921316614471534163921732189019861113724063966453151166120720786196821051114612124137145115111516901710321817611372116361411705214626879085096621031111061258131021137223331364905316406747081079987102341151121461321214661511016741749618901926220572130227242319524727255726302719628162298723074131144325133663431352936903711383803972311121463904121587611667908103291701040111901263136614511565161311740618411927120322141222112347248025322610227536113727413914115146661768281709570105611501570273146464581655677978909121104711661222413971141371172146361468251706567486156249233064415906907668909201109611870126613121143515901610114027431564905132649671218477990103201181127413714418157021655175701880195822066219022812329724770258402666279028112938030643179121043904412566612127150844792221054111124126613130147911598167701791186619110205021132226622320611372406311497553640729981409103310971662539319044153661167678986972410776116712436137614145151001612017133184719342040621322290234051137274139141151466529770810295361112146392471055569675118579837101511205125321902140385411153063275768969140101301190129201371456115171613617147187001989203732196221212237111721463414405141641790859694110282159023313684527576417100840971014011581214113411412515131213122433924590546610073588599010961137129013837145715295164117661857194712045211022228211516241313749058936251741866951106611302121101192266348144152676115733840697610804128221136311641011538766275468167964210311140612305138041707247839042825226699278208690952107111901247313115144911511461612117153189019282113127913690452550696751866910410681162121081137279139042825692698782826297701012111571290138041138277342048715350649671388429138101621147128513392143215901686115224203341479759869075589696210156113421562313210410625145568171868819761023611402462311645057646627312845411929363774671373251380466510861747780287695410222114131226115127913104490541266671212815094471051119012345133214222154116451710501813111968205621112221123333176025393103842235906730714281069721101421131122061472486315243395797698715385619371015111171124113177615121673446431521269671068721914210311116211372262314144665906517791874891201048711760129813865166274131034905101656779582939333105111661273613910141101514216106177211814219312058617902663262473155063207318369321011111411256217702116379147854146667811662741310349051032650271488639362101991135612373139014453157901666172621870319662020221232111249331436532611716688209351095118312651320214232113026134654515776791753089096010661171127413494149015212166471751181311923220232111274137904905603654079081449540109011205125401387314120155401614691736518540195132091721156229023506249025132261475273528150291963065611127413384466578269107242817291461035117012166171260034147915104690741286696110436179127293456449534267734182269206170121093390426752186136190212935404905282632915402140375461541651079761902603664138583761217328709120101301190121321332114770158401666173921790243351047445906103271212813994910510117041642212398469559661527556875313732513804665108612273308872974110169117126161317214339114023423291490515261357908331913010141119012701333014130154716711732618511942120182132227532366247822514262412766289102914130866311063216816627413103490519366597968102950719629632414147551166177908360912210116111611253412862417391441256667261151228739041032512476110771817897911090111771278137211413515311161111770918901910322012121106122165234124782514811512459333544965295643716989091711011511471241137814715548115122083114413859266872383579431071117126201150230325541475716208711485109661044111104121030139014821586616106173881481497290332942891423260034174352528361767206151329673115147665125631723611442189390476581653174689698031030611961211313881414152211610217197113029235245025630634741892996103611191269813461417581552166801791231347246455168397458357151279139841535561675720481210918611302121378647435730610327908116956510351161127501320214232110929632774905192622979683109961051411901227813521477152211540247734141425216655721183691067104221186127132261453215462161501103621323508490511663179085091111024711741214213961415315995167501771418125191811131210783210414115266657072668759556170124593321490562670796875593210483113212661313814361531116253171181810619132204321731227233571122275377049051032612127139814499010305119112111137714217155116661774118775191120305211352211123842446525811422215532194581590652751989359773106481190125513961480915837166181751183119406148255031954558515161107508182692661080411921243137814148112027913984845566162251838646654162827125814914182702341426530961557215834599410431178122061144211837047495161613872118669741101601150123201317147901537162451752187291472510315164515319617072308379354103711103121061314401451156616311715018731198120596179621010374141440526462667621890995211312309336245565756577949812194510901160319672753361415457564176287094710755111141215513167149015811610417103018901917720902184221482396247825921113727913307431557767367382810449951019011148811020279133074774531962017688741978102061750221386466528267579682059665102111431278134651481113727913307425352526821788389098410148111991280813197141171590162621512791313842535666540760988879155101371132121088133714472155161691174411851019536110821143904555966967837896996104111111512251139614961541165301882903128642581962119313741305756417668146913010137111111290132611372876315443751166155744381591191078211741128213731486157616461798147214733247915299647714783297061090811102014821137390440151057613117688569111021111181196241731014293543763777318474946010371140012811365147411578516511751018171953211312690387141245222613673581039293105111311216719624173714610510326976778281399116108211813126081351147411526169817487185619110205021320223141512791310849054636317746816191711015011901228213810144115901642117921856191872014821412275023562443255962630215127913307495357165976284539941312426373490562629737890971510497119012781362141214135043254161047140835099010152115112222137361413251571216173178114221593352412551686677600841791251028811130121113820149815191639717797183119162209021797223062317241552512026672712128902911130861140246231164454511916957738959562109011222129401310714102151201632017951825219021403130430559667271968479222109731114614622143140416754761203790811419901010811471247813901456115371612701732181471962201202161225412313824772254126912790283191836216534147851406907132896394110751190121481312111319349058568417578105953110166111651962857325349159067671011850592261070611401247139511416715156169617673184119212205121402212923188242722579126307274328147299913090317733219401708221231104193510716677638708910510531117861285131080113026523514715906124766854097401071190128311313014111590165011786136524633904213596623674188472975105611139127713110142241556161101750183201931913229639042555906141724783295610521132012671481230177023436144757916907152866912510109135241390453954769071032817914110105114252539374949052416143713685492471018121112012901310321432155116661711181317192891797217083904655586667998815594710451111551268177627636143525283613807418341996105011135612561314414311521216951739018901989203962190223711422311366417854662471068644990103211190126531310641441157516901746183719350141217083904655586146711877917103811487121713110145015320163141472155139549053206153741866979010661121212115138561452156312902539310384103590690725181999610193111912976139514100155951632017171821119333135218535394103858163387120832193201056115212320131501570290390495541610677865974710761161124713157147152591612217156185119158209521372211872395242222511026651274128525294630663142532463390343213535364637903872147278733249057664175981719101310107117312951356214901522216411734181501994020107215722791237142445425902612127120283202995302521860215536074615641637787286891361049111431288136614901542316647171351812219662025321268228123193249625202263127162811329128306631123321133352343711797278390466590676741847693510456118181212413247141611518021681177731831816627413884454514161457478244913010167113121573283791431516268779789895761096112121257131391432155116791173071890191672012021861228616621293844317590632171781479125190271322447085837661735890971310961171122241370814961546116961747183519902083721902215214127535314577575690795841970107611171266137314951523116940171071857191062207521773228116102106235804815896177177847979710981115312561139014140715485167517411837719124202472175022112394124263175027413512466582679179881539561101301131121521311514205153216861790183431996207902112322612335249625119265127662812862952614122023691411056667237131831196610105011110121521364146615731612417139184981956201502111032233111727413142444451206827172812095121015611411263614912791398415355616827908915939410751177312318142271366433851126103979081032910610971130612411332114561584168121730211727413974154159067674181669566106531117127713931962417373045395103864775028136990101211171211013158147021532116314147215439041475123648278581729120107301472491318249051032647790890960106611901246133714350196241732414905241619315123113140424951100623171108111095110901175012442138014293155261721733434895166612077301156279131044905463641775890914811212857390432055916557968479124106611810121191382014981511616247175221797252132334572543267087418180994510134617972474327741555157629275168107987104031129617972702313941043545680612728538545765170615171358289911010661156123113201410621126274137649755147641715589091021922133311047915103661427107489091032101212111391267137514773158111262292312864515750612071178278196287036641215356907468909811061611106212711320814804152021635174118244199020102165221136311641031590676171216890928910690111371279113981451159521679117867182361997205621187223223512410622590267732719014727137549055864517908609661096118701266131211435159016102148322923904132551642175683192441035119012661341149015901674177661847199020902128011312107831214362515569997518130932101064115812702138521419315911625317288188195720537218522432354424702513126193273061652903539410385740641732181791201032111553122313120143211595717271397245595119690732182219561015011314147271353245151056667328259710901121712141371430015297161141775818411932120562111022781776276361421559062927418470961410411145412371313314106151591625717691871990203612190221282377244492541263002765013002663741435541690753984799010103211321241136614700152781481460213315221593352428351906656162290341445459561407781113321803951417955165107147844016623423904625906128147246639046253267877854811872305313543125856657071281962536390473055396103872268785912510181174121033904103255061097908969931019011865174728739041425516306768287941104511177012125917472730349456510969079081619199104111678190321103111645405132761657262870299171011511549121211374114860158116706174718711935204501582413253430811162353904825216517193833691021412170138147405453623871451708250235844351002635875718930919101111117129701972361390484517690776281210910211162137379144557763297553831797751088211755121631144236331143295416172741875975210901114012511345143215956141250734244905137612577867613221383524645656110746858911010747115051776241334249051526907315890996010321113112732135214641565161101746185819110207472160011312433473422581645371158749138105211431273113714357172221353123141105716178785317072131325944851576111721388195321322741334941365139111529531184905177617573391322910352465541865971398302910217725931394138570662687588793571144267387470653826110723389098011010201462266364842225108625171078865990105511961240713917141861587216608171740189171987320871216542222223810248125179173251386414254662471848120931010331114931224113901488515320161161711711499213346741165496189425735047505716511755896984310124112221266019623803120492053296960735837199110351136011022235312041335142696750514182702365413151164407728889761073111152123911862270387470151410611179088049101615322570316147541961517968719901086111102112228073224132513566861723303741417651326155780016612743325461571611073008650162295035042025152654719829033424905152690734181559901060113291241131421140234231164465541640679182119611029611202122321151259346547025456967894147230539041653261572238909100710140311806121751333911442113164300575681722284397910144111021253511512451316548045702645763617124063904151513161171468101940109011330127161328814613159016818171121874814125238104905706674171181059371035117211472141311542725906707778149115101371185011221215131724965786147730111512198364241355147761741279217135774921177210023534290557167027166895916011442488381044151164171013850932103811321245131461478615121133247652126115716585719921031214223613184415051066907103287761622170319641115109068753587069300106501372214340145659068071021772143150449651316104747381069991090118721274113156614951558816661715215126631142125268616877068300965011191250390410751266820797789097731056118113521216332416755168567140785193110636167327663917490258063276311112773314686517068773784919521179129834654845230164228934914845666110021553181490570763671028419112010222111136121621349714961569114562893441411595436510759619029631114735596650715123743904773598669113126903165451595618814721066310647854561062168211391494051616222713181119617113421243141410657816168728214122503242413253381412136352431522063057111842934710891148811302513714358540613273781681121220235394103852026601711182361102521423312544185148610177418146117274139041425366967103283691710109111811629274133549055396103874781089135101401116712521372913721003791414059066574878329901030911141125113206196253639047755226666714181721151211320245155261467318162125921653136413152266206148146021331522144390475526865277181050196239035042415781242290317545257163901253290322245651162117181120225393103844751086517510825613123633241153864667262820897410128132245390432051681783256381141425657610211320214237064773581125324013121480455261921612753961411055962967102154024433125414451806149152240738044171511161411562361334742635526686114025313177414654066657296827015121234147756666179082969101157231350741105666617471815291021672117032144268551669915727035034405644115522073514525146633913412893714111556816272241321249655761396160262739044545142128921873270117127839641661770277031474861112124223155414251038647778812501140211436243125906804713619024063564715112690747111402129731104140511062321513290344344159564371021512523232151215332489757864771088652148826735145105255146281034141465472679779081779152109611781234314727813539410385476108716314128273324141510667667318206151256323145965174156231310704865120686732183794510406132290324846655661171258289151290331841120258211262105039049811060212911311259234147759215402993186426659067737129180027134514125530115127063414510576109615126313904181510119024543142115829031744769563317702118321641301140296352411151511312872396447753264827788158977310921911290322247505116124710511172232631634175513861783296379814814972454390466512561091512903539410385442625619627903474512590612741281769222111182101329344758866679081429901030711100127131032147615452167861725018412191762026614502412366449251306141793852297610661142312162146280310245511180241236648405115654073008723971107011186125871377514811708214039044635321617077198679751077311105190226239843751070616574188993211037114112170813901460156616581781187731910201706219379743075414624777587739901021011811662741386049052416643716189592481018451190129151319614976186629034149055396477908103291241095115112901375014442151761676611302820398412975820631726985296610601114712431378141481902140313043055966727196854094110262117291140246236243125454610571008409990104531110121211013232151324633904272512161118732890976104111591217113101314107155116222179201810719562018721131227823952411761540217431104585590627275598379872102311791123113206196280310674140590666732185791062109171158128721372144615631170623033171425525961767222141270379146195512651719888119981015311561127713104145321571164117134173626635394103851416456750819094310482115112311310361692290317014415176842766811091401010461111012175131431410915110162971713121817019342090217622662311224137611442413154325470696749687594710116113212240134714751575216901714018511945203221101617082840315544635463641771845693210511113812418136714511551016255113026639845405520654071838419561018711311221213951410615721161421731182061712903539410385626546716787669870101681616250346451955064674848419429108711466124113510145961706247431694170514165277181220941105101159611222791398415355616769724789096531075011111212413133148279133074151547064227840817091203105161114712343170821403514805666108717383192121096115701241132641441151671651171000183219951204721108227221132753481441514761157478419781071154811462873221461556061417116870691141028211471290139014401179021133214144125666197166685599610167113112869139614371545169981145283320245395208610327202823214122743904539510386177125810914814972454390466512561091412781353941038547610873281419401015011797123071311114958151166113026523414530590660766826797421073711901210321341147515520169017539184771942520902113222706237247072590261402751285102925519628313130490590660766890931104851135124113561418715511612017130181167170825083142478575686784852493611708284031554463546361317791830791681071115912706132681410214122023687413055161096711185469401090116612321131114141154316134617951811019720320217222128231724131725289113024134704775906321747821594110190111212371362145115473163217411834194120472152223223960241021130265235147159061247668746971031511310129013621431215110165751717118112919512066213122292317724106211372791330748205986367718811941102191146127071370144261571634217706181011915419621373423411658362597712842392341014211283129901379114977155181627815127913138425356665407609811196861015511371245131311672102389469559662174387892061163219335841215483646722681287922610891121212108713506144181570216103217310181038193332011521131222022314424512552126580274412856129110301163151325733141341303514063613537403890391320406141802426143674490452611672791358241655119641714784739120105261190121021389148015225167411778181461747213138648159165867518804911010103011387129013142145215203116661766189119512080216622108232262441257062632272812812816727913108415551676907818104910301090111771290138414148159616781792118626083814147518761877518319103616221080379143075110628271148848299010479119612141713814167154661677317921843195102011382190221032231212241392549265102769619272602375470159516151722381109103010981119012621329149615715163217483183219662061216822217023773245625102011382465358241205487653274385259511047011901228611312923171412456661099741869197101161126212147134941151221231072463254666138770681071934010321111124113100414715218169617773188116442503320424352086188731822093210216117701270131771437411402156313145151716957160875917110301111061212113106114165152151637173391837195402090213202270123782481254142666271152847294130783173254811402107341410459063417427844391751033911472385379141708590660766835494110321183712165137561414615471678177461707242136143315906847636838291511010191113812548131511491015431641171911810501138211319745252216424788890976101161123512711362142915291641171391847193192065011121973234855666104778129099010901181812279139014773158119623131548556661807122890910321010611351290136514581567169017861181021772217351466574167307539810389761090117871230713110145115381648717421856191102050213202231416221080379143075110628271018706914110138114212259131311489315804164317510187561373261329244351486907321837996310751111612561326614411514616701754918321913620902125622103323115246525322617727328179123073107412051026667831818717972983153456151046437878110992101711139129013247143001516516526171351878175025337914307548067375787919981048011139129013247147701510121666171711861717822580379143075108263347418870291642103911163812122139114761548169517418181270192412022121750224223321246625771261352710628782993230874317973253733903410235663616037840381871134214437816952893356475111217379149855167477668410991810206179723073611475583761871750298323244158866671008187115122873904103251247611077181789791109011177122441366141551542716578175025336648657916987578392931108611751512663644479159861537561845496131090118141228813797143071597616123176118451191932028821556227518729033154155305611179087309441101224111521211113341147511712713110467590620771108679351076111451248613681570289344148056276967257890951101210111111226313901482157016162017124182631990208402173522623232632490251602622027812896299030503111723213313390342473511036113763538903928240173415142994325944167114129035804615418670278108909144101381182012414131711474215131161321767187911981206621110221832348624681797241735741954536552111521216332416755168567140781849141051711141127513702144591596612212563314365326667174788029262105741172121501363214613115227913984675487627177828488927110113119261296135621461115791169017183181040191216206121115022138123115249025477261272775185214233964782511762727116820196610101118111275111525803514886551655179081032959210310167279131954665256612773391112267233824415110613872181512791361241105253690776841946210751150124011396147515871675175029831384820523264178786692591090118721227213721415015507119027023931413751068665725917502983480441567066672388106291001018714127037914905183610407518809813106611189714223613357490551586881790888916710721115012202123424183190414451506390794886415127913307410751206102766841493271090117612411346214751550168017101718661932120952118711121737914985976667103832793710448112021512791330741075120610276685409448105111301121601312901466157511112462348744151616497718887291701086116701220219225539641025476577503891394761027011371216113138151217332384103958196191216249135245305667690710286692301090116421296136421417215642161201719518721910912049721422225723843245062514726127027540283129933063215225393504489510311320250366441554469077728479120110456115651213013551430115651137626633414951112741388417659061387227863910310110111471271136314539151038167717661815119791674222735744454561369078148288969510961131612165135261477157501612417661894191021178823623709465759986104276889509107101551122012107131808146615155162011781187519982047721341171263353941038577666795879152236233114549596715332683307469457236487722781381512791316949251496667148669186107011170125701317214580151101619517961897194320802111522662357124205251021120625038374905305617817129899918211081112021258813411410015901618317130181701910020902190226623321245125206266227100128729206306231201323233713466354336596378131322144035148051926327722984199110811731275013901419815144616950171071851619147202091962703106468530761327526842193411712903539410385129061207321878899010321117712661312871425912062837370246305416113171743895795821028011511253139114661513016801792918810191312066219022132233422432255792632277828312925130323117111302870390430555906417146847963103181110321271319614131154961647617661820519119205721843226123886249025132268422777428821100211031524211537611073058211937101101110811221113961489156616307176491845419613209021814222882396244462578726774278211342101036641205227670171698808953910220114112901318314168151761615517555184891931311137273531373477566695779114026631131473551763618379087109106102511142121801351214161525616951730118651181727037114116510461976688977106611110125013320143151422591379143075736239754083197310471137123511115266344141045103069071328869407101451166124471172741310047051806917165863965109011761251131241141551577166617431859619303145279133074166512061387280856921710511110421283137314234151921612717537187019591205121470226422313524315251212261402767428662990306533190323213336344543585336791373073813539774408217012103379143075906183794863985101681166125451311014301151161622717129189519547208421109228234824772566265227320281511134219436643015248614171114813892801051113111266131511423815336164961731181137192202041217022547231832490256026750274892831311127413291430155267071398115091101095115512116136814320192229636647975115631671108332925910107116461229113681414681591116901766181064191562090216522902370124104257502661527902864329621309031125322973380434315352933624713755738110391714085413094219504347443324580466647791489849153505615113552132553211541021111217379149853165517628249661030711514126613511466151801615011121737914985316757755881869496109311371261513351416915228169321790218511941920202214972231231026151279131866454351246296766867979110499116612183135761475151325162101710201512791314149052176643776683192661422963299441851203686710188119751072111286122581112173791498551674724185595491051115091214713461458715110164117620181551154251315042965666367159890973010901127212590131061466151216101171331878199020198212312210123331242832525826672745285921911290366417157261507781572551390422759386216710881319140210601111012842136181444115141216418175001841192412066211312249123216241082513726183275128662920303001922223361242165626677751486691901070411121737914985316870714689091461014011511293138111413515371612117901812119140205121802281123145243725484262512737284672916730723113232277337634133359636703741238147394540105811121737914985463673179089819511087211981125411337145301537161412179321887319212073215122612378246162545126756275142866295130663140932258111217314245258416907920856792201037911149127881351143211512416661756218511966201502181215312305392413057065037106814391821077116441213313901419815571649617661830719312050021902220223321245125662612862725819222233791498568630775408709620102611125122421390141021566166717451828211302597366412657261507418909539104711901210321372145215320161501156213035141385130631749781109192103211661210013170145115701616217511851019255151266315041012553961038772830294310596110023883881322823514595990613572118388970610320118517032491377460457506273786110421913414640510326135718184239998132272931414715596125790824192531151211673414142523161107119880947103611901228911038210531984965277651079689095010161120169729363804765102114429031424515264658477845491610143171725643364109586413082137386475416451777088401112221773146464510862917556181241236644451108267315244725506722732181889901222276336843254569079289097301021114027813193419654165327781959114103031146129013401425117012550366241205141612674028184141210203904136532649731284841420228534774141575064174708959422173629033274750556612114202503190411651716325113424703904111559067067531814091040103921187122611372365370644154464841142290398450530161341161287035144252174121033110466537680172278909804103491131236532534415142561067718909861108611312313153744451106544710181231412463167444547652797381461562186312843558726542735890961152428936604121058617062413536480510699819029103329410455206134710216472133375045656711752413377496510166116621073177490535064573058135931210239119012681335149015148151290375049605120671735813297101411120112171331911402781353941038547610879084659521047111511290131038137321103414202576654722281329115104311113812123919621013155421451041577256365412659061117312156223631444141575065678401522108378450659863711562900310324165533267507508816192801108214134342025476451715582089100010384119012691139011349290715912307172622711752224219225363225157295320711482110136111112120313641150111621253904101153029781791245390412455122115726235649515624531104282559618132990370647415510677101915126313904454514211361241344742475966787132875092181782171390410154161441309245318061962123310841615331196210323412431619622513112474819621423367447553612882142310384565138657074181119615135242235224890525963911701264131154218513261317131814693661128124134149451056160138728631314325507115021353695413853161080751981073915016132647390429555906207537886922011382770313142225566117109818111312121367141754171138252334244151466343137021553217490569115121243222450019352903714965906227112126439641210541269072611677296316482057476804711219621163701434754164067152810215262277313742695761491143727439284905816177120196275370143425155624972511412130039043205801611573285089341196255037014140575691774188681557212032414247518266297751812161121254839041515476787840115226439041325966787147830111482119317458526211038263732404137196250332047815766190713761367241366461590695796081021372510311046653768017618909951096011102177024134114791590617779082969321013811269127131491505273324455146610661516216531214451511819262131396146005227147211303844148532617214122153135490530764772158519185151266311433957066142753111312820397747595570675871478111962911262820330749051016741714612521429231519023003596144923871277242712472340151277332224207141235390415515626463142424716762673271112627663882179124539041406516815621403414251598675171022823441451058611781349270634144915316748113323803743156996777170892946610411151012596151263139044545176116624334474247515862477773892157251637644355106596153021103460430151186216713017972983924413555104619074781355947105271190121851390143201550162511743188219265115121133844815771159429638243151036696737895111112155311214755116672716611392917311048725567113825237141325906877580117026631614164577361771522713904132513565671182339289110002121345145625222678737814914122023571474257621271771130269931414170590682314126863125470854164571468106614122023541432531616215282524357545157862551412737390412105320641745881814127373539410385326317222141216936684222541645743614127531304636595652176558152910214123534844965139141253632054125590612807726141216931043412554881412280335487153076457161141275336412105666121766811195861572217316149051426171715387193061102524183148410157416957326156231310704165579632173784594061572820397747745606750710687669311020612992983222415151846767548222968105461962101315542145130113027023211412830316144751016147216931204521512113324245341145231831471706224535571172214314215402553524115121033226475651105241381441525141272231224415211178321103414220114022063924811112422693536113025838817012132033004415132014121008332344751019113422113904412520762631732246231241102210673842191295134145921450270232054827151215332411255626491776841988106611812901315014511553816321798118471942120222211402259239024247255014122223414500114528373841662903904905539631714608896932110321190127613511476115661612017321181026151279133141625839619671378515959214727537490514065175388329981105711981123113107014901513916321111512120390444651206971776821493210551196175021117390417155162227118141992108301112012107131714141159216420171241390453954769071032860979110791143121471336147911512616161179125213233457254326327141851922210137111356121113141146215701164121790181032197072049121592290236724507251112643427251281129141309231511169227413446196217134111302140310434915220141270363443590617871161265274139613226073219421358111572100322243254161401572145314642201540226352412815724132224536162211382943916221134424261622730310749515598190214437024500157211533874842162211310614167162211320246111622563764781556212131131152264390413259667874589719102615882221138724131310193242322241051170629603904981578148821241100236390460566640611712706355345311129023734781497216111552653901110321673457437115722173164108751596268774017352486368456524168001140259390495541695725417321038312141450598115162165356484510664173208270197123393869490554061167208899011842413106414653886706756833011122217731464645809612771448149922111552207361410785821161921231424535335134021032313746215826110724181049304114021103110144652701613218432141205716300114026773164115590626411902713783495611402321338249805115690726411122275319047157836956152234231554219558169075681189740152721423116482568064601190271378349561140232133824980511569072641112225503983121825043914205527652770281209861103361142295131154905113632711872395011266210053904754553215223363187453557568287308111325138242055107650750281448114221463570445011902713783495615223423155411352461587375815791140232133824980511569072641112221463454983152234231554102532631745815992701165290317547705706907520114029963762472859831140222231204895524061767893878399561140214532274773580018932783395611402321338249805115690726411402143314406598117292465356414775130169477441362281039041075416907218890924014122023108412357801122214431084237132216731654173520624715123743904861533615621363904282511066578138100936015225033204786530614722923324245986325114021073442411559062641562320319149052401562130032384709151263139044545261190221431944124510067441329114023821730219311452941431237731231130254031281148235638824139132214163904139116429432024375126761391103828823152196211137174110151331472706327143061932423263411731730219339042415932173628539042445906251193242326341173120227313208413331932423263411731243230136011108280933141073193242326341173181321363103433119324232634117314122413822490524161931932423263411731502903116413111282143222470659562991932423263411731106290390453951038650756811990103511932423263411731139029031647121932423263411731112610384414855169807518123799010311115391210381391814311512861632171521932423263411731300217131207490525161257111811911932423263411731782285131424551521561111932423263411731846231310141205757611173785419324232634117313602370315841396519061831932423263411731710298344147325863701161268368498551193242326341173112626813181420755041932423263411731110821821932423263411731136218136641932423263411731136290350411156719324232634117315302110358047859067637698544955193242326341173114527923320470561461117177837954193242326341173112625483331193242326341173135221315143251511932423263411731962106350419324232634117315411932423263411731136218131902193242326341173113621113686429719324232634117311452121131191932423263411731214283739046821932423263411731702614311141775376541932423263411731530211035604160053886119193242326341173162321013222471059562991702257632131100261237281148623561702260331032420414682673631551218359315162193103611822176341410251761108241734141025417125622501672429190245432011535290312811762903892111024603907153021163633110521553914730132232038749051701312230312643752031117281312761842219381477112202130159221033197121243378420613122363964103753769521322141313241321108214134141025141190226431450153290019362941572128111727351312230337421115862401152245833621289222512732605113221411535290312815412903892110824023414102540219021463104193629031041312207337427019627831324750578018423563110458951051184220237124491577660471018853970416821241130251312848981245241355145651861540211131749185849113729035034905153121729639816392115390412916392502386170621323564951108284131474650173224135461492211913414108581811082355312244775476108727011102513864632547669074183195961140258033874785147613761732241311641492273834141085365136236131894595145065611522136613221083350173228237414958149225393904128541610872141362361315949514769761732228234414662149227923909441510864871108216031325451852661150210332224105111112201321941301622230336459651020156238132701902423316613121153324341149729032024232178925533491415515652367311141178114727023143242151497277831606111423033464150510663177481147251351041210516417352513510425511222513714905433129422753459417014825137149051026141121125039041025141148251371490585369221167290398154126115127063414108520111502103322241051170265341490553961038717812591091352903539410385386466717811095010320113141112683838411435996177528320915011127413730453951038690746585295401047711110126011315014411543169017103218471981320962147229723902414225472628327962817291703061314132510337234433559636302135290353941038547666767382781492101390428755562877908101917101501111031233119826833074244581616371270895987110981115012244137514204152321472903314552568633371508533926410110111301127111351145101519611127413974110581641274638903990101402114112287135714661562163261725814729033246375906102766871975110539111038123113486141501590162311790181321951920537216722101123212249025791262382790287629544305731803266331593472354336596378121902701374141110566611017119810469351041112041227015626103227457451506301762870915510563118712454136131490158141628817695189619750201121124221051156214633584709582069871208861299010316111401228113277146181525716108217107182681935205216722952328424111725902613727804116627131204170513864271668970925110113811104912166613133144181514162411766181266196820143711672313131641505996377908791930710108112821215131371478153711712613820498551613707183895096610471187129013139143715931681117414184541990201322112022155237624640251832673627135282971148251366438510326767452810496310901144312190136561512325367241114566611017119896197510811120412270179729836843015676457291835791241024711751224913307147971530716735174651867191022092114829235549651026477788128791221011271190121091379145901515101676173321845819540202821686224112354024862559269627837287732931830133131903266331063344735553696373238511391437117024131325490526266471076810909142101038114751282013981468153011675017910186619431209021321227223706249412510511412943904147590610327378909251103211901242313901413215511625917511875019110206621280191246831104415541637769584394621072113112201350141071158861791269833134142566569674468131966101111109112931134234233414496514561557454814591861014211202121451357149515631631817247181711918620662190223552330124104525512666271162894114023423654265516069071356894946010215114491273613135142971540224131104747534362477152853929010473111251216013901413815791164841728618259192792048921412247923155243225141426105727662812129282301083168732542337913498351353624937736381353929711121737914985508666710483039476101901190126531311914901525716796177181296199020722112862225817121503364454532637071108320990109101166125713941141615661643117901832119722070621941221051110421703664136544164587908229113610411166127213180146761551166617180183021791211723150490516664175584929511049211321282131351410215232163111790181671922020572166221862312861797211723904166554061467718138989810307119012132135114512157901614321771872194320596218121170270317422155656973790813295110512111701270135491420115520161811775018533196820307214562222236624427257732681151279137946653076429761842297911090111771211013139144121546316427177731810515626273664124519764371478105966101271172121101350143201531917126003514665150641790853994710901110321241138614901569161036173218111931820372170522322311241702537266527902875029373072131323211331553461354136783754038117394340147415642187435144664552463204715017126003414791562612071008540914610711162121251352614574151681661617327187081940204421432270234824725662620827902823629673083331663243331863411535983619237152383711112173791498570269047111886195741016811616123271346714235155531651417661874119462096419221003904401510567917988106910481032111321275313661411615661657617223111217379149857026140790855599010165112361215813661490157081614017365184451936020662179122982315024797254142617127608287229433059631812111217379149857026504732782319621024111201219913750148101590162211713118701941420131216622128623258192225135514625246120759587819701058711409126613170142381515716414176418103196620307217222812234324596171260034147915443614771802866915510411145121501337141351519016110177531851192061752663754774531969677184197810206117082147358418151206102766815597731010518021460316541235376877908669321106711102122821345149615691156262736641245264635761818499010142119612110133201432159616451781011175215534014237592066676781794011032115112171340114451594815127913794665307667790882214222663111345253066517668116994131240731474162568693783287799010131166123071342147815591671710918719703207211025226723422249025183261332766282162995306953145432613339034814352883669537963810103966401654110134212543674417456646324751481749665045512451702653414905539647790810329171012511109111274138044791530769073684549901026011671253913411414401551168201796318961960620199219022662352724662590265182770284872988630903118332303338683446335723631372273876039114047413251732513422466515567578478909961081119012837137731428217502983408466530769674118669131106611318122041412619390495576107271568110913310833116612663133321472923664110530161357121853091151090116401237132231410615661610917295181101990203212172221102350243202531414129236641105301690736834191451036211746123431349814218155916133173018311986204521622211032315024472546226327271391284729116301253154332514336634513566363183720414512340379148115906260712981468991110901166121064134121466153071667174518282179724253236413959061777768909209108611371273139014345151716811741418778191102023621422271234724786259626116273082819529147304531245179722139041215202625371281881974510791112191213513371450315901618917103118820199820253217122296232581712600341479152386202773387919307109011361245413901412441593316170173718139191502014218225723976245302572263192796288091902811331486951556967543831945110961139112126132391454015311640615212305321249053456907668750998101461131122511312657312443259063107193879901021711207121081310714318155151612417189187101975020982114622312326615902791390417753136808739828698110773118115902401370141315222630171518300913110611122212110136114682156616202172321151261939749052826695796875692110106211121737914985508666715868190941105441110341251413661451156616812174318596137248338114117566623772368679451032813124863102428251086897102889945101851362139370643825110635764689729605109011915126613456146031510581617117175187661112663741431536632711814191043103521111123291328911126637414315366327118121920110162111671217613125142371569316121176618111195861112663762424453676357143815998010351141129013539141038151716125171091112173791498531621077908146958105861186128813110143071543167417901813919869203272178225123503246825262265127510281243291430903111232142033145134716358636883758381413943401131414742591439644195451504618447830487749133151275639349058669471018709592101091123123613756180266033104375102656718782109122107211431259613302110424713904725123690725987979115107011113812221135214213151501687175321890196020662135122622313241132512826117271850288294183050331683223333234136352593648371821385039474091415042904366449045320462534713048507496750104516752371125323135544535582063077128788192531071114511212513109113427139041355726123712087192191066119312832139614446151311666171118109119931140266351411351226687791852591351055117212314137214128615258131212636641205791670760789099510761187912901327514511565316582178618511966202021300192212636641205791659779089598761090112751211191311014865155116487179618491191472045211058111217379149857026747568865096401066111411215913131146411553716111177341841193322031215522382375243725452610427852845829413023831373262331703451355393670237912382653937405274120242338431054441456714614447414823849790506851665278531225472551505678157254133204905786417332869394881079111110712631357014411523816514176618741194912072119211121739347025346568716381109511031115801268133211437154201637171271837195902097213722471234602475525622680272952837292503090313963221833174734853566365137663812863925811121737914985316843714781802966101551110412871390148371561168017332189019102203391702653414905539647790810329171012511109111217379149857065927418319636122225413124466551654374183196361512663204791559769071078171911610113114261707213131164181511614677081222911010596116112296136614101151511610151710091866191832072213122292317724332170721313150453529061176283129611029611661210113235147115621624179018643195492029821421229023862410625532615127592849629138307063126832102196297131304691511066677538179941041111631272133114291517716106212802146325646651406727480826194210225113881112741329143015526707139811509110109511551242132251464711121737914985356957110860995231090117731281155226833074475590610276681409257107901181012901351145101559611290290381847105454661379088149288101771126129013454141241575016124171051181724723340490566649473128508922711121737914985836342766861913110150115312290133451490153521641176618131193122010821342226623571241052590266227312287062910530146317913298331103412535188361166180265341490553964779081032912110201111251210911127413572490514262977135844691551041711981220113454141101557167817901813219120208612110218672135371415554761771258109175029103664431590632177287069941101051157027913854643554067071008590928010881134312721357014177157911672917414186619722031212922177231062113021131747915176517557811195810651190126013142145771547716511751018255137256138443554467077281509106411302513477474157366957136824195401066011411214113104314352152121643175101859611121737914985702670718689095610149112181241139201466159131611317790188101990205121510225961782213103157410385906103271416890991010661193412661373114190155741708220836094754269387478652915210130114112124136614810159016721796186401972208102139917022343358413853596717326866972101501171123311372143191551163621780911708214735841815120610276689697110411178122061750298398454053076161711081839125103111251170826563495415055761537570821191161090211159121361350141131515516451711118103419576206621612217217082140375450851750690729686694310321116621216013511477817721553214147554167072140875980101290116612751351146615311629171771833214527913202431563761107908124929610661141812947137114668155391610381710618362193120251120229033244415140689371098969762107111113123371326214106153621631172061112173791498531649571388379102101201192012661396141901575016147174518948124429034144185906132751842197310477112261220213671412611541163417312182751977209021220186281636641915702614740872981210431159618026534149055396477908103293510121114112831317141101550163201731411127413790423053016156713687294310596113021730253931038414153626199735685293711150241390453951038615674187169471060611721215013110314331171247135347915307690713288889391028611811277313811750258347148565335649672188503912610387114491215271366147215106016621117279133074515806589713084292181010521154012538134314580157561611017661828011782683307429357416139772843959610812156218338641445750656714848969106106811156121301331014125154861665517454186131990208142128822695239624825750261242710511797230737354465567610272828695996107811371141294390414753267537668969106106811191213713721452153201615011032663103432751316886717281109347101064111331662313364325116116766857692231112173791498551690778810898110901110401257135571459115169316131176618128619258192213831084535572612972048102015882663414980518461037244881192811096111161230813195141471545162451512150736641101511969667908129699010721152612881141210433352412551091112173934702557961527280855991121011011514126613262143115126416901747318371986320322151224712339624107254562622276628962948430223166321843397034195353136614371303866395224076417504224217822108238942625398677442839893231071611104121501316414346156516790179861871990207121106226823932483225962651027662811329353084413282903518431548069674668110966109111751251136614103315246161041710318661980203202130518821303904889590618175181043960910103611506128813701486815444161111789185119930201332196225102366241132535269027246282711750224136649351016967510866931010125114861210261335142051192290351845705906737378146291347101651157127013438147815318161651741818930191332013121112122902354224265256542612227398285729117130161031353281112702706313549055356967304811593121035011811240713661431151401666171911832194120408211732266237624330252711872903315487051206241720883019208107211319128351377414271112812393247477517862477861175266375477453196588766811947106711791129813104148815661610117921129724463170441256665037843879199810153115611290131402144115287169617106186819156201302164922454236132490258142628827695289629830104311193266333534308166274137304132550869671032862594971027211117125771351146615110165017320183141957206621104221923522432025141111217393470564864173986695010181211144112381372141286152581104210803664905443616277281379171018111109170722613934415872623752381519453107111117126613115143501587716107717120188721915120592172253123902474257062613127113281812984315128093414665184614907199857915071011511131126613111482152511613517227181431976207502111151140220735142095516517198811916010571115371295213814144781548016913172311112173791498510762517112825291221014211254121161310614193115309163117226186619412028621252224123312111217379143075316177778789294661041115101259611121737914985415641766841391551014011262125113310141801554116710174541861319902081421288225623312462725662693277972898291153030131150326233703415535202362533748138813930740128741814271431104450453204631411121739341353326368719378155999109811781237111002266357148205307664276486489451047211808121361390141281518916117817150181071191662090216622321231462463625282261102772611008266357148205986642740687019531102021153124013144144131590168917119189019406201512111922902317724106212962453336144415549628978618959901026511600124931320814433154771690176421623274132141215176110750832093141741273034774615138671711981419171012511131717412730313245085113641761089097301032911901288713354143231535166101790182951540227433234680519266173238672917102781140268314249651536166725084409532107511773123711826230732494773598678737117022138396417753664167218686142524573904194159161417968899136101063117112471139601138242310446559606853718784198710661190123201351144911532169017861182321144236371422057625074187199010102113711838279932494132537115127913966424751045675713258210923212742196374216576567150811039331132215039047305176160784311127413103490510326767742889091191063119012312135214587153229039041425516750762810329782101511646141253139049051426517300817091021073611110129601140272237914905177619077182801772217341425052316572796884191851032113291256135214320153021912706374141155769074108909601032911511238813321490151406191270637414377551612173128329401090114761234211712360363411051962079183609771011011300126501130211374144125109690720183319137101711141129761130211374149615906103275289641208245037064111551651072551130292317141245666987528960910211512212312244805206791730781469706107411151012713530113026523514116566696712087929910170112231239213901477315811130211332949257612175078736990101111901286113102113026523514101510761207717084819531017015022073474335141245131674222515115725032354121051861772140373041020183223641832607151222231141415926830712081079171014111542111124793853117236345942051372479350411951051532351314211612870351445511500276375041071512713701471511817022840311544635131628171281215211038861522134361489510268977018208942610200137210761170211631004905222651715715812391154222001512101231104768551651073911277251315471512313700487517061801101721103212436511512213313845259171322108335011312121371413159066775261138212132534525716103112132917311048725543113821139745257161070114022533514975811696752841925310125917702804380948375223636778820615126603124424754546201123422613394141290311045241412903423495572015129039547151266141290310241615103864175681879511090117112524113525637524127141275353145285578651778825515624103120416151466417104811196151976233937504735511067871408419104105111187110402963732470855536822790851893110206187275351444550014125363205412559061280772614121693104341255488137329832224375470612174458701965101711100616725136304165590620777828314917108261492220731884905220157235379143075253634177181779951102081156121791472113324920526111451412145147222634141451112225503814409112225503143410581482753143422055806486186621553132471561265271158690917710961137012116138214680156221115261037549051181202406396413759846658124722963247414265130662181522713101948251896907250118929031325449257516921782273039043275735624148421032373450552962418462576321318572142395476652711272110322149455706222723187669606176621526331410905150669611222903417442851176226752831894381612140036141715861912903385410161902583116120127015725163764435611690783867714829034174428537862267118500970104071143817622053414861112446347149471412106131304861552130316511311211211540292313115402903185497651886972720215627133141065686105113728183110412052111180235387462598137212033249051150131266332470711112201343474814723137481562166329642701472113138457151716417552137213837641715416137614972903202423214225363161487251791138229531431540226039544971121215039041351256791622135536601582220351415058221622303311043921622138320111502103322241051191210137754177142121003354155190266371043451673213732514465906567718350976010111111151373229338419622713871262231315624763142412614822673176137210139849914032203314436550469077738766969151226221621244134271962903103241245540678151257394011332376148029032074452111921671512193373041121702210535314871708210538414167132225117912453110456651111797290312341085186116123311797226035849517972453904773524765761512773324741210513717972453364410451322110363475416490714781769121010176117021413321747505147645716217972453568413053271797245375842071797245311045665105516729034544356115127913307415251841120214131264402513711302503251413555166447588170151252382648152061111220132044672512806527391111025138648115135647710882701102521423312544185148610177418146156286939045405332611674181429952197623393750473557506877741878914615223423654415151651795181669901013211511246613773148111312113146461590696071021512843664518515211290290390481858826417348150951103411661270213141431158161636175101859611312202361448051566717263115026639543254821672913525417105756110720989097971017741155812304136961468515402613525421015402613551475586767574631610217483262456571612821300214231704446112428031184119590645471198909258141290331465956563081110279032181712607311047305666132750881131109237131454257510964317265172251339041032545415402154396487958061722103390410325731547296393488113126432024965226648679087092610761151123213862127322613224114423131350449653761350711837913810371115161219213317111028383731437541161062732886218121075313084722525261507248759901060116612343113726432024315130061107103289093921021617125131345484759763775183292851030212022128134048751266634742281379262105741137124111310621432156041130225341456557163307908849218105211221123521376129241353541725768675708255914162251137425354161701710683794116227131464206511066673191582100135148055366142790811096610723162271323449051426842723689098410143113061102295736141440551680758286691415821813142415054806269731983141582713224496521562307170858098210171135123091329515823132644501521569279081032941102061147122471350515829132164975606750771832091091582100135148051306667908103298610135112081582713221450592677170810692091011111691126631337143061582913257497525761707131814796151050514822573158412852015723636094110535562977518110516552953964108051206920720781259774101651572139365411154816110766814162271314147656669573281429115103711302923814212537652177814113026133149159061001737850511302613804283590666713886981090116512483132210343904665703696717086693071013111351225113981469515961681418270232084415146634679089519342101371179113025132154313541653674181139351021211461141210433111411155110610177141322903141149052966136712089096210291196127151329511802513104410405692624772584398910115115012320137911121731481140210133241711225273241495517117211311546365382610411522250313041375641151236631014155305626715381411512503904287571656192721013222483854668431202267131279431536632711817869671299211034142025260620978419662859347419651266171151295310346811272701310954780582156268331032473547766775338861522342310142975311617076183429411040611297125024063327414375130264911902956351474055761137122831311422379374715856227151271031325417053116170174182079103151222231504715546665790810409101102311110411211113901479115130167217314181011929320140215122802350924483251702639827412867029903038231140325133146341503510503686337106838903910324014684190429104366448634559746904710248664939850415167052955316454157554145664571114586659110160119614762551632816490658106641867124686669117081171101772205731754746675517666771286782581112173775114021031122823021539229412472289137254031580125823731782235039043881830276635643401110239231210428019602963113042915092353724951118231614552353460154021293514221512563714493513513712171156230033101610211033041540253031104304154021150154021323268154022073689121125137064325268671615127063324136553311962360147222634143601312512337413001502562111625353570147215431024282532610674781549519103211535128201330714660157911641417454183219791209821103223723613247912541426454272292818229791309031183321040333943474235206366637708385713977040840416642904332144354590463214747481504963502225132521153475415553256930575621512377110727013207113727023341157253325319612562112023113150451555467712111502190343448252701322102314119024543567112023741412170390436011382703704905251176270316942111772145631104150217727723584951418245332011121264534564542112127531204135651170111622483835168029033711322224350425151356517426817995951512323314747583715125631325117023113925147298633245153216667118369547104211135613122013584187137220132234113181219338141635101614223653110451512661081322224319343235871101262356418717822302332317462371111924313377114621933766461535115123132131412222376648311632193376644351446807132219331104195530714221413102613126283741615533671512161311843621782235735534356154025131614681512323466414011362283712027663105614122083115612627663268113502513190485386151270231432474211462903301195625634121917219231941412222376642321111219433741301106272234521540270734144154691472503127154024735041271812193351463057417123031444905100611015402713205481051561183295310749515598110127503307411055163874871352411311041935686907240870980103211196715227813193490514463457497823991811030315227531334425522648730715225263421418151069634715124353568490581671757830811312512384775666355769411522983375345757165057720119121513110415518164677278192222934446653162647150821937105271522731390425355761397560123226635004750587618271055847316224332994585425153029631104263531626679684019371046317621553967411665201611711106215536849058856367471851815172903885431657151232296382471557610311312963510419311112155391473057026656751587397971708261135404611517169772331156251331744160057696517268890988510212112471250413221151270637149052167772008567152210831384130538264981373298322243754796135754287930719272101322242275138196210131484355816717561512523764140597262627578641110828263365430657086361787861794471512710313254170531161701741820791031472767332451532166675186697110151117916442903321490565361068775875977410821768235117532241198925511893238116922921197127395119225363207178221303509170821423683170826735901708232139011412563434186223114722263414565231146276638821712105312815402567389217702230337614627663882171284039045151051239290350141201412304318614352240339214627663882171215331032450213024551160296327741342528865176821462766388211972413414510576117811972413930471051031637213129703374107059066815726503702444117624743370146276638821706256331422513727663754151614627663882170625632314224513411312713904345170146276638821512631390496151421118281377115725163764435510659615227703704249146276638821572923317141115339146276638821708214037542985316356146276638821932522381416211102567112028431051174124539541206151226615402513266171215331032451173241318472191160215634641160210139411602287341211192246313343101160226531611452903832451550818832731144601460219315125632314715552156274039043275937692189421423551413167626735514264151298347143361113024415932963113131287239642075376504132299311681212188196278331426957217352465372415623203165442418932160313143257741512660312911232131110526051882111131223639641037537672412129032224905721202253931038447510863297318156995106131562156324541435171631755683299010751113512329131371410017502873139417053116170174182079441522106237744313556611607281841954410201115212332131114500154701660415662130117982360150927116752163175822421562683332018782321113827663951300297612022533340490532517032713101248551138245037024225586611722153215424178224533041352422352241161701261320744452356251708241340645651019121023535044155164371462413222413901287247326318022176154022073150158821451211252326241421138626631014837584151290375043075120692014922305373144151426591350212631531131627638104815110382763750419180429635743231732268151229032581782241438642631562133031934415140161529231204220112229031019170725539611312923154881482903681418152076717221812095211312893154881177212031674625307113024513904927141222235021922451399049059171116256327247055496327385879815113224521512193152147224431354471729303685496114229031521153123535041472130332447148290334415011729201531212534451512573132511702311392519021783305140122591272345126124071530219334143061902113320473519021443735438915402133327515402447338815402702331145561512713910441524611270219334141251522145382493154025513103244011584296311112929091480268711292103311172101512290325817822414372715622903281490561615222415122731802251313547665351610751202766338518342100712627663116412071711270516724533364319170224313626170821303675170826736701708260235091708235139081708224236631708222734161708210235001132752393017082209395017082142372917082923730170828935181540219034141409111122013743124121611107270232601137270235901562166329642701710211131244710560161201120254031011472161315111402206321441331472113110410435912147211313843705253114121163151211332492052611120231131504515620147276733245153216667202823217022142374017082803155117082242368317082339311721540219034145445120711121731934415122062247301174127503167420419021133014415311624215123231178497157217031079126224831206241363615124353120417015723153120461119225639514724531264107514722263414565951540241322644155669515623134904190522063217278876696514623291791270234594110514266121708210237411459261322960367496567418621020156215631424232523215125134234315512061231472226341412314232386146276638821791278835849514727323743255065147551170228403115446351316281712815123232514110518364177881481512963120424757666145154029631574921540214137064741551067711781512513423443551206170147222634141661423238613242429151243531204170111022633121617502903654105552011226290331841086110462120396475057116718162290356011312512384429151279132514785906791798889417082247347415141708219034148151906165170822523138451552691714722983155410491167279139849053326894111022633121613525083332441578624617022142385111157223835141708210323444153724139641436111572238351411121731934715336417222833926611222903417442851171226281372428111982413414507148290341744285217611101226290370911462341156271390441550715629503514805224142251320747157630311112201351311072473166137727023561170221123120411111212753314162170823103155438253161331322791330747881722141343414216272775381132279139841535561675720481210918611482110132421932157131623611530210236461282211013147170124531164180151211034142465229631514721973135432551611376881259931741235390453951038672711085093201031915127913537422755746540770842591551077311981281137731434915127913984153556167574548613990108141128812750131241426315123113222434815621132641001172131735117062601388118127132241352422352249414062556132279133074905113217229032624671322113351457190244310341148234714722263414341112426341512503190471511669891127021933804730173029035141851813290362415356501562110327843351562442350211212353904111537634111482110133041103821101319515621663200147211375196210033514123511552392312142211702101322241421741273031561747230439917472804335111882151132514402111352013224133114665566150723984797001346234011000251360049611990290392014772442174121403282426315402313456496537638110421193904437192621013207421013221162355496184328103119151270631204209578117822593122135242235224134712027663976114621481530225236415702903130466110027531204325906108013121603374107059067912027663166117621016190258311613125703964104619621303219196246034011362927139723011226210531112212163414645110611301472142311047501472673110454214721032311044771100029234514960149021553351132290344643061867266380442541512923591540251316141161320177257014872643110727023270135290375042005740621117126003110418052226771241211013146144127037404576590668155627913134921544141227103443179121016390468180829631761172215532224755773151222233981122219337024415439620773468171922610212113111482702341443953846115731282269212101071512323314716549113721265311041205211151321132352471147221023114441512702342441032525625120222231274171517112927663100476651330619376783599611146211350045445459184623137824778513137261636124131112417322141851284241322241016510551725290387165124631312201370846714572383708467147247340113427813193490526181251380431451156131146245637243718125137042155131712153335419011482846181214811112549320814722263414208110023071721213904565710611071461270133471721813701464715402713904791598651073258510932616721023176179723073465445510264171155225131451437282113772702343712932702340110727023131711482473591103824732411962473731162229535191104211939043411102603390471111222550310241701262334081211275329646651566667183181324623168415552476799715313726913179110727023132012932702344314727303951459815122003740112229039045171200216114652340148290363241527172821611465240014721070312547657026614151216137915728138664841149122523134013121373324442174127223452113725421741242637644471472433129490516564201322141431442075142118221020185511072702373141210032224475140187228103504905781182211932224149017123734614971392832399139211231141112224913111470514821323111465514821673222459217125583504314193321403233174129513112514072503940113121103361427115121103361427117822168032231472222312831497251012212180171226731321134278131934905119655615402264317142311322791398415355616155720481210918611212752376497110126637141601302210332224741573017302193390420013022228329217412140320311402193341470515015125131934105915122063152115124132224314161227413751772702313016122513714110550172241354916122513722445217121503534665220151290370446552916189115627283625119427011842106151231348447457091522144390475533514722263414755335175233538104905111650514872137325149657536247790850924111312153418414953141702803791430759063674548657925010418118561298129629036644465179625919624223155147278037914414545463279087694110459119814722483324123566682073589591491017311157124291364147561564161861512791330749053664547657890925110981169512961367144515500162481512791398415355616677458810924816221243247445451246613790881492881069511961281310101466151651610131712518750191202091021207170224743103248111210210323638113721933414361766291238101532222325436176623043142411035247618711702150367149055811621519621503671490555016215152328111768211311762210118312732211205273114151219332374110162211037504349162240384143481112215037024772541690733911342413904331151224734747665842140714124071472226341440715628631424632510791482267317645071122290310304119191290338541016148290310804119112622714722263414201251264197211521418264733741512146359615402513146459615123635964140520116862921540269231304201154025713766412052011397151219331204860132279139841535561651071418510932514628035748217412113372489180251376464015128423904931472226341493125126631861441250931104131157215531451902114393171260031104180522261047151171211337949051270129721553220446169522193904103122822603971152261011672243374242171203220237064443174121653904795142690768616122741373249718302741384449113728183110412052111126228017912453120456651221791245327712322198152216137571200225232651512381311463411302113174388131277341453213724913133441577137252377441551613724913133441577190212434646417022143340466552516172142370049056466679211502543222417525566717410180221531343754081412106131254765476821200225231101437165328435019022334049051041130211366413166216517024437645017628033541075131130277732044241190250034147301962500311614702510819625003106349052051962500373470257211302777320441421902142136214219025003164474217412142390430051421902893148”

6.2.1.3 Cumulative Abjad values of words and indexes from Basmala verse

This is the fourth known coding pattern on Basmala verse as mentioned in Chapter 6.2.1. In this coding pattern, the Abjad (geometrical) values of each word of the Basmala word is cumulatively summed and word indexes are placed before each word cumulative number and all are concatenated as follows:

x<- nQuran
tmpl <- str_split(x$text," ")
tmp <- c()
for(i in 1:length(tmpl)){
  tmpi <- unlist(tmpl[i])
  tmp <- c(tmp,paste0(cumsumWtIndx( AbjadSeqofaWordSumValue(tmpi)
  )  , collapse = "" ) )
}

print("The coded number of Basmala verse: ")
## [1] "The coded number of Basmala verse: "
# First verse is Basmala and should be: "1102216834974786"
print(tmp[1]) 
## [1] "1102216834974786"
print("Test for mod 19 to see if zero: ")
## [1] "Test for mod 19 to see if zero: "
as.bigz(tmp[1]) %% 19 
## Big Integer ('bigz') :
## [1] 0

In the coded number of Basmala, note that the first 1 is the index of the first word and the following 102 is the Abjad value of the first word of Basmala, which is Bsm and calculated as 2+60+40 = 102. But the following numbers are cumulatively calculated starting from 102. indexes are also still before each word value.

We observed that this coding pattern is multiple of 19. This was discovered by Arık but neither he nor anyone else considered it as a key coding pattern. As you have seen in Chapter 4, my book has a unique approach such that, I hypothesize this kind of easily testable codings in a few special verses, like Basmala, as potential key coding patterns and expect to also observe them in the full text of Quran if they are evidence codes. I call such evidences as the key coding pattern based evidences as presented in Chapter 4. I did the same hypothesis for this particular coding pattern on Basmala too and witnessed that the same coding pattern also exist in the full text of Quran considering all the 6236 numbered verses and so discovered the evidence code of this chapter, Evidence 6.2.1.3. Here is the proof of this code being multiple of 19 in the full text of Quran:

print("Coded initial verses of Quran: ")
## [1] "Coded initial verses of Quran: "
print(head(tmp) ) 
## [1] "1102216834974786" "183214833504582"  "13292618"         "19121473242"     
## [5] "132215831964836"  "161239231073"
print("Coded last verses of Quran: ")
## [1] "Coded last verses of Quran: "
print(tail(tmp)) 
## [1] "113029073111141253"     "1902232"                "1362178"               
## [4] "1902590375441496"       "1741288339734127351415" "19021793327"
tmp <- paste0(tmp, collapse = "")
print("The number of digits of the coded number of 6236 verses:")
## [1] "The number of digits of the coded number of 6236 verses:"
print(nchar(tmp))
## [1] 400132
print("Test for mod 19 to see if zero: ")
## [1] "Test for mod 19 to see if zero: "
as.bigz(tmp) %% 19 
## Big Integer ('bigz') :
## [1] 0

Here is the 400132 digits length big number:

“1102216834974786183214833504582132926181912147324213221583196483616123923107313002109131652418075301764896750518508896010171175021204312354144751542615617222117912953319984222052377624647286783163179729593100241090511516119871286813769152810237311241812264016721773196428655336606765188961512842311494122651381627787281982889942841043151144771104021106312164139951515617307184682185934971035781143511253711962238332844745566663477298156191608101653111851174128073160441702517496248972521827579280410344019022733131341450515166255772638834119349210353511361312440117082848392349545150561595726278276592857102965113189132212831734444555065817121717082848392341021510826117371315814539160010166111175212193913197114206715211216229917240518243619264217082845316364173451872619647267283309933501037751139131239651341351442271543351649131662558360547105800619157209616728583176642663527156283673446844959454210462011512916152120531946425175276962920741328417394222104929114995125298135969146059157430167461177819113021923312443754686807172129321943615456618277210782415925841027931128831236801337701440681549761654531755251855921959861352368310674140651497623097238482731928261035341145051246601348081448501551611652271759641861811965262065772166432267532368032471232574371112283170425455166125772047828449293410312611331612427217412844393441966525486269672759828539294310308511313612402013402714411715528916559717568718579819630820637321643422693123752715725673657486959506108871198813259181310208611217612275113283914321915330916336917343518348619399620425111312201378848745146162049723318277292894103036113290123765134186150821299313974155052111621627223782691933041033941142081244961345871449011549971650871758321861401962782069842177252280832381732483052587192687262794752895562996523096703199293299803310076341076715121173148464656976170972280823219320410332511351712363913443014452815481416487017500918509919534620539421618522649223677424751625772226778827849628906729990730991431106453210680331068734114183511465361230537123123812344391267617912180731886419525204262118727748302593066103307113373123380133431143567153783163873174905184972195017205965111028663934414505189962059725998311993659103757114297124343135072111275231482415725161361703727358285993399103876113917124059134261144393154901164918174970185290195440170728383106041226512876139171481825139323810337611388012397613406614422015431616449217457818469219481220488621510622515623528724534825548926553027556128615711462191333443905930620457215582292925031026321127461227981328491433591536141138227933104450553165637604811959126610171711189812200711312142318742955454660577048863999410106511119612128613134714148815250016303917407718422419426520472721477422528423620017072888310544112951204613587139081493915061021951122721223621327541187219832434374582568677956810139110910231411283212358313362014432315503316557217612918621919728111642565369141621517026177471869820569208010301211391412399413409014418015521216601217652918657019663816202665375549625145361936720518210792118102558112847118122053301442555476107871178811979136710183911185912197013265614281115284816289317302417972110431839423045237162473727558280092896103587111273338541313518836232472885830559315510324611333312347413350214384611042147363548705941611117114881631916681019691119761220131333201437441543351645061745341851711372536367547505162361762722598285511642321373547995110361213715951698284031075416475189862395732818373593847104503160429293109241155514226145471564826261791218073190342080523276242972475828051112733385413135188362324728858305593122104492114602124834151425713602410225121261332715228184391880102022112118122574132611143927154023164127174164184209194615170728813971410025140861640717168252093296103420113970124151134247145037155080165170175432186452170721138312004144151696630547308583491939881055941707283939554128851363619037404484178942681043491148461258731540274739274101751093618437203383009170721169312854173952207623977326217072838395441135511466129271403828139306410482811496212545713549814577115638916664017743018824019833020845421872722921023938024943625944726988727101761707212773128841404514846163071680820989235810242411263712447813477514527215687815402122331313413895189562085730611101721187322994244452614627357287882935930251034471134881239061339531449801550861651641754001864361707288831530422405258662723728198333794087105292115940125976136044146193156215167545177635188316198453208702111629073188442021532316397274112841879440610451611530712628413649514658515672716677017684818715417072133831454416355189662899730828332494138104233115185125760135891145995156135166185176297186884196941207457217547227854237920247957258934269024271005628103001707212773128841404514846182671936820569207510223011231112253313334614342715350816436017539218548219562020624321638122652723666124679225774526848627849728856229930530931631101263210150331048134106123510702361074337112743812682391283740136034113815421384143156454415735451580146165514716649481672749170935017507511757352181755318328541954055196795620429572047258206395920723602126315128423940417375175462142723428243292523102591112684123516133662143792153947164196174320184567194604205290215445225482235527245658170722059327704317753423636697497685017955391056521165861266271367221469121578681540214263151641592523426248973399834659363510429411483412492413587611402720315114199352143622337272682987930621031451134541241851240234234134475550565527126882295929551707283839544113551186612527156381614927311030381131761253281353471454781562551663231763741864511965412066711138221332944516558866697710872598561091211105812111513142214145315253416257117279318292019298220373221400022404123474311382213329445165588666977108802993310989111135121192131499141880152131162223172883184125113822133294451655886669771087259776101109111817121978132036142087152398162464172999113121873333439056976728714948260493636103673114243124982135157145188155503165599175737185819196232206373217175227222237254247500170721677318684259552691627637360683647941571050731261212753215542925529636302973516838029421910440911506515402110031298413885146462214723098257792584102889113060123117133207143455153526164219174314184602194659204755214826225336236229246324256406266463276559286630296656306746317661327727337774347840358953369064379660165627073820491051020610917148181616918521019431120091225491329081429981530741631151733261833771935831708284531636417345187261964726728330394220104261115133125271136285146328156816166882177052187170197177207301217563227675238331138224432954361551165527878892591141114122483279448559396971710738113091175101207112223112629463143441888519606250072702834089349810362211368812463513464214523315540416553017560518568619650820657821663022670523678624693411442224377541057510896114271271814019354210366611373212381213397214469215475816484217488318547519558520565121569222572323631914221323214429957246731717658191292014102296112341122437133128179728953104841609516766177871867819129200810269917072205932710427725308463115736478367993745103885114006124722135065145563155781165930176101186220196384206541216955227019237559248445258477268648278798289295291046117072205932770428015341763532735698482895079105169115444125984136925147422158187154021031310834206952320635857397684126942161044761160381261931367671469351569921674691777411882771982942085822187522296022310235241110925115632612325271319928133202913341301343131136213214371331452134145533515170361526037153153815411391547340156604115930421597143162764417080451712746171934718306481841749190131672858317664182151917627567286783637938021046061146431246881350941140260237184117251419615097159081913923811025311125841228741333681434451536611638561740281841021943982044412144722248932351442462672567382679002782972892831144233331443414755167061736720838233492375102537177213635594649577368397107381144912991013831114731216051326191427291535201638271739781840371940782044352147422247492349842450502551602655521113210213102841264513156163271675817639182910284211289312299013305614314615406116417117426118458219467220475421485422665823676824857025899726977027987517082848392341021510646115271218813569150210154511163312179413216614220915243116244817258718282219289320304821317822332823431424438825445426454427467628472729523730543311402214333048265136663507736418373193812104309115336170722059327704317753423636697497685017955391056521158361259741361951464221569381670281772111873451976922078222179352282462382532484152584662689762791721130218136524742597861815719398200592731102821112881123023133600144077154128164638174893186259736054648511926126271334814849254815382837397941089511136120972000825289254810260611264212296213307314318815323516324617332318341319421720426821458822466023496224500525521111302220329143725647678378758985911371018901119561221911322621423241523531623781728961831521902161324243075819611207137181478916091016751117551221761140227933404752512156126271572815809161210194019821853265410225141261547715798234592376102538177213634324522564667127946810179117210192411231412240413319514360915406316448617455218476919592520604121607222627814862527313634177451884619747216582212925121027031128091232201335271437331538751641741742211843091944192046002146372252492359022459492561502662402762532866712968183069103170183275533376643483643590503691863792273896733996804097424110023421005043100974410142451120546112124711302481131549113475012100511216652127785312819541387455139115614166571430658144535914573601548061155216215556631564664164836516573661730467174126817453691796070179677118203721823973183177418523142213832364750513336142371547816139242310245911253712274311122838194917594861491718138196293164103348113775124548134629141261385241159512496128571739817769242710247811257512274513283514364515373516399717406918516919582420591421623522630723701324795425900514128013891490759146108071531823439243910244611302212309313363314368415375016386017391018423019454417126113662472857636853713928243092477102567112657122717132783142873152919162956173306141271137624126051616616777177781893919831021151122111226571329881431231533071641371742141843471102740383048665132061356716868177691852102014112316122389132479142603152839162929173005183046193508203583213722223960234152244570254991265057275305285356295422305532315582325902336216116423213735479958466139771678817689257810299611312012318613323714330315334616394217424411442224386849575989610797115081166911731015241119741221211322511426641529821630331735431837981422132326342825347636475228637984610970111177121214131900142055152092162137172268153725933109341475515856190572442828249332410338011349012381013386114435715481116558117571218650319653420674021731022749123763724771525782226787827806528819629827430836931954519621067311974135751465615317158282512926081027141128601229501337591438261538671639381740131840641947202047522155032255782356682457642563812664622765522873892981623091821712742320214220352646632667328083346933971034631136001237501144218453191141952520786211072145821869227610281511385312390313393814454518626253166342371532816352373695838419387610394611411211372928395941165512326138371449814569231810233411310412323513402614411615429316486317504418615219633520643921650222694523712124734315224143555410685203562072725638268392785102877186214963163641692517296211172529834019391610404611409712411613418214419315424316433917521218528019535620609721613122622123639224643325648326657327663928672929677530681231716217912129831752422535236163203732708343293439103535113845123852133999144044154992111273338541313518836232472885830559312210449211460212483415142571360241022512126133271522818439188010202211211812222213225914286515332116335817340318380917072115031409416165210962685728168287793001103172113255123386133482144802154933164964175055185144196206170728613130441852520236212173835839259410610436511453512467113471214497115518916524017545518587719609720636521669222679617072838310974129951403621097214682238925521025931126831238551339451440361541711642391743321851641952952053912156912262872364582469982580132680542788272891092991873095581707210673132641538516286207172289825429307410316511323612368713389814407912532414364446945790621517219782372924221026801129021233101334711435421539931644331747221253283239674126451399618457200082432926331030871131971232951333661438171539421640511962130831428415035176261794718848202992224102364112610122700132796142858152948163785173905184125170128323867410745120561336718678209992331111221203379444656406651771387649830101020111110121205131316142212152244162741172967141255138714157252580627687324583946940771041741142151247471348371449231550611651871752431852851953192055782157962259722360092460292561432661782764041450249636004163051666617077218982285923261028481128851234321335431436211538271144222732434250560161417715478157991654101913112062122109132180142270152921114322353303435054386530757786659706109651111831213591315531416631517101621271722431823991924462028632130122231022333492433802538102638722738852840202941343041693143951131222938014842513736138071564819819203810248111265312269813278814328915361416368017369718390819408911097211633125941378514686153472631827459278010291311302650374048065823610767134481431916241017201119221220361320711428871412633368449435116161337715318164191719101735111742122093132223142715152856162897172963183059194030204160214620224935235064245154255220265267275333286446296557307153145024963600416305166661707721898228592326102848112885123432133543143621153827120623933483462556666748786881445918861019641120801222101322751429461542251642541743441846651947062050062156561776299031036411125162561945720558219792289102616112786123106133153143307153475163916174386184502194534204754214844225326235653245783255975266085276272286329296800307067317099327209338000348019358085368132378203388269399189409351419402429468439612449938451019611042364389649305102061162714388157592982103098113132123641133779144059154583164624175134185257195337205851215908226699237113247567257803267859277998288088298335308382318448329561339672349878196290731698421125256662618726348267593154103706113753124204134679145256155303166220176695186832197704207800218673228741238831248907258948268982279072289243299314301001631101363211198179121298317524217352234626507275982816932071033421138981240371340881442941139222934514562510886117871949186210531164208585862100721618220292685103096113158123224133348143399153465163575173625183945194259196261431817419335196762476726148289492956103124113214123436133483143549154662164773175369196261431817419335196762476726148289493418103459113969124092134172144686154757164843175014185184195200205232216023227000237135247246258597269570271004728106172910787301098331118481612403355348505100061446716168207992192102408112862122972133188143229153299163782174378110672204832582426225265963415111228381949175151561840720038205492120102230112614137258037004124051330614327149881946919781020081121141221451331711234255636464136351479617257181581924921521033301138381242221791214933203242179523176236972434824929253810286816722223749483951086613457141881463919991512253354146315121261278714488145991902101909112620122731132793142908152959163064173112183208193693204504214635224701235222245372151284231368414095154861638721328218892278102354112395122463132634142724153178163245173450183516193727203965132282331233413755145061597720068216192219102659112948151284231149416035165461955720228217792332102398112541122689132863169527913822415925175762561725988264393859110221383157418852246256726785969885151214138714141052448635667366783960941271045681151811252711355121455551557651659071759541860421961082061982163402264302364812465812565882676202776962881482986563087523188423288923389043496903599403610048371097938110413911183401222141126634212839431310519622383328420385212862188722548231592436102466112532123329133427143732153743163808173850184070194861205838216539226805237609247660257802267867277991288048298114308432319236170121304320954257552665634567393684150949541059391159861260831137292831408414445149561576718018253492669102730113349123440134210144475154541164728175397185552195599205644216510226600236882111228317042275308639871430815009152210155911243812345413385514391115400116408117418319224033512494851005615487165881724917651017961123921708284839234140351444615327159881736917681022901123311225031326181426831527261627971728521828831931492034702135072239821576213673167442264530056323573278833099348910352111360612367713380714386915398916411417414518441111122838194917597461064714868152791945102479112544122595133105143122153654192234035104996510776116172059821069214210214911338912345513362514463515584516684817688518696019707120761221772722777823784424913025938815128423136841409514976156371653821079307910308611367712384813391514395615407316416317427518430719458920462621477122483723489324508025511726520927529028606329614416728583176642663527156352574883850049534210545211573417502803386949565141061551716088239993517103607114061124181134682144768110023333384482759076103971710829899309510332811341812350913357714367015450216464517510518526419568120578321589322590823662424696725746526768327774228787529807330816931850332865133880834922535928936950837963438103363910423401081341109034211008431205644121304512224461229147130824813283491335650134015114028111228381949175133961509718218191192482102721112962123075133184143782154376164546174706184741194831205447215767226321236750246772256818266940277690288860298950309212319471329641331012634102023510952361106737118403811921196218634984522553365807647883791793142225923129442302523756285272903835239433410447611463712503713546614557515568516631611702211332845035675612217133182122922291022801123461225261326761170285139414107751211612187176081969920761021871127281228431328941429601542461645041112283819491751339615097168181742921641022741130651231551333471435371544931532578374848195969620207202782137924771026361127261227781335791436951544861646761747751848951950752052452157302265412366322474422574772675342780772888872989773090283195383210134150521596323374242552520629027292183092935611036511137011241691343391446481547981653341755891856851957562068072168142269242372642474232575132675652783662885902986563087183190193290563392803493423597033610236371034638110113911077401118741112284211298431149444124701708281939064103651177614897150581590916961023981125231231251331651433141533261635011740711392129320443765118761228714098146491557101647112144122237132322142462152528162639173149184656194907205390215560225717235897246059256623268039278080288502298568308658318721329237339655341012735102173610867371171138118013912451401255341126434212957431349744139454514117461415847142594814296491526050157575115984521607453162135416663551668556167515716862581757659183466018418611848462189016319072641924765198131372495363347555830612777128581326914261019141123051223951324731426151531891636861742821177229733694499551461071712428129091396101629111682122490132939143029154146164252174485184575195086205500215949226039236057246571256637266827277401154426343736480251593622507228783168932191032851133161233361339411588211063227743138532286374674616851889549310558311614412618113716314728715742516770517812318873019882520895621955322102152310985241100625113981131259437254791520776233515882100631037415135204862140722358230092431102894113005123136133168143278154340153628163135441634523206260172771832569342610398811410312467513471614520115537116588517595118610519615620622221633222696312442334343645025539610767116381204916951018271118781219441319641422131454249638484913510446178371904826359272510277511281212335713369314411115515316520317528618545619552720567721672822673523674224745325754326780927798828807829821930822631842532843233856234934435987536100453710955381130339113444011386411150742122384312328441237845125484612618471263548128564913892501394451140345214076531421954149215515634561608457166595816755591750560176256117695621777563178166418835651897366192536719767681983369199877020038712010472204227320626142254831135413055238562530725728268393463103500113746123783133821143911153953164000174587184677195487205642215708226138236269247079257122267669278232288243298290308357110022703332438352192631037319383455942371055581156481263991374071474731575971682381785181894561995172095872196442210154231024424103812510501261142315402143831528420465292863070748248489094941105007116293126551178222132323634337153437644377451184518948231057441159141260561361461462921565451669971770871871831972302072652173552281922382822490131141223133774630510826117271268813919148710232411244712260413337714365916721423294437554646536787689781934210003109041142516676183772340824309254610265711319812331313340914461015472116526217537718549719600820652221658822674223685324689925786319622383328443355746664771988159114010120611131612135713144714158415160116163617239817082115431294413845241662600726968276793506103683113755123786133806143982170828483883413845145063156732698384393998104096114204124285196223833284848510436245773898839649403610433211444211122838194917515596164971810819169195310283211384812424913430514439515447516457711312638372848045845613197181382041920921021581122521223301352125131283413345180061866719568291693006104118114261125177135449145496155562166235176513190215234644524510316112171137812049130010134611151112157713166714174315178416220317233418240019271820292216728873119441249513456227772367831589325610405311456112479213484814503515510716542417551418583519704720711817122133259428359356100171154817569281210290611306112351513365614376415382616396817409918521719531220535921647022656523659724738825780626789627797228801329847230896631997932100863310185341025135110423611140371121138123293912424401251441126534213411431348344135124513602461392347139644814264491491414125513602416435173261809722808285093641104278114368124560135105145210156258166345176763186909197236208033218131228246238696249036259102269134279185289525299591309903117729193121541345513866205772147829579319810359811409612431413437314450615455316514017523018604019617120623721624422639414222592311544117151396614867163281683923151026361126531234631335531436991537501641671744881845051950052050952151672253172358142458452564411177229738334111351644617397186982400924951027271128271229471330491431151534211634281735721838521946632047042147992250222351462452122557842660072760972866582966953067993174563278743381543482743583983684493789973890933997114098614199814210050431058044105974510898461104547114644811651491174150118375112680521275353128555413137551318256132785713969151284239404173751953619797206982171922371023041125731232211332871433591546451649031177229731168415155164561781723228255492801102972113565123788133878144124154307165049175345185475195662206432216504226570236660247103257293268449190218631029412125133261824719548208492159102969113026124117134915144987155137165352175442185641195683205994216060226671236722246788256882266960137252231514419325203862120722618307193161103726113768124304134341144826155477165895176008186120196256207066217156227716237758247894257961268101278142288424298496308586318627328716331007834108363510914361133137115023811677391306311832303311924132251333620447263982791928811037701138071245701349881452621560441667081772501873401978582081592182252282762383422483622588622688882796331177288539754146352231622927304283199934801039941140601242141343251445071550151652421372547361341688518806193172540834539399410405611419812427013445014460013121408314744254352633627957290184278943211048031150011250731363591464471820292231012411785187062148726548278592883103014113080124366134624157218133524483554967297879161721369316174265352969630067305483139931901037101137511244811345471446371549421649931750631851691952372053302161622267312368402471012571912679412779922882052983363084273189973297383399033410332351063236107973711009381108139111754011253117128623106441462514696214772269823069235410244411249512420313428414519615551716554917560018629219632420648521650722657323670424782425785626801727803928810529821630827831843432856533945034945735990736992937999538101063910992401108841115724211594431166044118074511852461291011312276338748255860695071026814449192210193911315412328513343014354115360316375917381018449519454620549721554822570923573124579725625326627527634128641929659530680117082128731439426015269062952733508335793686104084114121124702135904146815156911167101177851188035199005209200219237221134423117562411822251184126127752713335281340129135713013618311370632138763313966341442035145303615570371557738160913916157401631141163624216428431648044168004516950170821287314394260152690628017416284213943511044241151261265341366411470701578201688061788131889031989742091242192302292982393912410223251101326110512711141281136229114343011584311208132121123312708147921609317064181051961620817228782338927881038951140111241281341631445251550721655011755321860621962522062842164262264572378582479042579522679892780752881102981573082733190113295813310331341046235106693610871371099138123923912528401344141135524213614431377044138274514472461452347164604816562491667350167355116905521760753181775418218551906956194985720012582007859202326020283612034962203926320988642129017972134931499424715249063242734908376894274104851115633126715136804146915156977167147177278187508197598207844218273228345238388248984259796137299326944005191061917720078262392775102782113343123433133684143824153890164001175492185598195629206171216432226464236515247058257195267592277629288153298332308442318860329902331035634103953510549361060037106663810816391085740109474111198421219843123524412403451246946137554713843131293326343145893610457108681156917171017241132111232961343911449681550781652851755941857101964812067902173022277312378402479502581991572697378749195970615317164183161932461043411146411246821362021462341562851665011765081866741974152074362176152277252377822483392586422692182792552897722910713301083531108863210952331099534115913511893199621106316644182751943621027216782778113121251315664157351847626297316084168942341042951144951245361346061450891556851797213493149942471524906260172694832069324710332211453212533713546814632115643216649417666418675419679520702521711522736123745124784725791926801327809116462115731586416955180562436177028423908499851415616057226117126713712415035231362403726638271492831103739114216124427134502144568155021165561175626185677195743206479217389227499237641247747258468268610278641289227154426343736480259566100771073812539140319027913153242642527086380973928849749500910596211669712676913768114776815782016854917126713712481459046966712788136891444101560112261122399132491142566153139163220173311183892193982204084214150224281234316244896254947265369275539286101296133307071317209327256337337347369357950368040378142388208398318409173419263429529439650449801451022346103784710940481138349114155011586511172152117935311943541300711372212331943705436654071112812029164810173911187712193813202414205915218016234117245518256419268720278221285822327423340924349925360126373227378328384929403530420531422832430433439434456535470536477737520338529839538840570941578142591843606811372212331943705386648175328101391853101948112093122183132445142568152649163269173300183416193453203715214198224335234386244476255226265272275362285413295923306119115123513797489351024610757114181683919401021101126121227071328871429871530831631531732871834231935232035552136452253262366112466322572212673162773482875192976543078053178273278383386353487333588483689863790173891323992134093004197424298164399474410738451175446118504712027481209349121535012243511233852125135313945541404055147755615528571559458156665915776601616017722933763483759756122872509826709296310387111406812446613457614475315514511832936310024153851559619997241282478925991027091128601229411332621433351534891635551736971846141954882060622170942272002372662479722588822689922792241450286239284142051550616917176881888923091450277131732426495275963631737668385693946104012114368125285135893146361156511166564176854187348197425207641217836227878238189248255258296269227271001828101082910229301031931103953210436331089534113893511495361261337128283812918391300940131504113240421354043135824413893451395946140004714938481504449151105015300511534152155651112283819491751155612367165481744918761019271123481224041324351425171526121626491732841833211937772041712142162252741662973133416551766225741284439214910226411230112239713243214247315256316310217314918323919427120436121506222580323626324639225642426718227733228737329743530750531755232830733834434843735875936884937899438902639906940938041951642981143103504411388451142546114604712494481251149126525013703131225833484443554761009715448163492675102845113155124604134716144784154968165549175863186510196541206803216839226911237091247241166211239034100151859619497335183392936791044761147831248821363291472431573331676201776611890631991302092322195142295592396552410346171267137124145351465617247181482021920721024791125451226661333671434981537571639691747101847481952142053452153972254262358832460142562732664042764702868912973243074143180853285663385743486643599373610424371116538114653911537401156841115974211774431283617276831008411185143361454720768218692768102899112960122998133708143774153850164302174829184895194951205062215602226179236310246370257302267433278365288422298429309301319357329488339520341045235105083610619371185038118913912031401256041126304213155431431244143534514622461483147148474815018491617550162165117258521736853177815418321551846356185425718693581915559191906019321611946262195136319579641968965197396620059672037317072838310974129951560616707209882585927161027931132891234201334621435681537171638591739901853701956482057382159882264132364742470142571182672282772782873132974583074793180193281493386403487813589283689793790453891393992171570213613165741780518706197272038826289264310349611362812377113386114391115405816411417412918420119516220528221560322567523581224596217912108731210413005140261468720088203992577102618112856122947132984143695153770164019174143184390194427205113215268225305235350245481113625323186342673527636296273450841619423310529311538111122838194917594861396720518217492922103683113923123999134220144362154399164505174573184666195498206153216743226970237085247688257867267906278611288736298767309137319247329567339648349737359809369840379869381004639104381576213673166341786532006464174707860269611610635211694212700013721514731515735416823517829218930219943320950321961122965023976924984125988426104802710782121294314546215656671478048149491624102237112327123141133429143464153560163650173700184872194977205230215271226186237147247327257689267784278035289224299994301006631101323210222331066534108553512011111228381949175115561245716678170892230102317113172123262133352144384154421164918176061186156196842207378218696228728238779241102625111212611275271132628113922912452301251414012545395641273517056177771921832469334110425811433012446713461714262530362049415103761453715578174192158102969113700123747134677144709154752164819147271838084104351050624407253083480936111036771138321238791349701450601554021512464310904133151346614037249583319937411038321146421247321350481452281553181658591759311859741965702073821100223032854391545764867576889799441015811116711224811328421428891535751636071750211850351951012051482157852258752366852467812568822673792774102888361451212423154841638517406180671837824529345510354511457712470213477214584415593416659517739018754819757920773621787822799923804624868325877326958327971428978029978730993717912108731210413135160661867720398219492443102567112814122851133537143692153729163774173905179129083114241173513856141771478816349237510340111380212389213402314477315487116500917510118521419578420601821606322612923624224649625673026690027691928794029803030823731878332889833893934910935936136940237946838956439963940978641988842101704310215441031145110021158222434584686513126138471415814359148510178611233715128423940410935165461809719668238092444102519112768122892133139143176153862164017174054184099194230111228381949175142561491724048244592557102647112881122932133442143638113122013788416265183861928719948230192358103200113370123646133784143815155241165278176704157212838344116952404624457276082817934181042281143181243691348791454751514257131300413955143661502720428253892588102778112819123301133352143383154419111228381949175161962524725908263192665102815113329123797133919144342154479164516174529184952195003205435215496225641235707246249256395267136277251287390297936308002318209328246338918349013359334369465379536381027739103924010531411068742106944311655441166245116934612252471230348123834912394501261451126655212802531358554139645514054561434857144795814549591463660149296115242621594163160716417527651761766179686718019681924969193097020709712076972216117321648742166175220127622714772275578228367922873802338181234328224265832556684255738525806862584787258868826676892684690269709127036922718993275649427635952766796286779728709982876099292361002984510130859102315351033165710431837105320071063206910732101108329351093325811033960111348831123492011335931114363541153639111636710117367671183735411937490120377361213779812238312123383781243859412538660126387321273878412839104129392541572567367741017510936150771931822679322010335111344212437413524714537715611816661517711218765819772420793121796822883523918124927725975326988927104302810567291063930106823111278321142816521063196473557826872719048196192374102415112505122756132763143854153995164002174068185438195558205879216667226757237078247150257260267310277630287944191241834614549559566857892811219117110126211133012184213227514257615260716303717309918311219320220349721364122386223399924535025560326567027604113121713237442854606602763886799116110128311132412220713246014249115424916430017447118447819514020539321543022590823606924636125642226690527701528780629789630807931833232836933889834893935897036908537916638917339933040945141107384210819431112544115764511704461217647122864812463491285517116629731334165517662257412187221736714812510476111871180812099130310194611207719022223241441255066968710198181092117102531112597122672133445143763153835163929174635185227151211731484848596361283713738240592442102532112674111275231118412085148961599719208195191987102019112030122155132264111275238404970514246151971931824409249510253611299012379713494614506815585916594917613218714919776720780821851622861123100252410591251201126124632712510281266029131123013144311321032141643314254341442535146273614719371472638147763914866401499041152434215290431622044162524516295461636212532284316914188051956626577312783140932211033111134151236681337391441901542351253232434384580566666977909810049105510112111115212187213202815128423114941229526896285472977830149310110319111325712357813365114369615381216409412725834644126151351615287225782722941481042141150191250911354091456131130295031257428055377563816739148399294073110421753265428153716921718538194892879102969113071123137133954144260154571165196175407185568195640205670216017226107236428246479256569267319277626287703298028167223832484991510816123371382817899222410231411305212397413465114483315503216577717652718703819709320718921726122739023750824758211302259310714116151951627717327983403936501041041147171248071356211459091566041667001767241869831980462081362182022282742385762486861791299331246413485144062801728828369193848104621114903138426763132441691535686387113092375343144625498653075418684973310904111056121258131289141325151357161368171493181602151214632704336549965467165782448928621033161133481234381335141435551536141637851747981849051950012053112157252257912359222459882563282664301131216933794910593469997109581618917541025741129881234421335901441621542931644311746151850321950892055322157042258342368982469702572722673821512842312084162251688622907244383655937631043651151561254631356651457551558971665241772991873801672858312774146451554616507249382540926151027051131061712671371241503519176207072160826149275410279511321812328413339214349915403916449517488518502019507120623717502848398641066516176189971931819849250910376011385012395913400014407815482411902892311014118751218614307152582027920771022671123081227901328411428721539081130223633274448512646138571475821869271910284011297012368113416414425415496516610117619118690219693820777921785022796023801024833025864414392540363049175136261649717398184093049103098113188123669134878145359155449165498176211186301197012208224218295131217413196442356524146250472564827919288710307711382712400713409714416315425316457317460518465619556320569821620422718823725424744925749626756227793311302181312684130951399617597176682183923381024041125601226011326911432301532771633671743991844711945812046312149512252651562463351347035744612847137482184932331032801138201239101339861443961544321644831745511846241946702047572157412258072360022460742563702664801130218136914115751223618427192481990932861033761141941242661355521458101130222732934626575761200713318139791428101448111840151211733074352542364607719875691117101227111459191521793318834275552827630077315717012123231874422355243762498738488389893939104029114100124549135161145261155332165783175994186175115121433319644216652227635097407084142942831043261156021257081366591472711573381678541781441882111989982090202110342221043223108332411117161828263966410845154962003721228226492502102593113227123343133581143863153876164006174314184445194456204746214807224857235563246094256105266195276319286385296436306502316819326909337230348442358513110621813419462657576959796681006910961012001121151221411322121423921525081540267736944845598561075713578140891474102006112046122281132378142468152534162615172926182995193085203305113123333394448055206159171701827939304610370411407512420613497614504215523216527317559411312333343744775493662471055810879157710171911275512280713283914308715401416423617496718504319545620571717072123831375413865167661727717938199492234102441112551122672132904111230138624111451198615057161581997175028403904419475202662087721348260492693103394113590123807133863144003154293164340174810184899195600206796170121232313694138051670617217178782319924161025111126171227661329161429691532591632841733741834701943132044092148421106224833384418548065767796153127333794488059206960710368126691768101899112669122735133475143516153837164539175449185691195863206009216044226114236280116126153725413745150513032344340647185779688371356813749146410172611178712251813260814269815279816284817309818390919400420417021439022514323520924542825552526585527589028637729713030719631732532736833787534792235918236927237975038980139989140106414110687421077743108284411338451153412412312337443985488611317120681296921681029091131571233271338061438241539141641761747641848301949821512117332945975765614717177182421115122203370450558366967710578140991450101516111647121959132067142409152475162567172635182951193005203231125323453388487651406617337228782397927981273253936054677514876183917012832389849095105961120716768205392094102374112464123255133562143672154463164962175148185939196246206287216343226530237070247111257484267633277755287886298396308491311005711222913312204211852892632117330183397942401042871143621244521348531482839393741090516516188272137822099224010226011332217502124131371414615190462861729701512621377148955961615517159682331924211030241135641236951337301438001539661139222934514562510326112271893117022023297438754636504753886289799101009111517121641131756141886152064162251172499182756193296203783214016224566234632244742255556151275737984110951248612957138581421914531015191115761216421316831418081519171131257437054771592161198113021413177463151139611807127581352914651015931116251217511317831418491518861624561724631827841928212045312154542263272365342466242566842667502768812873242975473078643179183281441112473501457151039611297138881435919231025661126971227291328191429001530121636681624973549410045113561225712328137291522101990112121122221132311142318152458162530172680183177193208203804141211233714407544468467952810239117210134311139012146113155114220215129832404501513216180572517826109340710350511357712362313385014102515360546415109561131720878213493030103062113298123345133981111247350145715132761741718078230493069111247350145715111961258713338225592394102891113487153726423732476851222613207206382151922611030521131501231641334511437651545711647461750851372540357246925116461288714188146991519101538111604121655132081142094152664162705173562183569193657203781214043224173234224245165255181265247275678285768296089306161316298326448111002175531845421665223862944738858493619621323586467657276122371585816109167110181211190212195313244914271615274716277217283318286519290620335021346522361723436724446525460326470327486428495429509630519831540632551633558234633535638636659214221323229431558326963710298104991680151284231808418895195562108726998287092937102968113699123774133864144701154738164883174949184986196146206232216288226475236512246604256685267458277539157219236134715513016175772268823589281210285911287012296013341414362215363316372317384718391319396020397121406122418523425124445925456926463527538828543929564514121123644469551126611927164681751918511023911125371227081327911428691529091629991730591831251932312033142136372236802341902447862552402652892757992865191372348339942506526436280273009833219365410373011443112492213514817072200832074427255287862949738208391094333104412114952125026135322145556155627165797176373186380197211207342218284221003123101412410931251123226113702711922281205329124503012508311267832127683313169117026163692414425158961634719621129121355314214248952530626617275182841933801044181145041247361347881451271130222232904337542565867633872198311010901113081214841316781417881518351622521723681825241926792027692130162230472334772435392535522636872738012838362940621962150832718428815294663106732488334393360103450114287124377135329111021393205435256596735788281204912551015821116901217551322491423211523521623811725581836201672129318043355490655676998847910211695279138224159251757625617259882643938591322823312334132351399621497229182422924881037741140321512842311494122551372619127193682237923171028491137021237751338201447381512842311494160351654619557211582257923471024051124851235171342251442671547621647691748361849111956842057652158122258872359772463781802568380141219518566193772403824509308710317711349712362813369414370115385115022013272431154036715774787889103610134811145812165313174314187515192616241317305618318619367420431921484222489323540324565811702861397141037517906188071956827069285310289811395611302324339049505102561284714338148091551101641112292151288350041376515476231772346826109263510289619525073970411515141061506721458221692308102379112489122631132642143085153175163716173762183865193961204261214392224458235518245638255870113021413177463157016145771871819379200910232811243812247913307511302141317746315701612517137181473915391016291117201231841332641437611540811641281741941853071954182060141112283819491759686146471855819459273610315011360412388413396014412215448311162872313694220952379627917285783013933141034101140201240881342721442911543321646321752821112283819491751425614917159982505925421034381134701239671341931614265637224846588361670726048316493230103400114101124611134697144888154950165148175769186336196995207511217621228002238295248385258667269658279754281052429105963010662311075232111693311359341222415062656370248425883617247203782466925931027131130541231271331721434171372520313314211853242633327340883449935081040021140751241501349231459431562126831288417645178461906726978316893233103974114050124212135105145909155952166462177218148283932052421175228762540726068265192747103438145028623928414205155061691717388180492028102999113260171211232024741578868787191081957920231026961129741510213203136642570527416343873867843849450410484511540312547113551314560415564016609417619518700619708120721621743922821123853918021156311884189951956625637267582914934541034851138911140221557323234238452425631127314483186932761033421133881234781336201436461554501655401756061870141971692073752181252282232383012486672590812691472797492898542911066301117431119243211967331213434122183512758110721843274431057646810796681462918741019401120021221031321541422871162223033234115551468618977202482144924851028881129781242201342931443831546031472244333441144513046162571697818479248015128423114941229526896285472977830149310110319111325712357813365114375315403516408017417618486715702611390749975170761762718588244892666102762113052123546134254144400155377165613176154186201197216207282217388227624238660111228381949175948630557312283212933321033631135201241541341711442121547721648761752821871261972162073542174012284912388362490592591632692262793162897592998103010320311097616249735454105651093612297178782243922981030061132021233401334321441401547771656541758241859771960672080082181382285912310563241061425106802610830271193328122641512671379441305513626191471999823049231210236911306812398113401214508215516116548217553318559919564220584821591517072211732207422635268162908731238371493786103966114116170121146316974184751898627097278182873929891030551136311238541140254036064814513116204772635827019289110386717012123731493415745175461805719198218193219103331113421123558133745142293379241705521886227872609833159343310369511440212451413460414474115494714721553221425357656855714008159891605101652112023122055132145142269152335162460172569121925093599413905169761704721818246093133110021503240451258326839712578141291419102246112422123449171211232024741578868787191083200933201036411144291245191348401449121561981664561112283819491759486140671640825939358910410311416912435913493315142796312374171252133110321693502469251396134423853171041800520626212673202837419477910525411591417912108731177414795252763585755268577495894106036116108126128136377179721499316864208052087630647330084227942931061211169541270501383401491291591611692271793031896101997202097612199482299992310205167212931454415445179162251728648295493768104056114751124847135013145217155449110421134312244141651576619337202383055942931044031144741246521355051706276939404965519926265213724993536410085150561693717448225492450151228135894773587361050713588193392389102472112569122631132773142959153025163816173914185630195780206100216172226203236223247285118422503104141139513036169514125513602416435173261809719598202592816102836112986123142133526114026503119641673517636189571946824879267110333311383012543614721393171446755716160171691818289214910228111272212272913325914388215399216422617432218451419462420481121497122598123604724636825646426653027714214721183338438951235612677202082086925101025901126861229001334091435051539661640621741581843721948812057182161792262752364112470231872177323947705885611537188382004920721021431122821223721324741425401525871635441735911841301942022042222146061472118329943315382652077738205492135102944113343123433133725144633154830165228175338185515195907152725933110241198513226183172668827409276010300911122838194917596861464722558256292842102952113186123855134776132298323542525106261494125023403478412695157661879719228245092518102559112629122726132733142884152983163265173343183899194961114023943460454551246618157257382991936931045431155171256071358791464951565851666611767021869641970052074712176212277112379352480312581872682772785012893382998783010308311047332110153311155341130635114863611558371226438131743913284401351117012132131358418505196061973723068245692546103408114052125093136135146226156698166808176849187390197427207468217622227694238506248549259145154026283798488859646203572131823139363310373811388812399913410314459415483016584617591418712419726320821321829822850023853524861625870626897827906828938829951830956931984132989633996134107073510797361103337110743811105391117740112274111429421146543115364411617451170746119794712299481234049129215012983511311352131495313659541374955142275614466571525758156795915834601639561164366217395631788364179496517990661808067184406818624691866570187557118953721902573191757420278752060915128423128541435514916203272227823199286210326311413712417813426714440715455816462417478918484019490620619221628011122838194917594861431722428254992693103426114128125137135227146259156266166344177361187397197475207650217691228139238186248723258866268932279682289955291004530102283110300321033833108043410876351091936115153711817196210663115641258513246133171811831669325610332211358112439113447214465119625763583415535162461690726541123237634664532510126108771129815999258010452011468312565113574114580515603616620117794818802319858120867121894322972523102422410778251088826109542711005281107129110913011678151246135274638516716176171818832189338810408911483012524013533014541115552716559317616918639214721183210426151301613977246782878929211039511140071241941347341452301552801654701755111859931960442060752171111171264431701417675187761890725618265192717102776112874122952133323145265337774843591561217712608146611342224329044005627613287190082035923321024221126581231041332591436761537741639751744291845391945962046742147642248962350162458772559791782632377948835141662002725728263393339103469113480123570133694143945153996164062174172184222194542204856147220132574798599361826718928207892305118629773121541361514366194472482825729267410274011274712290913304714308315327316380517441918446419482420559021589322602823619024639225653226657327667328676329694630701831715932720233772817912929316624184951885620237206482601927311030331131531234041338811439321544421646971372557313484188551975620777214382592926241026541127781230251333981348239138384904599461909729438373693806103961114008124098134853144885155571165726175763185808195939110282119531285413515226762324723908242193311103515113742179121265313304166351753618297187082009923481031681132941234291339431441471551671791292239974113951190613327143681556916461026781128151229181330621431831532491634151735121270243735274593515096157971794818709235610341311347912355113425714516715618719228823128341979520426215373285840289407910458911478513721323923413205141061741718378191792934103000113321123545133611143643153756163831174740184830195667205748216521227541151284231750420815221662296733138337993700103781114554124635137216739584126551357614877156282372926381027301128601229351329981435401536211643941744991412112317841118513456145571496819879210210252011258712373013382014387215391916399017405618426519437520541821552422559023601524610525640026649027681128698929705730735831741532791833883134900135920536102251372167395841656516996214672212823029321710322811403912411413414614415715465716473217497318501419565320566021571622590323597424672525726426830227837428841729901330982511342304337045065129761435714868155291942102056113128123660133701143839154420164525175737185845196037206850217623227972175027933133741422514796154571645826189276417912929398041046511256121771249813959172110213911261112296613342214370415383416393817401218430219439220453421503022577923634924649925752026757127808128833611312879310634178552075621657231782338928341030801135401238711502240310564153351631621737244382499926861028561128861230061332881439291540181642021742901843371943922044882145202250312364681518260837464100351659617497254082954934081034981136901237861345771451051558161665471766041873031982162083472190972291872393042495821707220083207442725535166393074384849319510210513911606012690313712014827615919016919717978818995919101112010152211111813125513134241696517396214772229822809234910239211246212265913277014333515347016356017436418444519521820529917121613700417385181061920719708229092604151214138714141052448635667366783960944021044791145461791217773184341995521826229872404831769326610399611453512557313582614586715699716770317774618788719811820889121917312532324341441448517306191472937829849407510416511450712532355357646825757691979708106891332101504111757123118133199144008154314164435174967185510195620206055125327113752412835139361703717408279892854103041113112123143134253144409154726223869493059616184271982821239227310236311328312329013385114478315487316574517661618683219764920773921799922871923880924892125946526100082710389281055429110803011846311230032129133313003341381735141053614615371470538148293914895401496741150964215214431575413121311318434263452941630317309915112681312214131451412614907157111002891313994164651721621757278882878936921039801146751247711348591449491550731651391751861853101953762061862166501572147318346375757686379318978910661011671112141213021313881424191524841625151734811838951939612045522147232247902348652451142552382654852755362856022959423060441112283819491751217615237174882262923281025181130921112283170467859406168172471825619275110277511351112360713362914413715427316450817523918536619588020594621668722724423725124753825758926765527772628789629820914142906310294106651909630527310683143936011037241137651239031339591440301540471642801572117731209417855187562367725338257492586102676112766122918133518144555154834164965176085186117196628206732216739226780237270247432258182268247278279288792141425663121641309514406150171591817119203110212611231712245813253414279513728503103741175516166171971785818759202710239211248812262613277514285015298716338414462938313564205853097632077333883889940241045291147711248571349801450171554801658231760371860881963272064232164942275552383652484612585322689232790942895232910305301089931109853211108331150534116603511776361184437119251294244635274114751270616667185382005920861027061128291232251333061434361535311635381742581844111955381708217163195241995523386283673054834939358810373711381212394913434619462173731773424005249063245741608511295800105955116582126648136837146974157053151284239594103751529625007259282709927991029111131631234151337561176224233324434514146198472892835449367510374511386612405213506314522815625916630017692018697719744820747221758822783923789924797925799826813427828928837029899030904131911232914733918734931835938836946837950338954339102604010275411043142114924311623441169445117294612341471249748126524912742501281851129295213045531305354130605513124561319457133205813351591401160140676114370621446063146616415756651584666159126715963681602969161007016251711633019623163357497751055611067117681256913411013811115121215831316681417081518781621811722621829321930222030982132092233752333832433902534542635452738482839292949893050403151103251903352803453203554513655223756123856523958174064384165194275794376694477454578564684084784164884234984875085445186155288485395645496505596575699045799455810546591055360115546111714621173363118696412024651215566122336712954681304469137947013919711445072145407315601741569175157677615878771599478160027916009801607381172838218324831843584185258518591861866387188138818901145024723538463457236789710968174592199102812112902123716134004144699154795165551175675186726196226633324639511296115671805820579269310278911283012360313370814782949313744146451645625027266782945930951032261135421238041338941443431547611653131757901857971959102059762160612261641818212963144642279524106281472950841089427410432511439112446213487214513119225363646471251532617387184581891924311029051129951233071334541438721539381640931741701842361943872044661506295031770419765248862906736088461694674105151115282125343136145146227156264167055177567187618197919207986218512228587239361249443111228381949175948699671086811379224410239611262212265913402014516415603816607917699118702319707420754521794122804823868624911525924626997227101922810243291087530111963111315321138133114763412287351301815727023120041216513276134372200822699263010274111444912454413486514662815708716763517773811162187831988428795381163852747248608196231106883118824137252235634641571168017953898591026101130111300121356131427141821152368162445172548164828183132541844529186349574593850529568410614311717512768813816014934115104151610505171161218120651912246201252721129992213089231336624134562513637261410927151832815240291537130154413115924321699833170553417166351722836173983717483381760739183984018488411867242187294319249441931145204034620435472047648205804920750502080151208675220938532222554224841626271638684900594161431715938201692082102252112297122387132428142645153435163486175295185435195683206893217142227263238674248681258826269368279633281072829107653010827311099732111283312979341298635130763613152371427838143293914395401446641146174214696196216637154865591169627105081670922381024081124491229391331011431911541421647101747821849231950872060192161092269812372012479542580452685132787782892072997963011006311159632116333313774341443035152123615361371549238159533916349401659441168144216855431696544175854517675461847947192294819349492025950208105120960522101753217165422526552261656226885723974582423212242290339244825577673771528816189181010223411240412247613262614270417222963347476559356116571956824949323710328811377512385613487712242290334141111512916202772220831811112283819491759486140671544816669174110177311182412230013290914302915443016458017461718555419580520585621592222599323605524631419622863103641168521456237172556828089288510363511374512381113409215129133114641187516986182372173823539289410364411431912459013729343975418855195161958728908300093872104166114318124399134889145076155228165309175842185947196013206103217018227069237135247206257258267578277729186224033274408510286115171547823449291810308011361212380913386014392615399716410717415718447719479712652468357847305773616837174982666927761036481136971239351340251441481547891657411771311882031982462092342193002297782310915241133325124442612720271281028137552914825301495631151463215257331666634168313516934361698537170513817122391723340174661572117731678417865244662515726058264692721102811112853122904133129143260153456163522173630183681193747203818213969224782190215631934112051127614487158881709924271027701132681234861337271444371547801650211751071852451953332053922155252255722360622462242562752663412763722863922964823065533176253285121791214893180241944526096314173182836299369510378511470012523213565314642715653317972109331216414375157961616717788184691883101972112804122900132980143381153416163777173928184289174829033939410375110561198720308227492355102707112773122850132916142963153114151211731484112851799627047276183181933041042711146931247831348721450771560981190289239564104651096611427146381533915551016651117171220371766278631577418845205762384724208289692943103975114012124538134604145127111228381949175948616577181482311926021030201135671236081342001442371542931643251746081847101951282070252170822275922386422486492587592690992791062891202991333092833193733210424331043134110023511154361130437117183811769391234640125214112543421273943128214412912451296346130294713100481325749145441712671371241503519176207072160826149358010447711476312481413605114618417222133361447755456592770887769112719028813898412525137361493724158262392844103071113248124458134668144996155037165625175761185851195946205988216084226222236443246580256757267965278066288877298952309105319211329406339472349819359930361009237101243810295111228381941233516876178571828819669220110227211244212253213266414271515287416289517323518334519355920356621381122387223402324412525461826469527493628500229522915121173148414385148962019720268332293363103423114173124293134614144710155240165308175492186183196725207746171267137124150351596618327186481930919771020671123881224251334611439821115121261320074211752183629367305283059936011037041712671371241503519176207072160826149277610321411466712487513569514600215605416607417616418695519705320715616728583105341119512156137571441816019200810204311239414121163268435854796126171292817649190610226714121793321443154726919798581075919901021741126361226671329261433801534901640031740941851151215230533964403554466347728885399691010691114101512842311494161451760619857223782328935811036691138011238451350611459141567181667691768351869061970012070801797289531048416095239862852734658355594369104657115352125448135456145531155627165645175904186639197570208541151211734284479589661420714618150392211102719112781122923132974143449153586163637173703183864194904204911214962225028235099245280255583111228381949175101461080711838151091563101835111985122116133084143174153494163789173830183896194229204280214790225342235410245503256335267085277895288020298468171267137124150351686617827188081923920111020721121191222071322971424491527291627801732661833071947542048642151122251632354802454872557172661182761692870542979163080031708284839234143151472615137160181667917141020411126521230141331741433141534191190289231431415785162162165722358277592815102999113067123118133374143406153527164130167285831008410745111561205713888253992704103725113861123936134026144262154399165442147238934794775580769277168081746917881018841125851235621337981438381556661657321774791875541978812079312179972284072386661111233933704532595061054711858168891795102335112366122390132480142716152928163009174319184472195013142294356747225773613117156281569923801024701127451227861329771430091531791633141733561834521936392036802147222247292348302456412557162660272773401708212453133541420516256264611512452311031962185325145845731684171632817939185910201411210412225713255814291515314116326517333218372317502169131781418475196362031721821112283819491752224631927361084513945201048581149821572207332744385569611237127081401915051016661117321218421325431426131526841628391731591962250311604125051316615427161381683921531022751123481224031324141429141533841635391737131838071948281651274138434909517006226672321824179325610335211389312398313408514415115477116477817582018604619651720672221774314721373168411555124561347714138296093050103315113473123601134392144594154847165702175792186502196848207850217892228002238083248173258277268324278434288515298605308709319060179128893148641576516786174472541828489344510353511363712508413570214576015616116621217624618664719671820767917126713712415035164361718718258191092074102231112645122709132860143282153437163999174701185091195226206192216334227269237335247342257647268562278706288959299029309851311001232105743310641341189335119343611968371228038124103912921401301741131874214030431484044149604515471461550847169344817455110225853879413565139861908719988220992568102625113162123285133438144148154238164362174428184485195022205107215260225970236060246204256334266384276474286598296664306815316867327044337075347166357417367940141215532454368553866047651876598551094011111012132013168814185915215616227217234018266019021793506469057716837793381379915001018621120171230161208229331075412915138161525719378204292177103387114128124664134736145168155209165687176838187003197465207575217641227757237825247892111227843116641208512796136971493827039276910281911291412402713475817082767310084109851220612277194482723927301027721129871230281333551434021534491637211738561840311948222054142155492256222365322465982567682674272783702887712988033089741611270138034869590061430714628167292686102913113053123119133170143280153343164134174441184513194818204882215193225704190255031006411295120961244713968149291588102048112504122589132669142704152834162930173007183073193183203233213553224104170821176316014170651827619237193082146921971022631123341224441324941428141528951662973133416551766439748085369723107541196612106113115714135215144216150817203111212211330146635121361285716118165491743102414112465122881132971143802153868163964174834184900195060205467215502225605117253380948705117761789718668197794084104219114277124695134921145011155113165179175310185753197184207772218290228794238831241093825110732611120271115728115081322823310094105051196613187143182082920891021691128671232121332631438701538771644251746161846581949692050352152092253792360862462172567912669412775482876922977933079543180753281783382443483343584893685921523213843166441715518826199672187822379227810248911253012309613338414348015361116368117426418441719451820467921480222487223630324689125740926858027869328884729893730909231924332934614721183284433558756101271044816549175010228011241712302713392514423215437316439817457318461419465520468721473822494923508024515125524126538727546728555729557430571031660832691533705634711335718436727437742038754239765540830641840542858043862144866245948646979347993448101044910174501019151104125210977531195054123635512453561251957125965812662591281360128921962636377341328514306152872164822609406810413411424912441013449114452615530016632111122838194917516196306173151832539331910386811390512444813456814470915481016497217546218559919745720852721858222867823888224894825100792610814271158428120942912184301231631124863212552331272234132713513322361338837134593813502391409840149111312517377948695109662306723538358493730103820113922123988134113144355155265165331175475185600195842205952216218226430236487246567256633266792277708287774297918308028318294328499339520160827033203442293523706243673723839821512842313744151152492627287286682996935061036441137151252251353151463471564851665561770261880271980932082352189312290272391742492672593652698422710183132215733166341928520866221472245828609291310295011342512352811472287335344045570673578128878910351023221962315340545075573659076808171292994103725113866123962134775144865155282165532175573185639195946206486216725227202237386247562257771267881277947288024298090309377319636170822150322404327253452636227368483735945321046221147791248301359501460011566011673921776991877501981422082202183102283912384941708211783131341934520096216672816829219305610318611454012508413586614594015614316623317651018734719745220826321833322847023871724884725102012611154271170428117142912505301281231128483214414331453434150933516070361629637164663816551391657540166124116674421684443168954416966451702846177394717829481807849180855018595511964552196965320973542153255228455623813572386458239305924005602442661252006225306178222132322894329753363635157370283818939391047211153121255501357071457581559151663861764961867231971472077001372499358942003521806223172714832419341710355411361512414213480714489715496316500417503518530419538120544721559822567715221913252470658476134571407815499159210181411188012191713238714316815390911747218133186441930520016328873547137247535954138652503627397279082856928871029071129971230681337261442781120621296314384147552681627717283782854930091037101141881242291342601452801553701655371756141856801957232059292159971624973549410275119261282713378143391603101651111717121882131938142125152166162256172342182497192564196224633234330513106150572045837959386110387811394412523113549019621883730490259996110971304813819144710159811167719621883822482951371619117216182168923911025751130541235131340611441641732983310494117951838623137241882553926041034701135171244131344451446811547281658141759041862241963182063842165142269682370782472442572852673552778252883652984423093523194183295483310569131284139314166151751618567188881978922191024201124271228231328301429601530221631641732601834501942002056142170552271212373472478182580232690441962607393441024511006114171603816389168810217611338612348813371514380615384716429317447418457219504920539015121173148414385148962019720268332293363103423114173124293134614144710155240165308175492186322197184207271151219132814346537869317988811289116010153111178611552221335842139522296232672479836061962211943156642158529106310373475848559558510565111574712745713785814790515799516805517812118830519916520100772110180112922903337446658676899723061672160325842955368649476431797289531048416095239862852734658355594369104657115352125448135456145536155602165711175807186002196092206158216299110022643301440354396893798381133912101012301112371212741312911413261514161614761715421815891916262019771962246333648975987619077191482475924921026281127751234751335641436011546371649981962215328044105541656076258642980010127911135412161313176214346915353516379417446517121123202474157886878719108198792053102105112425122493110322112231274414045147062030721758222292672102842112932123386133476143937154089164561174592185509195550205972216057227721237772248311259858269948271007028101272910680301120131114033211450331203734121273512937361306837131343813205391321240133631572304313854147551583619477195483027931381032001133561234071335461436541537831639481747581861731963952067342167912273162382292483602584262684972785402891362999491862104231093416045166661818718608259892709103196113246123357134749145045155102165637176550186681196747206818218105228364157284831908419745202562115726508272792793102931113010171211232024741578868787191082050922071029981134121238661339561441481542261642771747851848511949082056152157462258112358522459422564812665282766182876502977273077933188543289171712112320247415788687871910820269209410216115123623113941156512986171572578826559272110283111358112389619021613385489459906119471260817699186510270811278512285113303214333511122838194917510006120771409817299179410183611194612219713220414233615273616278717286718392819393520432621447222451923456724467825555726560927566028617129622830667131667832815533828634835235842336846637906238987511122838194917510156108371390818509259110267811278812308913354914429015437816446817460018469619500620507421558622601923632024641325724526742927825928912129920815128423940414805178762327724258296593272103812113836124137134207144287154353165673175748185785195889205992150228643917499251766618481791225573294943007530976315773384848539502210513511526612537913544414556811102197336744575911696271664822749268610275211306212307013355914356715367816425917441418483219625520634521686722808223819324889525951026956127962728974129101033010501311059132106893310813179121549316114174251813619037239182481925471026851127561228761330461431031531741635951737471838851939562051802153502256262357162459432560892661672762892863452965323066183167313267973372183473283575553676581512413311544122051237619577266582813928541030111131591232801335571436991537361647221747881848201949911150421566323164234752388624407247782518925701026661135361236021337621441691542041643071112283819491759486305573447835059359510365511388212455313460414511415517916534917550018560315124133503475859606105071332814189182510190011225113228233123341375519896205772791829009296510311211322212344913360114401715408316431017451518553614122313297411325118362143726808275792823103345113496131251311743565465655577228754984410181411189112195713213814228915124643127541282523736238072937830579313310326411333012340113355814387315128423120841276515776186371914823119237310243911274012294813309414396815432416519817548418553519725220731421806422816716721123500460951141615627233682442179728953963412645134061737717998181291947102014112160122631132886142963153029164316174575112121573611466251149613047172881818919601021441122421223581325811426711534211636391738911839571941702059962162932273102378502495582596922697822798582898992910358301085231111393211259331200934124773512593361274437128471407263838844158251769618447248682522925901027771128521228831333641434541539471653051754401860921980331123211183181442165525796264573226833319454310465111483812502713613714616915625016631617643218677919689020705221708422725513532540365049405139962420118722393820496951119611727146281758918241018711124121224591325921426981530051630801731371839281950462051412152612255812356762457172557922657992758892860292960613065353175163275633381043482751322387345344995576664277378816157214731834637566968557862899491445101507111694121780131935142255110522114231933419505224962404728268326593340103487113607123709133775144506113522158631696417585188361985720638220592280102812113233123368134142144224110021048311384130951444616737183581878919661020271120741221621322521424041526911628481733871834511936802037482138412246732347402453112555162665371522128318942505326636774318590968010761118431288413114314136115153716173117184118199719202220215421242222261923308724310825332412972401377749075997611297142681496918711020011120971221631322791427801291289331949420205210662277723878245392469102545112866122943133009143104153183110021663485452856166677777089179106010143511155112161913193915128423114941256513766147871544816489248510334711343415128423114942132522026228272348836689374310378011388412420413223513449411445124061248713258207592185102251112532111228317042745348667578168906911681013461121571222471323041430111531421632071732481833381938772049152149922250582352092452881112473501453251969620597218382220927631028731129391229711331101432021533511635011735541838441941402042062147072248452348862451762553962654912756692857372960383060753166183276543381173489283590183691103791763892123992314093574194084294944395294495694596044696454797354810274491032150104115111443521155953116275411694180270038494900598661063711288116591302101731111827122447132567143049153747164450174496184620112229133101141164517256195672211822939238310329811334612413713475514545115635816713217721418725119732420739921748922754923761524766225769926805011122831704274534866067696895891103101204111461121564112229133101141079516936170072529826199287210296711388312396313400914431015496111026211563122241782518726198972040822879234210244211247712251713255814355915367516389517393618455619457320528921534022541023549024552625556626569727616928718029733630844831852932914933920634928435989636101313710258381131839118884012796411344842135204313586441367645137274614964471503648150884915408501555811122838194917510116122471663817539181510200811204012208113253114270115391116399917413418463119487920493021499622507423511524533911122838194917594861393719748204092077102613112893122930132980143017153193163230173331183774194054205522216433226523236770247834258542269050279242289279299642301004331101893210240331040034105203510658361093837109893811870391241040125204112753421330643133434413877451398746145594714727481524149153075015358511542452157425315946164828183130441385514696236772414824509369010375611376312464513553914623515635416640117645218661519664720668821785822790523861524872525889826895527100222810134291092430111643111251321133133121223412429351251936126433712754381410539150684015155411564642157364315860441674745169174617487471890348189934919156501922151193915220401532049154212665522476562305057236215823752592381860251046125362117729193958410335116361202712928174591792102372112462122711132863143514153595163795173861183998194079204250214420225354235455245521255636266150276216286267296333306673316775187212632164669579561586720008245492492102582112768122806132881143507153597164165174791184881195672206086216540226630236822247524258436268701278949281015929104083010445311219532128513312947341325735133923613576371359538137403913757401384741146844214774431572611122838194917516196219972240823979357510365511374612378713423914436115469916499917504018522319528020579021584622614823620524671525776526777227788228822229822930824331825632840633849634954735955436101253710277381042739108414010892411146942116444311666441186245119444612035471213048121714912395501246151126045212774531286454130755513181561340557137195814205591477060149406115130621610619342109931165413355199762738734058341294113104683114904125041135555145621155672165738175888186991197322111228381949175100061207712728159291794101831112194122595132741142851152883163394173506183517193820204396214910224976235027245093255905265948276544180214639374103551188617497182483149933591043791797211043183942304523716247372565111228381949175184562405724718264193342103387113533123584133672143773153843164023174093184273194787204853214969225035235611245834114021441315074215852220625327316183296938571044271145901247271347931448541550241651141756951858521967092067732173102276122383862499332599992611100271121928116002911780301232131131023213556331416934142593515073361536137155313815831391590740166574116807421699143178214417898451803111232111831814420105217062353725298288393004103124114046124169135078145159156086166093176130186568197077207187217853227988238020248191258326268557278722288907298958309024319044329293196288731025410775142862780734768367394582104663115590125597136939147046157163169013179054189110199297209449219566229632239675249753251002911124735014605567961026710988118891919102000112510123646133736144190154362164482175212185316195390205480215546225802236231246333129236310241925665617277181981981928451029351143371243781346651454231555031655441758441864941134243431225413635141461480714918164091693101983112113122283132383142473152539162860172911183117193168203233213382223435233725243777253873263963274995285119295190305280315819326857336904347012357752367793378114388186398296408346418666428980153725933981410895115361219712488137891528102370113190123222133713144215154345165075176365186485196806207594217684228005238076248166258705269743279790289898299950301032111124735014605567961026710988118891298101983112073122394132445142988153029163094173184183696193733204693214877224951235463246429256501266611276661286981297295170728383954411355114661292722208238592451102621113322123425133575143649153818163915174383184424194494204910214924225014235246111215737994183152071625127293483000930901031271141381242481345161451851561061138214932654316541265597825888399631016531120711228911329871431181539381640341741661848571131241535054129652043622047227082426930681032231132591240411351261453171564061665221765881871311971822076922178881138214932654317539761087710958113691188101284112072122523132751143363153415163477173708113123333394442555166548774881365918261019391120071221841325161131226835614716510496116471645817359276710287811333912344913362614395814372592364547085753689471595818989225210286411295412301313308914363115372116455317468418531519544620553821608022614623623624686719025613602463651656616977174981823918471019081124891225501332321432981535001637321612276332747455129861865724218251192613102895113651123672134734156526003795413255194162556727378282793779165227183192242442525326356473819839299415610423711485312498413499514544215592316597417605118662119732720856121885922894023955124973225982226100081902124387441347514576151971831818879197710250711269812391013410014410715425216434217537418556619609620623821636222645823648424667625669626683827696228710229756130790231839832893833898934972035985536993137106813810771391180340122691922113390441181512476155471756818469287810302411307512362213362914376815377516435417442418470919479920551021551722566423575424678625753626761127822828831829841430849531858532942233101953411215132282331233413235145561506722178237292600102651112717124003134261111228381949175142561491729078295393095103121113211123318133508144082151284231149411855123661311713528144292474102598113179123294133825143832153922164695174751184938194979205511215646225727236500246581128023313115141241515236157071615824819257710265811343112362113982801310684113951160612037128681388914781015441116161217101317881170257336634739517146184971980820469246410257911263012269613398214424017126113662472857636853713928243093212103302113623124919135039145360155432165542175592185912196226111228335543865481612727166981759920901021801129711231091332011433411534171639131740961841921949832050002152272260092362362464122572732673432777802881342982553083453184213293433395453495963510453361115937125503812607391267740134944114490421458643148004414866451580146159614716451481648649165765016642511696352170305317821541789155181055618171571822258184465918629601870461187946218890631950764195886519678662051567212886822308122721009311174164551776618167196582072920791031501133151233721348421450071551671662031765241865811970492071982173052275072375582476242576442679441116227034454108851184612527131881858923601024501125261232761333231433901536191522191383449305949612117128981297914461022371123751231951332121435681538171638601753161854061958292058952159792260942364142465252578322679742789372889742910281301070531112963211467331156334116333511711361175437118423811908391205540121004112488147926343730478151002612257139281555917231018871126751234591336061437491540031642841744541850481950552051462154522254872355832456532557312657742758622859282960753061203171781247235731104412565130961599718348190591967101996112086122729133202143327153422163441173703183944194015204077214106224196234839244864255891266551111421503275431854066472756786639733108111185412942131008141155151200161528114522063660480151036611077116981198912881017421118941220091321581422651523081623961724621824991933712034392135502235842336742438132538932640472741972847722948783049203152313252973354903455363555603656663758043858943959354063974170474282894383304483964587694688934791054891484996585097535111319157212632334276536464307467813399140710236711241812298413310414397615401716410517417118423219436320480621502722511923534324540925546026561727649128729429735130808231817232831433864111492234313024139851517616077167381742919181021401112283819491759486305573111834999355710447411453212540413550014599115614116627717641218646319652920656021658922676623782816902148131571417545279463191733268352894488104539115092125312135532145598155649166070176591186598196839206929217058227255237365247406257674267764278000288155115229433104141094518856209372161821739232010241611261612303513322214341015433111122838194917510076162171771818919196010218611260712267313282114288615297316370917381918404619412920423921463122471023480024490225496826500527575228583329591430666431757432764033807134816135848236855437869138884119221983264457151368614667225782473926301031081131721232231335701962542360849155171261810719418195892024102069113189111228381949175948630557384685554956781056971158061258961366871471011575551676451778371881751982332087472188132288642393742495701708212133125441411531246314373252840029410010424611427712454311302141317746315666613127140381435914861015781116461216931317811418731519201620081720981822301922872030682133651130216532884790588061630721838230792373102463112618122684134492144607154716164851175191186096196178207625217692228192238304249141259261269338279471170827883926410185112861769721028215392257103067113074123146133287143330153408163934161621347314824187951969625417270982811933101034121134531235311337371672178352847775897610787165081752922511023531123941224721327481537259336074673517846321473284834479349010362811366012368013424814448815459816491917503618576719590220594321603122609223618224640425747526778227798028808729820430100543110095321015133103383410429351054736107993711069381116639112324011434411152442125564312702441277445128054612825471310014229331294583568161195715768174192267103034113488123689142213832874930510616110871196812829137210161911170712179713202814212415293216321117334618339219403120476721490222497323501424522011122833554138751428615167157781667918891019461120161225961327171441491548451649171751471852371953792054302154962255272355562457332561251130214131774631511616127171591820099256610320911334012338713347514357615366616392817404518477619491120495221504022510123519124541325648426679127690228736329747330765031804215128423940417375175461950723388242892519102587112680123512133658143788153899164585174740184777194822204953113421486321374219952511628597294583236933271033861136821237251337561441771544131648041755331859301965261832115359141126513236146672006824099247510263011317012328713343014416015429516436717466918471219491811342434312254136351414614807149181640916931019831121201222691322801423421526541627381728041830161932842033402134302239602340282442122544602645262746412847302947893050713151183262093362993466411134243431225413635141461480725118354793594103684113720123752133788143807153864163934174406184517194719204909215700226007236142246915256996111225863627469352510625827386884126141219032434533556568617965819959208510222211254312259513280414287615298816313917429018440019451220458721503022557023672124678225695411302663375348135879692079518105191141102142112179122380132452142463152674162855113021413177463156626209972189823139352310366211369912457813460114474715485116568817577818591019675420748521832822844823852524865811502941312484133851400617127182281963919841021401121931224831332331432761534431635271740671782109363147515106161252713548139591473101719161021341314764197852769630767317883219937631038381140741241251347941448601550151651111759151859601966511422120328243505449649675848630967110242311248112258713331814345315375014872792393441020518406193871994827919331910381211416012421513503514513315592416606217611418646519721520726821740322769323795824806025809126883917082885392641014510556138271992821689345810354811369312377413413114422115436016456217481518490719546120557121597214721283159430553736420748585759714108891194012163513188814199815217516239516292695373848765133061943720338284793135103830113926124682134703144952179721104318394230452371624737256511122838194917594861603720258206692105102171112261122298133179143230153296163327173347183952163214435114577564766697118381249919901024811124881226801312140831474425435263362795729018427894321104935115068125854135975146550156731166821176897186938197513207619217626228157238164248982259289269459279529289546299767301080331108553211605331191134120733512775361333337143353814497391526740153394115405421549543159124416102451707811122838194917510096188072227824089252410278711287712301713341814396515415516472919223163717476859546107671193830439313310400411435112452113464114556115562716575317591018602519651620706711032169327245995152161652725388276692858102968113315124379134512110022103100141099512526181371875820069213210283411287512338313348714364015420116474117524918535319589320640121653322660523662524687411122838194917511056117171493815839171810220411228912260413278414285015294016363617468118485119533620541221616222627723705024713111122838194917594861885720208251792765102861113396123546134101144202154772164813175343185433195624205702215709226416236520246670256690267723277851287858298164308284318465328472338576349326359468361031437103533810599391075040108164110927421109743111934411268451194846120144712109481218149122755012981511357313921293233447456056111771207815499180310197311207712231013235114283515308416359817366418440519445120541511032169329747405102061172713438188592165102221112403123153133730143781153847163997174038184128194667204714214804225836235893245959256011266331276481114821993265458357876844791082196924541412151347845105157461646717968183792299102346113262113021613647417905184861890719868271193854104442114508124519134566144633154823165397111228381949175948614467156681888919391023451124351229611330181435161536421637101738071841891945952046852148362249022350282451002563862664741104220133474437562961169712778128591646141214432104300552565627640867798181085511904121010131801142108152854162964173030183783194555204586214852170828483923414315147261513716018166791714102041112179122300132341142405152520162585172628182699192754202785212991223312233349243824111228381949175108761338713698243992529103359114061124921134962145028155401165525175737185780196290206886111228381949175123261354720568306493137103614113682123824134426145133155237165387175394186246196336207606217657228148239590249680251071226113462711493281197029125423012632311270832128653313206341327435133253614368371439938153593915366401595741159994216070431677144170834517120461763047179454818011491806350187655118885521951711312901310114110851678622207315283359935861036761144671250361351911453201556611657291765201866291967192074752175222280582381102488122589322699941750281538664128451632617427176281769924671025181131221232241333001434471539611640271742111842831943142043432145202248521562179324545665792615347198082118921491022891123701224411328921430331540821701283238984909510596111271402823239289310302311313912360013430114473615495216514717563718577919586920594921601122671823727824773225784226849127862228932929104593010549311064932106993310949341171235129223613018371357438137943914557401517541152724215602431636544170724518275461876247195254820232492081250208745121186522132653220275422485552298156231925723983582429059244256024476612518262252146325482642558417072113231173414895154061638716508196492102102194112510122614132840170128323114441155513056135871648816839224210246411251512261213277314283315292316306517319618370419377020382121433122452711382402345345545650611657135481550916011017051123501224821325981426881530891131228133344624573069837107181232912921013821115241220001320811421661522841631421731641832741936392040962149062253051131219732584391556167317104181117912671014081121861229601329911437691537831638731741051707283839044915510656111871408818609239010256111432812438513448114457115463116469717482818496919501020509621513622518723532424536525546526550527561528566629613630667131685532740033794034798135807136827137830838844939849040858041879042886143931244945345105021412571364646785719614207142781478915621016281118401221081325841427391530591631001735441836791938302047862152562257072360502462052566622667722768222871422974611512126831444415415159863278733538350493955104080114189113121973903495951169614557169481769922231028361129261237401340281447231548191648271758371859031960682070812172062279562380802491311652155369441732517796192471941820519210110242111273518321483889416195215863196733058470795000105540116331126638136887147057111275231542416325170162241731518318693226103376113505124045134536145632117283317347125808618407199082310925841027401127811233191472903399341009510996151171758817909186810199411316411842913310544112551184614107187681940919811020591120661226141712288334844555545672278128116291318101408112440122481132551142711152801163149173291183446193892204052214340224953235043245896256128266933277342287432297553307904318765142218033104734582461194714158148791648102439112746122797133503143535153803163905114422113299441455046546768587769171610198811252812255913377514222013292448157156894710498109091248114026233915410055115761346721398300693141103182113260123267133815113024073497415295206963227733378340893586104439113022503291438159206195872088821539257510268511288012316413342714346815352416371117374218395419404920484021570722594323606824609925626114128232124302540366967713892491105113021341314074310853155634457398485022950391051681152051253341354641455251561661662171762941863311964212065522165892271152372052478561130219138734924514946170672479825359355519024703595413615154561798725548267892811157224733134131551426618277186281894919051019621121521229641330551431651532151635351738491172354354046225639674871591113021413461468459996112971195815149158610171411174512178613249214287415391516392217401818505019517120596621601722612723619324623425704526717527720628751629764630773831774932778533780434792135814336822437920017912129831752421735223462650727598355094417104653114778124809134971196210673119741888519986206472787827949351610393511399112402213415014520816226653789413295151562335728638292493511104302114812125385154026103108042055520876213872276823489260110264211271312333311151212613199042100523366317273337833789345610420211412231381148725103261142713258140191452101658111754122551132858142915153132163182173198183229193342203350213768224470234510244634254780265571275878285929296635306667316948327076151217232974420554566027723875599911010381116741422652313534154651656619387215682167926581029121129491237211341351443881545201646101748371322393114415552336979710698120191243101454111566121637131699141824151926162735114421953210424257126808785589639164314226523135341546516566190372034821359284110298211312012316213342114355215444516524917529218580219655811042964317554248452627626937311183813942721044391158461259841359951467141568241668651772051873011973522074962177562278662390222490542591252691662794391472102319842305332637976508148792297103117113683123795134451110422943350447551216614187159481625924331025391136011240151340811441621140212623155241642517946217372283823249305310377311419112463813502914506615514216566317572918586919590320599321604622646715721283350448051597617287266882719945311047621148521258841358911460221561121662541771901872081972502075612176272278152379252479752580862686122787022888321922577313684160452097627247279083330933761037151144221132984413542965197726885699071097311127812138813143914153615155216165817242418245519266114721373149423951271613087152881757918361018681119491225811326221429621530521635061735961839161944562044972147442253181797215263199142121521896227973681837719408210414811502312511913543014554815565816595817660811302802385341315520886215472161830229318910440011446612499613504714555715581213224935794106951110616407168681737920481026201126611236371140248235234604569468467232382430934781036531151891147284839074102152498626047316483347934201034951138961239371340151442211151226833094123651243617827193781949919991023191127371234391337341437771541911655881769951877771978222080101259246636434143452411625007256582767929991130278238334213452200624307279083836939461041441142341242701354801455461560271660341771851872951977152081582186982287432389831130280238534131552088621547356183568937811038161138811239131340901451481472387380848405144262498726688275992894103005113691123846133883143928154059179721526319914214652950629937307183377113021613298438855226119071256812939143410247711251412265113274114280215289216294317341618344819348920352321356422369423372924421525436726470627481828597419572964317554250252553630787311983366934661035411136311236961337421437791542391644141749801372650314414158151828628717328883568935871036281137581238481339641440541543741644211745111846021947572048472151672259052364612465512576131776213073222443098532816333473424834909364510373511384812394913401514415815477217082742315334169552160623707250182671930931033551134651236601339441440001540901642301743801844571945032050432154462255362356172457522558882671742774321776210263146942427525296290311302191365647075784615757210582195922551023211124511224821329551430381531421644021751041851511952032052932158331130219133014368545866707183881845918861020201120611230801330871431381532371632691733341835341936732036902145002247921130216632174351539261411714188235892630102702112830122902133043144107113526643170741738518946192671937820939213410222411245712270413275114332015341016372117375318390919394620396121405122542223645424649125670226673927681228684429693430735731745911727583131541418515746161572266825559309510373711383212478213481614496615550616555217592518646519659720664021715022774611723543540462259286109872091825099321110322511329812377513466614500715505816508917544415402751379248585980611197115181186912851013021116331217951130222033534443518146204772294828299430010500111509112519713528714599715620316629317690511302196332944255521657177938133391824102800113021413477458756386122071390821649225410250011250712259713340514369915370616386817424918507519600720607021694222809323820324862325906626924127949217282735390149185105761187716778184791915180213339334108551681170821319321104358253672641357528685451958691072921173821279041391191491671593671697681798791810453191052920114902111600221177723128391472157394841514516046172071810821309223610316611334112390719062169733405435145361763665753168537195467106393116400126451136943147133157176167658177758187794197884207944218010228056238093248553258610269114279164289268299299301061531107113210778331156934116693511712361180137118763812379391246940125674113346421342743134704413548451391411302261335144115477651875498810984710190811216812227813250314257915328016334117340718416819504520545621554622657823684724688225698426712927717028722029768230781231786332788233794834795935800936830737851738874939898115722153372489059076164871694826581172758314884202753065632067326883414934841036501137911239301339711440921541481648881749781853051954462064892168412268582369672478101707283831097411455135363454736378367893739103961114133124223135084145186177621036312954179152330633687349083580938671151220433194420563166807811815179172910188011199112212213215314216415236611512362373341744518756258172793829449305510318611327612334613342514363715379416388417406118498311512362379341808519396264572857835639378610393711444812457913459014473615479716501917510018607616124753499412695155862097731358328493331103383113473124124123217433054784587469407105081110911471018291118701228461328531428851529361632571734691837901939262041382141882245082346492447612565371116279838394180051837629747308584046941141041551142251243221343291444991546501647411752221853311954552055062160162266121791288939654107451221621937226082335924571025081130131456291831386416455175561906723068291493004103365113416123638133716143866170210532754469552065907661873198211095311104912236413238514258215260716276917289118315919393520400521425412442288344445525602669279121218239535274579563661597717078193919621553151742226527446286572906832069385617502769383548645871696171282813729145410149611202412207313223814227915235716256316728583136541819519246202472155824659247310252511270912281613282414297115307816308617344916728583877494351080615907172081751919031020181122231222741322851423171532471635081472358342445325841615427168081721918091018751119851224871325771428971530271631171732051836591944002044142144212245372347942448192549902655542759342864022975443082753188613289023389723495193510010361004737101173810247391031340108534111798421188843133394413507171221135312794154251776625177257982608939941040351143761244721345221453191554811663201764821864891965402066502172162282711962106731197418885199862064727878279492925102950112991123067133091143137153457163553173684183832194402204443214531224597234639245249255950267008277098288739299216309359319437329507331031834105693510656361112237118953811987391203040125404113132421324243133084414518451465746151734715293481571049168481140265039454100651847618847212983195932361039831142001253711354181456781558481663691771601877171978132079632184942286282392072493292510165261034527103862810896291146915121173328436954726128571334814249190510275411323512332513337414416415423016437117493312112344345345545685611227149981621923711030851132101233911172758386149515108161927719358202593396103629113876123980134231144674154850165056117275831170412605145061474723548294093044103295113738123914134165117275838464936510786112972064820719252410257411289412382913392414552515637816647317648418714819724420795521804522816023836724843725889726898727911128962129994930106973111913321266133138193413860351460536153073716048381618939162404016330411712042175624317738441790011162181371247965157762490725258263793096104308114448124574135091145202155438186262531663417245181061845718858196192431102466112572123308133358143678153695163747174067184217179028563111841149511856121771228819599200910232911249712251413262414267415299416306013126603985410025123661561715788173892581110421783481457158336100371296816019169710181711201312206013211214228215328217762119631639418285249262645728218302714732514353946005690691279438979910111010221120991222191328701422353341944605988610357120981364923631024101128611230161330841372506312974143751527615877165381812918781019591131711233111340811441491542291642751744601850001950412052882156462258432358862459642561701214228232944441553169907100681192912001013301114221218651319891420551521021627421727991835011939152039462141081188272831073411345120461317713248136191606102607112697123812133993142214432824368550566467113381698918531019031122231223561323971424751526181626501727011830221930882031942139602240641776293031010410725115361533716758176591799102716112757123629134516144683156090166132176443186665196706206897217922227969238715115362158231682424735250462666735058456295395105436115481126357112912135732770428395285663597736858378694240104481115278125785136239146445156501166628176718186940197081207192217718227808238579184621336315584175351864618957197182497925141027251129061572536312574134751437624697333583455935571036231136741242121342441452251552821653271753591863151512273328444255515613557147581582915991017401122821137221831138412395130561420714718198192400102596147213731694627570861628717298179591910102020112220122310132351142599152769162801172842184492194538204595215326226252236322247534257674267725277947287958298099308706191322019325914266452715635067365484226943621044051144831253291372495357646465157661677717438185891920102190112247122658132768142809152912163056173113183684193795204441197216836194784594469797123681596916031016931118351219451325201426101540121641121749181850141957842058512162722263132363912465971776293031020410705138561609719088221592311102358112684122716132954143001153637170821167311834132151401615477196582431930011030421134591237491338151438811540221645401746531853491955212063122165632278542379782480442588232691412791842892622995881170238434504501553561053713528154491640101854111905122750132863143162154073164285174397184571194661204803215573225686235752246046256156266947276978287140171221012312344188551989622407268382859938451752280344245665813683079218964910421012481622625374947605137061454715588317993269103411113548123647133737143879154132165103176026186900197989208074218815229249239330249461259743261035027110452811141291117330112143111525321159133116423411864351194236120921776287231744428065367963722738008394811126213705485359246139571685818359209110226111268312376513390614402215472816486617522618533619557820722921728422738023770224781225804826814427822228858317502801387149515117361268716098258192629103796186269437754922596961191723048241592621122821319320254230952360626717344884634947241048601149011252221352831456951557851667001768461877071512923628410595110661597717791130214132874435554561116711778131891544102140112230122706132741142919153155163211173242183370194428111621813262411635125361992721918234492562103268113333123497134209144821154942165013175619185730195860205901215967226014236085246150256241266371276412286988297059307100317234177628433160341693523446287472961835339382810397311412812423713427914459015465616469717488818591319596020670611442854310164173051941619727210782139922291025901127541229221335701446871548551648861758721859731960392061552168472269622370972471402572182679641144218532754342510526124571971829789327210338211345112350813358814404315416816426317479418492919515020520621528422543411042964317554229252379625257373783877941381041791145311245971352891453991554651655691764061864531965312070401172758311104156452581637977481485531958451069961170521275621378901486391598551610603171066018107501911495201219721129382213352231346524135212513629261366627144132814469291450030145203114991196228933784965510226110371470815369157310245211346812386913392514401515409516419716062624371441596522076230372451830629319210420311445112449213514414518615635716647217672218737419750220764421769522820523846019621603771486751200618117194182952932001032411138931239351351061452211554711661231761641866741969942076952178522279182386262487962597672698972710588281069829107643011487311235732124993313711341385135139023613968371399938140283914205401526711302161316942595300632573668655976510885111019121051131102141188151643161650171695181890191897201975212842222978233241243248253489263525274765284831294838305008316018327228338231348268358343368474378696389982391024011162907392441223512736198373163832599359210471911501812517313557314560515564616612417728118728819734520735221739322843323944524101952510311261137027114282811709113128793108941351520576231072452824899270310277111289112306813344212062997315254156151872619387197982551925881026491126861229851330751433951541651648871756781857681959452063632171712272852374152474502576342677242778642891582992393092903110218321025033112313411288351177936118113713157113022753322413915150761818719188209211302205358541376517516180271868821169282210295311326912338013408914424415428116515317517618596719669620716121795822798923815124899025904126929027946011302638310694111051358616207179081822927491027561130771232171333381433751543121644141745041846761947842052012152642253012360102464362564772675822776782877252977863078233187603289813394223496703597363697683799093810699391085640108634111053421170913727463817413085134061783717988191792335103377113687123787133878144023154225164256174436184627194659204801215509226079236271246313256384267085277397287484297550307644318434328591338598348788351016415727633107341724522886232573204833279418710424911436912447613526614542315543016562017657615402100231118415725205462164729058302493641103721114041124066134325144500154643164890175052171221135312794154252106626207281083514151259436864774512286133871898819889217110222811229912241913312914433017255035864638572668877134181442914621015971117811218551319221420121522741622991725581827281936992038292145512249652350312452112553372654672762582864982966183070813171573279613380043480823583221352125131283413345219062327723348275592977102984113405124277134689144911154967165388176260186672196894206925217135227326237434247504257974268465278555288687298694309176319266329374331018534103153511873361192537135711512842312294133851422618037229382428925181028381129301232161332571433231538631639801740231841011943471902104326043755945615237161981633917511018621118921219241325001425511525821636181130224133114523556468647151481579917301018051120641222131322601423311524211630721130218137124858593361430714958169791929131256135964135451995620537209082351113021341314074242052623626407284282892932121032491137311237811339711440031541191641561747631849821951952060062165462265872368492472222574342674772779872880822996481172758392141642526746303073962841489502010562811576612585613589714635915641016663217697218717619723820855421881211611423251135724683576368537116781378914731028531128601237961340521480252136094710580061062710998197892068102133112191122362132403143779166215634714584568467987121281219912641014611121219233184101951078611927122481275914131014651115361225671301210923138341469516966211714002555369747445815618881100286631005411755220562324724718251692761196211763129541442522336310073336833799345710392211495811402311340141433515936168371779822009237110241211338811402981315214192852468626497281582890929651031191131511232541333241434041534941636531131217233524384585161552722138234492396103206113301124491134581144832155973166063176132113122283324444555316581763281654917501026341127051227951341771131213423138341439520771131220232924157311312254317314198652061623817306215402107631166412285129861394721498227592422102548112974123011133418144184154765113129353103141828520876220772699828349298610308411323412340811726231934644568667757906899691514102265112302123005133715144254154811164901175963121222883689474558216862710848125091340101853111990122031132148142411152531163241173780183812193863204340214490224497234974245064255790125323143405452557651161215693172042522530616346773543840569425210508311523912532913563514572415583216608017615118626819638820687921741822755523764624769725809826818927826928837111322385314064164851705617757345583536942411044471145371254891131215531087419895206962165722558328794087104604114645124713113122273701480351705618077306611127331184222536165317625885291379101896111995122542133292144102154852164942175354185420195595206581111273311841495799612007126182065921441022341123231224601326261427651530611635741736301839011939122040652141552246732347042454052554572656112760222860802969003069313170931708289531289414275149161607716728174492036102044112174122225132291142322152573163005173598183708193774203815213846224442113023713583478559496102971153812039131010140211222212225713235214241315248016301613912410380749155107061967720638377194182104240114330124390134456144598154694165199111273311841425519526207672126822339229610281211284912359613365214368315370316417411302220346845405606610477185181963924221025121128501229801329951438151539131640031740581841541948802049362151232258932361432465862567622669681130222234704682511086114972254823509239710245811303612408513529714543615549316642017648818652919659920669621670322685423691124745425756426763027767128770229829818621323166494859626104171072823999253510257211324211127331184160569169817113181387915571019791121491226601327951429061535921637471737841838291939601797215263199142687528136288072982832649330910340511409611702114131271419625207262138728618286893590104009114076124212134409144499154953165371176073186532196873207470217608227669237710248220258750268840278900288966299104309941311006232103843310494341073035108263610904371126511312773386349445104862078721688236092450102534112682122772133054143145154179164225174775185782196200206902217135227231237355247886258733268846279099289151291003930105653111339321229033123803412662351279336128733713823381392939139604014556153726203149741618516896177971940820309294010383311463712468013519014572815128423157142036527326285872889837779385210386411400612404313474314483215525016529317539718548719558720623821701422708423745817521653263431354096640719478272392793103855179728953104841609516406182072011820439218510225211235412244313248814258415327511842225331546605750617807239382483933361036241137681238511339161446571547181654541755011855721960712061382161892262502363162464502568642671542774072875482976213076723181623282513394103494533599633610559171217332624364564666977801886599061010371112901213991315141419671520081620881723501824591925972027572135882243842344912445422546972647632748732859351791295131071411735123962319723998245093289103646111421283244462758616127771328814869155410165611174512179613192714209715216716282317287418305917082147831817423585246062742728808313393164103718113828124005135067171217335564791512526141071548815899265010283011300312305013356014469815328443148541516516526171871973826159270410273511342112359113362814411915464017121733455455756466697715958175691846101928111935122016132383142449152587162638172704182998193108203500179122499326084265052759644107446584561947281049341149951251121352531453541560601661071761851866501967311140224936744930510406118071199814589163410179613521251312834173551791622127266482810936011037221138121239441340481444621547521650051751461852611953422054322158932264402365212465282567822670522782622890032990743092643193683210235331047134113073511472361151337115913812337151231333794112051850623897342783517939821040341145741250511351611457621570821671831774701875261985452089822193592294952310796241104425110762611111271187228121502912773301283931130413213273182234431815425165257262603726238322813725883678417105178661922720148270192827102878113526123592133904143994154243117275831058413085181161873718978255092968103670114201124273134905145121155187165637175856185863195945206880216887226977237027248199258969269822271030928104992911875173212539384139652149623567310384205942361050491150811251561359261463461567891669651775511134247635414582573369447955811019118510125111129212138213147214150815272316278417346618363619440920446521548511312233332344745526682779178177891880113121423288438854006126671382816789176810197011220211093217853199742152522426238972479825459258610261711321315222573364741567516576191972029822629241210346211440512460113530518132101331810419255201562176735348432595054105519115615125693135840146010147212237694785591669277107381157912231012641113541214441314801426951528071637631131223331024413315142161572716248192592015102166112224123274133364144178113121423288438854006551766789639105310125511148711093217853199742055521456229472395152225733647415675165761919720298226292412103462114396125097135260145981156071166147176293186357196435206525217286227362238370248412258478268668279242113826033759482558486180471845819169200210206311259512263813316314321415368416377417406011312235341145815671693371196830049355910364911376112432313481414489015493116501817508418509219518220533221697022703123720124729125897212002997311124136751458616947190182692934211038861139331240111342071472597312444137451505615167166281746918121018531119431220331320691432841533881638621739291840191942812049912151472252132353032453192563112667622768522878532979193079563184683285463399973410770351085119342163531798425195260962685727608283592925103957116113126203136310146707157627167694178113189121199163209229219266221024323103332411365251160911312233310244171451804619557277584193943131044041145391251361351871453171556471657371759441860821961342061772164682264752366671131292231612416645240762938729458330214572644311274124751488617357187981890920191024811125241230491331001435701536601640811182622145323334242352673632771526269138284839598561119726128290893120103674113764123870133901144367154607152275338844106551923623487238982611926191027091127221228121330441111299831263415795166961729718818191392404102550112986147211831304281531363647502813579144710221711231312242513310512002247327949265139761487727811307246237124194352053621247230282676147215137984118151312613237146981553916191016601117501218401318761430911531951636691737361838261940882042622143532244982345352456042557462661132761502867012967913078233178993280353388253496353597253697763710286381048213726183670497051506620627218282284923501024401125311225381340081440881550221657231762331864041972642084282185382286092387872490621572128323343835481612247191581922920331021031122161225961330141430921531581632711732881840981942581131223331024417145180461955729088291993301104098114196124326134416145177155184165744175834186355196486206529216600226886110428463956410225174561796719218201192541102617113318123423133489143585153632163718173799183850193980204076214108224159234480244546254799264935275188285238295558305699315809325875336382346635357124367237377305387502397643408100418910429490113722393103041337514276157871668825819296410307511377712472411826221453233342423526736327717912152031903419745204463111732078399894727105110115188125233136185152626913828483959856111972612833049351610407011416012435013442114453115467716503814723893479479458846946797882330923721024791135271237021348381540262737384854510086142671583817279183110193111199612303813334614482315623016628117631218694814229331294470556861082716518180692429102519112661123699133805144534156011166054176132186280117222083549460051066611807159481645918021982134347545265992611067192481975921431179243935054616571769777104381075912521022001772963916416825271462804728808292292973103009113370123559134364144501154611164794174919184950195186145027913103141161512516132171461819209225510275111287212295013309314313615386516395517408718485719494820501421512422526223565414721113907499751076611337119781963922941540211633125341374514906195571996824029249310355011355812478913489914497015514816542311372253326446705731610277111781319915511218232833794410554766577723875598941099811147112154013163014189215226316238317244518275711312182365241065510836156471572816239209310218311246912212387311694118451807619091133215239344949517726304311312233332344695875692671632819319208112242275311484123852299631217381811382347396041257513476148372052143724893758490812023243730486859196100071235812869135710146511258911312291340845285961113821493265430753586898794689979112310123111149211312269342045585833696471106818319185810212811314818221233239429054216602713848139992009102050112217125623953442448355616767111192122531421427721147245135791138223034344666120223183586113125373106841075512076125872009820999215010285611314612385713394714408715532716542317546518569119628712602345364547355144661986722498242311382190323144845762147263737284760581169037131781570916411021061123591236401338011440941546371648671137223933294475588162182722988245592646102736113768124704135166145297155937166046176590186756196814207045217407113122473428410265109461400714518248392548103270113360123681133771143853154068164728113829063996411285117962041721378221392254102718112849122989133251143302153367163507174753184843195875207115217225227821114021492315234192952132623787246883640938151048011782212413139541533516146232472381829189300310323911335712345313356814360015369216395717408118414719425320501921505022525611442230310824108951179611957194481952920731021811122311224291422257737544999512066219872279826919333210410211418612433313467617722533408464957876798791489899107010129211133512141413155814164815244816256917281018303619308620351221364222370423401611512602376741008510496108371128821729287410291911355517222857323344242452505626037333283797938811040071151781764294131732418105328663927749598621496655106929117025127871138361148583158742168852178914189226199269209568219869229910239981241020125106072610764271081128108892911525174213834504691511796128971435816719178110196311203812217613218714230315240716248817252518258619266120270221283322294423309024358415121033745478658316926797481015910931012991131213423140842481525186253573505836159384717072882397241003514096164171717825219311710324111379112397213406814485815490116499117525318627311382254313454142051964625367305683607938141041471142221243591344751451211553831661541762441864001965352065722174442275462378211772913207483959406114771278814809174110289211295312308413316414382515393116508217512318518919532020608121619722642323708424723525767826788527798028808829811330891931903532929633944734962935976036990137107033810764391082240108594111086113121423258431959296103971181818859199410337411341512424613432214441215502414792514360446815771682171141821629277910285911317912456513467814492515509116640917653618686719707220740414312551397341764524526254273574847869492510498211519912524913526514529615540916541717547418569119579320632821635922808023818324824025845726855927960028113212911424301217431122723213001331346634135503513676361484717972152631991421385297563394735818361693692103724113765123843134049117072185331969420595214062230723238242792495102530113337123408133625143681153712163857173894183968194071205783215867226898177224633364406562067167820816579179510188511195512226413251714381315389416410017419018514217723503466450756586251172653827849289710411311420312428913483314507415533616548317556018686719713020774621796422801023814124819425823526828627846328994029997830106343110745321188533118973412014351205136126143712724381290139139631131233331614416545230162993730838375194208104457114797151284232550426845288064682747728501995760105850115905126001136777146847157658179729443145641996524066249672578826829273310295511304512312713444314470117725573677479352626639277400484100952161052351154941263141363591466361569091120821324314754166751901625337268484430947491048801150821251181358281463291564191665511765791870861971292073092174962275872376382476532576852686352798652898732999633010674311109932111893311900341235135124483613809371389038141963914653401546341168351429251036004131051406615297162582462925141025741126351227661335491436521536591637491740611847251952612053112156312262002370202475862580642681282789252889702994353095971791213293165641749518316257272650831199328810337811402112415213444814487715499416511417545518550919558420603721630122645623760024848625865126898727100862810527291099830111533112024321212233121293412423351278036132663713553381429439143824014497411456442146094314854113021413158430053616657772388249948101689111724121814132353143391153422163458173490183501193539204005214183224251234558244651254733265474275580285648296150306640316830327695196224233584404547966207633880312812124231817418915197362055720968221292913103540113691123742134745144928155170165766175861186813197388207519217623227763237813247925258512269529279684281079629109413011096311121732113603311417341150735119293611970371238838124353913462401356841136464213882431491817072847392241060517706211672179822759279310354311369212371413436214439815446616579617588618697619710720735611162907318844201952156633667410784247943221047441148991251101352001453421553851654631764991143226336094105051521625357277683477936171037071142001249011357571462711563271668341774051874671974982080262180572289132396832498162598592699372710243170721238312844141951489629157306283128932681032751141321249061352251453631563781664191766811868621974281151226833094123651243613587214982270923901024971138551246461356231463981564801665231766011869071151262837484789585169767115781232913151016241123551707218583208042742528976293872994831819327110343211350812431213436314458515495516515917522118653719679512812371314034148551620618367197782037927871029271134791239971341721445111790288031001417115242462878742458531596021106117116325127675137756147813158269169339179914181123619113072012623211277822134292313883241393425139652614118271422828142942914326301446531147423214783331487834151203515957361676737175873818153391826540189211797298331439415945175161803718348276492968103227170721308313744160551681626167357983635938121038591151661252071357291458421567761668171769121871021980581707220083223042320523826242772517836739502810538911549912573513622614649015662816667017703018708119762420768021786722791923799024811025881626998717255036424116351224613147144681523924381025281126491232361332791434591536271776210263146941650519891437259236454138651853623167313783233937911041921143431244331355311422403383948475958615937163482666931451031621138171244071344901445411550191651341756791856861967112072562180062285762387532495442510273261073827110992811410291158530123511712642381941610523396280473046831249416019021093175426657566852717228186991914102862114021092312204195152041621257227382348924861025171127681227761328571429881530191633771733851834661942182042492144852244932345602447732548052648502756812857482957933069911712214337345395547614607225182359924491025661127021227431328211430271136291739634103851179611927136217972152631991428135290363421734528365818721623213425757571772794383549835107361131711828119391225102185112287177212443133441830523696340773454841849425010434011466012471713485714490815499416509817580118588019597320649521657622673819029603102641137511576119272153822439335810353911772297346445265833696371055812019132510153711156812162713216914220115221216324217333218387119490920494021581122584323725024742725751826761627774228787229796430811031823432830033840634912735926936930037950611302161325244825683672071721817539179410210511217112221313268314282415386716547817556818640919645620661621672322677423682624685825781826833627851228867411127523154241632518226184671955820519207310224311229012244113414814462615470516547617619618620319635420738521746622753223778024787025873226886227906828915829977011512599372948335868613997153081978925691026351127461233321587262836594139951720617717256713726523727410685110561341717471572582362346735704612527132981499920711021121126031231901512842313724146251522615887166582297925031031051131951232461337561440111762310371647245765684078558123291240101281111356121487131845141853151894161969172721182957192965203095213177223768234308244398254509266115151210731734914510016145571472819289214817972132731417414825151362128725288256592801103207157258236234673570468917154382759928201028711129021232601130021487317344211753194633147344414821185312754167652733640447411284168943481044981512842313504205252197622977238782788941151048971149421253301709286439544199552535625667302217082778316244164251780618477266982799928911033641134051234391334801435701537821644881747911848811951432051682154272256032357651708210183140042058520936264772837835411927211493123941449529206362173687839269401610418311522612538513542214589215598216718415128423966411885121961967720878256992716102757112890117722973490462058136878712118179991865102007113108123230133333143399153706163757174267184463192231531106418085272862794732338341694124104964115119125536135993146096156212166459176981179121007311644125151654619501672112333544445519611277125181498928291031421134121612885311074119751629617707182782218923081025351128471124221433534470593261044712718131291789101840113056170728513917494051531615887167882150922011034111145121248741353501454401556701657361757871859051960442065422167372269442373361148228733444417545966847105417012312733389439365402664087742318434494434104571114955147215532214253576561310713178151591562101933111965122055132179142245152296162362172456182534170122081322934238952484625877275782847929891030401133541233611340841442641544741648751751321852421954402063582163652265421701273539574998511356119671366823559314610324411344512353513367314446415477116507417616418635019660320761921775422780423790717502848312564132251629617257223682302926091027401128061231241333281790216873174442165529386322011122838194917516196219972990832979339310350411399112423019621873953411645119661925724868249392959103000113095123279133292145096155186165252175311185409195487205858115021131312374130351878619257257583276939261040321140981243481344361446631547581648011749201849711950372052172153671790284739134101451048614401512140631590416645218362240731028319394003104093114150124637134761144847156307166487177037187358197400208520218577228643238753248980111228381949175101461080713878142491867101992112489123115137252031331414695169061741717728200815125513595471957856946710398183091861102127142218232484383511946144071482816989217110222211338811122838194917514006146571827825299266410273511283312298713303814310415315816322017350118364419370620375221471615142104931080416325242363400735508424694400104451114517124835135039193421635321264229653802638927492486061961121072711174131275611376421479891583621684521789051890951910071111228381949175948620117207782410934791040321145291251251154224633844492510276108471150812799148310250311122838194917596861875719418205492144102576112892123072133613144909154999165071175777186718197769170729773999417905209763065730728363893645104484114816125092135158145230156040166392170821548317034216652304624087262982665930261032371138071245131345641452701553021655831757111707284539514100251073617797179081929920191021631124931226541328711429611531031631101735721843471944281472118318441041514986163371680817519181710267411272512453114721223154498151047610987125881378915161017961118431219211319841420351520941621261727531828591936252036562138621472118368448085125161283713548186992762103566113609124119134875151284231149414455156861709718298193191997102439112979123455133610143883154423165521176318186625196666206764217338197216331306413965144861567727108358793697104569114924125048135246145336155434165501175546186494113029503125741308517806307073145831869329010346011351712361413379814503815554816567615882100631037415135204862140722358229092355102486112949123080133146143189153395163697157250037284779584569827114281259914251018061154224631776418665218662317723828308793449104195114538125036135254145313155446165497176007186538196606206653216792226902237029247085257547267603278144288339298411308521318571328891339205170121192313104140651457615757181282071922421023921124341233551349361450261551821652881762381863041965462066172168442269392370292470842572042672712773152874052974233075433176103276673377333479433580931701298631052411425129361464715068177392504103384114388124478134750144856154922165052175108185258196361206692170721038317394272052810630017317283408934981036741146241246901349321450031552301652771753431860161962941112283819491751619621997229483284942181042841150151252051357791103216934764513510486194573058833369364210369311375912386913425313725203133142141522316249172703829309307210323811335812346013352614359815364116384717391417072774384941250514376157471605826389272810281511290512304713311414331815340816355917457018514219530220541221559922573623579724601925616926623027644128648229651330716931723032791233797834805035836836857217012847312054200252092622757331584515945671046761147721252381353481454141555451656111757051857831422652313534185952650629577309484162942271044861153051260781364271750279331337414225147961545716458261892764127258346441261513516152871835822499231510374111380712461213466314472915484516516317536717502803386949395969622207238582552926621028081132261244531344941447321547891648551750351851851272583464412615135161528722578267192918103150113955125313135344145750155806165884176915151255135954719578561576718838200892039102201179121271314064194652962630867317683226934711035221135531241191122212973138741628522126225972349831049327910426514821179312694141552081629147300083110931871032381133041233351333551441071372167395841265514346153071561817071882163320441184512746138571481816939236410302711303412311413318014332615419316428317438818441919506020512621532122536823600524609525641526650527660728667329676930687031736732739833882415721253315445754936955710658113191187101198111409121590157228833394104951180612707133681347920881021231124701227051117217933624398510296107071160821929231610235711286812293013311314321915328516339617350318355919365320373111122831214211527763737866895691183111228312141129513566146672028820799215910230911293512328413433314484415490116498117513118518719623620634821643822722923753624763425778026781127806218228423908410885123461285714358238692517102597112747122803133101144150154661164718174798184948195059206108216279227032237098247170257280267664141211232044255534163767647810659222510231511334712401713508714518315525516547917631618638819648220656016724903580464658086998711298287093643104663113722183174841818518406235472420824719253710382311408111122831214251537164617546863699381098911113912120513129514149315230416278017359118367219497320512321641922650923658124786725812515722883136941553522116227772367824999269010282511289712304713312515128423940411625118861313715558164591747101813112610122624132977143044153961164019174891185688195786205862216088226129236219246309256801266891277211287629297855307912318779328869338964349214359585369617379727389873399995401010841107594210831431087444114704511772179721104320214207952951629837357484044945791046691157011258521360841797289531117411435123361335714018219892212102565112632122677132900143009153084164409174722184992179728953985410615128361309714798162691776101825112106123023133070143944154034164457174523184574194640204692215012225162121823083374468157226151372033821239277411652255312874156552071622257233683546936761037421137991238651345221449141758284839144122151262614047146081502917561018071118731220951321851428361531431632741741161842071950172051072151642260502362782463892575992677292777952883032990943094013110176321025713228233134341433520846262472694830109333110340711453012470013471414524215532816545217549318598219603320609921611922675017822152332060423395295763608741268463095987106343116531126606136656146990157121167531177686187843198257208321219038229185239236249302251058826108461572703160481151496617857220382383924741025401130801241181342541450041551021652481752791854851110219638764955510796114571275815769160810239911291912304313318114346115358216419117428118497919505420510521517122519123582211102167312894145951490618097195981991920281027731138991240391344581446411554131657101908213223138841979521506233172451825589265410272511276612284413305013123993489462556576694714398151291557102158113125413696485351267613317212982219923141025701130131231891333951572634378148715947610717121381303914271020451121011224321325281425591526611627361729111834321322101931166417435189061948727558308293133103215113252123497134899145045155154165205176516186567197077207273158221409314754156252230626467280183197934971036431138391723226333281643240533066341673506838279389910404911412714125513602416295170661856719228271392733102883112959124676134766144826154892164929175230185267195494205548215620226432236475247071141211237924843511706127871344817149182410206011239312246013287914306615316216344417348918418019224123520458656766767783589289176010190811206512248213254614262215353216356417363018385019391720396821406122415123469115442720376341085512236150371613817049177210186511269712271613280614290815297416300517353718366119372720379921383022385923403624509817912889311114113751227613297139581520917621027731129851231091331751432481532931634781557280431059411545221762677727528284893018103208169527913799485059166104571249822691112283819491759486305573129838539391110396211444012477113488114501415511016560117575118589819594320700111302181325243225448611727125682302923861036191142341255901356811458581573201673311774321875221975882078952179142280042381112488902593082697292797952810043291011530101463110175321035233106841134253436004690579661531715938171192412102948114128124278135728145908156229167536177706188738198781209391219931221041723107231540262836944123951349616507176681993920871021511122211228331336111444021547091654651754861858781540295831024411145119061940720508214092461102533113819124077111228381949175100961656717698188092199102337112617122693132849143555153612164732174847185073196203206269216359227274237325247636257687267753277903287981153821329313604152251590616277171682548925851028991129401231881332541435611535981637281737921839311940212048122152262256802360982461942562502663702763842864352977821537259338804933599961536719188206792120102186112936123117133257144139154275165066175373185463195595206171216237226298236470117082196532274424815257162631726978285292905103195113242123490133522143645153682163702173733183769193801203812213938224049234635128023313447470357696909793881004910361010871115371217981318401420651524531112752310434134451396614667160582755928651029601130151230571332821439291112283819491759686169971789820329232710247411255212269413276914293515305516315717322318402019416320490121582322586023616224625225635426642027704728782229790315621243240433055816679711958120391259101371112533123239133280143797154078164971175012185522196055151213036724796586261414719848249092580103003113069123125133855144394155432165528175806186054196804206899217080227191238568248713258964269508271015928102652910326301098331110893211243331129434113603511470361210119222533280437057016154171548823399264610275511286712319213330414337715345616349717374518381119394620398721423522430123436824444325451926470627477828480929483830501531540711122838194917595861048717508189091980102318112408122510132576143648153689164721176172186229196325206415217252227373237884247939258035268125278962288994299164132276931611423855246762979731268439694433105844116165126237136347146397156717167031132278339674131251378620797288883679939861045471151581258591359051459951572271679281780741882101982412087062187572288232389842491522592182697632798782899042999693010039311065132107603310855341164635119533612164371226538123313912346401248841125604212654431273213382110031738417645190462161722518235392419103209114019124109134160144670155266136210731178414915183862034725638266993145103300113736123986134054144090154681165565175735185856196092206164216314226410237219115122173357442751578616537207182543925931033841135851241311349451312127232063422255229362386732188326993299103424113666123738133888144521192213333212442155523176238572478833109432010450311462812471813497514564914222553109541207512426132171427816529171810238711302312316913335114346115372713628463996410375111561147717818270193422104550115116125272135499145574155646165796176860113421544321104220052332624777252782805932231032371133761244871347281447941548451651271141223133774113851178612157215582187922771028431130191230761331741432761536701512563368641197512546176671913820669217010352211381412390413403614449515454616489011302210337344055446686879348101591026101154111270121336131912142135113021653913496659986102171240813549209610215811220912238113244714322215331216344117344818352619430520435721452722531511302368345444615687676771309814599157010208011222712252814722523303483559706164671678817749208110214911245812249513296214311915315116320217332318336019365620368821373922402111112606372947665853694571169812359209210210011219012224513234114285915309516314617350311902258335445345581662677768927910731015191362109318341905183261839725148258792633102684112801114122313338442851054611857127281368923751024321125021225981326941433961534411641761422138311454118651633616997200682150922711023371128741229401330301439451542521643041743451844111956701922718311694138751625617417193982122922181025521138901239861340881441541542131643461754411855311955972056692158192258971141293231704417975200562016727678289793648104458114548124654134722144834155090165349176169186267196417207214217986228282238348248423259196269277118422523342414485152061827719368198793008103059113137123333171222832844374540164677774890599401011911112891219251320211427711534191644701918212763132741814519696224072747827909288010306311319312368313373414380015464316468417604819626323858495051021624777263582765928341032571135641240741350121312180831912426525272862890729418314193261103366113516124338134443144541154619164962135821067319844207452946632537359683723938431042701152441253141354311454971557421657931761551862001965281802146350841217515556180671904825999269510271011282512302613309214317315394616413618112901310934117151476616267173782464925431025921136501244281359191467121567731677441785351886251988172095952111441221220223136102413677251409626142832714373281446929153123015385311543032163781712527358041371514616163871784818489192910248511263712289613300414310815409216493817527318576919589020596121602722708223718824726625750226853812292803317204177852650629577338683513936331039741141961243531348311448951550561651221754291854961958592059252159762260422361362462141802146337349475140162014721048291893206103901113997124174134200144290154744164868175931186021196087206310217060227071237195248246111228312141345466683472771829269302510312311320112357211842252329344315571670978048113591448101524111701121759131802141872151970162017172214182246192297203394213460223767233857244772254903265328275358286169296244306301316754327581337647348421358503368593378689389532399579409654419744421077643108664410912451094946112991141223133114377546769207101081925922491024611125511227711151259836884160352242622497269882749939151298253036204803584469007110181144918621019281119691220601321091421871529751712228327943455495680079118968910341011751122241791293431150412405146761557721838298093011103084113116123173134179144314155174165240175375185456196229206310117412181631823418545399464069741208626096335106527116772126932138222148288158363169113179211189518199586209893219965229996231002524102022510534128821125313864209752393624597269782748927781029031131451232351333371434031535471635781743151844051946442047742150252251232354282456372556732657512760021955211263120141932519536199672074822221131242434904531563667717208982958931681032481144581245781345861446721556101657301758111859221973722075852176222278672381292482392590411372557366746805815612567126481301918411019511122581223541326611427291530361634901735411838381372532365547485840610647113081181920081020161121061222021327201429561530071633641708211963146741518516166168471710818209212110335311339612347213360714375115470216482217493218519811007210603115341263520116209872208823919251610254711279811002427312244132251437614577158281824918971019721132141232871333321435771752141321646705128361373721878247593170103266114016124140135191120211173120741512523086238372563833549408310414911445612462813541914572615586116663417671511002210312024123951349624307246782577933681033991134721235131338091440201547221648771749421852491952902054002156492257392358412459132571992674571372147393841640516816210872661831919322210323011327112341013352514396815415016544017553018567519574120577321579722583823613419222253335411265242362474735468455394606104699114809125557135644145710155820166003176128186159196365114362153732239429525303863168731998497695056105202115292125396135500145566155656166520176806186872197072207379217919228579238620248761259804261015627103682810411291092130115171244231234024110451727618137332083485946431048081149041251671352661453641553851654281755061856541184227431711418765200763414735798371093776103807114827124947135124145456130526103911411495136361395715528157491615101703111769121879132180142252152402162480196240134914220152242624827376384471945331047851149401251601352671453391555191656691962401349145975665675871590833069334710358711429012441413448014501315534016537217542918573619581120656021662622671623736924742025748626877227903012562380347048105118961986725108263293642103708113873124886135011145092155167165621176234187048197336208031218127228135238885249009251006011362240333046355962610587109481234914851015951118571218881324731425811528161637431744431849831952532052942160672270871863216213242643072532136334374150842319437110443711448812490613506114511215517816646417672211300213903151341712523716285972867829939314810319911374012387013394514401715419716434717122283279434553566498794281062911441024611130871231441332101432211536611639501136228436444710591061217714468217292213102354113397123749133961144004154514165110186321162314334149951541623687241682834929891030611132111232891797225053261343815541226491974981852089551110563111584212590813621514630515643716665117670218695819699020714921722122754023763624844513125713666467458116932710428158991679101716111772121881131932142478152573162668172902182978193029203660213732223752234097117122923410452051036611267119282255930651031061131961233171334351435451539261642091744151847521947592048492151002251982352702453012553302655072765691312793237497851037612547134481527915591016101121891223721324441425941526721512117310284111851345615817171081763918381019271125241226141327161427821534581640601741411842561943652044552150982252292356172457132558102658962759862860522971023072463179873285103385173492733592843694083710459150026643804497051348615037183182260924091025291128701239521340041440701545781648051412112323441031511296118072937836179365910373711378412409613418614426215430316476517484018493619503820513014721183186042119521676219972319824449253010254711269812316013319514325115333116339617399918409419414520440421444722453514721183184410545120161277719788203392451102523112598122639133205143256153322163374173694183844151211731524242578161819718578232392370102460112550122610132676142766152812162849173199113425373603471358066115271531823229280610289611303212339813348814356415360516363017465718479519518520532021586022626323641824647425652126681727707511162118331974426915310963811751128526796299106342116952128259138414148650159613169664179695189769199859209925219957221000323105432410946251110126115562711607281167329116843012124311241311122838194917514256149171580816909197614121123178431854146503759388989949102076112196122492132558142595153814164052174172184367195117205215215246225403236344246381256523266560277335287425297527307593317630327715337781349701351003336100703710217381030739103874010478411051042109324311007441101445111544611283471133448114004911431501232151125255212774137233335684187351910621477218482429924511024831129051229801330851431511532701633111733891835951472118334147185824697171301813919144110182611196112206613269814278815288316388617407718477919505920514521532022629411122838194917514556224672402824929282410288411303412496913512314517415524016535017598117082749312374150851723618137195982030924471031571132601233821341731442711548081649111749621859901482839392941112521526268972953829949330210375611380712416413823043400499651086611367124781492914991021991127391227701332441432811533261643121708274931237415085265863575736168448894523104794114884124897135437145865156235166301176484186582196728206759217010113422083504459458456939710548109591655101963112133122362132658142916113125743784486459306961799781029910401011551120111220281322301428311538821231268131093415475165617222433319437054466487772088559906101857111999122507133298143396153447163522173666183860193984204231214362224750234801245507255806265908151231333794112051850623897342783517939821040341145741250511351611457621559781662501762911863811968412068732169632270392377952485852586512689132790812891932910569146241935434623568967987854887191632102172112271122331133122143220153373163934174136184933195240205315215818225908236006246785256866266909276987287353111275238554128652107624847274183056931841037611138391240401341481441891549191649851757351857671959082061182165612267372369431512141312534135451647616947242482490925801031191141571245991347751453411512842387341142513346234772404825009261410262211341912346413358414404715521416721603442448555636711151284239404109351654617287197582124927371028271136801239681340581445121547131126222233634469513386143471565823729249810254911263212269713289914313114221553221439259236153372376833169340210348111451112530213533314560215579416588417699918718017082808310014203252158622487225582431924381025901127411231921333171443221545621646331747031848381948792058792159842267542368212473212573622674402776461140224736344724591669877196482429927641032601133071233851335281442981543681645451749191540275431475415655259762687728088403894148104744170821548317034216652629627607355183582938511040431144541248071360171467231567301667711769011869421970282070682171192271612372512477922579922680432785162885482985893086233186643287253394073494583510028361024037110133811069391208911302166347745435584614257159581632918981019051120891230211331711434821535721637091738211844771170211413127141962520726213872861828689359010400911406512409613422414459411482238329843645405643671491815289178310199111204312255113267514274115287116339017345618349919353020368021377022430923434624443625546826559427611128622229680814721183260429253386362715608163391728102290112380122602133542143649153780163875175051120822753363447854946584779181001910931021361122011238391339001440701541601658411708215603170241955520456212173132836779437910445411471412480413526714539715546316579417605518610619644720693521697622769211127523109241182514156166272080827829329210338211354312381213385914407915410516440617441418483419505220529321535822543823552824557825568926665227674828677629682330690431697032779033782534792035801036852537861538932539953140962141102331151225139534998520666215673188844009453910455011456712470913480114587315598316623417674518680019689620743621752822790123815324819625870626930219226623717481358846102871118812609238010238711284012387213395314401415415616435517477318547519717620820821910122957523105312410573251066926110302711146281155429118463011917311192432121813312421341253435126053612675371412538142593915029401527941157224215898431666417221623203440855706605769581016910571013571120071820294631105411385117561490715558225592292103027113094123196133285143330153426164117179728863139841419515046208272838835739361410368911377912384513393514413615424816595917602418620419629420639521740622747323757524785725790226799827868916226653789413295151562335728638303493525104118114296124403134540145112155153165663175726186258119022583578469158196870794181061915981027991106254435944784582561396716138165491720101842111981122817132982143023153101163847113022203597468758296186771958820589225910259011268612349913354814363815411916493817541918550919555820565421587022614223648424655025676026687227782818702936311984133752159622357237482406932981034391142651770212783176841990521006289173138832349326510342711302165325548465936695371714822549235310248311254912256613332714386715396616410717466911302165325548465936696571006811459127510134111137012153813170914173815177916191817202718207819256020265121268222271123274324279425282326294427303428314429366814725293129541327522786232973310833419441110450111464012496113501214507815522816527117551714721183824412065125761957720478210792173102279112883123624133686143715154331164785174816185028195123205213215415225647141224339304106051548618217239682484925741035541136441237041337701438211543311645861322761380448745918610657114281598920501028201135421243331344231446001558311659411760121861901972521141223133374344548565757606871297191094711108812136515728053101541055512056130171501819929227010235111249212255013277214285315344911412231386749285146062030721918223392311102342112608114122313139141452519846240372554825969267410270511306315121173148411285127061591716978183992075103111162262536964766513156134771483815739186010267711278412288813374814453915526816541117547718552419560220611114823783125041991521606216772783829559331310385311391912423813434814438915463518621323428412105122461565724758258292784102835112866123902120826583136441475515266203672291113021613252448251483615207172181753917941021051121711222511322971423311530331630471731261832371945642047002147372254071130278238334129552073624877249482751934931040661141611245311541212433128441460519916199872080821909270010270711372615402680315004247753290640637472884763952291052611153041258141363521614272337344864587561093711498128791334101825112007142293317343635173361774718648289693811103818114092124223134294144502155306166222176329186531196582206613217649132283314841895279681871856818889193910201911208512219313229914306515309616330211124935154567512961112283170427457486176971859821219251810258911267912301013303514329415355011302104231108417695260163016730278383793918104097113027823823491159776106771157814649208710218211243212250813263814270415345516354517358618369619376220489814729973178842534526446271073463835199370610375711382312455913546914557915572116582717659318662419721014725233613496451011618477194282032923831024201130161231061332461432781533491635191738351845361958822059772160242261132362332464552565452672162781212882112992433092803193703295123395493410840351093036116803711717381194039119724012062411248542125871322833141420752386924710798111691161101292179128893973415391752618370847635859695571792818239226910279011285612360613361714374115479213721323313436454776542766686779888101069132283314842385328686779638105392085102132112614123405133545143635153695163761174292184343194881204913215894225951235996246028256984111275238554945510466161371708820019233410238511247512322513366714384315407911382183931905419465207262083731748320993250103340113879123926134016145048155099165283175373185523196231206824216934227000237041247072257668113021813972417185182861894726478267892862151126013697412375132961687722278313293936104285114328124406134772143725923645470951410615417172281733918791019301120011222231323931425841539301643441744101846001946662055222157232260242366212471612571922672722775732877432987883093283110236321027733103143411920113121017311384168951779619837203482248922801023901124561231031331541432311533211635821813210123110841223513136147471679824009375810454911527812574313697414708415715516733317841415402116331253413345162561666718578200292498102619112697122840132883143612153619163709173841184611194742204852214990225595154021163312534137451490617587179982205922961027611135311236151337621441051151221033494439561467527803815099180710190911312247384041008510796115371422821289216510229311264911382603315944170551769618847194982431925221027961128861239181339651440731541641643621137254331020410725134161491115121653469460056756791792989709146110168711512289342045365577610307103781336913871014531115691216201316861417171518551619951722701124219033294827586961094714641121221233584390513056139571546816569234210243211283812296913302014360515366216406817419918428919532120538321550322597411372253326444105461697171502815709176510222811227912278913301912182328339449015115461185717398227492480103542111027803870410475143918221233239486159126132171558818909230910242611290412304113320514336215387016409711372253350645775138861794718768194892033102123112178122274132527143404153524163646173899184009194119204242214557224667234850244961255074265492275709286513296625113122353651411925188461921728448294693737103768113974174213834504691512896169571769827829286910328711398912421913555014568115617216622817625918629519632720706821755922756623762424793625799426808427834518221923762489451370614607173511672300337848845100461734717508180792538102628112770122890133353144550114022003262457456236817712268131691769101890113008123426133485143656153707163929174849184956195012205199215330225408235503246679113126013691410115109261231712928146492255102631113085123175133327143461153495163634173724183946194057204583214673225444137256336534144452173625877265383209932991042511512842313504150551995622177224882410142250135514567598561202720068211811472618393341424517106181871850819969212210219311229112274213290714368015432816441817447318456919518120522221529014223533575469657866876719088200392127102659113284123426133844143937154133147211833384389588569177167081736918551021491122591230501330811433471130212883203042120526596369773744852049564710663411675412690013693114709311152173131763423335238563176738138390394080104210115848125909136079146169157850154026533994417915188962659727688292993032103259113021413158430053516861795181271913611014351115461216231324141429461530361630961731621832681933452034112141522247092353562454072554842655742758011572198323243565505654271068811589180913725113601466157276768779981029910661020961122271228071329581436601537501648121572247331341315514266182771862818949190510196211219612300813311914332415426916438117438818447819479920488921497122498823630524659411302141315843005404647876178707996910113911155912173113216014238515248116331117348318432319443920448621453822470823477614792520355446155914613327141081476914931023031124631231265431123415405208062680727708285492932103744132251535474613572468147909818699238715721805320674260753022630687364884160942791043201143541245041349261449761556861665961775111875681980112081522188342290042397772498332510065141210734804497560766577977812911322128374441089522766237172403824719429710485511500512504613537214541915563516569117584118694419727514721373149423951271613037141381479917921019481127541233461333961434861539091640111172758314884202753065631557362083672937491043241144341245161346541447251548441649851750811856111957222063962164862265622370392472652580562683632784142891202991523094203195221962948311134191751958620047213382359924001024851125171225731330391431391535561637211738361838831939242040022140092245571962948311414123251485620257220982304923601024761127821962953311244120052211627167294283649941611042911143471246651355511322823311224127551836619037197883303935131037451230285131723417645179861859727768278393097103148113301123368133456143571153648163655173669183784193874203966214417225377235449245559255609265929275995141224339304106051548621207238682961940921041801142701252501353401454001554661655171760271862821151264337334961510536114171283813499140610143711147312150513151614163115212216234819021613385444055366101571151812379142410152011157112166713169814242616728583958410335112361960719928227492299102340112557122653132701142742152820163026117122423352441955096716711738148391578101674111811122234132350142433152692162759172921182928193024203334213341223431233481243843253968264079274499284589294844304939314995325134335224345446355552366273376415386446396608196210673119741888519986206472787828549399010410011434712449913484114489315568416641317652318677019680220695721702322713323819517912951310714117351239623197239982450932891033341136911672137323044105500615327157981650917251018151118751219411320311420891530501631251739291839701940482046632148642249112349892453471672858317254196152797629627300383081938271312274337044605129761342722901512842394041093516546267072711829589302510312711321612326113335714404815702105131223413915173061947719828251993090103202114578114024823547458857396800789081850919521512823565459756636724714068157692349102405112486121123133110441411515016165271693819649199610249911312012316713343814393115396316475417479918578219579920604121608822634823643824659925668926759927763128869129947411312142328849405991614617157181638917281019401124081226611327511428801534801636501738501843471943832046651172163319443465461653375848798983010940111006121053131105141321152112162210172306182483192730202846213108223255233749117216332534663575368197870815289164010301613721743264439851066611327116981310923531023901125271225881326781427151528521636721742931844841945642050352151012259122359782461192561622662522764882865492972513073713184331138214932134317580662007720968262892671103196113247123717133807144093113122233704471157776828711398118691677101859137230734654516511216117271321814119146210153311159912182313187414296015297116323317328518401414122433930410605111162207723978265292710102932113013123712131272313641925272637874688634966610756118601295113106214193415197716205517230112172378356246435680617527184282633936101037061151021226238734844724583969107100081151920181021131122441222951335621436531537851646951748451849061962221226282239124133852111627437279782912936851038751418211203113441426517136240072581826609275610284611289612297213358314364515367716376717392918404419421120430721439822444523453624465125468326485311372367346345655631688171194812459145710277311303112126343681477158206907797881042911001011771112671214141314251414871517101618711719081823781924882028801131220832494284555466447726885798881010891111761212661315071415731516051616951719431819881920962021762123272224172338481146215731158412715134261359714708168193497103579114495124767135640145750155804165950176027186233197295171213533424553575568067869895991005101062111162121301131758141827151987113121423206426253626452750885649704101914112043122154132695142736152836162886172893183033193094204085214136224612234702244832113123333394411715119361244713568139791497101537111544121684131722143402153442164156174227184317195269114021513215423253656456710858121591331101412111542121672131759142424152964163119173210183983194064145025403604416475172761788718298229992845103296113333123499133589143721154427164800174851185060195720147212237694785591669277107381157912231012641113541214441314801426951527461632371732691840451112157318843405455666077118925995710106711180812215713226914292511721633191142173527136312873174834749361610378611423212431913443014447115503716507417591718626011382149316442055669673877858893915261020131121331222891323361424441524941626921512237326949615183362320723988252992590102900112966123289133350143572153653164629190215533354459599961030726361612917310274109351305615737161481704917161017481117591230601336191436701538821639921742921849421131257437584225152292629837299083091942771044891146361259061359431474041577251677761779881880981981482084682194661772913383449755136131071408815239177810186911203412212413289714483714562531355349675121461387716828216892409102459112665122799148625763128641382515376159971786818189186910194511225212249913253114260815271316285917287414725973124441374515056151671662817469181210185311194312203313206914328415329516370717379718482919566620576221759422813423854924859525864626885827917028922511382149327843825852699371243813759208110258911264012276613280714289315295416306217318218350219358320411421416022441211312142328849405991614617157181638917281019401124081225031327561429261533361634261734921835431941182042392147762259862372561172163387341029510956118571201821939264410273411373512380113383814435015442816587917665218696414622673315904168051945629817303383783938631050731158411151216534574571570161498715968171191966102057112153122770133536143587153809163820173967184092113072209833075432195340763497737578436117121413120841304513366138771937822449249110252311260012318011402554389541154516996183771969821009223110235211288412293513294914305415382211512362343244635983610297134481420915551022501123881224191334991435511538931639341740801841251653280932117427565292863024732418341193599153125423998410345109261178718908200292913102964113670124020134105113826743764410055107161719717858241992589102625113068123124133186143243115128583978412375154461969725128261192701102847112892151231034284441554311122703134141461521676222372327823419258210280411290612336213413514534515559917724913832487859586100571912819599293010306711377312382913400112521763517456356596791786981075915871017181117291218751319271423901524451626601727501833381934042034412145042245942354942455952557452659782764921138227238124853593461024714978158791695101772112342122383132647113121673218425853206431743884559496107661110841138214931944246553667587838897591036101377111435121616131706141807151844162764172914182927192959203621213677223825233866244005254056264221274352284453294584304898115121653457461157286905712128132891545101635111738122638115122753497454455596649717118179914721513798411815131261323714698155391619101660111750121840131876143091153128163775173907184052194113204375215187225254235936246106256879266935277002117216332574389553467367773818429198410235111238812336513345514448715473115122578313884147851529620397223582282923341025041135041138214935314107351734617857245582496925821026431126501227011329311430211531501631911735521836231941042042232147681131214232884940599161461715718163891728101940112313122408132716142835152882163097173148183920193961204002214119224244234295244510254542264703274744285684295731306337316369326437336552347408357460367523117216331944557510686111971291818619190210199611214212220613221314235915237416238117252718265619270320284921289422304423313211754220163255642971530176306873280835389355811382149353145725807615387161982155922131025141126551236161336891439231542671643141747651849261950221131214232884513559167617851891793075103352114468124519134731144774155370165437117216333114421599261053711948134091936102026112452123225133857143953153964164687175403185464195634205946177291338344975880616777177581890921451022361139431247341357111458551560431661331763931869971712141312084130451336614137154781608920841026341140248235984106351219613211412447353841098513396174571792820339243910295511542305336145485884611667124481485917721486257631286414415150361690717628207792438175028403904412455149061620717168186791985147211133121942196524326255374004841699465010509111523112532113538114544715553716585717592818594219618320640521645222651523772524853917762207732299430015430264643746648564095691106997117078127396151214138914937510576173872511833489409810415411431312434813449014524615530216565714729083940410045112815624673498498851178612107196882183925931027431122291331320414905177261847719438224092661169527913832412775181662854728868292793238103460113511123733133914143985154209148283939804115051239619347203082071925161030551140931241251341661444771546991647891759991874481111253136214876595761043710958113691278101310111371121457131512141602151734161792171999182196193406203692114026023718411725236362458725318262693188103278113500124440134547144649154769165089175184185436157210831794410563268197875891891124101936168127423138341479518826201272049834659352110356411416012446213727143755415465252363163734458349293582103672113732123798133888143946154486164517175313114723043603489051014611047120581256918061025731130851238351347651458061299243034964527514176162171870114722183308469557856977710208113791258101378111554121644132676142708152879163009173124183259193738204529215506225547236235246330256414266757147211833404435577661748717968202014223533575470858506896792089579106110227113221223370459251378621537299983094933161034681135661236561337451438931540671572297342745175581690279438189591902102013112053122143132853142992154019164955175211113629563987411495129761407719788203092227115642161633262171210833162242660527126299573267833229348410394611406112410813433014544315555416615012312681310934154751680152219635484831510216167711082348347845975908695171027810889179410217611223312270313279314293015305016425217012832398841036510476145071511821229213510270511275412319113356814422415426416439211312142320442355915611527126282289924201024701125051225561329571431791532591633611776212213144341619517096215672711831679373210386211397812400913419714425815470516481517485418494419507620533521551122556223578424593425601211342205329544515146961881721021701283931025416435165461695717598185091964102131112182122237132357143218153320153826943701493051932625727266282676927491032381133281234091335561437451131227234074438513756153171679817699318210321811377212464413495114500215551216575311382149320442455295632678188928910841011421111771214121296245731462421425226062318723538342811312192335744085152261529722178226892334103077113574123699134866113822283284410275114161308713608206293009115128653872499951050611747126482677927131027951128411234281337161444221544731645041751401272763457454511382149320442565101461626723038245992583103145113281124024134071144522154660164741174783184854195109127213733824428511506128171313818099189910215011239212276413284714291915357116368117372218434814202696310744133051455615007163181642921541028601139311242091350871451591553091653521755581517211093177142021521506223472329824199252711372878317854187552205628827315383705938451038961141571241641359191459601567361668471770331871231981552083862184762289232394782495502510583261069327109392811045291176630119083111939321214517721109314194188651955621027287882948931971622210633107441164515826170271897834339347610401311442812447813460914542015548616554217575418587319643020648621651722664523770311402585359246435651671877698980912381014451122151226651327901428971533331633891734791836071944581570260631116413615145161657717858186591909101945112476122517132538142628152834162892172969183001193052203175213182223955234036113121463817493751137614527176281852918941019451120161222611323651424551525871632611732781833681941821572128337344775567677371975819929208210236811512362360747115801610077113881194912841013881114391215431325631156212273134742053538106461274683851539524310595411372258334844885113061255718668235392473102668112772124158134169144221154508164598175459185561115127213103841729518256270672791832529405910410911413312427813441914495615576016592517607618634219662020685521693522712123743024749525753626824227874528879629950230953431962432989415312141132152427325282762967735838370393898104639114735124805134995145036155282165485175608185698197080113123333477448855296610781088569894101664111794121883131976142072152149162239172369154725823789412395136461453715098152091731101912154025473622471257886829710378148091688102106112174164027553899414405157161630716918195392314103155113292124124134185144447154526164712174983185593196044206294216389226502236956247008257279267369277618113121623644476451527615597207382527926591027101131921239831340641442641544761645371755571856321957782058092159712260392360902469292569742673311879295439784123751413616077164881719918001018511124211224891325791428991536491637391746491847151948762049922151342252402359612461032561342667201112122326644735134962159722008226692316102653141257336634728576068727143481925920011020421121301221961322041422941524441624951725941826261926912029322129642234472334792434962542462643412745222846282953493054913155223257281112122326643085382664278498169091738102570112782123313133563143653153919164829175101185842195937207338113729073185741913519676210373084832089343010362711402812494813515514576715585716600117687318704311372258331945305662613657151681632917641019181120561225991341991450061554801654911755081856101961572062472164742265252370352473122580401138224403252042567526756312473235834381137287839324106851299613757142181473915961020501124771156217334084940510306116271865820169213210226411241812255613309914469915550616598017612018639419643520657721675222695811312864399641166511746129571837828289291810306511309712326813334914385615402961310514112751877620097231882429924701030541131391231711333421434231540271540296131051411275187761988720838359493736103837114263113722583735474258936912712398137091644101685111907122084132125142158152310162782173011183091193142203354213445223595113121723853415545221562371724918268692866103175113240123281133472143587153677163753174284184926195051205133215329225468235520246136256256266451276513286633296919175029303991410615171762762728198288592916102945112979123731147226034604511573261009711188115091191101439111651121702131914143200153458113722583735474251928621587230982404925351026061126931227881329081430091131229534054107352105621667316483314177628873107341163521956261472710832289354910370111440212449213485314489015582016602417627312402107731887427075280562889734551202632378841509516246209972150821859255117721373200433158086141171501815919166410169611235212241313251014260115265916346917368711312201310684107551186612467133681470915071022651138245935844593565169181137271338244214252232625167269183113938151040051140461241271343021446411151243134724530566866797734889499851010761114471216081322611427611528191628541739291131216633174432546465257107681186918021018921120241221701329801439701539871642361745761772572311284114852466630707315683294933051033601134011244631351731464971571011671931774991875861986302092832193552294152396972410447251050726107871131221135074677510956195772604826949276010370111370812374013379114381915388116403217444418513519526620533221544222548323566924573511372148321042415128261372713778139692044102134112146122971133018144079154259164349174415184505194825204876214975225007235072245187256043266164276740287323177271838084132651612616667170781778928481030131131031231691332591435791536111636281737181839081940962050032150652258012359412460122562082663142770352871772972083074141772718382849845100161047716548178591846101898112525122636133508143551153629163835115122113274437755846674791281528920681028191136151240321343431444541549011138228434394118151821113823723539466057866800780788859116710122511123212135911382604373841318513596142371647817379276910281611288712330811382259328143325842616251138216032504263535365967687870991479101549112611187262137534840514566199673266833569344310405911482912490413509014513115520216654317715018724019730420742521745722750823782924789525829526890327899328935429954630959631103063210446331059611382189355947435110361704717398182991961102308112464122554132749142825152847162922173053183544194044204156214228224369234412245038113821493166429153426377738181292915251029051129691230851331371434081534981637471131294231008410595241062442725328259693158103287113339124041135098115126903785415125157661707719848205592602102653112717122821134122144292154939165029175095185191195323205364216093226183236339246499256710267742278160288921298961308974318981329059339125349165359182369992371015212812322339546185629668477358808911681012151115751216071316501418411518881619591730311840801982444388549565105261369718108199492090102148112429113121633659474951000612427161481697918371019031119541224351324821426061526621626731728541829631452261737544765591661026711828240192537102627112723122814133784113826043148542805529616337973855848649487110534711543712558411312223355041062511436118471250813979148710155311159412162513222111127337884140351493616497227182308927861028761130901231561332121432431533241634141736281836941937262039032142911151279239074104551056610737119881349914421024731125431234231334791436461537271638181744181845791946302046962147262254511131216637464787514076156572187828889337910347411382210369148475978610307118681898925091026131127031227691329301429861530761635861738941840251940912041222150122252162354651138260437384145951525616867174381814925241131216231274414445153162821728878297792994103243113583171529673167341895520056201972032824439274610321911331712349117726773988411195117361234712728149091646101713111764122354113826043675479551676618611151220232164759589661006710258171092013102144112215122346132436142497152638162728172794182835192866203462113821493204419455202662835728878295893638113122773201842108523206237672387837049399311512792390241058510756112171145812829192410225411230512261613268214283313562380349041091519046193972007821449215510255811326412371113393814402815416016426417437318458519469420480421492322493523563624650025659026673427675428681629690630694931703932711533716634822335862436869637876438978139983240100444110173421024443105654410621451063246108134710922120223063117741267513886199472084825319308610337611391512495313540414546015555016564617648918703519720620741121763317502840390441947520266208772134826049269310339411351512380113385214417814727683910495251650618481472583369847885992610437105481086920061022671872177319342835822618607216682282923331024591136251472153391949875101961070716861179223031086424025249263265733318333894194104361115768125819135850146486113028403952410335107461140712508155791609101705112238122365132431142478152530162620173271147238934794631566368987972810589114810118411152512167613196314205315308516433217444218451319469120548221557222574923599024682725763726845727896528907729973314182112031652419735293663032731368386593924104315114458124548134909144946155160165274175394185571195945113422053295462058976974710418108291153101676112376122482133086143827153889163918174534184584194904204929215188225364235526127127213113341587523346242272483825739279510293411304012376113390314393415409616628073115741696529086302273684842249470110481111541212627813670914708615713616735917742318757319778920806121827122871423890424904725930926992111727583802418345194362039723168258092676102726113898124001134097144173154784166104176205186492196543206633217383227825238001248767196211283130742358528186290873032833159401110420811542412562113580114585415587316683917771718782719869920878921887122892223901224976225102042610380271064615725323687486851571616427224682299924191031491131701232371340281443351545841646571757501858401961072061802162822265642366092467052573961655277339054105951169621997228982466934681035251137471244831358081459791560891671041771611873831977312079351152294331250413175140561520715368162691833101925112376123366133452143598153608166221632574735578561346713938360393884103931114347124403134723144852155199114121184315364179952371177222733174578574568417104981056911521011631123431224461327151430041352648373848005829692571640826999278910303011309612314713321314324415446416450517465318507119629820633921657722728523749124755725770526778227789328813729817230821931829432838433844934853935857611127523103241365520526217872554826569331818623913450459356836177872084823829257410258211267212299313304414314815323816330417332118363919374913521203259410565119661286713518138291923101998112320122352132444142559152600162682173754183840193887203898214938224985235070245462255494265584276445171214832384328586761905719918222393235104278114437113022203422496151999621297219582325945471046371147021247601347911449471552131654141754511864521965822066172171032272552375942476352576702685462799482810241291028230103923110457321098833117253412480351326836140293714184381431439143804015111411516142154814315498441554845158851882178332043715942696871280818399197010198411219812228513246114257615266616294817436218441519442220493321494622552123629124730325736926750827758728770929775330855031864432869233873334894335908536973537982538108573911627401263941127054213308182021294315714173052527625977308983124931601032111132861233271334171444491545731651541752691857911957982058652159402260162361182462172563152663932764741171232134134501556266527874810139112310113411125512134713267714272015278717912943310244109051127621437282517972983310244126551331613387138981525924971027441134971235731336751797210963251042524527716292673083833279340810381111407212424413453014468615480216486917494418512619536214542578312844138051508615987165781726930881032311139311240861341761442261542311131230133444107651316614987173417972181331892419585204862124727808303193072103313113379123386133437143573153789163879174911184978195053205239215320225396235632166214734854605592661246715478160491700101747111802121898131988142825152857163368115229433125041317514056152071536816269183310196311201412208013292014301015333116336617341218350219355617912889314044158752509625757260783529935951041041142731791288931042416035163061705718298187217702113231222412685137262402724928263092711103577113732124473134549144610154661165027175358185488195499205711215742225778235810245821255936266792276844287287142293344541115511226118971196817759178210281411282112291113291814340515343716350217377418389819404920413021492122501923507024510625542726549327554228568429580830584531589332668433699134753835758136779837817438818139861940893241902242927243969044101114510191461025747103084810374491040550111255111281114026233915410055115761718725388284593385105131115321125392135565117121823333444354936683772681208913241013891119201220501322011422421527651628081728391829891930792041112141522252602353502455172555492656162764362867432970483071553172753274083375043483743584403685613785963886863986961752848393849935108961898727358313693183103258113348123414133504143611157026593110041180518076242072510833249361210366911372412466613511614529815608916659717678518717719745917972130431758421125215562243723048240092450102540112820123697133827143919154560164611174688184754194791205312215319225365235446245498255541177629203989412725136862241723098242692460102550112721122762132812142902152968163058173104183141193248114024823773486351015611757125081269921901022371123081226341326851431061531241631561739091839751940552040892145121642130317144925141061545715868204015729834284130052041622107221782833930051031351141991243661344681772294334648075183962135722258252292594102672112703122915133018143035153375163477111023703116141251514286157371864819889213810217911266112271113290114311715344916356917375118398711522943312504174052071622017231182379926991027711128991229951331241432641537181231265437984859520926223472324837269376710405411480712505413509514539515552016561316628073842488359736151271559816499268110273311315412324413401714433517912132731382414785158862425725918271192813102879113959124039134106144196155057165143147238934794775580769507110181203912781021981122641223541326751427101528001631211731381832631933721140248235984106351114619187208482174935761036171139041248751349291449951550461651361758861863281964082067012172271707283839544113552063622287229482464931651032801133701234011338071440391541151649191757011858251963752065562166522274422374852475752578372688571707218583212042210531706333273428841689421910500211535011372253330441011515026159871688827209284410297511304112413113419317125423595413865147661668718148187891959102515113312123402133523143554153749163781173847184306194641205137215428225498235588245726255870265922276273286316297047307054317112327232337552347633358214368260378512153128663957410235134361633721728321093360104680114770124860135678146560156601166635176785186923196974207465217497227999238620249290259341269892271000328100742910160301022131107593210911331101315312606394149925110061132716348226492370102436112536122646132736143057153147163229173276183347193428203479214000224152234184244937255003265119275185285761295984147212831604666577668427952810139115610158411169412173513294314305915312516370117428411372928312354160052593626837373583742943021043921149131250181351041453511555361665981326213583144841569523196243973120833119399810408819622157131621418275196119023123410459656866737784516882725376041845522776275472844828949300510305211306312351513361114383315460616654615702136131668419175210462369734748348193730103820113876124117134148144518154599164688174798185118195868205879216771226888171267137224788515186205773095832369328710359811437512479213552414554514727973907497351069122222873411462251614624347312483176932471033371138101239251344161455621556831657731765461866121967022070222171602271962372572473232574832675602777212878532978943082373182783283593384493485971137253836094151951791618427190882048921281022671128131240641341111441821542221643921744821846321946642047152152552262412362812463922569342670232772742873152973673083593184063288973398393499003510600361064337116603811750391188240119334112995421307043138434413924164121432315304168352244626987331183401942151045031151981252941360471462941571571672531773841712671378141783518496242072515825419306910309511322212412513448714457715471918162873392349915174461952729708303693639103810113985125371157626713178842316534336473774827850139604510608611612212621213671319122978317694186752036629707306083115932111033071141441249901350561461181563141663801764211867421712671371241503515466210672172824739252510271611292112316119822903368490011162181324241119512396134671476823939252410292411296512324711302247310384113651303614607171381794921971024581126301227201328521429031533241633801734111834931935882036252142861662807315374207653114632087329883440934911043751143821244721356441459521560421669081769981871591978022078922181332283812392472493372596251866295631387417645184162707727978289893191146825583608464951191612487172982289923551023861128961229471331401441461544471707283831097412995140362109721768226892390102458112509122635132848120223083121941950520406218272352828849302010312011321612343713358814487415513212532314384549355225562268734788418894465104589115021125340135593145790155947166131176231186321196463206884216970227329237419248591258766269352125323243864490551645616927189281939926391027491128151229051332251433151543471643841744741846161832148388949025942610527130581517916931017441119561221661322821202236635564713580962129723828292093005125321534315744166151923619797213582237137255736234173551846619967305483146940071040931154831255781359031184245437754806514206150671840823869240819572109931155416215242562651734428441994672105524115565125599135911145966156466166994177315187392197875208516218606228738238779248869258959269003157626663837416285260562841733098339993509103740113787124846134936145539111023773682481258786118371240813119161610208911218412225111112631369741447515326182771878819449203810274411333615624923152442734537666431174533845989464810498516162990317564220652296625031348243837984251452579628611602126317643665407688979408100691346101448170621739319104291352920631137320583216932521032711142371242801343471231268131093415475190462006124322633105441361513976147571705194521013319464204252144623707257614721543244455955916633710568124214126033693473957796826721531144215531724913510006111572066821379231613627739394107851129615997168981975141217833154347548865357613813159256515221603298412495130761342724171140248235724724581461194713221472513360348995931610097101681564177029353102541163515371312193320043105134061455715831422581373647425832697471991820869242511682260394041285513176142571571819411140229433844526573868187208911051211413119141561518141322122388341084516426195072052110382114331341414375171462224723208241092460102780112889116022503346476758636139371428817981572147346744995674613477139481536915681018741120601348259837434962510526119471245816189166510215611219112291115821963274478058946168811402331310664121651356615477293915722793290485359096987711371140292131114412045144561535715848179019128773967410995118961440716171707283831060412265128762018725218261192852102942112991123197178221263323994249452584628087306583100932281147228433794549132213531484199528563957554113121423245428653366368784489549111311312201327243705902620377212782368924581025071127131131210153111141262515151572187337344145470656511312333316244166551721623591131228233724165314129736344851113123333376418535200162076721668319894346104520132212932644111511312837311374124751897151213832384288544365937625871591208101298112396157215533504524136217331854265527064057425867115126823772412265136816472780393111842225331546605750617807243982549930091036421312186328244245471651676128151716221493210426251579618681572840385141655517671113223331123413821701213423145741675518076193871990821409223511382169360846605123262305724551131211403125041301514616171471836827941138271138524963514336152371774113122273396448657396946797881896113122523923494051357113821903532457357196106213226331084160533465081322679310344109151211625051151216531964241565811312242338847541138217032544297537564707117614882629368749681341239935804670577161250715038154092460102610112623123477133995144697196721013317634203552086622937234582570927701202563196412241131218232344113451245625891514258036174168011382215334044605692113121833646469751207614481360245635764130151482118262197032670123423513528483559906120771297814001512141389141333519991632197338715121413891493751193157212832304297513581722285739604107451176114028623964412065162715132976311344126052430184260836984765511846133511826219703217011212118231347413885146661614147282831367424055245262560725928273392790102957113403123662133871143985151227332844104651227114026223755484551477618657291613125253685472657676132871335813549148910152611199112214613363314371515397111362197324941240513731612200331041041179129013128342213130825743748111121893395124522883934420115213162782152223338461791296031070411365117361974722008240611402330340141321516356167871880115022043426450255926751183230537234116451365141126523718482951803619297244682557931431972234348145715817692771017813389142810151011156112251913257514260615264216267417272618336317302126932307424485295963070736561730292331013411575193961950726908279211992935310254112151215614627156482071196219232664334510086108271806148421176312174125351323618067285482886932881035101135611238231341491444071677217473204242706527846353073571836029419811162182337645095611682578678117891278101452111275238404930510726112371213813089181110191211241512251013307614622552355948675137762104722658236192411103583113634123724134474144520154696165462186629563105741350517876216472300836019384910390011399012474013518214535815562414729483103841128521606331173404834559354510429511434112451713550311727583161841859523476244272521827419441710451211456512511913573514589615674316683817868318877319968820988421108601147223731269415465159762051721138237792476102666113531154826803725412001171291131021410525179261904732801572538370347695800613107136181427927431030011722222326349795102661632179729373102741087511536118471980823019235210314814482165831688417355237162433730711962132315141022510536121572054822379255210260311338113122743325439155416582790889559117110122711125812127813209117082848392341665517536201572153824349256211252385348145375724682071035818269276710397911411912415113422214426315453611042364311554124551422619137197982137922271024391133191234741337451438351540661645191753231854131959312059622165981540259637834145551607616687220983000935101043671145021246331354241458381560091660601767081867951969082070182174101791217233186042841530776329573456834979356810375811384812392413396614401715408316423317427618478619538217222734383241527516236180572361831141146296631474422165230462566727048351594335104461114551125261135357145480155721166558177368187564197769208400145425783128441897519876280173089831649326010330111367812444813447814454415517517912172331860419415214362274724448308693175103218113728124324135212513128341334521906232772334827559299610321811398812416813495914504915522616527317628818635419646020653821677422781012192700374148885100361050710918116991176101724113729283145641492518036186971910820379212710219211228212260213271014274715280816284517314418323419329920338921370922447923465924545025554026571727583228594229626330629531735932749211402763385349035949612467129781381914471019161133631235781336681436871537531638941739841844921946072055042158612259512369832482212583312684022785802894331512749385949145104561111711428117191261102101112148122223132313142714121422823294444154726105471120812109166610170811178912190413201314211915284016298217301318321911022177391842094521896237573166834739356910364711443019222793629413315159261643718298186491934102100179721013311034116951259613357137682353925461026361127321228551330951439321541551641911742691844751791210903120641453519751472389347946315663689879728105891237101273112224122275132785142816153412149627423887494851899623917256282603926901027761129571237231172296331230417425179362543726098265693688103695114161124965135055145573155604166240172136331453420305215162196723781721363314734255952690629527327883536177229433354376511066117271262815829208310304911316912331013372814379615386116391217477317121483189427958186865795581987920771020891122321222831323141430621747299431084413155156761608719201137220332344234152437630487314083151931871032061133081236521412823172471151749617907188581985932761033421142981472109319943645534660071140818429200210303311315912381915402124231642426735285363555739458409594344104930134723903897418945212062716117522463277448356366717711208158692157102268112778123914117522403724485059316972717431708212103126841862527926281172922829399390916272717389449845106061101716038161091746101856111917121958132037142127152761162793172864182905193039182028513101341852524226252972600832019334310336011348512359414221359314254156752584626257324583361934511034631135691244301344711445051546551654371754511855301955612068882170242270612377311175224032814572511486173472487825389261310277211280312304613309714317215345416355617394114662600394249835106461154713068145391528101929112116122207132298142385152466163239173320147218633164770580261294713698211093228103323113348123607133783143945172216032504392544365437550815829165810211011216112225113300114304715322316345915721473237443057376101771098811889126010135011141212219213224214232515304716411917474219621237319584211954275643707465184965950841051351152251259751360211461971564631312253329444135464621757226582332927511028471133811234681341041540260036904740519126211372205824279318810400111409112416413466714581715591016600517639618656719661820670821745822750423768024844617228623140241959521156220572419824609339110373211379212382313397314404915418916451017456118462719477720509117229823191442024528966298673324834459423610515311537012572213583214587315636316651017663518673019680720705521712122720217221753265435556066625773488249914109921111041212071315801416701521231622791724411830091930752031202134861148223832984364540564367536861199191010091115481225861329071429441535591111215203158542188522396230572455829529298310357911002210683163941716518536188472198823089262810272411308712317813348614360515369616393617403118429219450720454221507422515723522224525425602026605127625711008210743164541938519976206072091824059251510283511285212290213301214309415319616322517325618366719447920451421500022501123510724535825549526551227562228592229657217121083316224266052707629487311583147932451035681135751235861338891439401540061641161741661844861948001722936310264109351600616317222782548926571027471129481232791334161436061545821712288332945795188061970719798212192162102347112379122445132496142586153336163778173954184116172217532654355583369647107381163912531012961114891219081335101435661546461647081753101854061955902058122163962273992379172479582580261722175326543465107662038721478223792327102394112517122626132716143019153589163828174137184707194830205600216050226615236785246975257561113125743746487651940620731416297631042415825192462696730841622684377448245870611907173081761925271033471136541236911337361447341708291931710426875349163602743728453794574104619115835170829193171042238528146295273205832579383510462611469712482713491714499715521516530117546818557919638811442185325141017511786201472179822209229810304417912109831205413255142761493716008237492560103364113407123485133695162268437744824587061190713458143591671101741111763122083132193142245152389162519172973183437193517203837213862224121234639244929151211733684505566261090718008214392224102344112774123121134170145210155400166776110021813247494951469615067286382996930721035181136281241711342371444071545481645991746651848151948562054921372520398142331533746346473540836519422410638011654212717713729914735015782616787217788718810019819020823621832822843623850224850925866726875727881328900029904130955131964632112121422353341946125658668277888162891718102039112074122164132485143062153173163683174279137221443230642941530636358073724838009471410593311604012608313662114674115684316690917700518777819879813721344314254149152082622537234582469925351025461133561234461334971440071546031412225336944165540660677098865916561019551122041223251323661424441526501902230336044505137061377719388195592091102334112358122384132585142834152955162996173074183280178221483318654317653244633347373584019156215631914341545161242713408145691703102225192224733574114851655624527249782504931201708279538114922593861010711518119491291101429111521121972132692142724153490163521173727113022223436463157216943710848202692817102915112940123458133748114023303426462857206875713778151892259102367112413122537133249143390153672163774151284238734103551449615157154681620916861017671125401226211922792315454233652367625297294383009930821031271139371902390345845485624673177638853910791012221113711215061316121417021522101625431728381830731948752049652150312251122358852469051750284831326413815147761587724248248192547102578112607122784133176167285839394100551115612987151981864919371019821131801312274337044605129761342722901540259138134163351849619397201582056925931031331131531234581335091437311538211639031752191854771562867391741107515456166571861823639241310260311264412318413323514326615430211008210743164541960524316252772681831089342110462611471612476613487714565715582016588617677418684019693320704321776622780923788724816311402199349546305144362869736738372494751113722183585465157216743712778183791903101954112464122481133013192234035104996510776116172059821069214210338211344812345513362514463515584516684817688518696019709120715721844322870113725803651412215182262575732818335094062104311115428125538135604146357156408167199177945188055198121208874218905229089151126813762415355161611162907392441223512646159571725818159194710199411306012316613324414348015451615402591381341633517806188771933824739288310297311304912379913394114399215421416430417438618570219596015123103381442759796104471193812699129910138911204015222718311304115151192614927214214732563365947825844693471771818919211115402616367747285120161276715358168491731101802111892122543192219536884798515896270772802828599308110318911329612335213353914367015374816384317501917521163218444055466160471758818479229010230511242412247513269714270815284916294117377118389119399820401521415622469815726703930415025154362161721688226492996103037113847124260129923463658469057586795712608141591452101872111962122872132953143279151211732274101851526623237236882582112128623113341216512876137771515817959183610197411220612294713322114327015356516365517411818417419418520439621472914682584310384120351222613147162681658937651038551139251239921915210053113441244513086136471435815129203919672100831070413825147261926725508264093672104372114958125065135298178227963876496051583617537183181912919591020221123401224911331521433981534751635561737831540279938894114551300614667154681664918841026051129461512610311694145051507620097212582907929211030011138381239611340411447281548661649271755721856091958542065092165502266572376701140240234534771582861342714678162791725102146112455151275731139411685163861653718008231892545103336113542124103134154144229154434164667157284838794104151880624067248183255933371902283381649065174961826720198212911602261355441025512106122671327814879150310179011212712396613487714496715522916581217589018609119619920625521657522683123744215622183352457756676892717518178691842102029112453122599133196130227453855410675115461284713651902510368241111513366143272262824349327410339011342712403413425314446615527716532417539518626719668520730721760417082964310154112051435617277246382790928861030741131901233571337381443931662173326346505740681678808996912201019801120621228751331781902161338545255679671478108851912121013321115961221361322901423251524231625601733871836461962302311394128551321614677148481620917671018381120231225901512145319742555345643576578704977510865111087122242111512126132222431395324964121749938521695824106053117374131253436444710574761548722028302994406191621138311704165351685617027184281963920051030971132411234941335531435601536571637681742981843741944552044922151932253292354052455422558131148721563316254238652476627607289683098933931034541137271250281262240334464536579268437132681515916511017221118521231391407211083145141564517816184071973820109331210462515121084311624182052231623087270982946932531482156831733431475340063490737128432794537104612114749125066137254035744168551726619667200382480925301026321132861234031337181512273335446925812611337145381509915801016641124771227801372974310764199152163622717267382751928021033771134481240681343011372746383548915962613567143381536137297431195416365188461950719828212392219102749113766123950134104144185154336164447174797184887195448205504215575225962137274638174130851340617837179881917923351033771136871237871338991439501540601641311742781100219138934138351453617167239783147939571040821145301372617365847585808681579558100691207101536111664121714131781141852151977162124137277738674189952148622197229983599946311047171161491262161362621502800387149565108061302715741750283138564917511396122971333813709187310198311204912208613288714350715359716369517381218407113132575372042427525176265473207833189394010407711509811402561365141357517396270672753828299286110319811302166323743525393645476568135892798102839113549124150134253112626433754495651063612961470250531044412075224562341724868254392633102953112985123065133124143230153261163902174427184483194554204643215930170821409317914194552027620957288682917930791039181139331246401160227034534529558067867882816799198610269411401412423613432614470815473116477417488418513719547411082249329249285935616367227282333930401030851131541238551340011450591551101660381760701863041966191115121261322704232052923638407395184566946691144284739184193052618626717337584106941281130221334304437546417273838194105151141615017184381933920781022081129491232981333351435801556361656971760181862261966762066872168172269572370082470942574071562206312174127652688627397371183743939141136225334064847586269817103281433925001026071126581230591331301433521534331635361262240334654516582761145711528120391514102356112403122765132920142987122823693461455151090621287226883229941011042541143641252361357041457251559411130221231003415605165061715718268198292382103413113593123630134085167285839984246652507627547289682952932551035301141831249361357141457651565381667601768311877861572147346244945602670978418897910841010911119151226891330081430791538291639191743731846891472258330946495109461126711778189991907102031112499123049133236143573154630164638174685185025195470205502216599170728883938498951211612307137481421915751018231122641225461325781431131532841638291740611841511945332053202154412255172355492466202568531707288831054411295120461358713908149391624101693111813122943133013113127633146942210528706298073070843219436210441811460512516413647914651115668211312839310094150151636617677186581942919631022961561265131591417265224462286724418310393362103934114024124133134212144337154384164513174914184946196353151213832384288544365937709893391000126221003310334112351284613747161583454935441044591145151245861346481449071708286831899419895223063060731508368093712103729113880123994134035144268155779165856176049186356161226633141341475515316176471771820719224110234311288312291413332814341815348514125723623477758726147872289826699283910311111320112345013490014494315568316622317625418666819675820691921692622740911402451351345585738682871061813089171710180711226012327213338214411215424216502317634415621863236434854776647710648149291609101756112132122600132637143673154194196216732574967510886117971269821069222710306411316715728937354855515966167271733828539301410422911493712669413736517321243109741231516556232572411827329290317022160432554426095356564077746178464895055105105115266125617157289375248425187462743728398354793578104176114907124939135110111522053309465158036893712348127191678102269112724114122983388481958606202072121824789279210284311319412350813357914393519621973689469658626912710528110391705101927112109122208113623383103341707519016277173614838089391810395811404812415213430314465411362150328944075480653176048675979411432233361546565667610587131781573916101016411127031227351335971708292031030412235229462361724248313293237103768113839123926113021803330444051196615387167981771917821018021119051183230335484678592361013712548146691513102370112460122631132663142834196245731294420375211362174727148274593152103202113209123370133437132228533754597564861563716348176491997113022203113441276513666147671527819459251710322311360512363613410314468015472216479317571018661219772811402561373248225152861910720008205092620102713113434123576133608143915114422243370442058386152171602816929272410286317248335334591568161371714998226292550103217113911172576371847795129661457716188162592436102504112647122790172933143455556456153271539822499233910248111256712271313307314349115397816413917456318492419505420517521538722542223589224592425642726672414722073349440055136121471273813239135510140611154412211713218314268615298311302166323743275135961465718718208092248102403112493122635132726143023113022403308462857006828788489559103910185211215519621153181427257526848717188187892285102360112418122508132573143182153238163425173535183600193721203790213927224020234118244209255211265318275659175028123910412175168261826725298260093612104300114353125057135788145810177229433454411511526188272421834599376410387411392512466513528014538915546416549917553018574219583720593021698822702023732711302166365741203518716212472336830389362910454411480712488413507714578411402602371841248516606212372295823579266910337011342912364013367514408115414216514317515418527019558511312265380548465934698671018812209175910279711310012316713416814417915458516533412862337393941029520616349873594837099383311872277335844505762690071932827149272810280811364512370913377114397211472291343845255572693479668150992476135827943153041640517826189272452826019309911302228323542425273677678278161892032102203112293122430133132143582153737164603175515185583120823293582463357046784710378129418722178431872419545293111302212327842855367669677088749912301013451114881216471316841422921528351628721743531843611957702058322165822266851136221932844102551095628057284682922930021030371135671236571337781438541539341639691740151841051948662050992157321832148388949775108761168716228169891811101846111926115121141312054152451614617037222182448932391034451140061240571341321443371544561621271637241966217573189543596536626370314121163123421353536390747981101911961023991124891226271326781428801529121636351230290331113412235197062021720918220492912103465113607152220632474357513896146171497816609171610183511197615822483289440555806791141251135624664580061187712658135591818101894170127183124441285514216163971892823449243410253811279112282213290314299315328516379011133212433204042130522666243672515154021208314284143951547616567172782266923121108234834784576571768137130881406916551017681117871268237835614126251410616287188182083926221036601137401238701339601440251540621641961743771850791953981522249319574204752112621537222082687928421029941130561232261341971443271550181651281751941859171707217063175341895519276199372087821289226410282411291412317613326614391915396016405017414018444119486216162104731749422585287262992731428424394384105092116694128239139340149742159793169883179977181007219108222010912211132422113902311480241149925115652611656271213628122322913102301326231136693213704331375134142961521215343158541895521286322973370844779487910498211505412604013618314621915672916688417736018749519797720849321862822890117762144431992420995223062371725068256693538103676114259124316134323145195155251165389175651185792195835206807217467227540237908248618258659268799271006928100862910124301024531108263211135331123034117953511832361246237125243812538196214731269414395175861765719258201592530102616113141123843133851177621598317534194051991620717213782245923021024691125001227121328081435091541031642101744961847141947742049292150432252902354312454782556092664002774392875492978353096653198203299281262212983161641713519216262672796828939313710418211439012452713516914526615539616560817574918627019631120650621653822670823681924746025759526762727787828898529902230103623110497321063233106461372623397341034512156196572970132283340444705139761619723218284192977103117113168123247133459143792153882164588175093154526353785418165187262042720728260311302196333743805919695471966825059354310383611384312402013406114413615422616429117438118442719446420499421508422515723517114372478350345645654610777129981330914061019321120181224251325151425801530631299250936194141051550617977284083257935371035561135931240671342181443831549971650691751241852201952572057362158262269882371252472452582162686952787122887892990353093251136227533654627579761108713248142091731102151112203122729133820144072154091164138174509184566196553208071218124228250238576248627258699269233279710281053115128423940410935165461706717378266792871102961113080123221167214235964720513336142372276825649266810276411285412312213321214391915408316459717619818628819646220723121776122785723796724823025839026893027945428102751100921084316554194852102621917270482794929181031891138711240311341391444171451299531796418535192963299733948371594055104762115018177211238524106351199612167144681498922191023291124011224851328161640210983111542086523116244272483834349348510390111461112461914729983116541321514176202572066822789236610317711327312349611312166327242895519612207196382713928031034061139461240361341801447201548071650411101211231784390542769487116281176173277431808422815281162852731638322993260103371113403123471133522144172154224164355174465184537194584122024323483495951770618607233382639927551028771129671231091336891438641540021721173170413775153762486725218256313427813962411045121961329713708160191697101718112340122450133032143184153195163695173765184286194500204514176254635814676510876117771237813039135010142111220211062189325443935404612147172482540927131100921084316544170951805618767202082110922521033721133791238321348641450451554011667121769621870391971052072152172652275852383301102224733194374547061021715828239292516102738113248124064134136162238234494106552097623127292283072943271044621144761108321193314154158651720622307229183132931691034141134461240031340841442371543271644481882213363202642400529806306173156833649337510387211394312464913510314513415634916765417769118792819796020806621809222813323828024929025932726103072710529281054317072888310544112951204613587139081493915641016541117381220581321781424191526261648681761891862471963372064072164582265482366282467002577912678281412796315264206553103631407387084106941531046231163631273241381991622208327048115160262159723648251493006103081113241123348133497121725873869419065200262231723078233192457102868114025613651413575173961910720008205092620102697112890123611133931143969147220733494400551361214712738132393086103333113365123416134272144387154515164522174988185792195925147238738084840514426249872552833439365010372511458412459113473014644415686616691317787118789019621067311974211752531627387388984015941411041821147261247461347981449521550621652451753211853721955782056742164712267782368352473542573952674452776052880312987333087411228215453225142535525716393373976840659419810427311507712510913518414530415538416540817549818556319565014562797394941020519976215772327824481707283839544147051501617127213083163933161036171136241244751345861151211843133741445515666202673807839149400410424511450811512169330048165126862334724688265992749103140113846123989113127433144441512515536247972620831409358510363211380912384113424214429315521916692617703318712319736420744011312881392249935204562731728418358993870194217132614389585661109711998137491576101666111751121892113121663282431758106920797181561916421021821126871131220232824123151351616441116280839184959510296144671453822561131265837094102051086613807141781588916381018801131226231195413065185761977722978271593228103278113373124294127126893139141614517046194072846829779428410601411605612619013660314692415716611312202333344045484614337155381846113121623192941972524926252973294833849363510396612712689313914153252604632197335084281944721045141157261259161360501464631567841670551131220233334383545465347148381603918961131218236934813511336121571326818879199110342311351312360713457812712689313914180351839621547273582777928671029181138701239641340601442691544931645441755041857311958622058982166082287392388542490591131283731218412905137861521719708201192081103020113135123428142227838294104051246613367157782262923131024021124791227411328311441421541921643971754901482115031301413165151262553726048296594036104343133623873479472751538616337166681975922241482287343841599521196220972349824269323910331611339212346913352414365415394016416217421318525619560720688721701022726323735324757525762226820727832728857829932830977531981632988633104253410540351083311832303310134145451584620817225182346932671522163319842885132061793718838193392253102318155326181418211203215243394538256384475446855369566610572911574812587813602514620615621716691817735918740119745220862421867222872323108232410958251107711312173326341233514596228672826830409308110328811415512492913520014821383229437555056620764188009105210108711117712146913174015402101331078141821120321524230152732627517326083370935161035861137391238141339041439701546311770288039494992510416184415402101331078141821120321524221452369623827247282578927251027561128471230981332351138214938504129151342613657142481664917541027861129011230541331041439081540181640691745721846851947982048631131217232924387559961409716868179991903102025112138122383146726763733411515185361930719928225792388103126113544124246134354144606154737165204176485186600196910112122693320414465149362041720768222911312837310904118051392621747218882268924801025881126231227001327801429921531011677215943236042419525096338174117842079453410482311493711127212253199142412534831791212623143841528525486266873598836829371310432811449911512942312494130053017631047319483264933221033741139001239981344191445071130216533374129151434179121621318064189651951620477209882234923301025141127251672858311654157951826619787247782664927751029751130501231061332931433571750281239104953512606297473396837029372115128423940410935165462125722008265493035103123169527913822418905201662061113021663237447855286104971261814259166610179811184912238313287414308615312816319217376918381811302222327447765140661440714818157391669101705111724121894131965142184152325162532172792182933193063203100213630223714233921243935119519202156831790418715210917012766397341038517291131233333944455514966159672403826959300810308411315512326213346414387516721147312654135551582620597271183083931701032101133001234041334511770214863157641607517956191072112831231112249330148735194662052720908216092313102348112438122570132681113123333394448055206159172068827209309210320211463412472413497714545811312901310324125451265613757144081550927001027901129221229981334181437391131233334374477549366247105581087915771017191127501228211328981883299331144412345151661621717078175891835102062112449111249313494180351916623897248882591111622063291433054076918120922673343442356306801113722523308434854106866792881510915291927210173147141761524626401574105841479425910487012181222713237642391528136286073125841759421110471411479115312592313694170051810618617233182842113122233275457157936831788181953919911531259236784718517896186572095825979267310269411370711312901310324125451265613757144081634916501018211120801221711322481424901534411563221963220342315525161101215733161442387531036363473645841459458510471711542312589913602014618111422232310464107851553616577176081982928101030811282893864415805215062280724928255611402659397541106512286188871978825119252510275111281212416213452014465715481716490817499518511718812888310404152351661616727196282096925091028301131211112101231274413155138661415716578173391780102251112312123325198221028311664127651416615067157781667917471018501131219232684334579661250714198148211692433349445355100561169713288139891439101883111902120926623738491151118615291168227833344774583661283713458191891937175029003953412435137961518722598235493060141211231774228519386202872068821949289610380611404812422013436614440115447116463715721233335460357716147771777824271119121241313314143851564623847269182781931301031861142061171221835174573510916119172249823369242610328711338911002210583136242063529736324573296833869450110455211458312474515221603910419425203862154722528259119272101731471417305178661857720628212517012832388048915129461364718408188191912102092112129122431132468143538153678163999111241434754579565367437914895591025101456112069122099132400142477111241434454921513226137371774818459220310237411124143475411575120861338721118220192530103086113516123563113121335317864190652352623637262282712927821036371139811242561343371131226233924219352243624557251182582925941026931574262131151412415130161367714548166691806101838111915122002132214142625115127043751489359836104371109811739120810137811157212162913178314184617021453235493451094611697131081504916151927210173147141587516436171472475825529284910291211272217327345195651610157107917021053195489451501617637182619272101731471416835173961810720058211692193102490112553177232833694528559866757799810069205719272101731471417465180261873720788214114122524363516728583101941085512406133071483815739248810253311266912279813290814297215306816398317424218456019469620476621523922594123678124693625734826767727848428855229859117902880310014171152590627477323383976942021043981154091322122352546225768689871045817459183410187111290712322814542578310194109951428615107255582611926821027671132191312267336341400514326156471645819979209310232011270714502539398041736518266195472044821159262614725843616485951081611167115781219912951013421121031221501322121429621530091630801733021834231202274131779418265193462096724048291692951103491113526123637115223453104841089515296170572509825281382968311614121351999620897222182297923271026481308299131408419485313163175732738378715402797388749375132261378716838179392122102603154026783819416125165761704717128184315722073239445655276637785981308922591540265331444419525290863970740668458017082154831703421665262962760735518385894678104776114787125268136078146260156385166450166217333504440579068357954819579218411302220329143815127861446714818181091855102273112975123183133224143370153412164216174264184431194777204867214878225378235490246447256505137210338944131151330618817244283252933761035981141081249241351691692214333173342198523356283272904829511110211533119442895530196334873428151258336244770587069057995817999184417612802394841426517111171421804318644193051971620947216982247151247731001411495130462109171267137234106551476615867197882436924451111261437694861598561060711351562614312454128651615617061222259636374735594613121873674470657966249772621829509303011442184532174422151134258739084914142529643171341808526646369674902849699497915121323490453114721119314774152853238632791512101319142815820618587189082301926301027071134227934044479110125173573476051045151284239404109351654618277190282231922421172249836614159351600622317358783594937411037761662173335044405790682571293814289151810153111153812210813218314241111414121803310469251532132213573147742397149826283135842390529356307613292439310404151713527631664705575268427187481921920291020761128841236251572665383449705112061411721081662973133416551766211735485131412463398541101170129123116441375514466201472075825869283810297811344912354513370914371615372416383417411618413511512559362946405756161211333354111651296613677141181646916711582167932330424015243511112163322942605296632873808597974410901111861151221836344660513576180771857820479209010263011112285341145015532663876468112591142101836147249736294640575611312146331747455861611737118181291923911024371125331227761335871131226832794395121821000310154103851578113121437314744255452754634307350818872921396241044522476307073160843709444610446211527313102400386341126170827493115541211522301131233338424882511861276231635671752254334444951202234811102150337444645510126228731309231635341532262238731302170390119962172717125413594489711312235310524116851179612951140228134114656514671701277738184879592069541512947310374187752853629437302483279933601034921148081248881349281450141550491655961757261857811958812065272166372267771701214513247243088531236321873328834189356310398711402812408913411914481915495516499217545718639319658420679821688822795923851624905325100652610235271032528103612910465301100531114183211528331183234118433511959164628761708211593179242216522536271472804837341709275031156412125223112172252338944805615619457195282872113223853487412185126961568717298173691787102816113121623124441355515266169771914149727143766410635128561656718178187992191102228113445123549133633143651153741163963174131184241194331204804214854152215631814273532461128712388132892050102502113123013564457556911131238431125412155126561585723208286092879113122523285467257501131227734014613570361126711578199792209102246112376174128443934419665201662132722228231892411102505112595122737132788143723153730163749173839184292195002157234135634614570461454718968197392069196293731039412335133562248728548366511402407387049265172861747113125963188041970530226331273323834391641291131486416705178361871719928202392788102896112933123384133496143572113123113367447055276104571187820051526293231125411645170462115113122063322442854596154671656817229244510306311383812394813455114464115533216152901310084128251382113821893945412955157061621724958258593646103962114686125467136078120122953835412535142461534716538174091830102401113821493265430753586898794689979112310116011125012139111312163330141083511696139072040820869217610248911254612308611502240343541130512461181221231292413635181461956113721783268439851008610497126681358915751016091118781219151320431423431528611632721221252535934731582361027712898141111312662369748295880616317172181777920991028401130401233391336791437641540641641541748651851341952242060032167142273402374022477072584812686001138221839944110451145612107130081794925411028811138621239031343541452551553471666571773671874221975181522144339941719518006247272519831969331110340111370012377213458214470115621463557476451048611797121481312913431017991118951219321319701962512364947535893614547160181676923151024561454257831191412815209562383730788317493930103951114041124478114022163257437354246685777481857919321022521123421225831326561426871537681639931740301853401598210043107442509525996268072721840761837212433139441441514601112733385448956646754789481092911481013941115261216701318401419611521041572147356946105102861065724818257692704102874114686124782134860144975156787166971176992167213783149841901519986214472274828149323414721713291445754686584113121763224433451045615547161581817932571131226333674898510646115471250821329247413532469351046615251462656727878279892944103015113159123421133502143621153742163912174022184063194708204759214807224977236779246869257131268362278492113821793941410815122461331714608167691766101838112015123032133882144023154365188429593106341131511666197372191828979299310303511315112335111122378341046935779691679538105391128102129112166122367114022713346460856986830784189879107910204911205612211313237514270415332316342617367711382218347845935824612427152581617917331131214234044445562561326719828281913229543160541856113121423195423652676196872428824659273810279911410912416013469614547615553816560017591218598819669020683611312252388348945120511312823386649365124561252726348354193631104332114659125897136673147169157209167409113129193105041100511906124571296818329186310202411208112213113225214233215344716460417464518470119544220677221688722705923750224804225836726845727853828872919221883254499551026610627109481105912411012911116111217521770210103114041230512946133571439816019171110219311228312236813328919021161312864142251510615667175381967169527903867494259986118571264156279638864121351777621517291783225115472165431705426775270963280110822493292449451195613417195782281923321033041133361233931183230333704580578669987118919962116831509131264137374817585461296176621304314204145151530615657294183470938281039391145091245411346471766279731397418845191662006727578279293121104137114172124309115021913253432353706112571162812559126210140315262577365548425952615557164581723926941962246333648975914610507116181852928231028601137061776292031272415555198262077721678228892463103029113036123558133633144554159126573778491759546145771841819319206310211411303412309513312414326015346216353317367411402270331143565446657877788854991110946111064170728883105441129512046135871390814939150612612272331743685107461154712048127691387102311112401122490133380151210131334612570867457142517721083144941545515826280012122258365947905801684678818936910461015541122191223151323461423981132222837144790513036149972330824869257610288211297112314713319214339915449515402952311594164251757617821131214932454369513016220372283824059293610303611305512322513369814371815382916466917470618512619621167312874221752348623837280883679942481043041144911246121131233334034137151492616027207282375113129013172242185527916356773654841741776284639364127751353614597187382080928891037261140311241501151217032454305541265897679810669147210156211177812182913191914266915311116318817328417321683730482051042611437122281262914121373248335244726580268567107881210913251017561118941231081332041432661533671635171738141841011942512056611372531369147325773613347134181360914951017121117671218631325181426131529261631481739581840771247230334624770588669177107881386914941018711120861226621144221136834701579169987107581921919881020291121191223281324061422943246410215111161248714168166991736102427112519122816133418143850153940164072174123184903195576113021803912416915242762517726198295093057103153113573170328743990410415113162246734121412507359741517516076185472406824389302010307111323915122343508460851399623767241183117931491036511142811252191355181460151567631131234334934660575068927193081947921581023391322170324724255252584632717330383314938851044571144751245361348271449511412532370947995111461227713538151514723893541457358086882796881147911831021341121851226951327261433221472246331443455462661376608738914331540283039414118151277616387175182222113422733374479858936187371985826411662347343747525122362199726088269092837103698115122273341410435108861184722701312145831745417865182762948730438328093470104017113821493246429853696140011212559310094113551553617527186582570147282839704200852055621637232613622923343420935213563922740128409794148104219114460132296231103412135128662425732078321893331103427113504123585134211141213132214760517986189472023820549280210292211340412344113423511362237353045615130714121749317904188052912629577357313621073243428453166382795781158912241014261120271221381323741312132324344335484664114121749318394190451945620757248882806935121044321145221246421355681456581558001658321765981866291968352069742170992282651472389347946315721610177104981123911691012251112561212921313241413761515891144218453217442215523416237372450828061312264343344845732693811502191325343235370611257116281678917101018301132411232921333821446971552731962236337144325468655876238145391528101626112396122466133528177228731078413855143661975730138348594186104943115103125193135275145325155645165663175775185937116022503128241559516106206472111822719236710245511254812272313319811602302354341578516296174972167833331172758314884158951882623197269682746928361029661131021472201373348235975616407177282212923371030591502240310564153351687622207306783602937001044291708292931720420275207863864738968391594622105363116293126789136840147762158091168136178493173029233101341116514476186971980829991208265831364414755152662036722911362186397741284513526138371549816699173410201611205312217313332914336615341116381713228883229543227533386395374163842009424510546111402623391541005511576134672139830069314110318211326012326713381511302220334644495742683271161811939123810135811227812252513369114121163157476258526963799481609919491021851122221222671323581425241322593364547105112861168713238166491776102042112094122555133587143883153973164270174396185516113022223123341290513276150771668817849248610252711354319626413784487451647618697209582106922031022551123261233571926210713127141357515446165573025832159353610359311366412433513435014444015527416573617574418586019591320604411402602371849865144862275732028386217912175732004430495310063190733578393317122163231895420395261162646730121140260238614137051460615927166981676918771701283238804103751078617887280083241937321037681139951138220232674303544011312265377541266513426143272293823951138260337444785512366132671520113121633425462751166622047294583289933471034571142471243371347381472258738294905595661399717051228216333166541898519736214872194825331138222834084111451603616597177982841113823593849418245196562000722591138262636334743587461016711918156611382590311704187652365623767263511312163334846255133161554716058168391908136024013637485559666145772515154026773787411085124261782718238187592100113127443834489459606100171032813029162310166011273018121713248478058706930799681108917641138245738114130751358618687210911812192344345295736687479848124312192226326145405149211252177321841250516916196572061823221702105327544695635669278468103512052261333646305712679879788222092368102525112953123017133101143182153319152251935884735586069507129681737922081027481138921239881340661442121542881645891697278731486415425163261852171277238374927510596165671691818909193710202711228012333114022492366941460521896265472750828289297410305011452712470112722243925410545114461883725848341493509104599114776124853134996145366126224533510497251041611887210582215922361023031124331226891327661430071202241735154605512436133371456815719206210263912272476372241335515836162472656830979337110346711354412359613391614411719625073597417595179462006721478220792957103034113109124158125272637914998510596121972250827079295610329615972632311634120451211613017230182774928151034361135911238441339341441091550451652421218249931206413675141761507718911737282731526416225171261932170728443154542252540966512675177852579561110572611587112596113736314741415744516748117751318796419810520816621863622872623978815972632375748475191862694728078303412442945310104121751419614507281083095935521043621151601597263237024737577569617996810179111310119111158812167813292014311715432016453417461818469919573014472996312854214652242623327259782763928281028441131051512761312624130851332613907165281865159228783985410355112761457117023203410497159886112471235815869176110181911185412233312552365368047935889692071259141821120320084203152090621417223182281922951025011709282039594174151756627527304683837941441041551142521243561344271445171556321657221764281864601965312075621111215836904780584069067100681104915951016311118981362107315942005241646375198615913061752171346845195615664678821512842314044147951570617297179681922920941312267341144625552659371699819359262613121513339459351575617127241882534932751037851143211562131327343125436691879798103791074101804111943122024132185142237152308162549114026133703494951039611157206682117931491038651139521241681512141384741911520876222414724093441469459551130222232564297538964857521854096551011461113721131257437844199552105621827223982454927671028081128941229351334711562206344545355702685878998181515722723407494251032615497159081658113123333402454358026113171783818939193410256011122831704678594069917107081237915571025771562718318534190353018631297460085876959261070271171051271891378051479471582381682851783301886231987292095022195682298861962238332843765466653271744818849237210242211279212304614222537359346835112561261721068214692187102960113331111228317042215731682171033811239172610185811269912278913339214393215402216416617470618479619500120554121563122747623825124946725102422610384271047428108302910920301120131112423211603331164434116783511828361236837132813813401391394140154104115775421593143160214416527451668346167734716987481702849179595018300511839152185415318631541870755188475619168571978458208165920871602165361217926221908632199064228036523411662427067243606824410692442670244461750280338694880510196108171119816069166810177811182812214813246215722243640467158836979710368110291684101774111864122203196223833284376546665327174481884919211019401119771224001327001561272531595417155181761883719188200892104102721113592123648133835144608154957175027933133741372514296149571595825689271419622383328441454806590787881009911081019181120191220261320831425821531171633001734101834291942892043852152282259782359892469312570641902180324043065347637871393814409147110168611243612244713333914345619022103121541518516086181371915820329214010275115121173761415525165061803723648281893431103521114335124623134674144740154930164971175195190216131121411725125261607716738176391859102702112870122936132977143119153659163878175148185183195950205989216030227950177629203133241795518526191871947820379226115128423940417375175461954723428248893285103813113864123930134140144247154303164490174541184607194717204767215087225406171267137224788586569007990810809161910171511180512283713327414365115378716386017440018445019518620527621541822615423626224637725718126727727734228740829752930756431765432795433800534807135826136830237862317562153732675427655301263883741908476994844105357115447125698135800145890156076166397176526130523123353444355556635181233234224448191230433554117551271613617240182493925891034081141811245301512117376141552516506180372364828189343110352111433512462313472714482315491316518117527118597819605720620121629722671512226331154205537263947435873598281512842311494131551435615377160381747920271027681129271230981331751433771534721635161736121838261939212039672149392257942358842466572567381707276731056411675161061661716928261292624102945113165123587133807144055154382164486175728473989410335147061705718218187192912103383113473123523133606143826135625973672416155171661782718728192492511102621112662123014133104143166153359163496173592183725193829204250154021487325124265153652638007424584856175028463186642515525816267273482835179364110384811429312438313457614460815464916509917526918581219610620619621678522725423739024763411492214314244204452051621477267782745929371037371138271239691351431453931554001658211758281860771961672062782164561750284631866424475251362650727408325693425190218634274468550266527119281276913171017601123711862132328644575142461525715918170191742102094112184122246132439142615152651162670172785182923193431204564179121493324134247952918631017349183601936421037811140181241751342621446651549611932253334344335101461080711708126692076103084113185123251133367143544154326164737174804184941195037205170215422226169236939247856257946268136279112180217132374327536464217527862391170101320112090122956133046143705153771163881173922183992194500204749151211732824402511936129171342814089143910145911150912216613247217512157132168422665324363300733668347693861104205179121602316924195253164632727330483355935081037611138271239001340541441201542621651791760531865321967392068272173602274742384042485002586012686672793982898342999003099903110345321039633104623410608351070217912842399841088521206226972426828409290410315811358712365513377514411615418716436517464315728153999421215229862444725088258993145115224113563460811082212394041056516176203872578843249451410458511486511612251356646795700616767177182393925031030851133031234571338531442071151243835284156052116621917232982595926031026101133621235981336061437431537741642941746191847251952452054142158552259452362761655214613154742267523336241872475825329265610287811300912312413320514373518721773492497351009610307200682546942531043001146711130214131584300539264447534814949159618712969311224168351758630837339683666179729343102441487516686173571837819291472389347946315721610177105481116911481018501123501224911328921429821534881642881743541843951945452049462154862255642356302460472561192662692763471143218433344735512706209072180823639340310361611379912385613491814503815553916562511862977313914156251618617577184782069922621022691137511237861339691440261540921641321749231850211950622053622160121372853876411835127361528716238204192897103064114471124478134944145717155773165993112128873952410305113762008721068225992820102910113364123565179721104318394230452451625267329983404179721013311034120551271618117234882355928031032451133111236191337381437951538611639021747121851111769214443251542572526386281872906175028463101941591516326181071817823579336910348411391912398513403614410215428816557417502803386949185101961109713968145191738101828111929121986132052142232152534175028033869488051019610767111781257913471014121114231214961315531416191516301617711720341712671372247885876696671108811599173910277111441612446713453314466215547413527631664705575268427187481931919971020381131291232221712671372247885164861738717798186992901103068113681123771134012144260154396164538174589185159195269206301216333227091237142247208257352267678277936117275838384137851898624387253682587927801031161802126328044515496663877498957910471013191114001214411316631417341518741618931725431572121333143975538658171177166214432664322550966407115081245928111712611366247285878691971009811519218910224011299012308013350314355415430416441417448018476011482238329843645405647575728579973010777118771295213959141099151146162237172327182677170821548317034216652629633797346983489942801045871149281250191351541459471564431665981770611871911973952078972179872287772390592491452592112610002271030928103872910758111228317041172517426240072435824869327710380711389712395713402314410315485016555617559818611919615420621121635822709423741524744625877726887227982228989529100191412352341845265835688679528109891192166226533554492578368797102181072911381013181116201150219132534323537061125711728123891911102189111228381949175121561296713868164891842102683112873123447126211631824290530863197786883399361011061111961212911313811415921516671617401719991820101921712024322125222226542327502434562535722638992742192843892948783051983153083254503356883458453562593663233769373870053970164071534173934275104376764480571104222334461791283639264149252519179728423962420295319517972842393541172179728423120642251132214232054212525367437890810669227610245211702158331800425505269762742729041797284231410415405186717972842395241524525791672112390617912155731938419835207962770114029213111441204513306142071489154026993843493351434615541540213213149641701525626279874643855049738010839211860912965113973014102701510678161140917122101812913191297920130982113920154026513727414775201315402651370748945192211402921311674129951619616667173781857926181037891145223533774428573469517104182073921311022411129491229561333471483257335804103451124618147194482034921301022421129771230791335861514217173180742022521536300573097841959436615721473237443057376101771098811889126110135711145312169413242914253115303811222238339949331140248235474588573969507961811079119110125711129812138813147814151415272916284117379712112313311044141151501616527169382399924311029331135631237871338381451581553281653701756811857471958652059712160122262332369412470312570962672241512623944327533463927117181178915961016641131233337344777515551156220232534464562568097890816729168610197811226512295213314314323915332916337917345518406619412820416021425022441223452724469425482926486627593828602829681930779631789232928817822165932110422065233662446726078281792900102965113706123811133901144078155140113623383486461458786133572145823631512141389141333513906146172023154029433103341154515056236614222557385449895104061124711908123191321101411111447122662132774143730113722393329448051271615787231382456932931040761141661242211343171443581550641650961755981862281962892063702168772269722374902475712585291962616311194174951860625627350911452256395841438519546255873576836879458614212842391341449151266398456856646116071235812829139010207015126239443275101861128711948191791964102072112107122305113123333734477751555113122423412460257571182621970321114239053901640587426485326154029433103341154515116237214126033693473957796826721531540288231223422335228362324723388238492686103419114023124940135813146018156542166699176875186906197068154028823998416115187362338724948259614124473538413085139261539717001218236539574157851776618577199018542101231102412881140260237184117251347618221160221335034555557166917732894592046102547112723111228334944065496694971103812339129410133711193312208315727673126841314513386139671658822951666295231059412695131961336713798146891812110252111532800432185328611372229336843755465653676541381245635464178851820618517248715128423887497751892621397271517972842312564150351665179728423109141122517081797212693131041718519076195172047820889233510266516724643554417965184761883721021372217340844405582668371106812759141610146711149812253413222153305415505164062346724278256992659102719113469123514133550143747141821120324724324754053647557480085070131264237294840593169627175811042575399741837520076259772707829419355717822789310914175511512374354145825641668277528116391222101350141211134784819594469797134514122433250430853406399754081312914801017621422515365447225129661835728738296993114103146113653124620134745144865155830166996141257731381422655248763297733148412494523177263236734973516231572848387941041518806200072331824901422386384348845931610217202182091921811032961134771140215373234342464530036328073327848631418211203165941814518206252173294836129431410435911445412464211727583111041200514016173271869820409208110305711727583171941809528416289373857117275837964126251303624157251682809929211035771322170374047815912610361138284131332414095201363031730848378811342265337344405114661236713688141992125102157112438122566113022503128241378514746152572035826311262232734574569519451130222034224961511246133271933829841262232734574569515251130222032414737578761107711248134791384101598111713121764132274142870126223273457459851322132253936804782515911412174231808418985193861985720568217192261102297112999123736133786143822153865164595174732185649195759206631216752226818236929247165114121184315364212752238628241130233233744104451085612311202231338764966511436220515821683219449955406709711001155259836134732584869567109781140913761136233831115411375122761680720911783280531007410585213214182112031134411925166961800720028233211402281341145425156261613716708176591776101923112019122281133090143131153187163825178221512316024192952040621547226183027930641036311170212003131941466515116175619621176312954144252233631007333683426935241042151518258338654916510126112717125413963418035197362563725718374911382391318234198452841629187306583956125321108312044133551460615927261911312809390549425148815621273517460756946896711498124192602102683112989123446134256144596122722314333561437385466865184753198660316125263613465659556105171096812811131219131163412535228562363725331138272137784785516576171371885820511131218231154411865135761393715048201492610159126833152442097522146230672337830661591265737784917594869847101681027912291018301121311962180329043565393611947122581483915181015251116971217731318971421041521601621911723191827071136233831619418745233163141734811271241631559417045180062212726758286594241110422093334438454036539759586379674102435112483122769132859142923152989163040173550184102194170204263215095225450236269246374256464266691199213032184250532363307895810059103610113011116212122013122714178715204116279117290118312817972110331723422635233362751730318335193520104171114213124250134789144864155179165187175260185305195633132282331233413235139962149722918242292488103774114032179721103311664124251322613977171781749919851023801124381227111334221434901535461636661739521743279431344414105152561576716478173792551122123473115141202519116218472895829639301910313911395317432794325964266252778628297290082990932761732983310494121951878619357200182410924881512842386349975116461314713458182692327102417112449122460133270143360153440163691173826183867194350204440215012225759236205246432256567266602277375288395167276831389423395256263136733748418594329105035115136125238167288320344835803615847165482072924251025721126961227621328071436171732983310494121951878619687206482907930971031871132281245491346441454171564371701212923189542493526486268972789828799288610302611356312362913364614377015383616485617327743139541965520066209272173822249276410347211361312431913477714579711040211063115741644522496225772308828189301417821443234467757496899797715128423918496951749621747226483055931531032281140011240821341721442681551111651831753331858301958612064571732983310494121951878619357200182297925551112283819491759486182772843832449334010382211483812523913537514562615605816640517647818738819745420762421828322832423836124851125860126861427862228872829879430884131893132925233932434950435965413724783521414625161261784718358225892305102648112866123212133302143404153470163673173904183936194402204453215743225809235899245971257257267515151284231148417685331163879740368412694222105065115146125919136939156276539204150651582618677191081988921941766291739834109251231614437149481560915711017101118431154422776339814555456013661547626886750968171071251172061274081374831488081591211693911112283819491759486198972408836189409610451411549212603513614514618715697716778717787718806719944311312201361547115725683671882823009306610315611321312335313344314372415408516409617413418422419429620433921493522508511002270333243835142461843730538323493330103841113931124003134153144194154656164703175619113023863220342293526326364373977847279476510484011489112495713576914581215608811362733333934348353832648867523085267953431058651158971259381370431471391582371691341792441893201993572094332199552299872310580241058725106562610663271067728112402911247301136631113733211437331200034120073512720361272737127893813502391350940135714114634421464143148174414824451486546153554715512481551949160835017293511734052175795317669541793455179415618091571888258189525920074602018461208616221013632105064221126522403662258367226246823374692346470239867124407722444873245147424638752465476248777725067782564119221853335456156516788790689579105010144111254612261213270214361715368916382617397617362152731558416315171162129732448331093400104315115112126580137034147115157605167767178321188372198952209087219898221035623104462410517251058326113242711786281182329124553013406311351632145603314611341486635154153617254371832438183793918475401857141188614218992431905844191484519224461950647207924821050114022793380479251295618727196282753933901034801136721246991353591662322386141899524696273073116832129335310352511361512363413368414376115380916402317414318423319474120500921548722551823613324617025738726742227784528867529871730878731935232960333985934996935102253610254371032038106113910701401102241120404212106431270944128804512952461300447133244813474190250831259413255137662126730628315893264103344113379123475134518144677123422653755413645140161483716038252392589102737112894123322133386144133154190165122175217185386195717110521713290433154786560765081565916371019541120441223651335771436481797211043129141574517616184672868829199333710403911405812412813415014447115449016455617468518485719493320500521534522544717213983148841698517416305773106831969338710343611352612371713378814515915603716622317709518779719860120862021869022872423894124903725910726922027928628932129957830969931973432982433100801712671372247885868690379938108391622102660112916123488133538143642153782164308174799184871195021205064215310171216137004173851785618517222217126713722478858186890714308155691623102163112281122543133233143374154187164277174943185046195136205278215368225404235500245590255796265988275995286085296406306797316917327007337328347363357474367781378498388825114222083309460256536743714938180091877102202172280238524864595461005712208131091670101780111846121987132077142437152547162840172981183071193431203541213814224554234620244661254982265033275099285209295259305579315893113422733685411885126061289713798170091741102041112691120823003368470358406138071836822269236110245111252712327713332414339115362017082789383048965120361311714188212092510102645113811157213732124351576968157173519122743131441355519666200772754828059291310297911313412344113347314354015358516464319221633299452651228613097135081416917231018311119381219891321421423631525001625731726181828631962185325145585147461540720618220892253102438121422823294444155316121772110822409227110287811296312336413341514348115429316433617493211302227329343965723685471297814699158410162511170312187913192014243815249516299517381118385819396820429521432722539123552418021463937410355118561338718998320493294104326114387125558136349146439156616166822176897187006197747209158219233229410239500249576251030726103992710601281063229112183011230311155132116473311947341202335127733612920371296538132931164232137354799590261229714198212313125513134241649518296191972951830509333210344011381111122838194917522286301973509836719446810453811558712569613584614687715751816760817774018786619818020825421958022101532310243241139425114902611566271169228121042913135301381231139023214002331417234142093514364361442637145573814709391487940158114115921421679343175634417635451770146177914718234481830649184565018534170821740318924204252151634897355084762955531056431158201265901366621467281568181672351773071874571975351218230834604932596361232713128149291657101719111770122700133268144478155524165598175655186405197215207300217372227552237702110022103362457356106720710258123691273101383112464122675132712142822153073163124173582183672194150204157214575224649234656245074255581265588276006286724296731307149318217328224338642348854358861369279379850389857391027540109734110980421139843124904412497451253846130684713602481360949138735013973511414352142055314256541471455148385614845571594858167305917804601822361184406218550631880164192246519314661943867195046819772691979870205687120640722070673207967421239752142976220851922315311064120451272615797228782365924801025901128311229451330151437391541571653891754401862311975282075952183862285482386162489232597052610943271184528122412913072301319231139023214037331578434158593515925361597637160423817328391758613125413626495351075611807211282985930891032391133051240961346821448321555701665981773891881661982862085322185832291302396652496722598292610602271068313228331484189527968187185681960921101021511126421227571328191431581532041634011734441835911936632037152140352241851623213643145141913520236210472220824819344217412776386641405524436251974229842709434610442611446112499113508114520215593816598817630818669719741211714218043186941910519416273773058831099390510394211409812436413536514540215560316564017579618624319628020630421634122689811372928312354128651992620247212582812929451030601132061240631342471442681552391654591144242535534138251477619577207282299924371130222339644111451405614957203483072931281031991144861247451144221539214124851309614607182681916921151021821122701223161324061425721526871636481721573203428052876763779888569917101013111150122208132259143187153219163453173768111512126132270423205292363840739518456694669162321364314154172651829618797269082780935301039841145971246871355011457891559081659581763551322761393041462515826230472473828141702213483143841549516356181271848841599446317082846394241054519656241572496826029331113125123599413085132861416721258285611302881316914173251790624557289682976936031040741141491241701345171752171321245895128461355714658168791768101915162262536724814590469647103081256917481030491131361231881332291432741541111642441138227933204391514636154471595833459343510351511360512366313376914472415478916520717532418627519635920650621671511842972310154160751728627337310483141934821035781145581247081355631463371565701472389354146315105261084711808132791478101890111980122179132339143271154173164708175457185534195756206059113729283959412285142061487715758173691873101880112140122393132527143217153307163543174026184503194736156232234594490510026176872171823799259110284912012242328344305520666078998917917141102219139574176752568626937287416229623110442218523116244872946112128873102641384514616151871628820209236116229423194442054520836222972240827409484110495111527812538111124673967410375273862900735711134210253114542096521726287372947830249342510364711498411372464347546775728688472592832989368010393517762930310104107251153612437161781733919571019781123351137292831235413025138961504718868196491988102758113740123747133858144550155591137252431096411285121261353714788222917912136531475415405158161679717468224692358103195113298114026023718411725133261447720548231692540126129703101141188519796270873173835939424811522216328741016513376273472939831109312610365811474912552313560518226383746410375140061462722128294315721110311454174851805624587347111402548365841004514456209572344824519260210269511296712299913307714310815337716393417082935398642772528046282373530842719484310490911520615127639974111751604616717172282065921811023331125391226071328731436771537671645981747011612270232403424445246162993734698358493651141251135624132851564615717183781888919331019651121781222101322551430861531891712671371249345104461088720498209192402102540112672123212133366143797153912163987154021498315904249352774117275838614951510526114671279817439185210213911269611727583104941299518026186471888825419268610277611291812296913319011082115315646075838691971700818639199110272211402566367341640517336245472596826289293514224033105641146511966151172472111125903982410465105361067713001172758310014130252008627807346184173942511042591143681244761352861455041557621172758314884157851660621637235182464927661028431130651233801148223832984364540564367691872891783101860112192122302132509143625147240934414984519511130217133234438552867327764885491165101216112926122967133174143277146225723621413625139361849719258198492100102107112867122949133762174121471320104304853095632037329383758938101043501148271249371355381458671560391660461768591708284839234998513566149471541818709198810205911275112281413315116232136431467415575169961911720208211692381102728113029117275838614962512556197072090822969234710327711328412349013401718324123120341609517196275172813835219417810430411444212457417972127531552416205177817972999312524162351744625177261582666934451035161147581572528313294151717972149931737418075216462240729578303493096103846113994179728283968410785114461181719828201992615102836113277123525133591143623153764163801173924184020194210204960215100225643196129963180041856520436269372788828851322122352546225768690971039811869123210129811182412234313242014248615377316403219624993645477559116132971370814369188017972828312034144752155624027347183718939801797214993242642840530876315773974840909422110439917972999312524125951340614307149982867931721033031134641241241342071672143314594150251801620037209982522926601695279131309421105229811302171325443165528659577368920920821023081123941224731109145028623131641449115028233103341065511586135415124023539469457846926794282352926191026551141861472513360341523516136194272494825269260410272911389911842913315194158351624617027170982257177229433354136751427619317202782117921671021831124531512141389149375984610557182182017157227933204445573417072772399441110511616157271749828111146255235844115011312333339441076511276191519262123031267414665161761988720298229118121913943417055175662352113121823971414365148861658723241492289831115411675146361665718971512342350345655877113122023474461556666160471745818359216510233515862118631627422075266462754731461131271731419414775156762489196021110311814232152414624547266682735929041029941134151456262131117412275127861754718168212811312537358447865101811312333387241910519576206572116826269288211312251330043325135811312393360146755803113121823538412795157061671718501131233331004422835233062438724898299993655113122213232242359535796378373873841231131217436074929510311131261236194670511406123071516122123873116941184518076190911332152393449495177263043113122623311436251068613677151712242275311484123852299625747339684093113823473960415395162961765723341437248937584908119324973107841134513201146231733524843514521181270331007410585113661181723051151216534694607510436110471185814209147110154211165012277411312291340841110512306166311312206332244605501699271218121823043525466957536115971211813499246912212337350341285513006191071951821181221252536531138223034344666120223183586113126623697482958806163171721817779209910284011304012333913359514419115445116453617483618492619563720590621608011382169311794123151272615257180315222213272415625164361896725688261992690102727112954182212332394290555166407751813191371277738674100351572151210331378416041102218332180158221131176198021070315244166618922763546177021540316024191416042130411512772396741098512006131671368817181131218232334353556567041156219733134364513676155071791821329228310233311271312278313383411752715316071121223733334448562215402189232784151214138914937598461055718218201715722793320444557341437259236454904170128323880410375107861610113822643447415075154361774113121663462411635169317233333404140611382170323442995106961315113128633904414145194614912567379911762256329643285530676217412153131622417011747275839474118317082214832239426891747212673180741895174728673918422085224863287733438343812022209324943185523674511102150329144855575614671170226039714102951230112872133031386414575154762469137211043116041798156287329743685405651313221223533459957336873152426133127316152707318341146222132824323583361365190215032164251571767247153011312227327241372169217233421138218932854148114662517358847085156961671170128873109141323147292939614133111212202329248031372241333911162167324844735679676979961512141389149375984610557182182017157227933204445573411122212683133241753170128323907415595162361655726111612151344745481588265438061472199331444045608665978738905910151012171114491588265438061138228533354834518521131217833284371544966551512167319943095521655771583147299331545421512103313541095511971138222832984115351164612287178481874922541131233333844540513181569264137544124351362614587157881668918951200229634114501566261097154021892319684216215121413891493759846105571821820171572279332044455734111222119731618170128323907415595157461606725621612151344745481588265438061472199331444045608665978738905910151012171114491509256138414857518851216222413326034369317082145932210424761588265438061514212553136041403519991105226933871460260216127433913416865174262762113822153376417535179461864723348242493492151275737894151951647147215531029181321045310964118651936619827202982100928661030621572279332044455734111222167232093170128323907415595168861720726761612151344745481588265438061472199331444045608665978738905910151012171114491107721167312084127051421190254436861289297531090419451920210103107741496518421588265438061372533377441245179121001310914212352160623541138223036814771511701412492352441026516476212872146821979266710275711304311312841399741033515356163172133821899237513725493627420785285162907739271462265038051142622230322814237153121631677321483285940511042471572279332044455734111222126831313417341701283239074155951604616367259216121513447454815882654380614721993314440456086659787389059101510121711144918582186031950421821136221403321334222352485625757265382685931761033221134531138222832984115351164612097176581855927891131219234224512573412022315336744485654119922463420132211932094150315402835317271307246237124863511126219315121413891493759846105571821820171572279332044455734172228243891413121701283239074128951321622771612151344745481588265438061472199331444045608665978738905910151012171114491942185322247055795617861702333310141372110631248416155165262629727198375193995151421255320454212252250113822303681477151170147249835304103251653617107273082850936641250241135724662580468557132581415917011131234334844527511231813222393301243068540346409074161849349499010601015121413891493759846105571821820171572279332044455734162258937914102318729433394471111022623768485851939114324253527162218233914519177215732324248529964547605866799791422185329541167513721386254135824660566768631770293631026411645153813121933200461858356163971751154621953320044203552671123322683376416221907215361692274331349415191540259936404718586414121102312674130851386619621472154324445595591662771673193029773104842079147293439414135214721119311944124151856196221634174656111125853695476157986159972155822459314819572195732351114872156931689421825227262499113123173527458858106891714871462257236974986174129723104041586155826483807156267327844591352158326843585845612561487259736474749513001196239731169419481618211453223917126713767485759076918710391102230433454376562213228233921410745163562568726348336594119104209114285124326135303145519156310167287177298187520197768169251939314131351742618441192537379317912100731164416425170661757725968264192863151284238734103551874619427201782204923291025101672858393341009518136186471954827919283610378417726473102941119512036128171431170128323948410195108061591718438237492470103274113281123752134062144224154414164999115121713241429255206610770089829107810112811125512132113152314175511121273183423553016426753511372318346946765148861565716198166591912101988112170122181132297142328153408163469173500184191194235204652132212231092416325166861787718638193992080103366113624164126753765480052003628267291684126942021042921148221252341352751456811558381659341760121861591964601151261031073414105154862254725228262412823631069413055227662389736208373093801103979114254114026023623482059616109971182812479198810294911305912378913387914396115418817122903392441061510726108971231814229162110187111234512243513248514280515285616356217360318454419467715142735380348935977611257138181506916551418211203152841638516496180072331824569246710248411263512327713350814353915371616390717398118403219406320469915822141231502416445178161983721278217892699103279113720124281134391144507154558164615174756184886196292206993217663227753237850248070159028403105141092511326116371374814239146410153511162512272918582163231951419585275462761732728342493526164021850319364214752565626087267883095931021035411136311236941337491439191612474372141256520796216972219825399258110315111417114192577371041170512606132071386814599153410193511212212234113246114259415271916275017322513221163181492251735623787246883007940451042011142421253781354251460311662973133416551766378797982030113121391319864202752497625877340117082114331849420655215162691731278329294523105265115604153125423559466157226863790481327915971562146333743995501656778968118513225393649411225135215312542355946615120861298715498159092060102245112487122905133670113822463289440054496512783081108911691024101131521238531531258237094141152052623677252482640927231027651135011242771345231672402348845145175061792720758249211512165335644875103861111712328169491760102570112651123113133145143636154117164861127423603102641091511226125471329813379232110241711315312320413455111312142315942615332681371391815239157410205111228111312891398141065511176154871555816879173810228411237412257513264214275715290316300411312872310014114151231616857173782168921751023071123581229721330331433421534931636991745001846291947602054662155562264662366782468162573382673792776802877762982963084683189983292233393193496193597503699623711022381129211312408344441020522206304073081835579364710443811446912494411512565370541432520226255372629826409311410328511337512351313359014382011062147361841094511846124471310813679183810192811207412243511402176382141150513016190772382824209322610334611352312365413371014400815429216438217489918543019563220569321706322726323780024791025810126816627836828860011402482352341073517206185071901819859205110283311287812331913451511312142328843585137761495716278178191848104044114110124300135004113824093431452956596790710708119491260101292111783121929132915177216733074842510566126671356823889242510261911382746381441361514086194872214822959233610269611279112283213289014317112732534385141112511636119471830112312134131412415905189561947722878248492658153029933161541658526356268672776835269357210374811395411212912310104109451660152275338844106551923623487284583593112121008312734158951679617397189181923924141025601130541121219232044355538764387576813879141810146311155312232313241914253115321112002247327949265128761377726711307246237124863511126219311302213327844155525660771398815889165410246411250612309219128213136042398524926258272672828149286510344911345612357913468014469515473616480717489718494819580720631621635322646323652924656125660626675227692219121943122641728518376250472762828719290710318411329312335513365614367615371316382317388918392119468720471821492419121163119641898519786239472501826809340110443311447012458013464614481715485816623419121803270416415187462121722178251792767103270113332123356134009144046154156164222174733184799194910205496191210838694140951508616047198182071922131032511132881233981334641435941540071643251743761848861951411130216133114401549161030720688311193143103209113256123892133954144592132225834434533513706140271447815379185710195311198512203013212614229211372928312354193852009626137268082742936711134226539714107951146612367136881419921251021571124381225661130240734974152952767628777294883126935001372502365746945116461254721648224592571120826583136441475515266203672291113022703321440756916781716538239493413157227931015419255203562177722838304993080103666157227934594500597061315713628157814721373115541245513876242572457825479297010307215127573113941339514496151171823825449328510333011342512460116221113370462615122733119341300513756139271517816981536264637124783589361032711651712102367241159511966176671927820439274510278811309414724983520467157916209772148827189275010284011294612341113353614376217082884310514120652061621367214882238932701038051138561239981340761445411545721647941622620371047605806689671026817589222310234811249714182112031141412725243562859729358336993377103518114261124771135367118223493504454751524616497168081905171228833404494559567727867811609149310154411163412238413282614300215316416228023892412195145661546716368217592271102361113393123425133515143826153892163948174360185225161626833115941212512336187372113822159242510249111323212378313383314415315420916502117506418570019021043260437551185612817133281422915791023451124921962110322847305795688571167812029166810170011174112225113284719227333784486151063617737184582586928401028811129311232511338981439491540261641161743771572494387641046514666163872067822929238810321811342812352013357214366215474311362219328446245104161933719808220293315103426114022110914502862313164144914862616370647595875612877142881604917661512457355846485168061789718318221293632103737113872124592134701145205155371165427175498185588195863127023213461457151362627807287083902941061041621143661251641166224133314136351629620357213882253923881024291125071234811822123316442805331614177219983279933941036201137101237911338281449191549561654311754831856991957602058812159712263921625265631062411785125361334714068145791863101966112081122159132839153721179315854228552415624557251182542934831036231136741239351339421456971557381657891758201864561107219832394355516376168872113825599256610263311268412294613305614319415370016379017401715372157331778425505255762677727328278392814103450130524203156241652517846239572430825259263510267111308312328413337414342515346016366513442385343144615116161297713348179992375102426112506122572132680142786153552163583173789177211093141941902523696243872585833619343110368016402780389049585207362163722058229892394102687113678124384134474145259155971166061176146188193198934209024219809229919231066024107502510835261095327110692812059291217430123053113011321310133132413413642351369836137783714648381475011312333339441764519646332573365847259476010481611482712614413643311312333337649375104761207712848240092803118122713411411035181562597733388414494278105643115774125809135925145996157042167144115122023408445957806152371534816149169010182111183212194813256314261415360416366517459518478619492020497121558522561723566824614425635126644127747328752029813430818531866132875133901012022533343454456846834796589769109210114311124512195213197414257015345416351517356518365519389518832979316714238352514627167282982919930961041581772491310324113651267614077161981670917591018361119691772287333844425455657076168706984810107411109312118313128814199015315116328217332318399519452720455821477822519623550024581225587826678827702012502326386641312513536231472525827279278810285911334712338813347814428815467814992559313094141951909624407249182504926141026941128981229391335091435901537411637601739561840711943822045132145442256242360832461732563502674121531259136024100551675617267253682626936911038381139701131219234074458555765807104381509916191016701123341229351329491430801539611645321747021848461948932051082151592255602356902462172562682665792766452867352969551131288139534104151093612187252882639927701028801129521230621331031432891533551151210613117741242515096155271663817539180910205511230712243813250914307715313816364917390118404119451220460821541222541923613324622325650526669527728011512559362947195103961081712138130391511101810111900122439132490142501152617162678172730182796192998203230157218833694520572761539716168167091716101963112039122221132232142348152481162518173598183669193759203941111121453235427051473622967238683596936721045591146201247021347921450301558811661901762801865021965432069492170402271362372142473612576621131233333944132451459616507241282463930591617287938904106951169613117168781807920221022861123471230291330801438681131254531439420725223162322724738258492770102872113337123829133925144459155579115122103326479151254613927143382139921711024391131691232161334371441451542351643001744281137225334654606569867127764885499831010791115551215901317681420041520601620911722191832771137254335544571567367147125481344914341014701126901228811329211429321530291631391732391834231934632037622139022240122340532440892542052642722752582853482961621689270037744864518966310873247842109430610439811442912476811437215113243942529526106384173951840229420010526212052261340144425724678679738100491410157526653137541471516266168871875819209201010225711402602371841172512626133871379814869187310195111225412242513245014270915288416427014725173575418185251963480735218363793909103956114426124516134917110725103867413935154861889719368240692924103014113050123154133990144145154608164715174786185176147251735754821515226163871744819979208710230911368912383613387714432415441416537417546418561619579120717717321243671481858616140571475817089196110202811271912281113310814371015414216427417436418459111512210334944395614675278198123691806101847112264122380132457142774152817163234173350183440193572203710214029225536235680245732255784266141113026183104341133512576132371334813549149010196811201912252913278411312201369347435964610567159481662917581025891127191231921332091444211544401645301745961846471947132047442147732249502360121140231733924559573462120179121298317524184251979620247203182193170821158313134145151543615507160681745918351020881121401222111323011424381526681672539378841488515316183072116822729238810247511287812317417082885319524303053155632997338083573936691038711140021241721342031456651557951712102352146115102461130711968122591315101636111653121794132336114421953717476758976203672126831789325510341511349012373913383114385615390216504317509318541319572120581121589622600223676824679925700516621733263457851189620157254582761928311033611134511235721336041437751538521639601747581472118334044355776611947177681866919131022101126561228111332741433211533921634971738381838701939182049451472904399441314519056196072056825359258210270611277212358213370114381315446911712307338845075598674478548142091931101986112082122622132633142689152876162966174105162218234084469510106180172311828841131292231030411855135261605716578244893516104629114690125757136411146472156513166591176654186796114622283819410245117461666717418195592759102795112891122969133444162218234084115051596620171600275538504161651741617727233911222212361547125858698871208812599134510143511168412282968310094133052547625887265982734935801037011137671242841343951449811228237834194889512346128171497117283311441505182619372288311940110479111322121363131462141514152243113027823833493651002611727127381578916191016751118621219521319881431981532641637451745681846801953061130278238334936510026117271459817649180510186111204812213813217414338415345016393117400318458919468420479621554419627493852494251043613367190381998938431039331148481250441360201622182340844695101061801723118288411842274332443705690695171364816829190910196011209912216413300014316515320616328417403015124083479456957156831719238207892551102641112755122796132847143381153877164077174124184266194967205098215133225284235315246003256054266120276151286171296550114092154031962420285226463101731388364893820103910114006124131134192144311154377164438174475185877196053206143217175227226237292247323257343267618113122233104541155512956142971506816569170710177311187712193313202314216015225016263717272718273819304320313821324922397623409024412725422826434827515128552118832993311444123451706618377262882908929631030591130701235101335911441611542021646191749761850321957682066762176961137292831342415135161962128721948300493124103215113361123491133528143675153707164087187128783109642128522496232072355824459254010295111304112310113316714321415328516337517424611072898313954151151645618477193482000920811024191125391228601329501430321533521634191734701835601936262037872145572246102347022447332548612652491450268631523416825250262533728138292093010104042114079124225134440145100190210432604375511856128171377813919150910162011165012244113258814310015313216317317325118345715127923187242002523846263972680827959292510313711327812336813338214343415353016354117363118449219459414725173112641177513276138871842818749212710221711243912255013307614419215461313722113331474358096885715868207492135102216112257122479132516143042153132163783137251136214687572461525715568159291624101635111685122005132061142093152112162147172246182298193027171171221332644901595261105711978124891279101875114026713146241552517296203972105828969309710333311414714121113902411085162061671719008197192012102146190216133804521558767187752881891249101266111477121658196210932814304552965807646817369185610208817972895310484160952039622047273082931930501037911138691240751163235634144533559066247157481586916271017271117771217841319241420351525601626011729741831771932202037302143261797289531048416095241862508727281962238332844745566663471416821339222310228911239212292713306914386215392816402417403818437819446820469021491622496823503924520925531626538227552528556829565830595831619012362302310934119151427617891137292831235420555215362633727868295093631103678113723123864133954144620154710165030175126185935117428513149041600522776246472520827079281810289611364211402482354745885739613517148681597917121017441125041226161340421442191542701652971200230835444710572669871265296631097412785136261428719468273693546103636113687124197134793192262437144774584061399725918269392744103535114067124157134217144283154314164470174560184868196358206482216548226886236980247514257549267595278324157211863137042092521736226372455825029261210293911297112403513416817722943404443054966125771797818969194710269711280712287313315311302407349741529527676287772884836459418510425111462112500813584514589615596216607217612218644219675617822872311934145751547618687192082508147253837204810518426187971969821119215810224811233812239813246414255415260016263717298717972110431518415845173661803718908198092638102711112786123559133640112121923204435553876438757681118911251014441115841216501317401420221520731621631729131833551935312036931137222932370424605252062586731458320093322103412113467123563134103144159154346164656175588186462196628207560218433228547238829248876258966269056279457117122063251438854496698773989519100710101811114312125217021053275446956296719720348212892588103061113270123360133456143518153608164445174565184785152275338844106551176620637248882529927511027591128491228621329521431841121210083127341914520476291073000831259346610358711365812367013382114385315390416404217450418527919534520539621586622595623624211312333373448445102161296177249138324109151636617747182681927919631026731130191230701331121431901542211131218232784324546265707711880398991010971111441211761318231422941523841636781772128354248835929610097105681963920101029811131251231561342361442731547381647901749091849711950032056652161362262262375201522235334543815109161437716488173891880101923112001122307114028113907492359906116671432147215137984118151392614037154981633916991019161120031228351328721438491539391649711752151813226393295843146532366348674090182263837484121051300613907160681679917541021551123421225611326811428141528981637501363277538784101851077611937168982459925491035811136281237061339291131214833224242457525476288973004831069324710333711504312518713532814541815620916621617724818738919747920883121887822894923901524100702510176261025427104902811526157021361330694315953219632857334383933945121066131170261270831371451475941580361686151786511887291989351512117326743085448653876038693910131010301111551212641456210593211742288523356255172583828111730279631335423735251462565726558340593451103707143124723497455856486110271249814069145710161411207912219913262914297615393216399817422118429319444320448421515013724823518497251004614477146281581916131024041133811235161336651437571545001645881746801847741948752049682150702250892352032452382554641776291539764143052301628087326283424934311035271135791236691337751437821538291638541743191843511947391472517313534144351580616707209382130931441032761139781246121347801322433455491851008613087209982513926841027311127561232211332531443111144221132994414582669167112381253913451017881119121219781320761421281530881631901772232328444235553610077145781612916631017531125031227861337221438981540601130224033084380550868287978810199110910164811268612348313358114365615396916403717410418414919509716552146131534415685171861807726118316394570104621114652125288164921455315124161051712621061562141232216423065253762633734418372093872104685114726125236135832111298388949875103862049721918229392506150224031056415335207362165728941797289531048416095180261892719818326293875103965114779125067135762145858156018166222176454179121090312064145351975187217731894220569861011710778140091478101495111706121887196263237224145251991630297389584326947031049291149951251361353081662147348546055926610167109881418914531015041115701216221319421420921962632372248095899610417109281192911991022311123211223971328491430751531411632711733541834191934512042172142482245141472757381249085940698171089811469138210221911226412237013240614248415269017822101131101412625134361409722298226492359102510112609122650132883143585153630164216134723903897418605208662292177229433464500574968417194682088921781022671124231225851327581428241531901962106731197418885199862064727878279493516103657113728123747133848143938154036164592175013179728173958411525129561352714188155891807171114322170919021553118741238513286140472481836391902962311324119751469615597169181787918631026351129331231561342240837584848511696118671311816001802146317748975963610487115481875920171020481122541206213133140341458515546160571725825629260710377417727943884411205116161891719578249693534103581113689123721133862143902154052164109174840184930195072205215215462225849177236434544148652733628437291483092938831039731141501242281345331446681547791654941765261868541975752076562179782284432387782492742593952694662795322810587291069330107713111007321204315402611378941580516596176771818825479296110302711311112311913366716628338444138451483620237206982798162260837754877512471762156323143215897613587144282020923811622608377541541523871122291331011411645172561850719408295193227148283931146418815234662493733308347793567104371115475120122673335489159656152114121243214475351791621787225283813181328623952414335225262733728238287292916103948114024124476135252146511196251335644135451444620477258783289937801042821156881962513356441294513846147471725817449231110235811246712258913264414290315295416304417379418423619441220517819625133124341782528206393874539846939474410483411558412602613628719625133704480751100625767266683581936321037221144721249141350901453261962513379341126518136193972042821329227410232511244312245013348214355815401016406117415118490119534320551921578519625133564411105125262290725388307893780103915114000124090135122145824156315167574141213132214760517986184871883824901172758377541536520766217572192822549236910241011301112315313324314378215482016483717496218507111002210923166341753520046203972129822199226010275011291212300213353314362315366416408217465318474819482520600721717722742823819824844825889126906727933313225053129642273523416355373693838639389210398211481312487913492614500115509116549212212255337945285121761283717248201392155102271112302122748133508143574154324164419174600184706195427205569215600225806116222083726489051047610847156781657923081902881312684137751461618427189281909919521020411123851708280839504195052031622787244082486930261037281145751246701349231456251560151661501763991869851347239038974189452120627161412180333544865577610777112081198912051017911708215603170241955522506225872315828529293710298011352412359413429614434115456617722943345441154926830795081271915911016421117321224821329241431001532621481211823152541638518556191472047827979360710442711470712472113478714486015490516515014728983988411915143961529716078174991860102078112202122268132315143166153256163289173959183973194039204186214231225308166280731597421375250463044735648410494202104237114327124918135008145198155288166078176168186488196614207131217242227828111052128131371416045185161894723768240192543103438114310125051135198145373155712113024073497415295276762877729488312693917104007114139124210134976145596122122553379456056506782783381254913101013411115851216201317101417761525421627721902390358548905986611267125681602917171602851394941102516636175372668827249275510277511316719625133564486451114620577297383063937161043651145261247741366191467091576241678201787961140248235724724510156105671247813929188810261011270012349113374214381915392816408917442918465616628073110741357525476261972785828759301710312711344812357213373314442315456416537717546718613319691520700921701622710623742724751725759926830127834628937415721353225435754086505766087509887101109112312127231974426225268862798728368386893944104396114447125197135295145782155799165909175959186279196593196243836574949513606232772417824989286411512182375241239512766184672007821239282510286811317414724983510466157816208772138827089274010283011293612340113352614375216628073159741687526376317773280833709344610439611450712504713515014524015531616542717637818670119744120748221780322782023800124834616226083775498551355613967193583145932811040511141291243011137292831342415135165261786727588284893271103337113378123434134037144823154879165482175648186158196189206785184628773108741878528556431074347843929539011402119331364414545216062542726328268293252103348113806123824134050144841155148165199175690185722195859177028613927410375117561966719978220313732424350445705678671571935827269275710297917114502862313164142511922783556179121007311644164251706617577259682641928631672177319642865533660676518896196223833284124851289618427271282832929341030001142121243521360741460931561601662351770081871131708215483166342126521726289572966830369322210329311338312414913445614504315581816589915128423940410935165461729721838238416952791387149375104661063711888129717302126932481425955325763404734948452694803104854115308125370135878145974156064166114176126186271196361206503216554227138237234247324257374267390277660170621436315024184952591633217411284202942671042991153571254471363081464101140260238234927597861499715648166092190102362112892123117133213143513153644163710174770184832170728383105941147511646214972160822229225310317311324112329213384314484315586311632356341448975943610057111581176913881014781116491217001322211422611523681624091727801572913201425251172611847122581325913751013821115221216331321581423111524011624971728941833731934752035652136192236602342002442412546142648172748602853702959661112733130418156016127271287813779221110276111285112374613375314384315438216438917447918551119592220593021599622604723611324624225705411127332144371561861047711098122991570101869111979122020132134142185152935163025173142183420137279731421415925162962369724598349193740103791113857123888133908143958155029165915120122913661432685335863874739258419694725105251115540171267837294795516556174571786818769241510246211255212358413465314482315498816609917617218626819641020650021654822663823670424791625805626809327811228814929857230887217082848392341403514446153271598817369176810229011233112239513251014257515261816268917309018322519326620403921441019622363255429653626379753787219130210161611226312231013237614255415283219623963507460259076999713578159491637101784111835121901132051143154153485160527763131642420524616323475174196263237224145251991630297325583321934511035341135991236311343971444281546341652106319647355177361824718908190192992103085142213432244125651346618547202682273923321024221125031226401328511428921534261639171739831840341941002041942142721412831386841500515326174271766818179188310206311236517126713722478858376938710288131591370101657111747121848132714143145153522163572173795183836193870204020214077224143234186244782255594175028033869488051019610767111781257913471014121114851215421316081416191517601620231712671372248835149661586718278238992455102765112855123272133323143413154163164605174685184978195504170822063321124312353204632707409084125942201043711144701245111347441449591555931656401756651861301961622062122174132277191112283170467859406185471911819429197210201311213312217813221514230115231216232317244318248919281020286121294122300723311524322625493626499127508728512429644430651231794915121173246438655536656721978235392394102484112765122812133426143616154358164840175845185892196506206696216709227710238556248607258673268823279635171149729513982411945128961379715818181314122433930496259736111271202814249280410295111299212343913352914448915457916473117490618538116628073153742076531146316173269833599382410387611441612489313500314560415564516573517582518589019598020602621606322652323663524841112162488357847205761617937233382616926621027521128081228791332291433401534551635361740661750289131934422865241162700174128603910412305196561978727088290192991103060154026433788487851004610947114581250154026123134841443515336175271861819519215210248311262012279113283214380811442847317584184852880629337305383783938041038361138811240241342711446281130268737774125451995620517211382653926941029561136851422652313534172351860621817230582552928051031491133761237811339711441011541531644051422403389549455113561151712578136591532101632111784121882131972142061152209162383189329363149641637517536245972511827429356110433411499912504213555214614819221983663414545215663083730918389893966104049114103124350134401144432155180189421000311204206552205624527313983265933521037551140511111265138414882515736164871738820439217410219511223812231613252211712242337944895560680278338136514228333931410845164561800722548234292430102473112551122757148283931086412595154161632718458189692716102812112904123000133146143221154034164807175089185830196340206347217525199121081318854198152041628457309983274936131962106731197421175253162738732788434994475104527114617124991135677114026023718411725128361753718438209892188102334112499122518132610142922116022953351442657206791710908117491639101861151227332844494560166577844897591053101148112324177296317142315338642876058695910821014881115781217941318451419351526851631271732391834751772294334645625644668571717819589289110289811317612362713372214392915417116428317464112082658313644188351934624447269911302186370547365946617377204482191922281022731134891115121316328734296954615111228312146225688672571204815969196410201511208112215213230314238214792520355446155705692779788104491115101158111754122567146225723638475458226889141214432104473556367557845893999861010891111671212491328111429561534631635101736131837691938932046832148792250342351062452522553912654082754372855701126221532264396552065867717878791334101393112191122281132376142529152635162805172867182998194049204056214162224203235117245315255392265458276745287004193214033694459569567247121681265915461024631125101233841334741438971539631640531742801846261946582047092152962253372354552458522559232666732767632872172975331707220593214942302529986311473210832749353910366111381712387013416014551815565316630517824611312417353747765857612787205282134111228381949175184562010720768224692947103421113484123906134061144280154350164420175032185109195175205218215814226117170127813871411175121361384715348224193649103974115412125581135874147286157354168392110625493772485959356125417072853312114200852098622817332183362934931035591138661238981353051707212383134341478514896152572237822689244910253911290012412713451714465215474516494717499818546719574820579521581022609323614424642425645626693814221076312314132151638621787228582851932941033411142801242881343201446011140221833054371546165937624872699651010421111211211871313341130221034804992510436196372053825309253710309811380612383713480314483515500611302220392141662519326202272088821399234510240711248412249113269714275915301216304917312218319719328720334721341322346023349724384811042254332046275777610157174881823919151019521124191225131325451427161314248431266412805199762653738698393094540104716115477126797136912147002157479168261178968189685199941201008921101062210420231053024113712511438261150827116212811721291178730119743112051321280133129113412977351325811362186325649805103761448714988152591561101657111720121810132115142272152392162516172558182636192786202827213365223397233568113422053295438556816747781989429106210113311135212141813151114234315326916333517406617722883511456156996140571446815779164310195011215012221613252314257015262716265917276218330919023173551475257936880794681061912761013661122761223411324821425721541321641791742221846691602126341246535144161803718548216592172102590112745122796132862142933154220164479121022763106741374533316340173499843109442610449211471912528113535814542415554116563619428853204242132521686262272712829589384410393411411712442013481114579715652016691117732181932085422145322263292737238380093866103976114026124346134661111228312142515319637078908154491599101695112174122815133396143741154011164095157257731231412975160461846726838281492880102955113574123734133939144960111213232254315572668867128281389923501023861131901242001342771450271551371652031754841962656381648815118861734718648232692536103236113768123804134112144383111213232254765579868887104081091920521021631140831242521344611452021552921654291764691866551967922071891356244639344971516266223172316823949259110274811321512327913341514348115378816388017410418417019491720509721539122542723587024616025678519772101831468415585204662136725488261492724102775112841122912133042143855151231239204115351727623757336483656942891046791154101264781378871486181596901699281710507181159319119272013354211437222144382315169241652825166032616669271674428180692918280301930114721183284432154626116472074821409244710268911274012282613290114374715383716412317421918438919445520476221494622577623663824674117072124332013421745224062355729228303793158103288113324123831133897144993155083165293175334185400195461206777216919226991237100247151258457268608279518289539299635309851319944321000433100353410121351023136104583710669381075939107774010918411162042125274312672441288845129654613206471327248134991412112322243155405661677478182791893101928112043122109132199142990153627163717173849183926194167204233214538224889179121889325814264753624636617462784641946731047391148551249231350041412112320442085221631176058711910071010731121201222731323501424161524681627881729391112283819491751845619117283283563187231434521112752389241062515746247772567839699401010429711437412460313486218632919311204125151332614077161281883111228312141735535684671395823621922133319949575122861529150827353788486359536101971930821631372516390841276513566210372565826759274110285711292512299211122838194917516196213772705832459388510397511410712415813471914484015493016509517518518526419620020685121718622745623754011122831214173529363437381885391664101929111976122466132596142677152769162835172965183424193554204013214544225003235654246113257165267637277896288026298279308420318471328884339080349202359253369459379552389603391015740108834110933421102343110834411310451141446116054711646481277749129325013022511308552131325313622541376955138605613946571407658142875914364601443061157176215976161327033141441559519876204872138828499294510475811488812539513550614556815569816644817651318656419726420745021748722756223863824868125954726965227972428987429991530100053110203321028033103463410497351058613127931294281537164477484853599711010281111181211361311781412741514471614791715201820101921402022172122832223932324432427632530761112283819491759486198972407825009253210258311334912343913348014360015481016602117607818618419688620741021813222891423947324105112510548261121927117712811822291261230126833113409321350233140803414230351430236143333714831381492139150604015768411636042168724317105441719545174124617426471821648184314918659501885851189055218976531906654191175520230562052657205925820629592068060211656121188622127863213596421367652141866222086722279682240369224697023490151246437854792518836201472080821519220310252311267413129332584348541764547573861091323101360111424122137132174142238153301163338173514183551193592204082214239224806234872244923254989265060275170285220295540305860151211736294815592561018710298104691837101935112062122177132320142861151284231614416805198762182722488233892434103277113358123433134207144313179721569317964237053582636237411384297947831052421157901258931112283121425153196798792581152912761014411115311216341323841424491525001629101730211837971938742039402152272254861902160362549835178061870720538309393509103599113739125099135146145686155717166013176109186141196312125623583104542353528966383711152181327141062516996178971921820079241410255911262512307211212263338345505680677279188104291108101155111399121529131696142172152485151211732674659574068157115616952791379948305903695079878133815625883653474351025612277123881729918601019261120631223911144239734494580510966138672354824881253269931709417995260362805729568318911122838194917594861431722428295093066103354113420123501133639143716153840163906173931111228381949175142561491716408177791856113822283430417265181662634727308281992885103192113376123464133558144579152211733130141411519506298873061832049325510339911393612403213412214431515437116444217541918546418122878312404194952606636047402884094942041044311150051250821351481464351566941832148388949245965610557159481641917311027631128041228871329771438141538311639401747831150219132344324513566140372216823129235910245611254612268813273514301815311416313117342018473711372928312354126652128622957242582467926851036361137771248201348511449401550651657361766411867311972702073072173972284292384662497572598472610597271063428108572910889301097931114023211504160285139494110251663617307180583130934431037131797293431024414875166861735718108258392673102883112964122621017314314160252343624317249282582928041028151129541229891330301433301534551635481137292831235412705141461524717578188992591103178113228123415133526143646154376164397169128013867415905163161638716968172892519102550112712123551133641144445155343165460115123683409445055126582762981384914741016161126541227051330561438461538931649251749321851511953062054672155572256992357502458402565902666362767162867922968941140260236234714516256163671672816919180610206211215012218513224215121923165641966520566235172505826359269610273911333512363712272476314924199752224627297287782912930421033821134781235621336521438021538641638931746461848531949492059662161012262212365132473682574582682312786021206224132824603569369547194182081921441024601131321232801333111433321538531640291741191842061947631151211123122741704517456182471934823859241710242911346112391213446814461915541916628117636518641619645220653021673622777923782024835925844926925327938911342205329843885603661971123812439135310173011178712187713218414244615298016301517305618308219329020457611158215803173541835521766231472824833379445410450511515412569113601714610715637116654117502866390941216512576132871360816971160226733354676511176139171487817979290810326911336512366613394314403915412016417917433012182471354846105100361986722228250193025103274113324123511133562143652154402164844174924185217195743114023343489459251547621117214382534926241028511472118315343085398654875808800989010996111835121965131976142072152162162482172710182820192870203190214188113022123100341560516506171071776818079196310263411353912362913416814420515429516532717537418544919558520567521619522624223627724641225650226761713726373112441253512856140572156821919260910331111346812358813377114390915465116478217504418518219532120533821547922574211302220359746875122662264723948246092518102525112597122737132756142763152853163714173816113021613708481951114611517129281403919991130225333664619511596165771770819119192810244811262911302397311884176751774623057235682388923991024651125901226991472409344145475718612317219882304930251031671131981234041208265831364414755152662036722911130222033454401543262149722748241092447103507113729283123541315514616216972551825889333110339311342212346413407414477515583316612117624518649219677520769221773322860523877224891825970926111272711947281263729127043013195311329632134921131292231612424325385063959741688428894338104414115115125189135221145731156074113729283234643166538566388874148842499454210524311599112604213639214646015661916665417671518698919712020719121739922820323836324945625954626976827105592810866291090130109773111009321105033111283411334147238934794794588461844718768200792739102791112834123565133572143929114422523973410525110161148712568213011302181339344745812693271253815739167910240011254212257313277914721853222432457676152971704818319186310195311204412219013232014246715254216256317354418358719373420378521387522558723573417972993310834154651727617947188482688937921130218133934474581269327125381343914251017451117801218271324981425881529081629991737241837411945512049501622625374941289514356160171654817269180410194611382279373048275917610227105481132912741013581121241221711323631167219832984123052132623337237083371935631043831153601261731369461472281576691681791781871893651708215483170342166526296276772808835149354610377911400312405413421814432915440016448617455618470019474120544721547922558023631024644725723826754527771328778429784330789431860032863233890034900214725543644410665140261449717918187792029102119113079172821519316094178651833628727348383524940311048401151401253301354011456811130222231253412795133061883719488254892849103389114496124537134700144790154848164899174910184942195902205992216054226078236851247169113021713722481251016611077119781248914621014941116041216701316871417971518471621671724861130218133934128351424615657261411302144328343305356642974768570113021813144141613524446255472754828119363110375411378812382913404114409715427716458914226523135341517516286211473428835189362910394111442236324343105385611737126381374914601110241734244514564661598726438273392844102930154216132294270510416110271282817119180110193311202912210713219714251715276918321483438497752015621197225682547925941026611132611242981345771446081546981654591755001858211958722059382160482260982364182467321412539360547765866611197123081390914261014731116031217141320441420791521691622501722671823921925011112283170410985165861724718948192992019102750113960124026134403144493154635165673175704185740195772205783215924226486157281539994212152411625017265382700927661034391137171112283170422153016367747585869229610235111244712248413380414387215530915124523542462252414624957258782677926991028221129121230141333851791210983117341946522646306173159833129387310394811527312548313571511712238327343495494678078998103091096101936112026122347132382142472152793162904174011184221194376205045215096225162235312245355255631172281331104413545254462616729128295392989103439113599123606134638144714155166165936176523190216133854498564367567880892691100101221111273121450131610141975152772163098173610183685194458204776215042225109235120245338172286239524155552095621857232982869930321030511130981235761336661442271542641655341755661857131957602060802161702265202365572468072568972672122772442873342977573078083185583286683387343490141472533382541531523036298474055845639527510535311536112545713550714601415609316631317803818809119864520926121942222951723103642412203251229326132082713404281438014921503240452755826869795981060919261023571127341227841330071430711532211640111740771843391943742044952152922258222359122459772560182661742762642866231512576360747945939698171158811999167310176311182512201213237814296015299716308917365918447111122831704661510836112471190812629127310236411245715123623113941556522886230914727973907497351069137264438634107651887619447241883093931341032181132491233371334321437521537941638651745661848781949702063202171112280772383242493692595242696812797772810214291038630108333111058321110533111713411542147253336854102413721439314764176313729983103541480147253335944631511106116171227814079149710181811186512231613252814261815270816304715125023534414941522414355541068520356209272182822289226010289111298712394715728153999417215251262602727798323893573104069114317124779135110154022241330324333953529636007388017126713722478858766966711088115992094102101113242124393134487144583154650164661175473185727196877206971218192228262196223832884487516376173072500825929351210357811366812375013393214398315404916414317542915128423133841761518276198272139823839246410286711312812330013356914417815425816486611812436351846085152361579728658339117472823388449745142861439715788181391884101946111975122026132092142176153018163320154021298317524254352784628747300283217941881044131145541251881353291454921567361674891775551883051983162092572195201454257831284413885148461574718428193292639102718112862122958133376114422273292410335174161862719588200992262103578114104174128313103641253513436225872289824509254610268811272512288613298214402017972110431179414305152861559724798263493177103214113984124149134239145018155788165858175908186214151210163111241365522206241072540837509449110456211475212482913524914529015662016671517680518812519820520919621100892210210231130124113912511741151211732584127051809628477290383053941561044871112752391541636517266275872928832289342310372811376512379613418814453315465716490417493618547719551420554521593722628223631424717611302782313734216452694627847284482910931771039191146561247461357781458191558941664141765041870431970842075912180152281402382502487122588072688392788902889742910032301094931118223211854331326115121173247478651824618757231982415928541029051130721231621331751432651533461634021734731835621948491214228232944441553165907155081716917361018261118491219611321121421711531311631721732291832611935981685277531807420735218462221723498264092751102783112826122941134157144189154699164827174987185394195934206000216447226533236940247480257546268001177236434544148652733628437291483092938831039731141501242341345391446741547851648321749031849691950942051842155042255942361332461702562602672922773482874192975703078851422135931425415675161061699717408236092470103581113671123683133789144650154691164725174875185657195671205750215881225947236018246102256405170138824971712191361211102410310601497262239111138021527315684251952574626997386611342242340945195128561410714418160315222063296456351626617217176282645927701030141160225033124382544765437129881363928501029751130061233641832238316354167651746631417317283334192214423153242005529566387274201852469583310716011737012764015221603238472551203612447139582148922041025241126891227791328611429631100921084316554175752103628047282483241170121043311294174052594628097384284060941121042131145991138217936704702512046182571872819609228910237911269912275013324114327315445111382391354145935694611101472208324041304514371138219038604922510126108271944823779263310272411349712357811382418358846495200962041725328267893114120211033114451568468347965897691122101602112023148025703601476259676101871523147287311841955936612857133782066117022179231857418985194962213725428354493575105025115155126051136372146409157325161276338834174451846161255238164112311402775386449955100661446716028180814321323313634157551744618347222514721863296444755376618770887659855109971110441211151313021512522355446675691614737151882219111228433944502554361009710998139591427101505111512122060171228833484455563267227110981205912911013221116611572107317843015396615001222973112941615517016256272658826699284410296111602256371048005149061620719608205692146102313198218839334980515256159571707822931121286231592416415169761778726308366293758103994114081124112134318122297319849385103361320721028214793213143721050318804191652666633807350583686137727373865412835135861738719231312462315344157051621622457261682653927541029171132041232601333501434801536161222973149427851633617237188482319178728623952415275156861856157240831803419145281462889729268297193887132228533764894593561003170828483923414315147261534716198166692436102626113330147290339934100951099615117175881790918681019941131641708284839234116151242616097167581806925971029041137241238221339921440821541181644391745051846301946812051722152042252942361552462571208265831364414755152662036722911412125731289414025142663172732238401911112726312374127451315613967173517362826311534193551980620707261082651928981031041138214932464336595961049714448215092191102271112600122800133217151252235544667569161473715188164191736102840116721983156841758520796211672582826149265510316511376115121533242432954196174971911145211432044116551275615387206417521713282436354046544113122683358456058181462254935664936171215132524263532563707421845299351013361113921214821315621416641572200390641206518561140297131121411575188862039725228317817102808312494175952295113322203263477351529187211773128741425519726204272757830369307910315711330514224033593470358796152971860820019235914224033122941339518956201672564834159345210379119624613646473651497616097187514722433844489151963619987204982060920921030121133691234711990210803115141170512946146171571819631772294334641127512026128371823818999206210218711222312237018232898310744134751449615661812177341849675107961665117142180431864419305197162146725521312646310314108251157612147231811112206338744395629667079968104391259177228734804532513186140871552823349234510308511318711008210893166041786525216265272742827809382210384311413311302174391541273513106155571572816249235410250417412844393441024515586319073442842249471510481011537611072848315784211753155634627357283623943631049781150201250371357991459801922338310404124651567616187176481799918691020351201294239634145951509618297188182610160927801723293419532187415121473196120227413177941826519346214272814152212032624358543265121995210853113541505517501312267330844105552615047159481644917001219230031073411721322122381141536520946240273005110662111231417421485218962279730608311293938104028114097124137132250731439170821635316664265217082916393242318114421953901493351201613031703211943127141875528936294673650168219211302290378741648117221873402442651208612537246911442155325249585101461109170627623993417345224462251734291516213073228442353524006247872620190215032164357539866987790123723333535141213131624959132277316448501139210563116642038526051138224937594166751787619281138217032404723591914721183199436954596609764181151912981023681188234934854738579061687112082126031331423981176294231032418365285215228223105241428196217438764101651091611227115881190912561020041208227039274141452015621641322463187438758081111295831762418741472513354545865109661692132210931754102616721423449463511122163351919025443745111025703120311002255333844285598182321558321811312127311634120051245613717157411752967312874141711262938311041213211303124042112526791131227234074468553965797939114622183338466317032119431271418755289362946731361131216636574862119024763566464357351131259736484107251766173223834504950510406217911222230374213229293100741054511626203615127573798492251973160021306315664179417512156131649416905219862382152221237474183815725653176841858519796207111152191346748781176231334094626572268201540259136664782511216121171309154025913949410205111219622143273411641125223539824132311402970311474186851996114024823617416671123121341314124159052671132210931754102611402247331145815723112521723262451551566116021475315204171416772792388241774113122413305439556271522822389241141156214632744501154021892327841572147393241221170127153922410565119617012832388041037517796231111122153321342795949112121131313354156711230223853247542605121122723482152326483954112812132231803420145204662553141213131624777112812143632439425821220226634191131266437054161917228623909415051138219832334347556966597751129323003335461458761137219839064947511596129812022209324943395559163821711317991151211833129841469516006161171673817349194510203511219712225813298914422015496216557217570318571419611720629821633922698523751224756325787426794027803028841411512283372448491127217831894448110426983946499851768618387208715127573798487251005115628683188816772792388241774113122413500177028403108915621463274450115642736379948895110912802395351146815777621337229183268934931035951140228133914507577511662364345447075175814422600364541769151429683156111222453311341677283339234181511312241335746251522822389241141197218733154542157215932794700170128323101341045520011531263431996421155293716623283536461057381813298932123132210931754102616772792388241774113122413272440315228223892411411562146327445011572103322346441701282038674104113221193209415031540283531727111728433998411981109222138771572183330347241701280438454100651441118623373427413701656211013111841238114722033274436455651562265237184759581561453188821202312194142915102625311334122351402135323943450456155686655117828643905497311066213193180341884520231412822395941512515636192913221283218436455961402106320841017119026743784492714121313241476511122148814121313281438314882973310244153451789111621833251434054536593711338122291318102452112121873298453413221093175410261191223837701412532364741240132212231334254534614721383170420553866572158219634541582196339315721353367136287326241183512736140111012178324441095138723943620482611402702312434140151822196217136441572165324041360151626813109941167134425703928190721536178228693138541536516376271814422607310254109312992525388311212343354546585769610051137224736681892154335645881902478311884213913228233113041220513026180916021673257443455246874710168145391521101702188213931984118851323614607184882554928231035461104217632134233528469907134081416119622983433448458326113871248817449179510250111285112306614122623970410605116662003720548276092792103924189220431155412455135861390714358152591845101935112865122897132968143791154564141221038784113151353614787152314121163206474551783618307193882765928551029521572983204430253926442111222129931445415095159062002727088315115562708375348615928699571045151210131334855511766136471537147212073125941291514046142871469815059159510178211442397350045815741687379298103112932403344446465157361700717218242292468102524112534152296331030411455127561688723271256281538654900591013652460393341037512436188614124633516412775197862651729331701213423145241473517106184571983820149309410387511488712581013592014679215694116705417719518723219795020801721805822813523846615127573136841403519336252572653826999282710285111306212325913340214349215413511312265312554135451897619387206782124928551029451136261246781355951457051565771666091774001874981976512082122183882284292384742494302594512695432710079281190029121073012913311320532132651141121446321964225352288624637262082744927871112323844258598361073721058225492316102458112599122636133508143560154500164620174722184788194839205630216526226646236748246814256889267662277980288023298140308196318298147282839704200852055621637220682956939061046971150041251301359501462571563471666291412194398541083512366179772092821829321410325511340812403913437414232567362848915114461561729278297093037170212133124472557966357645170121771318864229952952630011211227236854695515366165672576827889320610421311426012162326359547045903611621140267138624106051170614657153382073921271131233331614416545166761707717988182992901102944113034123120133191143642153687199121026312754188852136629477346583559141724673530416331867213173140741614170628433106441071511926240472475157292326744245548659119272105431073417745183962046721078226792668102812113591110212127631982435125371964228170210531464767592261175712668220292279102346113062134233643447265473364770757288578095849106143116303126410136466146476192721055313144149051684617317178782118152286931597425275276311022277339747075155019272113931316420235218462240723308317317062162631683423435249162534145425783111141186512291530262637664862597561710722191175296731287418911706274731283413695147115127573114541186512216131171446170627633189342423524661982290344245231706216433174142908180728973125241270170627953138341553515846183571882819789210510238711382170366146925943610057149682091921721023241128561138239134814625570661412715088228293233103323113605114421853266429755576792786381032911221018551179722668327094411754282646071512801393942070521066238811302222327441264513116140171437814699153510158511192212022741317794182651934620597337111302141319441214149126163178214121123152424253826486762881329925251512853126415852506302712628136417012832310544122051281620127251582605926741782212633239942494525846280873065831009322811472284337945491322135381848955985613771131214232454286546665177984810559218510221111329412333513380514389515408711312183399341088522786236872619837609385010391911312101531111412625151515721873747478858446939113123333162441665517216235911312282337241653141297363448511131271031852420261322129326441115113123503495463211522250336044965988611237129711302171332344385528673277798831992110158215126239441014512751626268437604828149729513104141107512326134115221913252470658476100471070818319186610196113229731924944517416344973539836049366210370311387412390613430514434615441216453917459018465619473420484121493122497223501724511225628826633927640528643629646530655531656632728933759013622423308435952069621107233082411931511031921135131236391336501437161537661641031730212693230742448526846278572895831829342410371111382112392213478814521915559616564617586918593319608320611521612622625123756317902880310704109451634617377183381855919491020391121291223221329281429461537461638361739031844101951412052312153072260372361272474982585292693192793852896472996823098033198343298703399023499133510054361088015127583889495552015621957223283252933641036951137521246791356941457841558211664281766471868601976712082112182522285142388872490992591422696522710248281030429104543011557311188817082808310014200152076622837238682432929721036741143151244801345751446951547361648071748971849431950332051652152742253392354002462702563902664972766272875372978593080303181013281913382933485751912102365347155816688571043819619279810302311327612348313361314364815413416492517513118592819595920616521625722758723763024769711302141321841009511076161571877826979282310291311362312371913384214484915491516505717514918525519563520588421709622716711302191383248835960610267178781822919171647272838054842511031130219138734924514946170672479825359355511302196327341034510696114311642205395541045511106124071291822439303410390111413712423413429014447715450916525917527018621219634517521653396413565144661728718248267793637104387115083125149135156145238155249165326175963179721260327074275852856629237296483030931051036481142301243071791214273159442212523366240373194832499331510338811343312347613354311712279339444895129361825730758316593255103537110028913139941646517216300173091832839456310467011528312537313618714647515655516662117665218737219743820759417126713722478858766966711088115991354101497111587122619133159143972153979164257175408185501196041206069216755227166237706247824257883267934278024288774299734309811319878117126793745410445123661327714378169391783101990112116122352132535142625153545163611173678183768194629204731166215332724825512496199872599836699376410380711459812556413581114635115684116692917711818715919807920814521889522891423898024900925901626910627942728952329103933010459311058032106153310705341071511712691371247885159261648718358198193072103885113926124436134974172221513316034178052307631117320183719937501043861927299331641417315178661882726918352893751103787113865124071114021193313644145452160625427263282682932521034271148131352263531845425555263462809733751100221068316394187351968624997337683616937471040101140451245821351531452361553011653331760991861301963361712521362341129154026513707489451018612807286611702114131271419935210362169728978312493825103844113945124035134133144689155110174727613988411885119561262713078193417521163493461758646161471635818841340240635714639513806152771608818579197810271911279712300311012167327043515112961922720128207792173103043113109123230133265143355153365196211531814302533764277129781398914641015601122701228621962632372241452519916302973255833219345110418311422412475413484414490415497016502117528718535319635520639021644522724723825224825925852526878027881528887029943130100843110214321029433103603410475351094136115241130214132874435554561116711778131891544102140190251631289419215197562090728638305315221913321477559466108771257816779198210207811290812308013392014403615408316453417468918475716625723794486251314617617183182671927611028981131081235491344591445751550521653581762001862411962752064252164762265662373162477582579342687001412174931839418995196562426725568259992677102708112864123185133222143488113021953682480658416931714708250893048103094113823170821628316944171752466626047339583426935881044271151351260551368461469361570011677031777481887761130223635264106552103622447328783639940901045581146201247171348071448481549261650211761971422933913418905193162021730538317793758103873114395124402134492144568155372165428175615185628195703205793215859225900235970246063256599113288356946105699681478618902998010987111535178228823107542075522016274173443841359430010439111452212461413543614554615568616571817573318626819637420714021717122737711042241310324112251299614207248182646926871027651129131219270037414830516276260472694827469296310344411348512357413362114366615384817722343285435154326770789081211915311015821116721224221328641430401532021130214132284101951367614777171381744923101024001126531227191327701428361541261649151750391850951951062064232167121762117337945235558664877808831913121021161126561226871334831486260536464734583569257118781277914091014601119411227451341521446491546801657061512587377747885145761567716088229792387102442112508122565133035143155154107172543357946305696676671266813569198717254336114122152025620617211282152923771025341126241228731422146358041002522046221273301837779386710425916222493859416505237962489725558262092735102836112926123024133580144362179214539364144452019620507220582312923491023941125251662797384741167511846129471344816649173013522203759417975259462901733158338193448103493114441113021421314874219452271622887241411402165322642735106461154713068139692317102426112586123148133238144190132298325543315421610331472358342445325841618797200383310933661035531140981245641346811448071553241654351760211736282631153414935158361673722128230892398103430113462123552133863143929154469165199175294186105196887206932217083228299110072203932297425055338763841738708402594382105298115405125546135597145628156664150225523742478351323613407148181524917701176296731274413155141361661720798278192807103695113713123850133925144988155059165530175820185970196466206636217048227310238392248533258649269355279493289535299641301014931102443211048331115834115501140278237944892515876168371835823919314411762967314754172251763618527210082518932201032461141401241581342951443701554331655641757341861851969122076071144222732924103351278613637212783159936181037081137971243151346761449161551201653521616275339024992510366163771773818279207410299011309712323813338414346715353216373417396614814972951310414110751232614131128122064322034264252960631647387483950939811040171140491240601341061444771412893179459156576689714808178791898103328113905123995134063111222129931445415095156561655717768222792277102323112666124018134069144144155003165010175149186975197165207236217409177621284317744199652106628977320483300934021036841791293531536416325168161817718718211892286102293114105124925135023145276155812165862176182186435196582207943218763229173239659249781259932261070527107971253293931393415175195862483725798270792797102856112925124287134358144809154934165043115126633759412595177162537727218337494130104141114265125316151284231149412705184061906721298221992819103070113771124301134342144475155311113823913883418945238063391742738508495199105240116049126139136241179028483155041634517006172372463825209305010305711356012373913380414394515420811127523103241449515526164271732818749218210222911355912359113368114375311622228310484108351178612207144581833136029993170542306524566270172791830379314710323711355812364813373014472015477616533815621013367439851098612087127481409917291018491119701220571321221421721525091872507355747475790612727130382273923601024111124771228171329191100221058311824188352052620967238983410934511045421146321247301347671452271553171150281639784102552115624461722992311334193052070621607222582256932221035441135951236611336721438831542161772364345441486527336284372914830929388310396111405112422813430614435115465616479117490218561119570120673321815922822523903024907725914826922327931328937929946930957617502848313194217552510630067339384819948851049411150571253751355791140248235984106351219613211412447355049135113161400721231151221033514441561667547129281356921471022451123601228521330181430651530991634911735231836131944741137254331509420405215662276724838254493226103277113323123447133454143505154620164710175742185918113722533314414845169861966720568210692768102799112905122963133065113723703506459656276103371503816109259710283111288212302813324014330615341616349017398618407619433820439521442522514923534424607125612826615827635428651629738830812931827332832433839034842135845036854037855138893139965411121573247436854556162171711827439291310331411340412346713353314358415364916378017418618422719449820453021457122478223482924490925494126504327557911372878396949805112661187718698203992609102665112715157025773723478758686142472221823119243210247911254512276913374014387711721633224490651076611327161815625483854489559856107571141812319143210152811239812246413258514262015271016272011402214337044605592610887120981686917761020961121771222511322581426761533781634331740031840831946652047312148212249022351992459692568092668752769652869762973563079991791289539854139751463626757282583272934941040351141591242251343551451461552441660141761051861711962812063312164632271252373311137254335544651570467447104381183922161023131662605379548365872698871055820419276510354111360812404413412014426515436516448517461818466519469920510521513722522723563211372878396949805112661655717258182792363111215732494959510146111071621816789251510253011273512326719022303315442654566488710648116091300101430111520122440132447143008153025163161173308184008194097204470214566225778235849117216332044244538564267516811129115310143515902921398941516515236156471664817049171110185111190912205013209114221615352813122743366495651002611027113781222913121014081114451215351323721424291527241627651728311828881933592034042135062237881151621557316944178452677629287296983035930861031521134541235641192225837394780510476116271195816019167710248112822141831534425455293262994735408370794349104380114786125091135895170721185312754155751783627757359584285943371044081144981249711350861455771567231668441769971870871973691131292231612416645171461810718618192792031102099112161122269113729283101841300519926209072172824349320410332511338212347213427611382215363541506518566235272490825329267010283211287912296413335614338815347816433915224723813416105170861798718538194992011102167112509156287329741359528146289573081831629323810347411402602371847685153261594719068236011929553103241099137324243504457056786242573227833039335710357911399212425315128423946410365144861514727268287693323103374113464123809133841144063154104164149175199186510196578206634216645226856237189176021299323374256052650633807352283628943491044911145221247281472533368541024518216191972072826339267010282111299212303313480915122183664469559076100371109818309197210200311216511372399354041006510966114771938826869280610329311405312415113501616628073910410005110161668717638205692389102440112506123242134152144262154404164510175231185373195404205990179028563111841849518996221972250822869231810232911247012303217702886316774175552169622357231616628073910410005203262534726828274593107103306113662124035134125144578155368165434175696186399196465206667216899111260391412751596170733681156911911012861113691214341316361418681130219136564707578461575721058219592255102321112392122466132960143050153262163909173960184091194323204555111275231542416325223562775728658300993549103639113844124384135257145377155917167386177751188291198804209721219877229967231047324105632510695261217027122052812355291255130132071112752379041256520386294873190833629350810354311361312377917126713712415035160761697721098217592236102672179121520319764202552367623747271582941931471701217943188442151523696250519022193759484951131614601540268037554816585761367723431902150321643545119161312713448141491534101664111754121886132207142977153817163883174275179028333134342087521776320974421845609460910511911582316422654375241447515436169572251830041373242435044570567868007113082002927431029121129191235351337071440461140248237734863510156115071240815719170110184211193212200213233214246215250916258017290618295719337820339621342822418123424724502925504326528427535028626029640130726731737332754116628073910410005119361852719488205092557196219234334190852024620417213182491926131027291128901234241286270337944120651272619981151243835284156052807629177298883166939571040471142241243021350231451581554691655801762891863791974112075322185932287582387992488772590251151261039454144151736617797194882038922091023241123711224121324901424971530451151235934734611570367717794811519119410126511127212189211502180343545825653686179758148591551101992112096123126133216143298154164164270174658148149725873916412051423210233144041792520756225172457151321480326314339753522635537378911442333342344995580611117115781253920561023621124581225711326591426731528941629961731931130222232744776514066144071481815739166910170511172412242213246814422615427816495817912822312944135851409622487229382650151284239404109351654617297193383143933291130225131037417805251063542736328374894313104348114409125159135361145593110922053482457257646993710898139991495102009112099122377132429142506152727154021017310584120051221618767208782123931901036121136981237051339311444631549251650751103621168316764176651882619137200382053921641024111124851226271327231428761538711646211753351854601956411131212093141942830530966366673932840079456317012116031481415715163361703717998255492586103069113101123167133305143341153652163905174023184129194261204304215035225042235399112221973967410575208963301734408358493674103979114070124181134258144475154526164592175333186108196119206424216559226670236754247219257300142225773796413775146761519720388297393746104394114484124539134635145444156281166899176950186981197387148259837934135151502616127166283488937541045581146501246931347711449191120291131009410935165916225803666473257736105571180813291418211203116141187514966165171866822119230510234811242612263211442262333241081512426138071591816579239810255811260812292813294514373515377216401717406918479814725573207342124524436261372843828809323410327111337412348013492014497115503716506817521818594919603020662617962180632547439875425164517751388522896180113124403802413585143361490724398256092605102695113298196721042314034155751632616737173581805918521026071127211228761330431431331532141633181743481844381946152047052147892249372350332451112560321137292831235412665184362579729618400594100104290115778110202181132118428925321163412734808422194299104505175027713857492351205612807137681581922461022671123101223881328531429341137292831235414885174062561734448353493618103766113965124773134970145087155177165439151284239804123351299618397244883335934901036271136591247471347841452561557721658631763041868141973501108222233124367546365597139681492915881016291127441229951330911431871532281637581882178314644172219622153352448255576598766488109940101077111188121278131539137291331067411045122061375718188183391952102734113475123557133630143716153792163838173936147219432264101751316613637151081542922481031561141761482118531275416765273364044741128416894179104390114571196251336144907513446172171752822269268610272311312312320413326914401015479516484617535618537319590511312821316924181652038621747220982312926051026561126871228541962513358441194522266320273984841239423910432111513412574213579314653415656016665817714518720119731120736121768122799515128423950410405150361534722808244192612102762112852123134133944143985154075164496174588184644194831204979215020225770235826245869256465266767151284231149421025217362232722948274792841131245735304620568267117748883891553102050112140122218132280141218232324264530564097549889999891011411111921214141321501434751541871643601744411422201355346785846691371513819309205510234311247312248413330414340215342116381817461518464619480820489821569522600123601824617325629326636027648128657129668230676811402602371841172523636245872531826269318810327811350012444013454714464915476916508917518418543619022303360466557616833710298107691298102271112417146226034004567561461817719078304893138103246113293123771133861144422154459165729175761185908195970206090216151226692236830247602257643267734277824288143183621001310424112051260613507148282445924861025611126511227991312142333544255510613517140881513920441022101123751962953312064129751387614637247482979932051039111139511239981349491451161552721653681760411860821962942063452163852265142367022469742577652680722781152882622992533093433110116321205617082920310304122352294623617242483132932371037681145541246391357191130278238334904599461118711848172492464102471112561123392133522143533153623164124174210136528283918411315122761463718818235392428102484112623122700132810143034153090163200173250183570193889132212832184473556367047951898391039101091111411121478148123017702804386549125170361793719458201192136102245135276316647055752684271874818919203210308314252964317134180352044621877232382377926241044361145561246461356781457101557611658271758381871551974441797225053259542660527186278473782839379398410443511459012465817762852391341265515486292872969833109340610345611481212486813501214504315525516535017574018583019591920631521640522677614223533419459756436667777381417915071018281119181225711336351436761537511638411738871839241942741412174931839419045196262108721198219692213102251112738122755132865142915153235163549147215983169341783521036225672297823639315310321911343112354613440214445415451712902829318674197052060621507240182420925161027091127281237041337991438991544941648141748311850421953751352220375941797518786221672336826579297710303311308512340513355515702660375048455886699279998106491811101887111948121995132152142159152418162540172696182747192905203000213037224224234319244541254651265302275343285868295914305980316405326451336541346862356897366943377033387105147283438664956510326107371132813039231610242311249612259113315314324315346516350617354018369019463020473721479422558523629924675325684326696427708428740429749930775118602101531622416835232462361732338330193437103928113971124059134125144215154638165285175420185542195608205861216129226210236403246499256701266732276748286861296989307055317178327291337343347714179728753965410315112161197712388171491749102205113023123147133394143555155357165438176211186529166280738954134951490616357168281926920561022231125351573258131372414035156561573723708246893044103140113352123409133548143580153631164422174729184819194986205106215967226053166219532794596568661007710248117191296190216133854109351930619917202682116928291029251129961232201339281440241544851645811746281846631947532055902156802258321412116364741224512996138971484815259159510235611236312242913250214259715282816376817387518393219499420506921584222592316102167232252423335242262439726168266393460103558113711124272134362145769156254166329176370186747196871207118217868227879238820249083175021491320034206952151629427304083193937541038841139151240671341821443871544191645051745951849381950342058242159472260082360432461392562582663092763752876612981871412243393441044511106183371964822759234110339111350112365313371714378315385616398017411918461719467320482321592622625711727583900413445146461546717188183892350102506112547123183149121282313804153352094621767226683181935751036501144231247411422113317945175629616687175882790928961029931132991233401336611437171538011646131749151172758385542396524866256272603827699333510398811400512408213417519625133124341782528206286773369835059359510360711362412373413389214459415491516522914722013291443855616104371128813009142010215014725383720481051842618897197982069921291021951122851223311323681427181962513375448445108561278151236235024751518516208272192833029335310344311419312463513471514500815553417218032234312547865987132811562947310514114151604616457172081810919581121297831068413885197962034721308217792301102367113177123296134116144214154330164577175099179721318315514212352555632637330485113951581065041797212713154841703518606215272668827759286210326511356117972149931638426815272663532127211231974773594361094712298151891628101694111750121781131801142863112628673943419185206562106722618235192453192222533354112652162623047337883468945001057121158511259181359931467661568471126241831704417555250562625727428302019629663103241153511886127871324814149149510211111317312324413345214425615445816449317453418477819486820497016522178831904429355302563786750028509295381106071116208126999137097147148158100168891179758189994191009120101472110334221036623104172411479251156926123422712532147211831934283534167927882894291008101104111974122040132161142196152286162388148327753865499751048614697152581556918001018351119251219911320321421221522121622861730521830991931892032792135591131212093133041692518476284672897830279305910412311418112488313573514592815601916627217656018656819662520716221724722729023783424790425803526822827853416521553694417325247262513728348285192971103292113845123868133988144309155266172783105041609517286181872139823609241610256611288014721183650470158066872790489299936101026111243121257131264141564151861161975172733182774193095203151213261223339177628523913411285121861510715518202192635102676113130123167133300143406153565163822173891183898193988204349214439224567234644245093255134265434276084130023663110741142511836127371812818599194910298111301312305413312014382015409814814602593152221135634846510366169216221523193464757426882796011133213133226442443524946300473151835911662408349845605650677814725133603466556976775778281330118724923627493951795623657249319626323722414525199163029732558404094165104346174128443934419665201662125722158231192404102594113459174728343924410665111761423721058211292153102604113374124633174721477315264158251691617817187182032922311022721129501903210133212942669539966416174423851259604210615711670612682713756814842815850916921517926218933319936820981815829933524660111621513241432353446395758889249102614121742318234256353016632547339917082121031268413115231362671732428417294191104302114319125289197245835484632564967397150182711928131116225331044410895116661495720488236593140104022114777124940114421803491482058616103371074811499190110199111213112218213222714225915321514125483972410625119961324713318200713221703222428653516461750785659675101422111927177628173115941249514016149171806818969285610288811301912375113380314386715393216404217408818414619425620500321560311312174364746695750612037131881392915301015821116251223561323631427201722285732088421985226962447733001707283831097411455130261413716268170792239132277331122412585139711152210332844185595677071109132294239944105951477615367167581977920791772136327544135111961387714458145291809114422113298410045138661496717298181992620103640146231239604118251290615417164882513926031026581127541231611340781442641551361657441774841884011992742010145211079922110212311831241191225120911732124321043525398642276068726910361013671118601221011321911430761533961635121746831499251239794109551591189429513100141751518226233372388824849332710345111367312433319624763596415165184562805728408321193302103337113697110223373457459057326828713331418211203118541316513276176771839819279200310273411288612327718623563443411445255462665727558355994575153221102312634127051689618407193682007920971029581130601122292939514108351218619041723373107841254513866154172341166121404314294149051561616717197182621162210123106241264514166196319821883530462057726862712038135891448101508111837121878132020114024823598410635110461510716018181291873102169112371122603115122103675413775142261518724121472352344244585490650577288818918251032281140341242091345481144215531714471554666277849889299711011151112171217521151260237674157152273623187295417124773567471858496860710068110791147101237111567122283132571143184153274164092174204184952141293390349935169962440724518255692593102628112700114722883403467557656147271479814939160810174511259511221213723154441640517186186572166115123493991411265260362777127924503102741948177210793113241422519936269572861829569311611442632314424148351494615357254882598926301026681127001227451328911436771512623944170538264977662812339132510163714224033587473758436933719658274116222323428453951629616377217282878931781038281372251365247085798687879801772913241473758686972714458155191650101740112612123353134919145014155602165668175820151211731284340560867767148281782924321119121241313314143851564623847336183451942241042801143611352125131283414505150162357737648381593846104482167321439323564325853338633707400111128831194805597561062710998159092111179128893135441438516681642273131222413065197211002255343645265123361269713718141292532102754113890124052134549144645155336145625453986421455218862698732941902186329741032511286163515124253515412885138662077131272138864937510326122014721113312194129751342624041682793170411105127161493716248173592352113422583399450551286614547173614122913533466551003141217732294260548067857896893891285101374111862113021813252461056506782781989871121232338624190052102627037281483050110252244832573429915313963240739818412711727583848499051026611227215482190922071023161124971629213703140541495520346307273119832279336210350211366912372113445013721373928410685115861223717108174291832102141112282122333132539196263237224149751723617897193082102115121623364441554676613764488061259242435604691591761123148146025931522196328643615629668177528180219624863536477758551242233235074559563061020125323433565462156326843710241202274131779418265193461985724958275113126739941105148661478768108491158101286132277316744875655178328393165041792524496255111320214623216842941530221253265437754157951631618231612136310974120751266615627166415402983311084125251432615811522459312634143451545616861562417376441027510796176511402671384849945140061465717618203115126331044181524763087398869497951572883595470557716832713038145591557167212373145141719517706246915721273630467051314115523623413446556116950134124303501461251180162728683108041176512336262916026873777412315137312892476374611712249334545111770215403168742548112125433698484051878619257200383253114022543316462857186152271658190249635524623573568257129611402143731547416875179762029151326033104641087511826122571327151210333351512663984995510736112071228818801488255536064111651371146285638974104351515623127240282579927311028271129051232481472828313674240552452625607272314128683900410415114761913719448215015121073338493451108156287311574124351363614497177081807918521022581322122337044365492650376288917151295431138112027021126211763126641364110602118911311219033194442021521131540263938254109151181619547208318002871313224144751748151275737984130851315624111512682377249535105419025443686115822483422411915182417702888311044123411402236328843995550131290339994147651508619907206882226929991030911911210013122341973519846210873159117224983661483652222178328793167714814972951310414110751232613411512141368041718521606241619628863933414455153561547719598213592357111182121931512415595164761713718038194592035102342112442122449133481143557154009164795175045185457195633205899145028623928414205155061691717848230692382102448112871123033146212632284779118025923658414985161362153724538317693247103317113503124090134865144946170828483938414015172263429734488351593590104363114468190235234504487515576172271763818529217310221011225112395913404914410915417516423317431418508719610717062725315224182952243624907256583338934281036381137191662807316674175751998626417280282897931451049901150801259951361911471671866295639974108751626616737176382795929191030141130651231551339051443471545231652891130295031048423455316563196734658351793583103643113790123833133911144059190223033604665576168337102981569916101018721126011140260236644976514306153571635820449213410258711359912370913394115132976310664133851459625777260982699927751028161128751230461340591441661542171644391753591854661955222057092158402259182360132471891540271438244140951499617717233082367932391032621140531240841342901962176312434138351473615397186081917929791038961139541248261348981449441555751706210093118041205514646164071862141211139024152152033620847228283093931911033441139051239821340861446181546891647301748641736280231341423795252062976730268321693259103741113792123823134859169227823248342524525416338373449835599369910474511485512503013517314528215539216568917700118717119720520729521737122743723754924892511442185320042325702679871294813699141610153211156412180413185114192615267816276817290818295919300420303621405217082154831703421665262962670727418319793229103280113418123836133903143954154464164719113021963294483451354618947207782118921741023611123921226041326991428051535261636681736991839051712161370041738518006234672513832799414910431716162666371241231512816132771811818529228110236811283412287513338514398117062118031349415195166061712717838300393044103554114150112229133101141164517256249472741828319348410423411424512436913450214828393114641297517676218973029831999440210491811506512540817082848389949795104561153713268135791569101665112235122276132540142581152748162799173799183831194782204829214937225659113288356946105757687279198960910381010451115931146223334544515510756121671332820389215210243411248112257113266114306217902903330444345653522635417520785262953581055251155561264251365211465581566031676011145222834304969511776220972411826431412315340549445198261999721248223314814972951310414110751232613411412822313614239952446625547258682727927671029171137141240211341321450901562561130278238234135351443615037156981836925781033151134051244371344781445531550731651631757021861791966042066942168262275322375392482462583362684762785272890372992921962927310574114751237612977136381453914841019691120041220451321011422881523391624591725891837561708212163135841436515116159771681822059256617082154831703421665262962760735518385894026104097114156124862135130145232141224339304106051111622077231882864929041029941130601233811333921435331535761649221750171851271951342054542155262256542356712469882572771130217136414718580861129711768139191432101622111634121671131733141784152257162289172330182364192405202452212504222536233496243598113027823833490459946111871184819309193710225211256212265213271414302615313616371117388218501119506220512821515922518823536524642711372928312354205552153621897226083071931121033311133771240841341541445801545871649291756351857361958901962233365647725855611147182682249924831026251129081238981346891456661561841664621512842398041233512996183972448825599324510340011343712348213361316721693258495351049610707111381191913971163235634144535510186106471290825779280310289211310412419113469714511515581716684917715918819719853020864521877622897823912224917325969426102742710715281127629113863011502311155332116103311751341188135132873613422371346238135523914872401493341157354215796431586344159534516214167285831440416055172461765719128238592505103031113121123223133312143392153617164358174436184582174728783964410455113661722717738257792687103717114104124194134336144388156419166485176551186642196693206773216839226947237173247214257920267952278233288361167285839664112151288613787145981563925931026831128601229501330341431821532781633561742771862694377549225110961296713478137892414162211423193342240523506263273780842629435210483111492712634413635214651915698516775817785018789319840320954121963122106632311875241201425120632612573271326919272152931604423055325663407736308374094770105751115841125903135932146028156743166775177258187290197356207417218099228269239042249098251011811382603311854130551792623247236782892929431034131135031237891131222333944518558461683717248241592422102538112800122947133441115123633143542067525336267173377844489478810482011483112487213587614588315610116619717697018705116442694310144125751465616537168481904919361021521129221229921331691435431140229634274478564967447904897991150101451111557121678132739142904153119163156173495183532194072204162214482225183235261245342255756265822275937285984296025306103316110326658114022473288439254826823712508169391868102207114725323132343031531216318173247836019364210367411451112467613543214557815562516570317644917072112831189415205161061694723308271292863103882114020124568134719145629155672165713175904186954113821493346439856196104371131812219129710141311164812171913178114181015183916188017201918206619238520303511122083231431653826486749381783918731019631127811230601331501439231540041962127314242275293647375958685917171018231118581219481320131420711521381622281730891831911772294334544115115261882724218345993535103625114412124719134829144880154918165405175447185503195613205663215983226297162211423193342240523506263272733834399358010371811376012401913415014504315584716589017640018715613732434372647695917610077132881365923281024031125191225751328411428821530281630981736471836791938152039052141612251942353092453742554062655832759111791210983120541325514276149372324825111797289531048416095171361756718438195392045102062112201122291132538142838153003163529173664183742175028033159441901523816245472511833029340010388011401912410913435614512615613816620417637518699217822136232153424605354263876742948499696638107029117667127789137880147956158004168099178517189787191002820102492110999221104123113622411428251219926123342712440281251829134503014324311512132156583315748341585035159163616076371691638171031134227833561695278431140412151112283819491759686171571781821919310910331517972110431715417905262762814175028483108041121512096127571375815621151243835284156052807629177298883166939571040471142241244681345341446891551161656941750280338694955517466184471901822939232410241011248515121173761415525165061803723648281893431103521114335124623135420145727156703166826176887187338197531207819218375228450187217734924507581269237101381743921841034081135601236711340121440871171224233524419550967167826889399281010041111491216351317031570265931100411805180761903721608225092301103511113622123885133975144057154127165747175871186134196224207064217799228422238685248775258935269155279236289332299422309472311064432119753312065341231235124223612433371306838131583913440401361341136644213763431402244141891141223138114872512906199272802828929303610317411399412440813457914532115545216558417565118644219652320658921669922688223736824743617972121431271412905174362295111521331313634153051581624377384484028940421045591147001247751354771459361569021221227733084344537664427218982991932531038271138991240491346811452941152294331041411085159561866726488313693407103520114446124542135104145715156506166596176779187819199035209096211024622116272311742241183225123092612436271251118522273623414055152261794719108211192177102278113089123164111526953746416325168362234723248335693948104258167285831053411195137561502718411112278431166412075131761455716731512842314544156451817619077198382024924861025611126111230121331081431831532701633451750284839864180652038620797216682232924911025811134531237251337971439471544541190289231823419605302863093733521750284831328413695203962105723438340593505103692141211139024992511756221572266823469315910322511512214224033760416655182362704727948288293049103121113271123473123426523842498651136615267162082484151284231149412565137661478715448195892285102375112451122492132954143029153079163159174176184242194563204658214845111228381949175101461080711838151091547101995112197151284231149412565137661478715448208492532102583112884123044134334144400154475111125733106041101512626175971947820199218910227511294512314719221473243434553926449795281865923411026111126481228091329471512224346241501523206423216249735494107951746618367193882004922341023241129661230621337041438761545181646381748331849051959962064932169152269722378152483212584682697382710278281030929104023011034152259136414113051233113202137031436414775202162111728838293094131104587115152125282135337145638156289137624423783487811127523840410165110661244714718153491637101747111894121965132028142567153605163682173748183899193978167429013147541929525426263273446837349442910452511484112500613553214560915635916648317654918664319766417882115031859425165351464556746248557495681105836116056126163137971148037158192168393178474188549198647209124219465171213436734171151788618547194982028152241437254127452241153326013908416025232562812730398317715128423101141103512526131871332813989158410165411182412239413256614314615325616345117354718364419368720376721388222394823451924472425574512062256310934118351488632697339883497953181053991156011261891362301463301564201666031767331869031970032070932171832272492375702476212578272678892788902888972991033091653193663293983394693495353595783610174371098713221472315234160351795621227235182392924831024911125641233141334041436021550481659981761051866211967682069771962166327243405647677971305817269206717121613700417385302863148734698425794347104668114745124811136098146357120621043317454237552416635477529086247968291071091171601272131373041473701575001675801785091893191994502095162196062297382310080241011225106912610723271080128108322911083301111531112861130210003109041395519856202672172822199228210260011363212363913383514396615446216493817500418520919532820538521622822628923717524726525739726823927901328909511002210336245735610672071025812369127310138311246412267513277114286015292616323317388218433619494920503921585322614123623724668325747026824427832611342114431210413305155762258724278323593774103994114035124125134308144476154652164807175362185851196164111372187233245433225338863483735621140220631337420725383564018741088481894924104949115091125271135783145799156055166150176451187102181728873159841714518186183771903819119198810205411216412221413253414284914226333142441731518046204372583826149268710273411277112312211152181362247265175661846719788206492471102616112682123129117275838584928511086119971364814279149210158211165812170913295014310515318216324817329118388719419014528363114341309514296156771847819039212010217111321312329613336914360315379516392217445918452919512020517121564122628323641824673325794526808527875928882529891530956831965832997933100153410469351132236121133712420381255539133294013411170128043159541902519926217572269823329241710258511265112319613330614360715372316395017407918417419472120480521491422492223497024504725511326516527548528563611342328339446955943610847219882336926161026671129781230441331951434331537691642651742961854331956532056942157642263112364942465842566442673942778832881961112752310434134451396614667160582755928651029601130151231311331991435191922388345441251513666168271792821249238310249011313612342713349514496315587416596417603018709419725020734021740522749523819624830025905026966527975528103982911019301110931112343211531331233534126503512943361541437159713816081391625240163374116646421859643186434418975451905546191214719912482001049201635020724512085952221845322395542341611122838194917594861499715618158591651101958112472122538132589142655152835162985111228381949175948617057226382449929451030381130751236901337251438941541221650541759561860071964262066282171252271562381821512842327084325153375636717373783804945951050941151601253431359191459941573191675291785491512842398341073512906193372699827309299614221383437485552058621447224583056931311032031144891247471112283819491759686104271283813389188710193811244712259413264014322715333716337817399818415311542205335546515717675379128100291732101822112094122684132790142856152868162969173102183180193270203468213699223800234131244414254672264739274784285376191121001310674123851310614607153815726083698492551863620797218782318937201037801138901247321353501457911572031676211781211881621984032084692186002290912393072494152595522697352797862898522998723010172192231539274114351205618827239682462926521033561112283819491759486181871964820549220010234011239112248413329514343015346716358817367818379919393920399021407022488123502624506325554726579827583528630229646930654131667332695033702634715935725536732537773738788439792940898711122838194917513806211172201831829323310410511508612562713566414619415623116764317857518944819946920954221959322965423973224103482510799261155527120692812135291218630122523112661321291911122831704222510636115372073826409286010323911338812417613422714454815467216473817530018535119541720556721637915312836392841058511286163171737818809206210213911278312291613300614320415326116375717382318413019416120466121475122495323527424532525539126667727693519223153110641204512726157972119821899280910283511296012320213329214339415346016352717357218385411302727379349195991611417118281272918111018581119481229801330521431041534241635741156228633374475560566367113381243914351014671115331216331318031418541519241620861721371826471929021512117326741279518186285672928832309327310386911002488357613221143165422451214613497156081948926541029741130591703211943127141875526256289872984110422953336497652008621437232482747937451322761390249735103261157712478148891741115121318313594150151732618427196182041920881021241122141225031103821143313414143751714622247232082410924601024761124961697216333171341789518911144223433764427569161275712828173691752101895171721281313174142652290130824453531453855796103071800826401112221299314454150951617619087246418124933115741202110821753327479958496157171892820809217012222985310534108551130612207131281402921321021531140292131114413105135161883718908208592199102502112548122638132678142929170121251319134203352174623007270282886141210613115141287513196136871680821641420270531182413235207362114725848267993101173628263115341903519596208014202470366047765947612721134260436944180951899626057313683276943161047081147951248211137250231208412495129361777114222323330438056816815116121031315454179717412844395441020510576185872085821759297910332811312496374947905221562321723928248293343103429113121623169941743518536239772498826211412873254429853456397713708151615622423370440551277618197185481944920051524261331273424835256917062747312834136351373623711902100031329423745239462528726301647278031530415865225717521163493458956906751166217333504440579068357114081275915871018261119161219841320191421091522571512141389141851519716204272077822099221610235711255812257513289411402921314604249852545626537274383208932601033071134581235481345861373248335244726580268567107881210913251017561118941231331962197335245665670157726333698482459146102571337156229234364577513276138372223152216032384744584261213156295631988421535248563235737438390494184110822493292449455416992711478135592355102739112829123520133610113492225615912898172629971752299419226283853157215233591148212493131011112231336741517111622413331443215302150817912836392642171522931157221932754370156210132114493510891813218033250943250537606376774786151268237724122651368113612140231849420965219262270724028315293370178224933394440548166251309235432160196221933274488581919621128315404185619623473459412071962238360546525118812882430314684152451662622327227382384929991352457397941869521286251917012134231457416755180761938720698221592581112812132231363414575156261722138724733604463651143115022853980411185114962229727488382193971161321260313504164552235622557279282878930981138290831039412615131761328714378161811312252392349405135711382190353245735719610621370252537424832590111512275349749971935210253109641192512826150911212185328141491519036199372254167727733789416095235663160732721962212391341260513016170771859819611526280339404120951216613651143721511324394252952610626277274719621713872412145136961618718691412134131431417515255262667726998320793548196264631347414875156262479728978296515572677391841165529916328873339845551121266937594910595761035718751152221633064438553466127759810601148226732844342560411038216753191542052196214634664124751323615137288913672408347445355625672071680817821372547365747235760615617162281712918071027671128691770281131222420135210362280723708266692698102836113105123112133261150525123544458957356180115162681380241253513711926210573201842618528451472117731261414095144161613141225633914481578868357105081101912861512117312844675117361315718461131295131928426875325764015741628427394902112629463125341343514446218572331125214292744190239039861449283612772704124725871512824310464125314127631664321156270238444109116762743310141126289231774179128363926423325250015621963237448855866661171029923143341943519516312913492105531096415875161862366113325133520455151250613277149781589920551020961126061232021512682377241226514021166220936564903510616130872081821731572573364946925120261798153026403110041401515196173571865179728953181943174532786346873515848709491710544411553412571913580914612915617916643017647318655519682011512264334844295120015942690377248035183961935719728292311112266313874146251578616507181611392105631166420385260511382190326143935483657071150117022363397456151334615111522123321343455480653675478780910691100021121315724213452356624347247182620141224338144155651563617757195211302829397041140512306205314127273852415605160161646717928285814122433784481658476100915282105231627416785175662011141277838684207852398624397248483302141277831317423555238762418726401412210387841100511416118671622141211632464882597761498721538230592407141276356046565795141257737824907599762277730031412210312534137851866141232133564122751534615797174014121163152413625142861549716158172692312157227434354525566768387991810629136811025214433159141692524336252872854156287311574132251401617227175981804922101572877318544262852688634387354484310943411045471299239736194770595461030710848130691374101920196219733524566569611302832385314128713103241079520951472216333643881512623944118515211452463361017062951315081172231337315402595311191151225434804487555211052146322742685293141276338854926511371783289339344115411402346343841249112423933929113021883276170122021323214236253682141210493137241419524381134234534354847510546131717322119431318110221169320111912104231083416751450211523135742184151266398421057726126371339813809146810153411154212163213178214183315237116240317338418343119385220407421421422427323436324461025466014122633304480411452982310661662156324643365875690672366832629358310361511370512378113383214459315465916477917510018612615128423873410355187462070722078272293314147212231294219535964107948898091961102018112999123030134100144190154329164650111512127131361418075192762898729748318893220103275113371175021867319574212852179624017241282553926451034751135951237021337191438601539521643721712112320247415788687871910819709276110284011288312303013306614385715398316414417912131231545421175254962581727228277392995103132114488124499134640144702155403165815175905186937197644208135218194228284238351248858258969269403279654289665299806309898311040916922143331879196226733081130227031313414045162414121113174421753076485760112652100631102132263938584107151882157215733794411545265921572202334845681540256636184746157298332048561622733902494116227335154541162279238994185052448190223439364143615721723559414011622733113441301162273327548861622118319442721556267737901152221633064438553466127657816289265415882610113872142832738193213533574140817062166631756427375281514882612110021363226428653526758117128773143041961112902132731805149726581155222033101110321270317274209815722743290413775153661804725441735212213128941345515866238611402199328943845425652077741732111131232426825366315162681373748215927696871288815581971213103217942269528096292573133841231184222533314477586561571716278195711122212993144541509523186244572589827389295911552362342341501523221619263137734826511611340213723150942130522126232272563826679297111402250313514139751667161327973818493851009613091140281738334948510386130211902261310444200011402461384341823519386202872292111222119731387414585224163197152239435494768513496143971495816139235315272669378548675154762007119022613104442000114024613843418235193862028722921112221672326551218272238134833513606141272114822349309510343111422109331208412985141161443714548217792678126621271313614211552647152238835754111051185620137232111132164324644515558660871110825581142228838584130811902261310444200015223943549466256866844712198279811402461384341823519386202872292111222126831313422961522394354946515683671477598918911881165225534304120051270613607188011402113631898426265360911402362348241377516176179372686834699442511402285351241285520851893216763263211402461384341823519386202872292114021543185459151572172921194312504272754028641227486613622117231262413695141061500717188180892048141224333514474512541122226633744611132219933644537555768041512425351541376517121562192328245645674673971552816529201215221023422412085151414723393371439554936818114022473689480458946115815623763567465758971562135631594423031512682377241226514871902304349846225722614661329114025221730292311452239143128083931113026703798114825043138641525132214483153841677116422583460449751764619031103821920320721962207392442025521581472753310244133019321353398415711730292331013412545218617362821391141155512456149619321353398415711202293331141424741932135339841571124325443114511082917394842021193213533984157118132949310524138319321353398415711412282311044119451435616281932135339841571150214032564387112821423364410705116561464193213533984157111062196328648255186361913719698198092070102421193213533984157111390214803149642208193213533984157111126213705485359046188471935831729326210357311411212515013606814609915738516741717756919321353398415711300247131678417685201962144722558344619321353398415711782216333177542326525416265219321353398415711846287739784109851855619667200382057193213533984157113602730388842284524746265719321353398415711710280831249419815198962359116122293297439554461932135339841571112628073988411955169919321353398415711110821290193213533984157111362317398119321353398415711136222632764387545419321353398415711530264031220412985138862151722208276492819193213533984157111452937312574132751941620527222982266923201932135339841571112626743100519321353398415711352563207423953901932135339841571196220237061932135339841571154119321353398415711136231732219193213533984157111362247393341230193213533984157111452135631475193213533984157112142105131141418231932135339841571170268437954972510096106319321353398415711530264031200428005318863307193213533984157116232724394641656517516205017022127831491110027123144011486218421702213053233742541146825353598155125693116215162535315711182235833994501567711082525356646685108512562506167249619025443745153526253753117622663115811102570314771530264631279110522603351410811322352343945295699131226133874424562711172198314741842303338441155122023501592269538921212643142434813122673363414005143762389132217333054437110822493290439255331902354318041532953193621030157218511172852131226132984509158629871522510387212892514127328781132227315352625375315412631315231108251035514653510551902236334019362102631130131223832754545196217433064105651836184244035504113952190184228639984148951566621707318883241939451682192113021813309412071245228638374893510791540265136684158652435113722273730482059731217231334111639275438444973163921141312271706283838944989110829493109641746173227733131914922168331724418325265011082463358541062511096121771487111021613247487951355614457148681517921131140272031107411855133262708173227733193714922123031271413795174413623973586464552095626561522141813221403490173228143155542513149221031311214124951290613987161213623973556456557126168817322101431455421171492212843219342234523426282911082268315934211152377115022533475415261111231235314661162229233284924519441562437370719025133679131214631784519149725873789410211789213423183341988156529323104342221114728493228142496149721275328811114241734634613571967507149811472198370841918520821735278631296415511122217332444334576712942569310284119814829931704260536265031211226133514453559414829931704260511136203511672257335515412602151275737984906511071150225334754152617021353176426658056184371860819859209413521253664417025174062206722238233392383102703113017111279391742060521596217672228825489269811127523148242021530596314973614836669420610468311479312539413554414558515562816571817675018679719761020770621775322785023794024808225812926841227850828852529869530875631879732930733937934942235100183610320135212536644170251749618157248882766149215032404527558268697959810609107710122711233012266119821663473471757986961722318232693197103295113445123689133764143968154200147213731684720578861121712718180492068102178113479124190134241144751154947111275238494959510406145271915828189290810431011435112463813469514476115482316514917540714721373169480658966998710648113591886102425113463123494133980144130154220164451174541184673195192205729215796226807237019247109257900268138278228288304298848308905318985329051339210349282359325369921371073319027913153242642527086380973928849749500910505011525412552415626663893414675161761918719808205092205102768112855123309133922144012154826165114175809185905196655206666216790227841156220235604126952089621877339584007940971044131145531248341351111457291559861670681771751874431974782074832175502276452379292490462591362692732710077116622373357452756656707787381843920941032321142811259471360801464981565121667531768191880851981532095901167219831514416645176361800718908268192988103096113378123393133530143608153979171213239524105051101624717265483604936701037171138041238941340331440701541631649741753881858421959322060642161842263392364152470552572382679742781092884061148219932654303513356141171863819679203010212011256312275313340915123763104842162522286332973448844099448410456511476912503917972895396341264513316137671667820249214810239511247012271913302614382315413016486517533018539719549920559111482240329543915493654076188190592027103154113244123353133432144022155532165608175940186398196938206966217652228063238603248689258748268844279681281045429107723012103311219332122593313322341336935134243613520371355238140633915500117022113153641626518886195273028841189426010529811577312659313669114675915706016781017872018878619921720930721962822970023104062411347251239814121353225437254626149471531816219187210190411199412241713250714263915269016294917300018375019386020392621420619125593669471051251612887198382026924881025601125911226111326611437321546181791214893180241944526096270573151832829334810335911445012454311342476381741313514586161372067822129239810254011274212288713294414303915310216342017366718383819402420409021418022453523483624588125593226599827611428620811402482354748125972610627241882512929721031871136361243721345071448041540278138914163851981622287238082433927231031961133211234811335711437091545001649841752701855291958082062972163382268172369722470042584182694752795412896622999443010052311073932112813312072341217035123053612554371329038134253913722111228381949175142561491715958189892374102564112654123307133426143516153773164569174576185872195962206034217320227578171222132574711574361113712238154391633102543112609122666133607143623153689164120174210184531194603205309216250227301110422743340447659176137571465814879262310266411273012280213298214365815370916377517395518425717912196332113422035236962410724658295793008103500113532123614133749143851154083164394174484184651194871204928214994225180236466179721969320594222552765629117298283120940181043251144151245471345981451101559001673321773391874111974542080502188621170224032574478510436201672106822389228910280111297112304113359014379115431116449217524218577519584320615021660622662823669424712125789426797515128423921498751294617237178482206929971030871132641233741335131439251543881648151755881856931562683374948735107061113712608136591431101558111630121740131790142110152429171267137224788593869797106981608916551017451127771228181329041429941530631640991741311841421944602044972152022252342352452454152554522655172756072863572963943071153171473271583373133473743574153674933780333881503981934083404183964285834386344487004587524690724792221712671371241503515656168571785823259247110254211260412272913325514382915399716461317494018564819568820573221577522584523589324590025596626617427626428650029656730740031746632750933769534781035790836810037825238862311122838194917516196252372634834959406910423711485312518013564714588215643516694917701518775619780220876619221923282468357886157971677817839283110315211318412393713400314411915418516476117498411122838194917516196175971849824049249410265911289512305313311914320915391716405717442218486719522720529321608422618223633224712925754326771427832228839429843730903331984511122838194917516196212372450826819274310276711288712308613383614464615473616495717508818515819557220570321576922705523731319222973315244158651610617307232583106931761037631141721242381344081446461548031652171752811853841954502057572158292266412366842472801712671371241503519466209373895839619411610415711420212435213438914452415471416482417557718562819583417521413216499051309614057147681517915951018011170821855319134209452214623167238282537933101034151802154031705418285186561952720428210892429102496112598122880132925143021153712156268337494873511376117271233814179150710164911174512185513217514220715230316234817315811175213303173141968528886295473021830389343910347111352212353913394014398515493315128423921498751294613617145182273142224883160141653519596201072076821929228613124383585474758156908717408181791907101920111986122293132335142413152472162479172588182595193298203305214330224397234819244909255092265225275291285507295602306297316751327364337454348268358556369251379347381035739104234010588411160142117264311793441181045118764611908471195948119764912042501208751123321702135317642665805685279428197491991102116112225111275231556423475265462744727808323493324103584113651124190134231145671155722166542177505187601198207208406218496228562239089249155259245269763279833281032029112063011296311147932117823312650341311335131853613216371344338142033914214401426141145861732124354646125767684271689817799187510195611204612288313365614393817502848312564132251629617257213682202923331023991127171229211412660375048455852619247208082190923231031561132221238851342171472139320543155616675178728140291517101607112247122284132507142613152679162788173083183193193283203604213676223786233836244156254470141213331994309561067007736810779122210158411233012267313317114338915344816358117361118364219372820377321383522493823508824513525559726592427731528736229747830760331814632866033872634877735884336916137936514512791315824239352483627437287284340952511053411154071264711368831469491572561673231773681876501797212223145841597516876186471940820309223910232511236212243513252514287015288716296817338218416019427020450621454822461923466624545225554826566427597228616729631430635931660417972818390841029512316148472765828469359110438211460112473613477314527615536616555517658618740619750420775721782822812423838217126713712415035174161943726768346793774103864113900124354134444145688156621166791176828186967197117207131217139227196238172248702258774269093279189289998190290139324180151956620527259582626930771031731135641236901339291444691545001649061521282631038411285147361563716298237992477102623112654122905131268838124844593461244714378144491534101751111958122066132173142491153006163130173319184029194779204877215023225054235320159021381314714164851961627697280883094931751039481140291590299131692418235204562346724978279792928102989113211123321133382144064154130164332174564115127703867495751239619347203082786928071038691112283819491751425614917307783267933081038521148861254001354661455171555831663951764381870341372520313314144851514617517198782054920991024271312517361949015100961098712008128991334101519136217538814126351373614087205483026936311037211146361247021351581457611568191669901771651879311112773818484958856917792881069921121024641124751228041330931112773818484958856917792881049912501014121115791217551318801421171528101629311729971831081936941112773839410835145061485716288178791867101902111943122033132572143610153627163752173861111228381949175948630557314583291933491039351140211241091342191445261545691646431747331848721957412060682161462261972367002467682570302670812775912888342988483089383190503210470331192134126373512723361281137128693813010391305340141844114231421482243149184415113451526346154474716277481635449164871512807390049905107661170712718134191933102042112065122101132857180274031050410875118961245714328164291764101836111879122475132777110425753665473758606950712098200692121102822112960123181133233143446153596163683174215184305194365204431214782224844234857244970255098265215277065287073297491307994318062328085338117348253358512368560371038138104313910478401056941106194210709431077544108654511185461143847115684812075491214250122465112313521268412532284383841373521936250073787838689412110419211464312476813487711342205329544305502662577458816910351011011111941220261321221425681526991627651727761838671939601140220632574370549265607135181876920111020661121381224521325241438101540681312157322343435113461204718118190191996102072112951123041133316143367154020164602174688184739194805204825215125192221832844404511956179271882819779285310294311321812433713444714531215536316585017594618643719658420662921768711122838194917516196169372261829119355110361711375812391713404814468915522616533717607118611219644420647521653022656823664324668025672526682927691428737229741330765131768832775033792034797135851036921237101243810389391042640109534111155421149343115984411639451231046124544712495481273349135235013591511365752137355313857541392955140795614157157259839184100851086611277145982152926401034311145381246011351711452121554501659641760301867711972622072692174611112283121482358576142571588816989174910178011236012242813274914278615320616324317337018340719399720409421413122460223506224581725587926595927625428629129654130663131702732724533899234907735914336919437926038105463910804111228381949175948617917193883740938061039611140651241521342421450791551401652201755521856421957442060831702135317642665805685279428197491991102116112225111228381949175987615797162081651922871222276338874953510046154771588816199225515121173137492851525616157172281893920091021221125481707283839544113551146612927136282584926941032901133511236471337131438141539651649801759891860551962382063102163412263702365472468791707283839884104151331613427140481716917771020731121391222401324751425461526081626321727221833651939142042122146332247232348092449152549682651192751782856742958123065183167863268881962106731197418885199862064728178283492928102969113132123204133235143264153441164503128024263682474858886960714408170191743101968112356111275231043413445139661466716058275592865102960113015123057133282143929111228381949175952610477115781766922891023791131521232331552262039274140251492615947166081800920571028471136571237471337981443081549041129021380321984290853362639757406584879951671053441153701254601359141460381567881669121779631817212893162941719517856227972591830999332611122838194917510006134271408814699160010175011180312209313243814252815288016292117298718311819343020353821388022394623451724462225471226477427508628579229589730604331683432693233704234716735735536852118021453186427658156862795281984921051023061124311225401112752313244141451556618537198882434925891030061131041233051337591438691539261640041740941842261943462052072153091867210023107341228512756129271417815261750216603172642157522476256872640833469428710533815702136131446420895262962699727998338993669103757114100124172134742144919155710166439176853186919196991207022217051227228238290113021413158494959666101771574816859174310180811189812195813210014267715315416320517371518397013725983606464951193612637133581485925491130218136584139952135622307236682607931471038071138481239891350321453841555961656391761491867451112283819491751619616897187581965920211021701123881224291333491434151543281644411752311860411961312061822166922272881782220923224943287533776440975825859159682510689111782512789113862214881215938617082916315254153251574625127255983211933631034931135341236581337241445341546241646961747921854321955042063142167131702273631094412325159161662719888205492126102276112347122678132750143069153120163482174291117082185531913420945221462316723828247892549102590112668122874175028483946414865179361954720648224792372102403112654170821364318594200952066622197278983000931161040181141771243131343631444761546311646761747871858211963972064632165242266961708284839234143153181632717356783633936761039971146591248191348701456481772232323734244852489625597469984774948541061441162101262851363361464021564331664621766391869711452836310384106951706618167190682030923261023921128101237571338281444961550351660731761791865411965722068231202229236164657579761690717998189592657102728112841123178133440143546153908163939174145111228381949175948614437158181618917201018401127601228261329221431121538621640091740541850021244233433754793588361015710668148791560102037112263122465132532143793153834163868174180184455194532204622214842186290239684115951861618757191581987927991028421134381802145318642765815686279528198492019102140112181122264132281142391152441162761173075111275231542417725207362229723658243792480103076113378173021269323074244852810630097336583417937881150219132814820518586201472055827719281810342411349612364613474914508017125423595413865169361783719158280392842103128113209123982134063175028083127942135524706296673184836879381310420011464912617613624214631415737416743611172908312154126651346619357206582107923251033771139171244551344981450781558341659441760101862901178224635534846515876172671798818419243710324915622393325446951219612757275982855929611030291131851233151336251437501542361648911753451859581960482068622171502278452379412479492586992688232798741797211043183942304523716247372755834509354610362411399514121353225437254046115771223813199142510149311151212164913172114177315209316224311032169327245995730616167178881898922451033091134421662973133416551766292735889349115711122838194917596861058711368124491325101415112455122512133069143660155353165484175550186836197094192223033384873594561074712788229815882654369541675518596196272206830179329810339411351012381813401314416015420516445015121558316244272552844638107390085196952861053581158841259721141211843153641661517701112283121482351402615547183482393925051026151131291231951334571434881547521648421753151853521962152062472162982267692371652472722577282677502778162879122983963084183184843286683396383498333598643610478371060838106743911196401127241120224212264178221864319534221552613626207306283460937831044991146031247531349171452631553281661181771041871111972012072722173782274462375392483712584672689772790432891562991913010035132824183936496751447615437200982119921851022761123511224021324681435011537471638511739541840201941002044202147251882218330841197512876146871519825629317110420711471312480113487114573915618316629417638318643419736420749721759322810323816924828225831726840727865328892417502991310574115051251613477185781923922331023581128441238701339051441101192228238004137051460615337157083032943791045441146011246711351091451871555051656701760881870181971512072822184032284932390352493002599542610076271047428105312911702301331231133473214158127029763111141201517366183272136822519256310291311299412340113346714349815363816370417389518392719396820437621454922461523469124502125529218721773492413625148261723719318223292440102512112831123666134440144711112812132031567416445182262069729301752141321649905130961897719638197492021102088112879122977133081143169153235163336174257129727433913413255139161894727378352893626103779114340124430135832145873156160166256176362186430196586206716217365227819238432248522259336269624271031928104152910423301052731106463210712331074734110551662807315374166952177622737330583930944271046991148161253931354441455101556201656701759901863041963612064272165312265502366022469222570631112283121419158396880791989859103510284711428812432613439814568415594211042118431250413405178361945720178215492171102352112461170729683106141102519746199772520826719312410313111424812431413442914477915565616673317685318772519787620793521794222847323856324863725934326947427958728976829106111512860390149675115162641728408289794404104519114650124716134727144809155060165195175422185565195641206391217506114023473398460756586709772881539916991022701128071237591345731450511555311664441766751112283819491751024612757138781639917611019031121571222731323791443101546191646501748761849421949832052692155212255622358741112283819411265115762934730218311393579103620114130124726111228381949175133261373714398185292007102147112409122460132770142950153491164201174655185268195358206172216460226516236547247174257240267333278130288228298343308644318794328856338926349081359283369536371001738100983910405401169241117734211844431195444120044512324461263811122831214134546668347277182926930251031231132011235721100221068316394245952766634087347284120941651046371154451255811356711457991559881671661773161883871985532086432187092290302391762498122510094261020427109301100821074316454246552563632057361184312948431050451150981251381352821456951557851658741759931860831964892066402167592268492370262480881296274931110415515210062389732508334593435103700114300124793135001145434155911166001176643162321364313854150651523616337168382003923171741214713194842009521476221872337824789249510262011393717412147131603421115222462265728758296593695104024114114125001135355145678155713166323176413186708154028143113741817520096207072393830659308210336011402208335044465599676571015814559198710206211283512320618262113331382421555225362331727021702284039364111351149615657158682272142528823972429135300463145732418333093466104529114600125071136031113821803284434951309621627234982390924771025431126331229531330041434951535271636171744781847101144218032514471547867287769884099301010321114031838216373188642018523891512842318084205553100631757450084710949421274247034774693570067567906820099234013221823272410025101961179720221112752385549455197762744731728326293381103444113534123846133898144485153226223712485459056165571717827499353110354611419214125723662475258946945712458141591517102253112363123323114028623165341743519206211072181824611772294333545855816613887235682397925821026141129431229991330511433711536731912797315384154951606616967210682196922561025851126361230241330561431461545521912797315384191551966620877239982431924711025611130371233791171253135944704572367437834811949127110138111168112233111302141388241294514036149371694820259216210233311237412335011302141388241843519336296573017839811208265831364414755152662036722911130222233934517558366817733816939179511512363348549655985617767208382229929351036761141861241931347231130278238334949510156111171231812389153710170711193012232213241214318515326611302141347045625569669071197819339202310203411212412298513308711302782383349345104162248724188289992952103122150225733044639141249236594881510321572107334241552517381772217394741967183221196183269015122733284442555176134771467815749159110173211227411112590314431172533512471713725163566468557901532404354611612103131545420961500257631326414331512122382348945101217022154231657421205225162532726601215232531211152218632474336543865277122881436918621020621372111311702286338644765698674979061581297215422742151210633117341941519926250272893127723283187515128237824869510396121911017211273133941704115123643502455451471132214034901131225233234454554466117113711382259351245645635616661213211303124042112526551138214932464298536961439114023933444454151352614487150081541917941030531770215743238343220534436347973557837631512711383541082515366173712342495388914121313241476514121313554464951369151214132364307515731412131323343945143261473715298171691767101857111928122452113521913943410701412116364741175517536180471882821371562466358647475893693471038811499176419762131532065428005291062988731288316993273103324113511110402113631868425765312963951740418455994590104796187216232134257575714125773782490759976227773003141221031253413785186613732471369347305120061321717668246792532102549113555167211837484913510036121071992823069232310314914922699388749775119715729238834119051443617847185582032929831031911132471234261472583904101051271114514121861472273331444591112221672317534216211222672381541873148212332664486510666155218662102131153412245183661888720038269392870102966113336123452133534144214154836111527253800489051008120242635224659516436230112472543379042216535226374015221233114241224514136150371753118922793160442096528476293917822151231602419295266462688148421516315894209452123621471846214223163518572999310944186051887112722373458455251122613447157582341929471766222923232343413535636425911222212362941057511746140071452817709220816121461315224169351779191218135664158219021483264120122711572573364946925130361393714768215314821383555498351361615877159882098921681025751130131762281332244081112457392841875141211023123241318155218533501131122432154026323763154026303815417915197962951731531562127315842645332613831372855396541085512961180221533024364546213721573189427951429131297312948361111231233554110314727838261562222351847881472583196476759386979715311372175325144225463618391497258737894102114225783739416115179011382214773162015402800389541392112122713361437454996578162214173207715822783329447951301162236534754867162220034011150225334754152619121923967411441421252135564711190215638664121116732810310614110751197612537132481674924341025451126601373266637501962367345412622575156253236744800148225493725137213832364335140324233737477351277613677214082906929751512211341621210623148919621863121841342518826196015121083104811332509148025703777412291119228615122443974410861702280731338414251708281331654418211322283179128363946415125162317972887310104111851304116124921797210573111541210179728423932417055195262528151282431071422815241817972842312064225113221423205421252536743789081066922761024521170215833180042550526976274272904179728423141041540518671797284231600418071797284239524151852573167215736114967115129423124941401515851120226133874789592611302180343145665617612617131981489151210339294101051216111123123516411885246862520729111110216132474105851193612407134881618110252244832573429915313963240739818412715629253101541555518876200372044821869313819762131532065428005355063637743788445694602152239434594500565167027165381819919091020411120921225581333311434121131214232884349543961399715011512135320147195871112902138031470422885317063211732458339593446103480113546124248134262144293155109165145175655186251113123333394487451030611017136411502216331143435825167215836834239352468625787278782877936741054481160061263101370061476911540260131126413361540260131152412275209462169726321610223583262042676527476402913002442361241058112422043322444155316985711048119491452141213131624821588661194111029003111817126783788415185158461716722248233711092480362548825991614227168717225853675417075216115402694379041669524751722175326541297513701547264337364824113121953397449357196120571295813659139110146711151812155013241212732534375811442175315254202152058634087341983456935941036311151471253391356561110294831679417165212763189732218408318121156324644318653438635887361283687937771038371139031242461137220134034434517346184472876829669335810357417121223146742314524116244872499825319281610311812022148331523416105173662370727928292993191103765113802124213135275145307155911113021553196425258236115371243813279154510159711181812217013224612927036054777578468707144081695917091622573358048335874625757268182718927591622133327944855595666179801582105931110411905172661868719588206892134102857162213333674457559961441716778176791851101994112300110221059311204256052611626917327383339933531582239338145315101161280715998191315821293353444956646894710648164491726101743111778122087132382158289335348545106961161712518228392324102530112577122824133329158214933654462552261272713438166391772158210593111041190513206138671476825089259410272911293715821293350440054926499766987759984101095111786122449132486142792158214934064503576069307106181208918231023281482305346345915611157293370248125116761464715158262016552750384641926520466296673173832989407210423715721963261437258536963710298104316221333274435054166511754386859800108371130222233034515555261073710808109411302191322243135403614047144181946113021913271455456446710772388099817109071197212145513221066311564122251925620217219182257925641026951127301229811330791437741538701638781418211203132841369515156186171951829029324410338111346011302181339647095750612867132781440914751016871117331141211843129542410525206353773551132212231533416235191962055721758226592327102356112452123167133462118022313335413755206762314723398238292471102586112636122956133035111228317611402241327344441225223234734568573917218313347695115162192152230234324569512101512417351845335838686471017811581512101319144785549660519272102831250420885213462977120228733215242183522196225172262840489411512992409345046525912611217120519662182531872420685219462365151214632494317112728283192342703527851562739317714184452321623887292183007152239434954792511036127371334816769171710212311242012502656398342420537226377111902114631197419375199462107722298254211422521352845995684691115127613208642256525676426874309845169461915122733423449451040611057119582235923361025671136081237191338091446001547301648021751161852171955102056502157012257812362902467732569432673412773822880522981423085243186643287153388613490113510061361092437119923812082391311440145824114672421558243156484416511451710846171984717300481736649177645017805511847552185705318734541889155193055619369572048358205495921650602176961218166222367632264864227386523548662396667240906824156692416770249787125995722620073279547428020752807176281377729423782968111122838031140211711228253015392833124725361372577321571258263117822113231222416101830215963165241992111025023171241992196021056321864221515092544361647111118243414552490395015402669372047421512107317846715806137125421562356366616102720310241540210703118041484154021690154026723940154027473143612112262396841000512686198415127573789492551458119625561472273331446741312543358041880150261211162651312211472201330345855617672377708924914431014751120101228301331371437971545881650021754561854881962792063772164802265172371302479212583352687892790182892002999913010081311026432113043311698341244035126463612712371342038139913914761401560141156674215757431607844161134516203461652447165714816721491678450170065117038521704953170965417111551714356180735718635151242811072808310151137283931180157211033631961215231120243135814632511866119372404150224032834765510351322134327519025443111111202494141221133014661113822083278436856191762146331545261772153331643431451772849390741002141828713107211212766312224176411212196331641672528421116236431199168027703114113222563306455756926743711698134891943151283311448615169815121073143211702481314061472103331065411165143761503715148155092097102139113495131223232904477137223834614574181227433554518515341422407351745685694680213222563449477258591101216332194406178221084314071746211171119255039271146233931105411665151715128232951412263310294186016322563102241065512096201613222253335453058371422183312091312659366648275136061367151221233304692178221139316924204815402591375248201512833549468911362221991202786318421412249314051262792310601135021401315914159951985151275332185429271146223635371956210123142419172110931303141226331029412611111230533424472110628283128015402124731288413295179814729732241540258736374764181227433254955510291712101324543355435654515402611381641626517821183227833854133651934110128513115841268513196135771844135244635564749581769077114781217912971016181125851522833310264111651260616057210282341925221028251522127326043025824687271179152257839994118052249625961512486310544114451225612967135381661113126433651472857946114971843115221135318884194552016625217324111912342345244675648611157139319223213365443154626726787688979934101461152278338734112651183613227188212322298379841548516356181772872833451622105340444625887153026263736499951030612967139281793918301022931762231311984236452565637361106226133294419513046134071811823291517260731492418085252312322328341044815538664111312227373749301111226633574108751789624457296083033938301708213193185942470526416273872971115626693843424435321263263735318362194506104718114965125469135690151275738284918593961016712168178315221603298442858106130813732471369347305120961344718868189392200192721028312504147751615196219733454380546165327588151210331794319512916155371610822511108293431299416055231362674727618337893825151276132086422565256764268743098451694619147281438464897512186128471335814019147210162311170216442734310554114551798628667294183016937901038721768211191753299419892154018932127416922161319712978319291922628383517822912314211708285031533170827753136517082102931930141297353118623171472273331443705601146281231694171217633041540211073199917702100031376146281231694171291131001410525115712392329383049501412345353114352675310671462812316941712224312564175813024851160225635334187552163622147289614628123169411972238327947895796619741197223831168418785290963281131210013103842108521986226615727073140941850176255039201462812316941706276237934101813728033878423941462812316941706276239934121751351113122023292432654961462812316941512682377241733518751118219939701572573364946925120261798152282238924114114628123169415729803115141262516011462812316941708284839234122151252616081462812316941932615369648581110267711202204312551741278638814208715123171540259138571712224312564130717324861847286611602316378011602261335511602447385911192365349848081160242534411145223531067411185162618832890390141361146026531512107333844095961156279638864121352150622421894210363158741600167627433129441558151214936204956111302117415932689380213129033999412065124361747132213131299121220919621743205447455461735212003192415623763541496518932105331184412165199015127113840112322541105271018821991312267336341400514376216112121113333442354951202274131779418265193462263722948245092545103158156221234574600577168027135881390914801022311122661225951327321428321750283739764114651457631587319983406934501522111431888422015225763417736988373994283104303114455124787134798145298155768166372156621867179821158150925801675283817582100015627393105918782119911382904399913002127612022255359546855101017032774317864264111382588312904151552381117221873402442617822827311311352457397941095170127623969410135124861273170827493115541211522301210224532954336538768241462873309416991287233435971802297815402747389715882733121122633525466711386214523155342390524741512141389141198513186223814922797315284156951711617701350247636291131621392322024301711038211143186441883180429003957412801732341151226023860178221196312824154515621386315794162051760161527073827410471122221231231170727623858113122233238432614821383819410005120761278714998161991671113122203235432311772297346445265833113025813671415981412263376519225433153341623525401116217234444514510636109571480814879230211322584151270322214722913426447317293731622425831422132316531531256631070147217732094256148213831724322117293715312656311011512108314331170248131406190226835731401266012723721261266815302723376441070190210134214115619022343969413581540267339481540298731375154021242315534210915121223103241073513191127021463315044162915221973279437215402109132123425241584268036911129210381480211671129211621117212715122602386017822119631923156234636274717513331522761512258518023313466412325158362658120278631171183421841126279239084211517112141616721123448476717022113331759170828383151317082775314451708213103181917082105931967170829503161317082935313511708281031310113276531695170829173186717082850315791708280031530170827973131515402730377142180111123123105512412402110728093106911372839314291562222351847881710282139454165552256623761120266037611472208335911402346356046931472583168412115212314725831964566581911412130415126239441014512751120243135814632512521472814384648975121861284714868171817022844315841708278832339170829503163317082104732219154027303771413155252211122832214262514826170672007174121491316584186219021013402444357546996151283312614135815722273130612622745120622473883151248636064776157237234924553119222483343147292321841293147227333144370546515402581380748485904699915628735774767598761308715868235292417146237517912149331952420625220462816170828103817493151857132299231059411555182918621106156221233544586581815121023525484059606108314722733314443714232809146281231694179121579316374173214727793786481858686138271933170221542316574212052251625327266015128333344444562766687746889415121473267451451280614251540263637934885154026813138742128526386264573823151210235254960510806125014722733314448014232809132427531512486360647761110237331589175028403905419605216112262316363441720110462116631262420125272363441162215237121131264336514108015128423109341171512616205272150830441708295531002425161708289839394102051210613751708296031098411495120162118147234535004154911672958310564114651478623721110237331589135254338754916599461240170228443169511157213953190917082174032184153725783674421101115721395319091112283221429253256366758886219887112222123629410575117412262307337946601198223932804787148213835554983512006231012262316310251146248715621273217425857651562100631057411375136114229333004371537866811111231238251107215433201377210793164017022814393441045112121963227438917082101831173415555158661719132282331130419181722213325643981627214023148313228233921410745163561710719148312493310114821249314911932250131626771530263231278128221383315301701274638624104215121613202444856776992147224433794411546265757643876898611741277638664140552443625157262582675929951033141512842313794160652180627207279083215933701041431142411243221350951454441512842394041093516546172972183827969288610370011398812473813486214512515123623584493215626739341931172133431385170621307313951181225234761352457397941073140629621322823311304122052352172216234244491132243339444511902134311681148249514722733314465511242758151210132914362547861467112702146331543422731730282038714105618132903396541118517681562166344447791562498310001121215632464357539467351148212493155311038221393233415622223422147258313319621963231141276115525473668488917021713393453517412147131627174721051311501747215513190211882169931724144025513107113227333844450550666567895894291642134626861100021051316514261219902108032000147729191741288131163414261540257131027411235116061198110422233313475019262102731234414441322119431249413451843216533177215127573877410865116411782437355913524573979423261202786317621146229415302782384615702660379048561100217532954327541761497131219132284129851388614671202786395211762119219021483264131260136974174319622263445196255639571362963139726981226212791112213283136941433515436267314721893299410491472114322447661472107931189416661100021092315434250314902645399613221223568487418672933317374199115121433202154025913752486813201772647148721130110728093107913521253875410755181562026171267137814961511836126012412134231488144125113125141827519176198515562134731360422815232514122112231565179121807318974196518082904310801172232735494624513971512273367111222315310174105851497617047205082221924471026591129701482750379141230516146172972041822679247910258615128331144830513211372130231412415325174315132164531697417681472257435854629151275331177422095223462259120224233694540571112927953895416615299163184732518328694247114621573657412015166018462877316594243752450137265331265412781112428364948341284232535474156352618172528153902165121114131223239404100714572495312034127014729431341134291531108411985122418121323212452656416654114626023674471118121323202441754301712224325944491148299418122291111266038681472273331445221100240717212832184274598462091146121162315091721883889415361540261137014149251590621007242582935932611672169334517972110431569416145171662133115524063551143721258137721079315161293299531035110728093212611482195325411038210853110911962243331611622457397611042223331343471110271338034874111222167232696170121324317321211228635824648580468707105318132127531443415985184562644727971372728390711072809321291293299531438147277731728423261512251399111222212330248191200236114652805148213837704229717282889146528651472111731242413185202062634151221232911572138310044108811491217433308313121683200464217412146331915113726791741211673124341690147290321943095474689413221446314604166751809118221202185511072809388214121413363441055501872216823173241822519001182230135234201317121083569466613928713970139215131292112226133724414291482180329149461482215343741029171262936794993193321073313061741216923281714072457313971131224136024873151216135224793178222462326851472269315521497210071221240117122779391111342915311084119851317618731540280439754120613228233921410745163561790719948320493390112128733949410461101216732384398130224053627413685209817302923310134121313022530382217412881310841140233333744444559415121023295413541512257317781512923314462816122135331428177277939091612266337344844589417224837971612266331385418371712221327443405560151214132114676596761156115628843150911942264118422901512823566464051349152219632864361569614722733314438957241752410312204131051421619261487262438754971517246197172061821119235211312146356447135102717021503941412485133861374718288248592735103153114009124107129623863452489851077613361962518367314728273161842032524866251872608826849272510318411328214722953327445055166133671371814669161510178811194512237413243814319415325816344415128423114941239512756172972386824769272710282511352012361613368314372815422816447615128423940410935165461721717668257692824162218634334887510116162471714825289281610351111360712361513462514469115485616586917599418674419686420777421798117022117632208422891121022242328801137233033714407176621678324881532275330043361766210703121242315525626274911702320399141896527076292219622463917418225232362538152321334176828811176221863183128383105912052212332615122443481459116221723922412711622102394341291111222623964417365177761867722061134217532654596151229833454111151953140714124481472273331447211562142328449165199514822549372541232112222123124241361191218135664158214821383121841337112621531472273331443341251231519721249141821065314391512197379315402591373741333151287368348235102416862778154021232313624156315402111131877419975219813971512244336441224132282339214107451635621457228682796931211462126318342651741285439264101518021313207484715128933983410761472273331444071251231735031441295031060411911572212335719022043297171267137814961511836128771438171218432634353516231297245236724718169529143100441107122824883585115227621167241031152413691203240531111415541741290639964107551217613077199316122135332085421821830215713165542146137285539654108551296112624061791283639564152251644179128363111312322430152221339701200245237171512432344341077113021413158454613121083149468113725283661470257791372893166420757231372528366147025779190221432604324170227163105641122516471617275931459415495161361679717711150220434264217852234623057271518022817383048675127514121102312274130351350614321200245231553415901653273737871902113315342435347113021413207422016622311702114319042401762156319142985311113029073111141352190259036314136119625963175742459525671962596316594174951954196259636694137151443113029073111141253190223213621781902590375441496174128833973412735141519021793327”

6.2.1.4 Abjad values per Letter and word indexes from Basmala verse

This is the fifth known coding pattern on Basmala verse as mentioned in Chapter 6.2.1. In this coding pattern, the Abjad (geometrical) values of each letter of the Basmala verse is concatenated with the word indexes as follows:

x<- unQuran # 6348 verses
tmpl <- str_split(x$text," ")
tmp <- c()
for(i in 1:length(tmpl)){
  tmpi <- unlist(tmpl[i])
  tmp <- c(tmp,paste0(paste0(1:length(tmpi), 
                             AbjadSeqofwordsperVerse(tmpi,rev_=FALSE)), 
                      collapse = "" ) )
}

print("The coded number of Basmala verse: ")
## [1] "The coded number of Basmala verse: "
# First verse is Basmala and should be: "1260402130305313020084050413020081040"
print(tmp[1]) 
## [1] "1260402130305313020084050413020081040"
print("Test for mod 19 to see if zero: ")
## [1] "Test for mod 19 to see if zero: "
as.bigz(tmp[1]) %% 19 
## Big Integer ('bigz') :
## [1] 0

In the coded number of Basmala, note that the first 1 is the index of the first word and the following numbers 2, 60, 40 are the Abjad values oef each of the three letters of the first word of Basmala, which is Bsm. You can follow the rest yourself from this example.

We observed that this coding pattern is multiple of 19. This was discovered by Arık but neither he nor anyone else considered it as a key coding pattern. As you have seen in Chapter 4, my book has a unique approach such that, I hypothesize this kind of easily testable codings in a few special verses, like Basmala, as potential key coding patterns and expect to also observe them in the full text of Quran if they are evidence codes. I call such evidences as the key coding pattern based evidences as presented in Chapter 4. I did the same hypothesis for this particular coding pattern on Basmala too and witnessed that the same coding pattern also exist in the full text of Quran considering all the 6348 verses and so discovered the evidence code of this chapter, Evidence 6.2.1.4. Here is the proof of this code being multiple of 19 in the full text of Quran:

print("Coded initial verses of Quran: ")
## [1] "Coded initial verses of Quran: "
print(head(tmp) ) 
## [1] "1260402130305313020084050413020081040"
## [2] "1130840423030532002413070130401050"   
## [3] "113020084050213020081040"             
## [4] "14013020210640313041050"              
## [5] "111012025070243611012045060400701050" 
## [6] "115450121309020019313040604001001040"
print("Coded last verses of Quran: ")
## [1] "Coded last verses of Quran: "
print(tail(tmp)) 
## [1] "11003021706700322002413050160"           
## [2] "1403020213050160"                        
## [3] "11305213050160"                          
## [4] "14050230020031306606160413060050160"     
## [5] "1130700102106606603801049046200513050160"
## [6] "14050213035053613050160"
tmp <- paste0(tmp, collapse = "")
print("The number of digits of the coded number of 6236 verses:")
## [1] "The number of digits of the coded number of 6236 verses:"
print(nchar(tmp))
## [1] 691398
print("Test for mod 19 to see if zero: ")
## [1] "Test for mod 19 to see if zero: "
as.bigz(tmp) %% 19 
## Big Integer ('bigz') :
## [1] 0

Here is the 691398 digits length big number:

“126040213030531302008405041302008104011308404230305320024130701304010501130200840502130200810401401302021064031304105011101202507024361101204506040070105011545012130902001931304060400100104019020019213070010503150704040047030105405100010200613040100080062770301054086301913080013010501260402130305313020084050413020081040113040170030202130204001233014200102580105654107303040400100105011307001050210640506503213010001024610100104065051309030156640401720071005015408105080100650161307001050210640506503240141507305130102066401715073084050910023020106213016002005115401210610050650116301020270301035410440505200254066163010207540813040803086501150213070010503208020061460611057030105406115070020040054071408304094005070020054010301111064050650160040040213030537030104100306254056703010660407054076703010812901200540910003001651063054011707001212709001040164050213050160340504101006305140501621303057621301064081301600200964011054011240640501050110600147065021303053613070010504140506156401610600470650713018150806054096401101030070200650180102100306254034020080048071454051303056402008001763054087070012913010401024011120150611210207002650161700121001030330540430154008060461680107130120080081001306191504011050850114090308650113012150540354041304080604650563020506301710300702006501617001210010303305404140506152040161405071305016081001306191506405010204011114050121306080511013130114150540155401613060805110176302050183011910703040650161700123010061313070010504140506151001306161405017617001860030619130101030010191050540111001306112150113407020401415040115508501640604005710650113030521060400571032540461040454058010691000101505407107040565011630102021307001050313004002006141308003013055213054106804017200284008400312004005409640110201506111405400410501405003054022040500303130700104160400610045501200168030401718001104008401986305107005211130305122506200540136400200205401480101590030401400163011710290200650190402220403704010480540530161020037065011622090102340504130604011058010569003040140076200704862200100910370306501019012705401180101217001505401340501413090617010015870020016130406400176130305184081091921302018020010501102014213022001003106009804129012005405203040161800110730540840300619801051061700111190030401270301054013100140611463061530011016130305173070052182604070540196129012005402015021130305227030102320302430010102510041020011012110513130501604170246152002204061307001076003010020408613070010509405010100230204011307030204012400400100650113070010237030330204041301200800580200130016613060401107250110861507309405010130604011011401101280160020031325144050151305004020014001620071001173020401880301194003703061203030521150414122615040040234007030406501615022050400403801042001025404016507305017703010870245019801400611026062005114050124050030513614706114300541102040154050164650171303051815019205040040209014100105018015023040340080703061463050540080703061680140010061713050120081304001096100645110130501601161308312005121704400133030201802001050162300200213070010503140506146704030615130901308140061507305408350140094003200101040501140084005112130150512001320304011420071006115405051164050175004020051820071001191001306120570012113070010222007100501234050241002302561400612625274040030012512863054029801051301761331409520053265403380105134600130465011502130305330141060400810105150610800200274050030184019270680051080401118061005112801401131307001050141405061158010703040650161505171308100184050192002540206140121130700105022208020061238010100630650244017001251200142613030527257001284050030129108003030253120500102001326105410332534205001020013564013610800303725381301391308016010010501130700105021050100800650370544130305540506270474010500110058610100970650940110140200111303051225131501410690301561080604650168010171301200800181630102019540201306001602006501201080240020802006503213030546205040040514061400168018101204075004081040104002040950040101081010204011500401213010513400200370650156213070010360030100430204054016801071301200800834010701950040101604006101113010121306040110138060615501460270156040161400166561722030183001010197030104016170021001303200220430304030110205515010631703078010813012008009600301080510100130611114003703012801051134050141080604158010511661060802017130440110186508501950602820284042021650100460223020231001302415010251703040264012730128400703040650167030402144031301604011042030515500406702008005407703010813040301102059801001301015021065010112160401101256301101315014205040040159014100105011001306126028150203301470304053050161301740187030404005019150201015040011130703010401213082010401100130210131440415021054052160401105406803040171502154082160401105409100130101304011110030123020401315010141703040151000102161306040161400176130120080018617030401940120400246502164012220504004023400204004065016170021003050133030403011020541603461530144068060346171301812301060912101061604002022001162015012405013130201802001050161003050121013144041602050515040066763207130350586203019405051102001000411181050012300104004011363011440010020021155700516130300320051780400206501184050191309001304010501801730540121303001091503705051480160020035401540401620150178010586100305019152961102708002040113027080012704613630204014801015130120080016406040010020017640400170181301019810501804003010010214403405042002552030401400680400127703010581505956101304006121113020081040110030501215296134050514340107015801401610140010502040740501085410980405010400270115411012803011360068014703010540156301165401710875065016130700105022080200613620700261421101400501516301020619081271305012008540980105110600130465011012250103160200110103041700202006155070404001061304001071507040400870301020409616806110270541011168012270542040136110110148012005265016140506122401315073040044090410015304016407020407630184002065061916301020180200112512630113400300400200611421101400101550040501161003010301176110110188014001006501630124003026061313081004213021930564002040040616130810076150400408400703040650161100104061213090301536140061413072015561200207061640707130200120701050114001402006502130501603213022004640050606505150806020406615040040740040030650813020400129180301104007010030650161604007010506122130902200361309030154615051530202102005613017703010813060013007010501130700105021090050650315054044030110065200254066150540713010582001370650110122501031602001101030417002020061550704040010613040010715070404008703010204096150101080800304002040117030101213070130401050161400100612106401330144003710550806067050750806083001010196301101010023011405051123008017051363011410660070015405051167043017630118540191050902006501617002503105012040340504130580200706506106064065020407606108130707001291070028650101250110204011610604008106501250601102040136801014700302040152301101640501720022040187090010401617002802001005013220404130282005801503105012040661100020010050171308802007065096150400401040050900200650161700261704501340660104120027010505301030565004071400600700400408130703309405010270451161504004012900130406501500402708065013705020404405052704670030207307030204084003002020065016170021400105013406601041302040012561308020010015063070302040740054004650161700210013034066010430100640551016100640715020408900304040040915080602040102140060017002040111307033012804006261131301014212001020401580110040030611615080602040177003020401860010200193020402070504212120010204022804001223703010204024150525562613040061227130200810401617002100304004031014406601053050650640507302088400109502001010130305113520051280160070040020401313090170100514615040040154005090020065015004022705005012040340504270454064002040630703020407400300202006501690030305012703010204031301000401404615073050157030102040613040507613060306108203061940501091021400114011220071005012040136401149003040650115630205016201506117150806054018109003040650161700210030501314600306145700551301002001056802030617405051881050093001040040102001000411161460030611213021213603411461006306115895165010008020017302040186009110120401966050710420130408605010501802430213070010503900304061410063015100010200613070010710010308305409801507305011070301011130700105012900304061132003711440501513060401101624011720150611810806010065016170021604006010010340660104301006405580100305016180020027270901208130832009801508032004001040505111500504001127030020051370105011410041570304016203017150160184030020025401920306120613002002612140502220071002313030524630125400705006126801027130120080028408060410501617002100304004031014406601053050650902200770301089701409618410801470113050112200220131060020031430501154040116400502400171301200800184050192100305120610050011051216806405122670460512362903051241001302514006040024306502613070010275628145010292130700103056316001020032152961334090200134801503530204036401376013040040386800200240039703010540401307003054161304060205054262110614321000800244405045130305467003020472150540482015061491020802006505021101400511303055261010040030650531305021010505421000102005513081005670030205724015870906159620150616010704004650115021307001050314050614613070010505514616613050901200107613090121010508405091405010213030511613010640121301600200136704030149013081158030540161320054017705041820025401963012060068021703010540226301235402410875065016170021600700501340105001100204046200807050158061002040613096200760070061840191400105012040102100651161700202006112401138010514307030204015400400100650150040240063010400403405042704570030206803063017808003081303059703010204010620084040051130205040040124050131306001602001050163010042703040400403130700105041704004615405020406801071306024008801003050193054010206506111100200451260016010105018037030501512502013013304014210505104105166401760030805186406709005930304040010010501617002100130340660104301006405515061303057101402002040815094007002861102100200511100130611214004006007005011357611410013015170670016213030517150181206501940502013031530105011001306121470330501420022051021050630501740185109100130101505111010063012150511321002005143011580120080016630117220200187061501921050207003020218018070306122401234006402006501100130612147033050142002205102105063050174018306505191001301015051110100630121505113210020051490802001101580110070163065051174006020018130501900200105011001306121470330501420022051021050630501740185109150101302100200114003001251270301050113615011415015300110161303051730405400465011001302150531010063041505152100200563017700306308400500102009130120080010630111400601001012130820050013406030405143011530010516801051171001306118130150193104002021308100218070028651226401232014612410807030650161700210040030400403508060148014120014004058010516613030574060020038401920504004010400204004065018010030501218002002653227080051420700302051081010613030571304064001086102001020409110140051030703020401140070100306501500402100604003100306220404405052704670030207805108201308312005916101300411100606512615013405014130831200515304011610400803200174050518130150512001961502040505121304012210300100100238010600200324405052513040110266150274050512830401291052930405031600300105321303053364013413030535210001803036704013740070403065011804009407065021503106405061430204056100462015078020010100840505409106040706501020301401113030512500401310820080650514405015270416401177010030651865401910703040650161700123010061313070010504140506151001306161405017617001860030192708005401013010112708001210013061131400845006505401424011580400816130305177030102040183010813620401925207050421200220402218030123400701003065011630121070304065031504130305510703040640171060200650864019107030506501640505402140106503301410703040650513020400126130171401501086150954010130111109005065018061030230307001050310204002650413020400125211041054065004071010063065085700194050107050411130305123010300400200611325145004050115100301030116806103017305401840401192040024002011041054021661030223054023404012410206026501610013061230503400406050141305012005130161101401740704645810030914006007004004010705041113030512705411380305014106003080151303051670545171401840010063065019703010201303052140122301234007030406501230102405032060246010105561819400625760091010400588016301020919081210130501200115401280105113600130465016130700105021405061367040306141309013081400516301020619081271303505854098010511060013046501617002160070050134010500110042501051602001101030630174007024650813019130305106213061304105011186015011267001013130100200210146130104001401015613040601201050166100630611730305016018860501196110010406120130903015216140061221307201523500402440063010400402513012610030103012740502040286150400402940702008006501617002160070050134010500110020404301540060802065064401102040763018400600200365091508060204010405011410120020401250040131100200200400401461504004015400300546501500402150400403563011044001004003065051508060204066400600200365078020010100184050204094050104101200540114009001520065012703010540132130150040146130704615015615016101400620401716012001018400801465401965620408200402170301020402216002001354023180400640506502422708002513020400122664002080200650272270800288040129371103040503110807030327003020334050204034130135600710368010371308101538130450101396106404013010010140541102004650421301043130044413070700124564014613030547210001803048704014940070403065011630102021307001050313004002006141308101551304501016213016002005780301810600808097050540101307070012116301125401310509020065016301004214001050134066010413020400125610080105016405072704582130200603096140010501107010601011125012402001040131302105014001461104501515220068161301004601718020304011831102040192006063020240121301224005610231508060204024160400202200400402580802001010012620700240040276802001010012840010040030650161001306121003062501310003080423053070505406130305722080200540880100301030194011010640506501630401231105403204001244050570504613030574090410083040194070540106201506111405012100230131060400804008650147030101513070010501620802006117803040118311054019401207020080612120802006122252380307050524130305257030102613020180200105012106040121300400200613254150806054051506102080200617240181507309130305102100010111150121050730131303051440501580800305167030101740501810300110194050207021452180211061222100080022370301024100080022563030201802001050267070012274051050161700121001030330540414050615240161507307130305810013061950640501024011115073012703010501136102080200650142401156200110516656171308100184090410011930401204070540211003022803040234001004003065024150210110251303052640502710023028150292050400403040640501050163010042311020403406601042130210501400550040614006007004004071307033084050927045106150400401190013040650161700216007005013401050011002040462008070501580610020406130962007600700618401914001050120401021006511616040706112100130611360407050114670901050115613002002611680101710030625401813070330192208020054020100302121060401221014020020402325241104015020402515026205040040274064050105011003021503201504004302040513041200613016002005770504813030596001309051040501146501213050160138040040506114130406400151501620504004017901410010501630502104004050653124142401510044040061104105407613030587030104092130900130401050163040034505402182009031305016047030105810156640507130700105081300200206191064101845401130612107040200131308014605051564011656172407878518405019130707001220150211070402002261303052329010200242401251070403065011003024050320150470461530322001030680150575073058703010910030220102170050111303051240904100113304011421050151041051665410176230020010183030406405010501405022015037046143030556403011020400566200603057632200103086401020130980150101303051170461230302018020010501630100421507305013130102041101400521050140066401710208020082519130110130801601006501162030401270154613705414502700558020010100640505407230812050020054093011010640506501630401231105403200606304405057050461303057409041008304019407054010502700118020010100124050131307001050141640061151302040012162040012171303051862001101990056200540202015054021301221070304065016140027061240134004003064130300101910505703010640302076030104015086401920802001060301040150116302050121303001019105013208020061141070304065015130501601613060820017640118150730197030102013040302010502122123022512006400236401200640024640125107030401502640502718428840010291010063013015040131508503280400505338030134400208020035801040070304065036405054013740138108020010065039254021050411304020010426763543640144540452800120010504625474050481844913015021700505113030552610400703040650534015410800200540556301561050807054057630100458703040615930405060130040020015614016230563801064130160020056540506660030110067630210606840169300200617025711508060540723067320150617410703040650163062150540314050614614001006153040500625640507705048130305960010200103061120150611210703040650110121105131307001050414050615301640010063061720017050186100630619150900200501106160407061116303020180200105012707001213130104014012106431307001050420802006154050615307130204001286301913040300200201050101501110507301270301020401340501460010200154050162002204017613030518106004009019220084040052040502110300110226130305237006241308080030251307090010401401250506060034050411055166505060517501400826001020094050511016114050030511213040134007030401415015130305167030101720301830010101910041020011304024007030403150413030553056403020713060401614008613012008009640110302040114050124650131303051440501563010166301175090102001140240020010465031504400601306152006063020406204017601030840660109405010100230116405012104002430131302080200142130110401501580100416800301760611018130602103016422050010200340504153051302040012630671020046502040840509270410110401502040112080120011286041134050147050415150806054016405017270418401194002105020305402113081002280170806123619080861248400102510140010261303052721402005281502913030530703010312030323001010331004102001611001040612130903015361400614130720155640164001004406173015080602040840509600102001040034651170504121303051315014130305152401164007040306501729010200161001306123050310460030413035055130164050720150856419161050901200101140030201214015010540131003014514006115220051502040161501720504004018901410010501230102405031603040463555303056656740860508803059132005107050411200251263011360068014703010540156301165401710875065016100130400213010564330106040041305090120010570301063001010761001304008130509012001093010604001013010564117030101230010101365401410400306501513020400121620700302017100130181307001050193012010703040650214050030221006305402380130305241082040252105054026106402713010010140528801040129201506130801053110600400308065016405021900304034040504405070540601346130305715081070020200980105110160405116607010128010136002001251141630102015401162015017305401815019104600306512013012160011080105022305402380102413045010125600710266305402780102813016002005297070012307090010401630305213040300200100361304010002002480110504015400630616805004076358130305915010130305116160701270301040161001306121400600700313030546304156028150562307305840198010101306040161400116130120080012203013305141001504006501241070213060401614003613012008004617001510080010614020017801504018101006309305102050118010206501610013021307001050330141070304065053063016102030405017130305816940014001050110110511207003020121001301313070010501440501510023054016405003017100630540184003001254001910030625402010042121050122130110140023301006402410610050650115012120060305012032130810042300102001565070010200166301740060130870509190812101303810401630502400200800103705020413010564563016130509012001078400108400400270940304005401010030111501254101313030514561513054101663010501714002704001815611054019270420130700102131102022405023130703040244012530202640502713030528405029630103063013150901020011307001050214001050154031302040012410400306505581006400301640057163010208106405065092510640501110208020012251380163010201454015130600160200650110122501031602001101030417002020061550704040010613040010715070404008703010204096150101080800304002040117030101213070130401050161400100612106401330144003710550806067050750806083001010196301101010023011405051127043013630114400508070511530080170516630117540181050902006501617002124003010312200151040420025522030401400680140040550710013081501093170302010303050160111401401121001301364050147002001040010151001301630117105013018705410191309001304010501617002370305013130210400440500125530305016066140501761400600700618405094010014010122001510401140903010126705450113130101412200151040156160401701030161501795200118210400101930309110801050206130701208010502161302002070221306036416170021001303122001510404200251370306570017230418140501961200710010153051140501213050040200140013405014140501540505401621303051761301064018130160020019100130206405021208020022801404007052310030103012450040251800920052613010277070012281305012002962106030130409010200161700210200807031220015104041301006170454050613021040076160401701030820025019400100230104050111150201215040013130604010701413070301040120025012613703050134060304010504302056405067002001040050171405840603040593020106120050111405016020501126400213703010501141502015150400161304006121713020081040120025012612705003801054042006063015405054061040030677030105408110140020961070304054010130204001211613082040512610720105401315020141504001513070710716130820104016405021020010002370504403055122001510406130174050860805950806051063010041119098010501512801013130450101146150515801016130160020051730405018130901308105011700210013033054200255160304061001307160304040083020029130701304010501669010225131220015104042501055610701006261017250108150913030510190980101130204012130410501380301144004064005015130116615040040174060304065011402205040040330054110417005880020061070100627130406400817009100130103025010511401124007024650134050142704101510013061165070241713052018613051912110202012200151040216160401701030226160811002313051246184125650850263052740603040650140030202140531004460030400530516401720602400863020409401102060240040116301124006013065013704011420150611510704030650161001306122065061356414165509012001064005400461710030823094030510122001510401185010801126401132015014405015130403002002010501100630612140501321303054640151507306130105017640181507309130101012200151040116160401701030126160811001361070100621461301602191564011616400101740660101867010601019640120164001021130502106502240502320025402430125508020010026210502718428405054029650850303053140603040650180150214050613240500304401514050400406257801004815400461961501040063061118015040112540138010143001001100158060102080102054016130305176561813060401070191307030104019021000521303053640504186050540506130305790210005865085093051070124650110030214008136505013801041303055656620025017620022040863050191704013050110630204011170401302040126508501330514406003090650114024001006306503150412200151040561604017010306616081100761070100628613016021992015061105641111612509012001013100301411504004015170304016140171303051864050191900304020404050212040040223005145237050452440502513030526640127130305282100018030297040130400704030650140030202140531004460030400530516401720602400863020409401102060240040116301124006013065013704011420150611510704030650160101006302130608051103405041305016054016630154077050810023040054091304001010201506111703010511210030133030514130403002001001561304010002002161054101740501810300110191301020902001921406040010010401620700302023703050120403140546609153040020650616300541107703010813050160961020650101302006063011703010204012300510411364011437030501151301002305161304001017205040018703010511913012030507030402140502210400270231302006063024404050251050100302267030102770100210528615029201504003030202102005311301327030103313070010503454103513030536640137201503813030539301080010704011040150204041150421303054321305016044302001068045200810401100425020010340010030246352058010613060401107803050630105020810023059400200800151108063011635201230092001313040603414130820014015681050016401172050400401880630611963652040203009200521615022130700105023164006124130204001225301070304065026150527130810028405029200254030640131130305322100018030337040134107040306501630105021400104003130700105041640061513020400126220307110584019400270611010023040020116401121504001324001270141002304005401564011627080054017240012701810023051927080020630105021140027040022156110540234050242704254012631102027405028130703040291502030170013130405032130900130401050113070010502140010501540313020400124107020080650552040161070200806507125011054086150980200101001104050540113010204004065012130810013654014107030406501130810024050320022048030154002065050640507130404040020010501630203026355356440630105158016040021006161306001020014007110508401940020650611010140011220401213030513340107011415015130305167030101720301830010101910041020016405028105003600200340048063056352063009200713040603481308200140961505103030810011405012200220136401141303051521000180301670401174007040306501640502810500360020034004806305635206300920071304060348130820014096810500104011120504004012806306113636520401430092005153010301161020650173030501601870301020401983520130121130700105022900304061234050540248030125400600300654026616003006501027630140040285070404001029703010204030630703020403140054004650120401212006030501380102040420060630154050204061040030677030102040811014005019610720102040106107030402040111302040012126130820405136107030402040144011530401640020650611740070304065018017002020065010217002020020403613002020061430105630164002080200650110121105131307001050414050615160400701050616213090220076130903015815091303051040701113090122001050163012400100630613304050410100400305801066021030713030581406140092301018101101163020501230113400300702006501630502306502040223001010340504130600680561303670665010090740508130140613096130150806010613050040200140011623002001213090122001050113070010502170013190124005404409010255100130616150173030586150191301051020013706501163010202703010540390306140044050520025406620084057616301020854091304054004650115021309080136130402006544050530070110200613030578040508839130210400101611170400402001280301133501814703010515150161096801725401186405019400967020600102001218015022130305233001202002470301040115021307001050310204004065044015150730501640507130210501400861305410940501027041140112210501513303050160148010151302040012161630102017103070505401813030519610307050540201303017050650113012130700105034001261461903086156210506168016301020714006287030105409615011013040061211130200810401150213070010503208020061464014006156540620801200716301020870301054093070505101303051161304030110205126130501601313407010501600130410502801051330141060080805705054061307070012763018540910509002006501613052040213053618443015130561301756813020084050913020081040115028010360030100413060401614005613012008006616004003018071303010308613050512009613080302010130400101140032001012801013130282001424011510508070161305016017640118150730191303052040502113060401102240502340110248018101252526130120080027270428406400512962500308010513140503220303341253464009020010803513020010183661306081237130406060020038210503913060401104061301200800413011014004230100640431070100306501640502130501603405041040060070054050646507130305815041419108265054010208211130305126130700105013140506114130041582116303051763061810200101913070010502090030406121170022102006502313070700122415025130100652630305273401070128615029130305303004104311307070012117002400220013130700105041400270615405061307001050714002706186200161913070700121064001009704001125401213016021216100130213070010503140027061430651506305017202005880504002200194050540102040111400220010611240501132070030201410200105401513030516170401305401786020014001870301054019640120540212600120031050224050231305012001101211051313050160420306154040168010713012008008830130199102110630111400400270611260096140013130300109150141505153020401670461740210501150401210140200204032130606104613080830011056150640010063061770301081303059401103011140070304065016170012100103033054041400270615401615073071303058100130619230105040027011401121308010501137030105141211050115163061620150171216540183011910701003065020300101012163012210540046501640500302130700105032080200614204050030513070010610507010072401830191060407010130111470110126504110139040142204015704010168054017301181070100306501101211051313070010504140506152030616405079102140084019200710050120401061300202006111303051215013205040040141101515400702465011504012820040370301020404130401040055613044066308407130600507102008640191530102511301000102001213030513804050141800920015100010200162110001763011870141980301201500402170301052215023130305241000806200252008104011502130700105031020400406504401515073061303057405081302040012961030040020065010251150040501121003010301131630102014401151012030650168010172965054018130119130501200206301211020304054022130305231064024130100101405256301261072010540276305402870700122913010401163010202130700105031300400200614130800301305521305410661307070012721304010008020058804019190220054010703010111305012001700302022150313030545073051302040012621308100761508130700105091600400308061108010111302040012123080101330010011001427010413010602130220031504400630615636520406100230713040300200100861304010002002963020501013022001140501214050132130305146130106401513016002001661304030110205176130204001218613050210105019614001020130401302170301022825237006102413010020021025613010400140102661304060120105027612502813060210302961306011030105030680103113020010012326110014033130903015346140010351307201536613040680650372705454038170013970154614061309012200105041801042130216011043613080020011044681050451302160461630102047130700105048904100614961630102050540511304040010065011012110513130700105041405061520400267030102040713010090190880109130100400301010130820011213082001261307024132130702414613015050010152130150500101680405017708010183051940502016001052130010102280140021702321304070200680246141102513010526218601502770030202840060080108029405030200220403162008405328040503317040041034270435700302036803053770700123813010401630204028010313010090190481015510161630107130130212830703020409400400100650120400227030102040317001488002005184204061304064007150840020020960010200110130690105113030613041050126130110020021050132130407020068014810011570301016130404001001050180405022430532704401460407055801504016150040577030108130700105091024306505101501113030512604010701370301040180405026001803405044069053508016167150040188019030892105054010803011115004012703010513150141303051510008062001620081040110121105131307001050414050615204002670301020407130901014082040192040021070301011130700105012405013100230204014307030204015400400100650111014012407046414003804050420150540502040640200108001716870301096080200108070451140501211014013160020014670301015130700105016109101006505178041051897014019406020105020804050214009670226001020012380562460010200253052661502740090640612860010200293020403015031205040040324007030406501300520022004080015031307001041507305801056130100200150754108303050160962105014001040501113054101261308020010015013804050143005415405020401613030052001780301090405186405019201502040200108001211622703010236080200248070452540502611014027160020028102001042913030530220403113010602003263013310200104342204035130706020036630400204030613713070453863040020220061391303054070301041401425412040436307030204044400300202006501617001260130203702141047050105801501061002001027131028470659130417010170011147015012803010604003102611330101463010640506115210163070305401710200300465011830230204033010305413090101405130200805006130107506011020408550930216010302040116150400401230216013305501470304015130305161502040172050400401840060040015065019150806020402080400122170301020402267080123705020402480130150252130020065502661240010006127401282040022913030530302040316203061326130020026133840010341040021050353020403613060010937130121080038405039130600109401301606441405042130803200435004044140040614513090101404613010471303010304863014940021300200655050615040040517012080650528010531304060134544003020558464561303055780301584001002002651592070030206010210506113030562110140056330305016064307030540651040010065016301240012030613140613020404210502040521302193066400430617251813010913082014010304001203061118020010100112405013140613014130501601521301500401661504004017400703040650110601306502027050313015305410030551064061100104007303050160861308396301060101302200112150124001400611313021064001440501590056200511663020501713022001840501914001001020614006121130210640022405023126125124614001006125130305263070302040274008030865016100140030612801036021030413030551307001050610100140030650204076301840070400461915010130305113011210821313040704004105016110040030654028105003500100804004065404616002003654054050681050071600200362040861308040050591300410405011130100400301263011340010014003065401470504151304060341613082001401784001018101001400306204019801052080150211001400306204022801100400306540232070030202437110251302018020010501801502150400561380150413030551000806200620081040161001400306540284001033014400206505804005056610206507130410508303059801501015040056111803011270461501313011470301015130900130401050113030052002130820014032130300520041308200140561308200401400610090190780405081704004109703010204010801704004611170301051224050030134011417040041015703010204016614001006117130305186170304061191502013030521407022130404001001050161508010061280103602103041303055630164003010061721104102040813010913040053020510618605061111501213030513108214130408605010501614004061213083361307040200543030558015061890200400407804018160400106020094050101305410116301124008301006113200106602040148400101510230100016130541017408305188040501920150204050204021402001080012216232524170010254050262001605278080410528405029901014030163190410053216335060203480170013514050400403680405037400404007038213070402005391301040130834180401421604001060200434050441305410458040504630404710344880901014049500301500550110140518010521308353660270554170015520037040040564003020577030020055820140305597003020603040506130406210205063153056481800200106513040603466130820014067614001006168130305696170304061701507113030572300410473130701001211308321300520034070306401400480405058020080068010550713083880301920080500106301118060610012630113341301480101513083166401174008070306118405019600102002010703040521130305226400764612380150246001020025130714261304001006102761400100650281012916301030130130212130106027030102040335018415054002400100061680800301740508200220409801700110180800400401140501270200801400138017002020061141303051570504161304030070200171308200140186170020200651920401205412040216150222050400402340502410023052530405026130800130105015004021801080061340504810500518018006130501607616040010008020061813030591501013030511100080620012200810401801700121008001040040340501602020404801700202006151303056207002020020407121102040816913004107002020011180405012130501601340501410100630152002501161400501178010181304501011964012030521801022130160020052340502460030110016405054024050310100630420025015140050168010713045010188605059680101013016002005118605051261005011370700121413050120011630102023054035090102440401520602616613030576020010708130860121617002020061213030538010411014054070464140068040507400703308801091064010501080301111500401270301051364050144001600200158030116150040177030105183040501914001001020614001006121130305226170304061231502040241301052540083002006501640502130501603405041070322051006305680107130810158130450101961030054101303051170301012401138010141003025156561613041713060090140161700124006301036070104801051301200800630108060478010518610530209130820050010613050603011613030512301131082141308060141617001210010303305414001005130305616007004005713070758213015004098086025103550401163021060121304051416405021305016034050410300200105508060561240010001107402008001400813030596130305102001068011213070214110121105131307001050414050615146003061680107130603040820180596301104004002706111600961400121303001091501315051430204015704616402105018015027303040040340504270454016311040020407130210501400880170304061915010130305117071071282010401530210509002006503130141505101400105406130305780108900303094050101301000401401161304030110205126100800101313014020014613010151303051640020037017130140620016030225010316020011010304204051400105015406405071105821050596405010102430115070405121303051340501427041540116311040051780150181303051930041042013070100121710502303070010503208020061413081015513045010166106060020065074050813070010509140506110613070010501114001006112806100540131064014130100101405156130305161020071001740501810300110192100010200208601212015021305016031405461845580270500613030571305021010508402300200105096405070020010501061507301140705401213020400121321308100143010820401521050161305016017801040118160040030806119801052064012116004003080228010523130124130700105025164006526405027270428401293110400540301302105014003121000101322105054033805410341303053513070010503614050613730401381600400308061398010540405041130810042217005054361303054410541045405046103001104713010489020019494060400100104011402860240040315044004600306151303505663040171014002040840500309130700105010600306111405012100230204013406040054014130216011015613080020011016673073061178400101810100630191302006063020613070010502114050612240705234040010245090200251303052613012715028509020029130305301002001021106013065020240170013105080100650410030540161508010040040740508600102009803030613041050106130110020021050116130104001401012613040601201050136125014130602103015640116400807030611740501860010200198015020130305212522703010401204002270301020403130100400130465652020056302040767060108150940020200561103001010111656126001020013302040146706010151501640082611730010101186561930020020302040216130305221070304023615040040243012540070304065011060130650202705031303005200413082001405100400130680105710030810040013098010510202102001169041270501360210301413030515620802001625176130406034181308200140196160020013201530521405052212022002370504241303052561308040050526120220027405028130100400302963013010713065031101001400306502040328400103310200462040347050354105020403615037160400917061386405039102004004440405020404170504241050543801040400446564520180200468016301020478294004817040130540498010501304501015161301600200552616301020531908125413050120055540568010515760013046501150213070010503140506146130700105055132006166315461780108602103091303051016301020111020036501220084040013130305146130305151000806200162008104011060130650202705031306004020046130401060200510030680105401715004082021020096405018070103030501601161500405401121202200134050145080705401156106013065020164017001171050801006501810030191307080620207003020211021050221303052330204024130110140025307030204026400400802020065018010213045010136130160020054610601306502057050613010400140107100308190301893054010600102001161501240060013096540138016006150204014613030515107030401613040806041740501813040903081963062030011021130305223017050400204023150241303052570710726820104016301240050208613130403002002014004840010510640506630140574064050586001020094050104030020020511630612170324002040136301144005020861151304030020020105016840010171064050611863070241940640502060010200214050224030020020236306241703220402516301020261047065027130102813050120029613030530104706311301032130350533613040100080200534217005053561021050361101400537303050160383070305403910400700202006501610601306502027050313040810800410030556617001078017040073061813050601109801010130408108001163011240010020026550138400101410952005015801700116400952005017801400655018405019810500201402002040211303052215023130305241082251304006121050266108227130404009520010501506016204028200500330204048014006158200500204061501073001040040861004406193015080602040106140010061111303051261703040611315020401440301100651562300200161304064050105016301240037030613130305470200800553011040150204061507400220061864004001006196400903086110210501113050160126130305136040107014703010401301210616007002040313030542130301000658010611040150204076302050810616007002040924011020602400111003062204012613030513100080620014830104013030700105021063065034050450601105405400200290612002705713005200880150980110611080150111303051210008062001320081040161502707406131309301100480150513030566040107077030104016130409301001400210400200290503215080605504500301500551002006106630171083083055091501010204004050114011260030100131303051480101512008140550161501720501810640501921303052061301064021130160020022627063040055023181002422004550258010267003020271502812001461291903018130630550314050030321307001033703010550342130407020068035630302003130367030105503742003538613030539707107408201040113093011002402004001503801406012042407020068051664006020010872186015086301910830103020401115012400160070061134040114140010400406550153001010116130117150181060018011913012010100104012184642213030523801502460080400402513012610100104012784642813030529803013035018317030105401328010401331804004400342535400302036846437130305388030139400704004651406405041104007044284644313030544801630102045540461309001304065018015029301005138030144008305305640507270488400109400502081076311110001020051280150139301005114803011535018167030105401171501810400200137011915020900501211502210100104012384642413030525640030202684642713030528102105051293010064030107030406501617001293010040040313050601104802301000505133055068014060206550724070200680816960200865501024070200680116301124004060206550138002001200114304007040046115640501610807030177003020188010041990030402050806052163012240040060070061231101400241303052557612661700202006127507040400281303052970301020403064013115073032703010204033405034130204001235613082040536107090020403725386140010061391303054061703040614115042130305432203044300101045703010401617001293010040040313050601104802301000505133055068030174007080030655081509105020850101761355011170011240020018006113210505401421304070200680157003020161067090017251840501920150204050204021106405022213030523613010640241301600200257003020402617201027302040286195200296130305301070304031615040040323013340070304065016130613041400210200800705031630145504863010505201403010506304050712001481509104004010130200800170511670301012130406306413305142007100550156206064005501621304070200680173011840020308019508060201301216607051223012340080012002461304525263045126630127406306428305292630453067030103113061200500324050030337003020348015035120014136809013013770503840020018003940505401406400300162004180301423501843703010540144615045120044004046150474006040020080070614816301420404980301503501851703010204052170015360304040040544015514001040040562130407020068057614001006158130305596170304061601506113030562240163400704030650642901020016130700105021040068065034050204046107002006505176131610400200290507215080605508120027059130052001067030020011180170011223010005013133055014803011535018167030102040178010401188070305019801020150806055021213040702006802261303052324012440070403065025600210200163012350183703010204048010401570200800400406257405086009259130506011010161112050504004012801013150806020401470304015130305161502040176040070020200650550186302050193012040061704655021602001221301231502440010063061251006301264070200680127630128400707406129701004530130502018318400103210230100033130204001234133053561703040613615037130305381070304039401408010411508060204042801870020065436170304061441504513030546100080620047830104013012350183703010204041505930100400406130506011074018304094004060655010161140080200800611230550138020010800514640400706550157030101613040660701710042005186703010191304010040020020100420052140400170122213040702006802381001247030102513040860501050161502930100400406550340504100230515064004060655076100488020080040040930550108020010800511805090801240113802008004004014130115150161070806501716181070806191307001020210452170100452213050201823615024400708061251100200226303040010061027630128400506061291308080030302105020403115032130305332401344007040306503529010200181809006127030103130903061400461309030155130660910661006406173030581001504001050180150260080400403802003130141652002021501680170017140504004088017002020061913030510204011170304020401240113304014400206506115400703040650161307001050210400680650340502040461070020065051761316690105730176135408404001701913010101308630111000102001216002001313801501460020035015803011635018177030102040188010194012080703050218010221508060550234050244070200680256130305267071072782010401630304093010014002404001703213040702006804810015703010613040400100105012070030202102105031303054302040511014005630703020407400701003065011304024002003130104130700105056002003616405074101200540865409130680108700200111304064001280100130133054014130305154064006116500401718101540181501913030520307006218080030227030102313050160246302050251205002002613050160273012810300202006501610014003061280103602103041303055617030406161507130305860401070970301040140502700131307001041010020080051303056100200800178605018801080017080593051018007018011120500102005126130305131010028001461026091561301051640020037065011304024002003130104130403015405062501071602001101030840509270410406601011170012100130611330502101430540151270500163050117403020118501001400301980102060210302113030522100130235302470601040040251502620400227703010204028130100400130291301304001001400306131100130613264013330501341301355010014003036801037602103038130305396100440160020035014140504241012005014361250110501448030401452040024670301054047130100400130484006306149130150100301030151405054052613030553703010405421309001304010501610013023054035021054041505130305610047270500830204099130640010403020111100130611215010131020650143051513040302016703010501176508501818100192130403020204050521630402210640023607052440502513040130261001302715028130305291909801530703010204031671453226095338010341307030403561303604036613030537106400103840302053940504010300110416130305426160704370301040161001302305403502105404150511056403020571508101400102040913040012640010801051160201050512405013200220401462100105154040116400200201713018406601019613020512006502140084030522130403011020523150248010257003020263011052730204028150292050400403040640501050180304012809030391306400421303506451001306150713030584024003010204092505200108040501130020021240505138030106014405010156405016304017109704051880150519405010201301214050221100040020080231000200805242104525803002002612640505271301281003010301294050540308030401313167532563361307001050341405061354070536100130613730138911005393050140130106404123130640042635064543100130441307001050451090050650461505404740301100648130305492040504050518010552100301030553100030240054801055520500102005562170050571303055861303055940706013090122001050163040122200761330313064004635064551001306162002501718020010008703010501990220011065002400111100414050112615090200501137030101413010064015130201802001050180574065402217005031303054610040030541664631306400761400158130305913040302010613082040511670304051240401131030011014630630115480701613030517130501601827080054019227080020308060440021130120080022630205023130305247006258080030267030102713070130401050140030202110140031303054504003065157030102062130810076150208304050913040200603010501400302021302006030380800305014270800540570301062708007405054084050920304010130305116200807012270800540134200314001461400105011570106010161250174020010401813021050140019611045015202200682113010046022630623300110241303052540126110040040030271307001050284050292704540304050312704324013331104005403413021050140035630205036160040030806137804050540384050391405040640505404140504220802004363064430011045130305464014711004004003061486302050491303055010807030514015210200104110121105131307001050414050615150801006164040172007100501204084050910023010150111014001012106401330114210701580105166301176003051863011930080170520613020180200650215402213090013040650113030523013130541301556613081071301001064083019400160070051060505116301125064013305144011580101613060401614001764011880101913012008002040502170012213070010231030080702470504525130126217005052710703040284012921050301104105403164013260030805403363013410810965035230010103640503770304053813013924014030011041660704220200601054313060401614004461301200800456301461010645478809005401486564913070301050130709001040130121202001538010413041050510046400210507130200300484050913010001010804050111020802001221309110006400136106405014213030515801004161604004060201721307020065181306500100101930120150809014021305122613030523604010702470301040113030526301031307001050414050615106002003540640507130900304014008130109130506200106130700105011208020061121630101654013130911000640014106002003650540154050161305062001713010181309003040140019163010202019081221130501200225402380105124600130465011304024002003130104130700105813612200151040780108200259150101400151113030512130403020131700141001301512200151040162002101713070010181081010196104010400201001302115012218101023614010400241001302512200151040268015027130305281014001029213030040603040503113040300200100328014003325134405035130401000200236802540037130700103820802003961303054030141105410421301006404313090013040105011622013070010340200470301051002001056651076001610587030109702006300511010013011150101210810101357005141303051527041640640051178014014005181303051940110520701402150040222705005231001302420402530250040026100130273025004002810640129163027080031106403210013033230343025004003540110536701403780150900200381301039970140204063002001220413040421040060505436150900200441301045840120020466305037030204711054830305016049615090020050130105113070900140522010805350503007515450040555020606515630840157803040158400210505930560100130611703040621506313030564703010652030663001010671004102001617002100130312200151040420025120050106201080740081010813040640010910013010163040114006405012100130132301014630205015301094010501610030210171001301880600700191200270520405021130910200228090200550231301020245004025137030267030102720302832302940505503037101315004032147055033101400105020346070101356170304036150371303053870710739820104014050030213070010503105080100650414061305405801066021030713030582040500309825101502400400116027012605012301380101420301560502305164011051782518613030519108001708020304050211030011022613030523616070247030104011307001050210508010065031406130540480105602103061303057500408301910400270650104011115080100611240501136301141700101530540161320054017705041820025401963012060068021703010540226301235402410875065011006302407020068036401000802005460010200540506904100571040027051817001096130305101000501011830104011012110513130700105041405061530164002930617904100140020408213040509613017001010201307001011105080100124013051320010110141305016015630116106405017213030518613010640191301600200208040500305212040500302290806150237030105244002001225801901252661230278040020020528903041293013010100420065031703010323001010334040134206026135613030536301371054103813010064039130201802001050164050030213070010503105080100650414061305405124001000110640200800140071303058640050021040019405010150806054011204050030123505132200265141901251156123016801400400171203051188007080105019801502030402110902512261230238093024613030525240126400704030650272901020011106421842040315044002065053056350574050850600103096170501210400320010114050124008400511313015051200143051580105116405017203018130500402001400196190125201302022002163052270020010523800708011024801901251251709012002680105275012002880184002001004002920700302030102105031130305323020403313011014003430703020403540040080202006501101211051313070010504140506151508010061640507910214008401920602400401064040111160020035011230204013405014130120080015630116400104040611713060021050018405051940050801006502063060400402121600700105221301231502440010004080061258010526617030406127150281303052910005010308401041130300109150210704204031308010020046101402002040521308083001106613030571070420408401000802005940505106808003011161303051261607013703010401106400102130820405340504103001105640506106400713082040588010049164001010600102001112050010200112640113107002020014130115163061613013021216401215080100400403405045080100551665070020040040740508507002009801501013030511107030405126401133030900130401050144050151509012001150240024613130904100140048050704015510661507400600806518640064006519130801002001101080561160010200123020401361020802001470502040154050166010101400204017613030518240119400704030650206002102001301060270301020354154046302050513030561054107405081030011096401104005080100611140501260010200138030150806020401464011540050801006501613011712400100011018635191303052064012140050801006122405023600102002410680251301020402661504004027301284009003040650130308010020011021307001050318902006148010560210306130305730181060400910706509800200211080101113012008001210860254013130315301411000501011015405016130400708080174007020080540182601040154019301201060130650211305016022130818012364012440050801006125405026600102002780150281303052925307030104011307001050210508010065031406130540421303010305613050512006602001767030150105880305409132005401070504112002540126301136006801470301054015630116540171087506501130700105021012030650313020021430151010064065061301720401810100640913070010101040060029511130300109150124050131304060147003020152150540161001306117150401181302107019405003020130200212161830221303052313021070246820040251302002126804050273110528406709005294050302002531801504005103280305334013460308035614020053613010371303053864050397014408016301020411908124213050120043540448010514560013046501104081002130305313020021461020021051309041001400661303057301810829203010208012001115001040115021307001050314050614670403061513090130814006611001406171309030158614006191307201510305401113200540127050413200254014630115600680167030105401763011854019108750650110121105131307001050414050615140010061613030576700200618401921001010405011130200211215013205040040144064050105018015023040340080703061480170050615282002640507130305862006063059615010400240040118030204012200106601314061302040143011540090030406501663011740090030406501615022015037006470602005580509002005613010740106020058615094009041006110600102001130204012150132050400401440070304065016140010061210640134002003706504801055130106130305750040840068010920301050806011401122060240013654014301151090030406501101211051313070010504140506151700164004110504004072410508130109133010406040101180120400265126301020400213210502040142014002152130704301663011710121820140021915020102040022120401227030405231303052480301020400225630104030302613070010277030105281308100296301040010030130305312002532630133102600603440505353001010136801503720150381307001039703010540130810041608010514216438007010801441645301461060400910704715048104030495650803010403030516301055221307043053616040030054615430051041050554050562003130204057801505830405910206501602003301050618020033062614020014001506340405064400200800650654050661303005411067150684008003069184154017080400700202007118415401721301600200107363017410127513030054110761700177401784706179630180400601406181150824002040026583901000102001841685202102001861301087133058870030204089110060990705049113030592611006409330303005145946145010951301964002004001261971301981509940020650100400312005101818002005102400410200650511032105020401048030106010570301020401063501810713011084002040026511096130054611101700111140021107040040112630111310800120011420140021156301116300510411761501184008070306111980150512080606100121220401226140010061123130305124610703040204012513030512661303051272203012830010101297030104016150220504004037030104608020056304064003461720140021880200515094010026800510801501114050122708002040132708001148030106415130700101616400405017140150400518630104001001913030520200252163012240020400406123130300514524640502510204004051268015052715004028100302529613030530240131400704030650327030104013030524013801041306040161400564016801071301200800861509400246110401118010121508060204013161440060080651510816022040162517130305188010100080200193040502010300110216107070022240502310300110246130305257030102620302730010102810041020011405021302006063032401415073051301056405072002586130406405065092030101405011213030512640301102040051362040025146200603051530116508020010017210501818419405020200603052161001306122604070501236197050124100080200150202520025012661301020271304090102001301210203080313030545080601513016660705173051840192060240010670301051114011212040060240013200250114301154006160070050116150175060105011816191600915012020025012163012240084030237030105012419020012520401268403040052770301028130700105029405030100230501312002501326301334008403050134401353013691100537305013825396170804070501416110008020042305014361200840501441504004540630150146801509020050147703010481301006404913020180200105012604021303053130200840504130200810401130401130305230131305413015566130810713010010640150730270301020313020400124213081005409041001630401721050810410596150730101304006200151161301503103014050210023035410430305016056150730613080200100150715081307001050920802006110211014001113030512305401370700121430041041561303051670710717700618150400100140115021303053301410600801057030105630010107801081301200800963011080101113060401101562130700103109062002040480105130120081406201080710300110830191305101301115612130707107131308201040156213070010315073047030102051302040012640505711014008408204014009550101401113020400121261600200134040030012514001480140115130700105016801017100306254018710100019801040027065020401214003001252240505231240010001102413080400505256124001000110264001610305276401281070304029400161030530130131130305326130200160600650338010341307030403510100630650361405013725382030394050407050441200250142640143107002020044130145163064613013021212002501230134007100041003062501527046170075410400501865293050110405011304502012200840513150201415040015130651212002501215020331407041305016053010640630172001028801059150101303051130112106003080131304010701411502130700105032080200614305054001000501067050540714061305408630191630145401040501113030512300101011361630102014540156100641613050120012041221303802007065046130700105054050610023054072070026182110140050198016007005401013030511270050625401261303051330041041413070100121100302303070010503208020061460400100030265056400830020065061301073550408621060913040514110042201503302040411055801068010400105071304001004001880105940010014003010801011602103012130305136160020010142018020051510200650540164050030105401720011018130701050196130305201061042125090200522405023103001102415025801026700302027307022005283016301029130129012001710502303050160382413030056140054050613050601107613025010508613010050191020091304010050920051040501113070052126130808005136130600103014130406064051561301507014016613082005001770030201840400170191308101520130450101216130305227050452386050241304012110030216502102040326001020044050570030204063030700105071400100618705049200254010350140011400320010124050134008400511413015051200156001304105016801051176176131840952005196200800615020405021130305226130305232901020024213070214113070010502101006306503200250141505015140501680110008020073050187005062501961005011070700121113050120011309012200105026130901410010503613010015040010504613040508010010505613040604001000802001050621301608120013005421303053150543015130561301756861304030110205961630610130703040111001104011221301006091330114130515130116561713070710718130820104011502130410503705044130305513016030140664017160040030808130700105091640061101302040012111301124050132704144011531105401613070304017210001011821050540196405020102080200212110140022130305238015024130305256020010702613086012180150281362038010030416030404005635106303057640508140027050961003010303070010501116400611213020400121361301401010501411603040400401580150161603040611780100418154004611961502040063061218015040122703010202313023011000246130305252901020026213070214115021307001050310208020065042110140051303056610100400306507130502101050821000102009810010610100400306501113070010501210140200650132130100609144050151305016016802300200540172707001218130104011630102021307001050382940041704013054058010613045010176130160020058640193054010405011501902001050113040240020031301041307001050516400616509010217405081302040012910470650101301011204001212130305133010820401421050540155004016104006301017802001010018405054019654020407020080065017003020221505403100130614305054004060501613050120071301811014019407046414001061000200540118010124105054013401142015061151080400200650180201080217001334070501540430106405301620010278010586680104009203010508060114011220602400136540143011510900304065011003021303054034013020413040302054006400106130403020740508400300110964005077010130403020114040501240030011013640070714405015400300110166400700301740501840030011019210420201306001020021150202270301023203024300101025100410200140063032130301030380104130505120056400630361305051200780108130301030964006002003101308101140501213040104001364006002003141304010400154050161308101764002007100184050194003001102021000102002186012130121040060070031304064050650413020180200105051630101106405074650813040640501050964050101080703011700302012803010601340501413030515801016300101017130118150194004001006120405054021400100152261087002002040231303052450806052561301026130305271304090102001100302150340060080614401580106904620020407168400246591070304051013030511610703040124011380101413060401614001564011680101713012008001861303051970301020203021300101022100410200110640240034320304508060540167040304007405086001020094088002001106401117040304001240501360610144006415306161501721050511862105051914041202701041216108700200204022130305235080605246130305252001068026213070214110030215032050400404400826505130305680140027065010710822204081303059610100080200103020401170050622040126130305131000806200142008104011003021910706131303054613020060630580150640063061780150813030593011010821113020180200105011502130305319098010414405650681661307122001510408613097040200150107030101113070130401050170020010522708005134050427080056130305660401070770301040117002100130400314020014004704020015052002615010750700200400830209401108010112950101240820020011380400100230144050101515020161504001713060401070181307030104018030401268007040051310013040042002515010668007040051715050010861303059170304010240111680070400126301060131307002020014201301505001015615010166040104005117402001040186150101917010700512022021670020010400512240502313030010915024130200310401804001002305122002513210026304860505615024005165021400178605018620803051972020010110203040111460030127030105113720200101141304082001215634167050451172007100118100130191012040200104021150102230202357001241001304002556264050277050428130305291503013030531102007100324050331030011034210001020035860121550130202470137202001014200255100130620027528301094050103045020117002001051291025131502014604010701513047011018050144005213040301102053656410011040510903010680107130408200128150913030510102300200201121081010124090410011322030405144050151303051666010411768906200118650210119405020130901308105011001302200231501041020650530106100030140761004823010005010913020220010614020014001011701100200121001301320700302014130305151080703016401171030011011001302200231370304301051105610013071104002081301940020304010130501601150030150051211014013130114200407115617002020016200220172050010200118660281921307030010206130122012001617002100130400313040301102054101540200104061507130305819098012096952002010619098012011703010125060110131307013040105011012402001040311005040010430200220561603410661200207010740708130200120701050170030202405031502110413010001025506810561301020764018205040093041054010170011103010065012110030140540131105401410208030154020010401664011720504001830410540191700201060040090406501170021001304003130403011020541015402001040615071303058102300200209220304051040505111604051213040601081370106010141250154020010401663105117801018130450101196130160020052064050211304010020021050161020304021305016038010413040545620530166405071309013081050110013040022002315010410206505301066304763040810406060501092300200101001301120700302012130305131060030100144011510300110161700117100800101814020011980150401201010063021305222050238010206501610703040521302040012361308204054613040062001556130150310301620060630121301032501041602001101030515010610047310400204082110594050102002204011150101216003010013302040144050151309105016205101051713091020018801508060019801052080102065021910200122217005023130305246122001025130120405266130122009027618101028130406400102921700503013030531615021020403224013340012030650346401354004600200650368010372106400204038150398010407003020413011054230204043150442050400404540640501050164090410012304013210504104105405061304006200157630183083020409270800101307001011820040127030102040136310400204014211051540501620022040178014001006118130305196191070650115021303053200210462002204058017024656570017902001984060400100104018030401218603701060104405054051302080200610013074050815090120010913010101303051110013012130861200106501350850141509012001513030516140501172130305186130054192150120406030406501200250121405013240141507304005614002705016130200606307801204002501840709130300154105016402020061264020200313030546130305560010200613040120200105011700210013031303054101570106010615010740400680102086200180702091301010640952002011405012130700105013208020061146317030151307001050161400270620178061001813070010501920802006120130102110640221301001014052350040241301025402003702040268018204027210502040288010401292050400403080105314006004003080650180140121307001050320802006148017070025405707001216300410417801081304501019613016002005106401113054012405013501902001050161401213070010503140506146704030615130901308140068010680105407136200540861303059301101082111309001304010501700302025040030653703010204405051301101400661307002020071308201040115024050030370106010470504513030562040500307144086003010059405010400200121150040121001301330514205015801020650113081002405032002204803015400205064050713040404002001050180405028132038010544050527046401731102084050913070304010801003011400701306112504701312501105011461250110204015650601105011665060110204017615080605011861508060204019500402050240053021805037030223070504002313030524703010251302017002105011502570013305641301009090513081006640174050813059130110130305116150121303051330561413070710715130820104018015024006306138015041303055703010406213040806041050110030210131530413020400125400701306161301072030405860611092105050110621050204011130112507024131301141303051563011650300200201725183001010119630120104006007002127080050122270800123120021212440502546502613030527801502840063061298010063061301300546131215013240603040650110121530313020400124304054008136506801071220015104086401915073040010130400620015116130150310301213011340501427045151803011640070100306501512150400403563011048133400405801040163020407258703040980304010400813650118010401123010601330204014251570304016613030517107030401861504004019301204007030406501401220150312200151040410564101563016509020015010176302050820150985010801104060304011164011220150134050141304030020020105011502163010313050160421220015104053030700105061400270657657001813050210961307001050101405061116130305126301013130406405010501644002911080534050415305130204001263067108003065020408640191080030650101301111508060540126401131030070200650110121530313020400124304054002080200650621101400713030586150400409400300546501101215303130204001243040540030260650613081007213021930864002040040650913081001061504004011400703040650161001304002911080534050415305130204001261405061721307001081507309703010101307001050111405061126351313050512001461208020061151600200516307030540171020037065016301240064050613130143040505400270641050204071003081509130541010541011130305121501310640010141841540500301640117164001040040181619108136204020705042120022040221003023150241308080030252104261303052710640010528405029103001103061303053161607032703010401106004009022200840400534050410300110561303056700671308080030813070900104016405021530313020400124405051506400140505721005091200810645913010201064050540114050121501340014050514241050120015301161064517130102018130119401204404002170301052210011040123700302024215054025100130612630106027703010501288010291301401010503060210303161010063065032703010331303053413020700235654036107030406501230102405031680104270545561400100106801507130305810829130404001001050115021307001050310300400200650427054513030566110401505407500405018100301030191630102010301116003011001230540138010141301600200515630116102030405401713030518630119105090020020130105402110640221301001014052363012410720105402563054026707001227130104016150240505403308020010100141030665051306050400540621302040012730400860265840509130204001210640111561240501313020400121461010063065015561640501770504181303051964012056214050227050423130305246101006306502570301026130305271302070022865402910703040650140122015033023002004150510640010561303057130204001286130820409613050265105004011101006301230305016013206506114702141153010164050174650181303051963020502020650612120021501010502224012320504004024400703040650251302040012266240127205040040284004200606501630121014020020403150440040060070061513040301102056613050210105071200212181101402002040921302080200102704111700121504004013406030406501617002160070031303054401050011005130502101050630401714001040020408405092040012106820405115004012311020401320060630144090410015304011640702040173040064050501825196304005090200505201001302111100200200400402261600700400402370301024700302040251902001026100130612711002002005012810013029801300546130615013140702040324050331303001541050180405024006301032704470030205801630102065407130801601006501180100010200241050313030541021000650563056160304074050880109130604016140010613012008001196701126202005113613010514102003706501100302140501321303054640151507306703010501764018150730970301010122001510401161604017010301261608110013610701006214613016021915640116164001017406601018670106010196130502106502040502120025402230123508020010024210502518426405054027650850283052940603040650164050210240010003100010200413016030140541050168030507101002308405059656108010111301600200512405013130600160200105012010802105410313030541006401520802006162704711040150540863005461915010130200606301181001263110540131302105014001461303051530116105410171301006401813090013040105011630102023716540315047030105405307050561303057613040301102058613050160913407010501600130410502801051330141060080805705054061307070012763018540910509002006501130121307001050340012614405052704670030207619030861880150913030510100080620011200810401150213070010503208020061427045110401505406500407174146182080200193050104001002301140062400540126163010201354014130800130650115021307001050320802006146401400615654062080120078030508101002309405010184540114030101213012008001370052114630615180400410162517163010201830540197070012201301040216401223054023405024501902001050130502400501306131302200484001054005080100616404017400826508640194005080100611040501130010101280150131303051425157030104012030213097014032015048301530250106160200110103071301840198200401016020011010301170301012508060513405014100230151501640050730171304006200151810030198014006120213040062001521801400306512215023205040040249014100105018040502180400200103703010413030551302070026405072704870030209801630102010540111309001304065011003029041003130305480140027061540305612200151040785010801864019201501040501113040300200201050115021630321040046800705303050160630307001072220584021200201965410103030701304010501801052110140032105014004401001405122001510406640507460030582015091405011063030511703010121305016013831413021040015405016160400917017130105186021030119640502020802002180150221303052310005010247050251307013040105011003021013153041302040012530406400208020065072110140081303059613030510300510411703010124011340070403065011003021013153041302040012530406400904650770508602103091303051040501114050124002100065051137063114615040040153005411016640117130305182100018030197040120400704030650110121105131307001050414050615150640091070617802001010018405091307001050101640061111302040012121020046204013270414110401502040152018020010501620108024002080200650361504004044004003010570301020406110140071303058680102040920060630510640501110704009040122130305138010041454101513010169020019174060400100104011012110513130700105041405061514001006161303057810084001001400596301104004064005011130112615040040134060304065016170400904061228230313030543401070156301640080200100617617002020061850704040091303051070301020401117001220504004013170411014801308015210501610030622040178019028400401825070404005191600615012062050400402170301022300801238802005244050251305012002680150100700204027405051282070030202910210503013030531302040321101400533307030204034400540046501630400205024050204031405410470650513010613060010200761014020065082130407020068096105056501070501113040502020012616301020135401413040803086501630124002065061320130700105044008020010061561600400308061640507270484019311054010130210501400116163010201230540137070012147090010401106402400210800363654640060645636568014017130700105081606440096365540101208020040040112704121104015020401380700610061141307070012152401162050400401740020802006501614012130700105031210800400463655405808010620084057130305854098010511060013046501400302021101400313030545040030651570301020621308100764018130305910200104109003040111303070130401050163030524013801041306040161400564016801071301200800861301091303051040020037011130140620012050400402600102003140541600200340053030501606400140200650721304070200680864005056509705010130405020200116400640506501221303051363061414050151530161302040012173020150186001020011930540204050540211304064050650226120500200540231308016010065013050210800200620403130141700105615061010014003062040710630620408130142120095004010301111050902006501800200240027030105403130700305411050540165001008061713018282309405010130305116823012405013130501601462110611521000800216405017130305186800200240019703010540201304060205052170030202221505402320150612410208020065025211014002613030527610100400306502813015021011029210001020030810031700302032240133709061346201506135107040046501301060612606110340504153051302040012614057100110405810400306509110140010130305111501101213030103013654014106034650110640506502213030536130106404130160020056101402006506213040702006807610505650870509130405020200106106012007065011801012130600102001400136163010201440501513090130810501640121080703061340504600102005803050610208020065761303058703010409213040400100105011502130700105032080200614305054001000501067050540714061305408630191630145401040501113030512300101011361630102014190812151305012001654017801051186001304650140500302401310508010065048010557005613081015713045010182040500309200108108010511190200121901240013820050014100640159003040611615080605401780153020400518640119900304054020130305216302050221508060540231090030406501101211051313070010504140506153016400400600700617291505840509465020401030111101306502040126002130113646114401157050400401610041724400181302100080011019405020180615540216401224006008010239046200540241202200251004262105012730204028130110140029150302050400403140070100306501512150400403163011044008265054056301610826502040764006405065082130204001292030510617001113010062040121001306113140501146170011560030611670800611770301020401813015014030194050201301000109002110030224064006123210001090020402415025130305267030104027270014002813090462001150240040606020403860505440060654056150640090220407601010581080200861925110615011400902200611264004001006113301141080020020401520104540163001010117150181303051924012010704030650214081091617002100046400340504153020540026106130406405010507401001704830301004001309613030510604010701170301040117002540400391108040015044050204051506400803003017613030586301054019670301010130305118030104006203012130406405065016301004250902002040313030542242005615040040617003057801400100618130305930703020401040030020200650117002400100630330304064050105041305051020801020406150710404204082002204092500301500510130180114050121304030110205134050730105012301021503400902200614640040010061561014006204064050780620054085700191040442040102002204011260040605121301801340501413040301102051540606401050164012370305313030541301523002001063020407630400940105081003062204092510640111130509020012130113405014705041513030516130707107171308201040130101009702920080134050413070010505208020061616710202400540880105010030261960011021050130106023020340504130140200530010106167104006287030105409161010707002540118015054012900130406501630305240138010413060401614005640168010713012008008101000802009304050101030011011610707002124050131030011014613030515100080620016200810401101211051313070010504140506153016400120306171302002181800701801940800170805106140010061111303051230703020401340080308650161400100612130501200313040010417044005303020180200105016191070612130305361302006063043070302040540020084065016601200706121301034010008020054405052002204066350577020080051813060401614009613012008001017044001130304040010010501130700105021050801006503801041306020011056130800200110661302019004010507130100010900861307018010509705010130501601161303051210821313040860501050161307001050217001380703061480183005516690030406171508060540870020200619130305108016040010008020061113070050625401264050131010008020014130700506215130116130305176304018109020061197030102040121807030612265402310703040650116301020237165403401000802005440505200254066350140074003200108405094008400511013015051200116001304105012801051136507040141320015130701403010501100426003040034050410023020405605050680601020061780108130120080098015090020061102010801120150127011002513130402070021050157001221015033030501604654105640670900563030404001001050163012400550613630144008750615615040040613017030650715082050400409406405010501150210406060204031002008480100454060613010064071002008840500305964003020101301101401150416305112210501313050160146301070304015130305161307001050171405061186104006007001940502040203005411021613030522301231082241309001304010501630104089021303053130700105041405061561040810061302018020010501140286024004031504400460030615130350566304017107030408130305913070010501031546111405020401261070304013130901220010501630100422050400403400405065041304064005405061002307150840030100659801004102001104004065116150400401240050900200650164012408404313014200606305100466003040074050810023059130200603010180150114014001216131004003014150100302400401570301016170100122040176405018105010030219703010207010021052180305022108002002313030524300101012566010371026130305271303001202001050164012201503305080604150540040640061301721700508130305920400121104063301116405012102004135006121413045010115506400516405051176405018102004195006122013016002005215064005224050512366050371024130300120200105016201105024050350210410014003054070562002106507205001020088040196550611030401111901254012801013602103014130305156401168007080611764011816040020150611961303052010822113090122001050164012201503100630540413015150610013061720025018110008020093050110700506250111616020018050112801013140200501146500240015110041405011661509020050117703010181301006401913020180200105018014001540213030535006124130450101568605065006127130160020058613030591082101304086050105011012110513130700105041405061515064009107061713070010508208020061910200462040107030101117010012204012804005010030261136001602001050123021303053406301204046565600102006130501902001050160503010010280103100306241307001050520802006161302007027240181300200206192130305104011130401210507301325146030915011564016154016130501200176210601840500610191309001304010501630100429041002040313030546704551700640086065054072170050588400109170011080300304004011640050177040040128010131301402001467090104004015405016270417401181200120401940120400826502140502040224050231020010424130450101256405020402640502710200104281301600200529500403090200802040317050540323010240030102040336301004347080135705020403661303053770063880800303970301040130406405010501170024009070465036301440030665057030106184761302006063081047062040980101016002001204011801500122040121000401132100040143020103011540087506116703010174011880140020401963012040121190122040226130305236002102002424012540070403065015004021507303703010204044050527046130100040714050585070160191010003001010911080511405020401269110805131004141540400540151508060540161090050650172130305181000102001913081002090050211303153010522101006306502353024305012540502613014020027405028300101029100303015031130140200322030533303053410600806503580103615080605403740138301391024650403020411010063065042306432015044305014540504613014020047300101048401491004003050150515501511003052306532050400405480105521064002040563022007571307001050582040025970301054060130100400306113010624080013705406363010240030106413030565401668010679046200204068630104089069401708010711003062204072613030573703010407427001400751309046200115021307001050340063061440502040510640613040010010713034070150815040191604007305401013030010915011227080012401132060261146301004157080116130305177050540181501913030520100080620021830104011012110513130700105041405061530164002065061720130700105082080200619610013061103016006150540111700112800200261138010141301200800151616201506117100071018306192015061207050450121401224014006123640124100400306125301037030261303052770030202886020052980103010030625403161303053210810103361040104003461303053524013640070403065037290102001630105021004003040040380104602103051303056167404004083040100080200594050101303051162008405126001020013404011410340706501630105024040040316410040030400405301301061303057400830020065018024012200840534050413030553050400630540763068205040098090011010003010900111301003021230150808006113405014863020158017080167050540176160400100080200183054019630016200540208010211301402002280170012370740400248040062030257030102613030527150281303052910823013040400620301050115021050902002040313030548030151000130263020407615081060070030204098040501070011113070010121050902002040134050142704515670301016130305178030104006203018130406405065016401220150330502104150510100030664050710100030308101400924011010003011106401213010010140513500401440068010152030165080601740118206024001965402030121109003040650118040502140027032008006150413030552040506211072606009840509130305106401615113550401262106013130409010200154024200314003705044130305561303056290102007240181070403065013010042405031303054703010513040640501050617007270500880105409200606301104050111508060540121040030613703010540141101400515610720105401661070304054017130204001218613082040519615020201506121405022100230233080102480030130254021050116304012190124002040340901025410045190240040640500301051710030400408150109570011010030115612405013705041415080602040151501613030517703010182030193001010201004102001640121901220403106404130400100105130340701506802170050713030586301070304091304064050105016301070304021307001050350180100614610010305305406400701306171001400306188010960210301013030511161214807061131001306114306155070304016100400130117301400270501204018540193030208020020106401070021110020022240505402330301104015024101006306502521806155402640127301060288010291003062540306130305311703040322401331020400406501130700105021001306133016006150540461007046153066191706501740181004003061910030108014200106111705012150806020401313040640014150152050400401690141001050163012400860250313070010504100400306158010660210307130305814061400192301018101101170504122002540131020071006501802008105022401314001540413030554050680800305761060400230020065082130700105093040101030810061112540124050136003080540141301156006801670301054017630118540191087506501106040023002006502250704053405041303055680800306615071303058301910800107010132001113040640501050113070010502160400312613303054613020060630540506270474018190125409130100200810303070010501118605061124050540136140010061141320015709001040113070010502100130330540413050160515061305016071004834070619302040108016003006540118071454012110401501136100130611486025011513030516650704017130620103018015010030261225070405340504130305568080030630407104060605408606109614002706110200800615011130305126130305137006148080030157090010401150401270030204031303001091504106006805163010110568030174006001806540866001806509150102050400401140640501050163012108750203130700105041060120070650580106130208020071505408305091080020061101303051130010101121020010413130305141301151037030163054017890011880101913016002005206305402170700122270900104011502130700105031300400200614130208020052130110401506305071080020061813030593001010110630540117070012121301040163012108602503130700105042080200615150401650403010730540860010200930150806054010150401115040301012305401330107414611415004011563054016707001217405105014012201503130305430107002005130406405010506703010740181504004097030105108400101110401071213060021050013405014130910215640116201501713030518301093070204019703010201301000102216302050221303052310340021024405025200603052640502710300110288014050612921303053062006030531615032400640506133640040010061348030204035132003670900104016301210860250313070010504102600306505240161400154071303058405098080030510561160010200112305401323014561530020016305401760109610065018401192600306120252110640221301001014052363030524401020015002513060401614002661301200800276130305282401294007040306503060021020013010042604070313030541006305130700105061001306171508130305980100102001065085011110005010110126050204002134011410013061156100400305401613015021011017210001020018810019650100630207006100612170700122213082001010017003020224013100440400411041020405615061303057301060829003014093030702104113070010502100130613150413030557054613010501713018506405093020060630108400101110140010501122100200215013400120305141305012001510030161004173110204018200603019405020100230102121302105014002262130700102310030400402480304025100400304004065402615027205040040289014100105018015022070026203801004420700252006030640507100230208311061921302105014001061307220011613020400121213040501020012030250806037001101005413040640056150401640068065071362002040810640913010010140510804050117878127050131305012001461460030151303505168010041780171864011913081015201304501012113012240400170231301000200620013040023065028010314061302040461508060204056304006040705064050713070010508164006191302040012104050111002302040126405013130700105014130020020611517001016205001020011761501840090220061196400400100612080150217003020224050237074024130140620016170021600700313030544010500110051307001050616400617130204001283040021050505930305016010630111400204004065051280502700651362001101490056200540156130040020061162517500405011810030103011980210602040121103004002006501301240086025031307001050410802008650524016140061761082650815091084046110240111304012108070306113803011440086025054015240801751640501713070700121863054019707001220130104016303052403020313060401614004613012008005613030567030107203083001010910041020011502801036003010041306040161400561301200800661600400301807130301030861305051200930110140010301630101113013021211307001050210700202006503130305410010140156100706416670301073506254086104008020200650980101060030100111306040161400126130120080013200250114401156003010040016570011721930118602815020198010050120707001221130501200120025012150203405044004600305130501200680100471600710400586401930309001304010501040501115090120012002501215050136040705014405014101510501410630301104015071508140506192200220401080140501112002501128011000802001330501147005062501156208020016705011760101014005011864006805011940702013012200120012002501261400501340146704400501570301062006030207630184006007501910640101301001014051115020123011340060030801413040107014180160400312230540320025404150105301618001070770403087014030940502040104050117002020012161315050010142708002040154050162708001780130700105018513200611961600200361204050214101200540226167006123801024602103010256100140030612661004003061273012080200502870505402960101014005403063014600305054031350140032400320010334050344008400513513015051200365006121374050387050439130305406130305417050454286050431305006121301210100020050203400100302413070010505208020061680107130230141404001702100301030350040440161540535504066210607130405141302050213070010503140010061420025405305406350140074003200108405094008400511013015051200116001304105012801051135073011440501570504161303051764011870504191303052060010200213030122001200161502405031530413020400125304050610640507213030586401915073010130102040116401121507301313010540146001300701050153030516301171030040020065018211014001913030520500405012110030103012216301020233054024132005402570504262002540271502813030529602001070301308601211012110513130700105041405061519022006166901220061762001296186140010061913030510307030204011400803086501260402130305313020084050413020081040110121105131305016041400100615200220406130700107600301002040840509508060106184511660030100124050511376351146250015405054011620031301172050010200118650601101961400100612013030521130700102240060110306502325246130120081402515026130305272015028703010204029200100102116140061213010400140103140613054046301540040024306161306002105007213091028630194001203061101406130540111301012140613020401315051420150158621162021020011615026008040040313014400100609615801061301040014010780150208618401991210302040114050121305060110134050050101465003015001562002170168015017600804004018130119400704306120806184521162240123403020400241104015020402570030202614501027130128400706306116140061213050601103904100140055045083055801506925073020408705093001010104050511508060112802030651355010101144020010101163012400640061313060805110414061302040513040010637030713030583020409100101401106120071006540118010511261206065401361006306114305401510063011640702006801161240030612130104001401038400104170015230100061613050201878015081506040040940505401020030041118014807061121301054013140613054014630115400120306511616020018011762412001181501910202200612064050212015022100050101238030106040070808024640502520150268010010200127803010120302821304070200680298017001304807040040311301054032140613054033801300546134703010540356208010362130305378601021130302003130250901023404014400200205130613041506613011002002650763030506011085090102940401104002002011130613041501261301100200265013404011410030154050516161720500200185090102119408020068001161700128800200313010060405416306513010020021066130104001401076130406012010508801200710065409405051061006306111305401210063011340702006801163010600300213070010503306440020020615405066003080540770020010588007018019600180611070301054011803010400100611213030513630101006306114100630115604104111502130700105031012030650414061305130104001401069003040171504018101203065098010102965054011501200112660109030650136070102001110690102040213030538010416301420405303070020200640500307890081301505001010509801501020501150601101280610013150050400105014803055015500305001164011740020020186150192015040020618452180305122130509080236301261052430203025618426405054012713060460284040129400200203015031201503230533630434801503530403610205037305386304396620050054012615418030140542130500305004380150442015045305461600654780301405481306046049405050270451690105521069010532515416554105056121620405761250162040583015940042006506011054061110020026230204063508070164802001080056540506613030567150681303056920150707030104017182010401163020402509080340144002002051761320406150730408102050930550106304118015012201501330550146304158030204016130200270174040118400200205019405020270421690105221069010502325124162541050266305502713020027028404012940020020400403015031304032102050333020403463043580150362015037302040386304398030550401305004050414040142400200204004043405044270445690105464006906504725148164941050506150512015052200330531062005005420301305551656140200155763055816005916601600400618030203062618463405054016413060460658015066201506167120500200684050697003020708054071300200201107280107313050030500744050752704766901057710690107825179168041050811000102008240800120083690105844050851303058661303058770301040888301040140030202846431303054640505109706130305762006063058104600305935014001040032001011405012400840051131301505120014600130410501580105116670030201713080671813070900104016405021070903130305462006063055610400704684645710460030585012001960013041108010511163051270700121340510501613030140010210140010503130801830054405055060110204068016040030054617703010550812002705940502040108015011300546112801406020655013801014130210640015840010161040068015501713040640018161910370302013030521305502260210301161303070015021014001015051340502040480170065401580150640012176190308188017020080061970505401101501113030512201501340061211420081040111504012130400625370301041303055303070010506107040306507130606108235130595004010104006265011405012100200102138016301020141040062151303051670301054017620150181303051970301040120820104011630106040021304006253303070010504107040306505130601010140068400107170018880020091845401013040640011100130121501013400240014130150156301161307001050171040640065018654019208012002016301020211704004501223054023707001212413010401110121105131307001050414050615301610830730204081509400200500611013050601101120200511263011340070800306550143040070052611522708001640117140010400406550181301191502010140010502128018300522402105052367013002006550242130407020068025801502620200540040655027807060102815029400202005613030010101316103703032130305338010534600102001352050010200116150212004400403160400241304763540201506763761400104004081841550910050912001108030111400160070061124050513300101011414001600700650515254001501166150040117402105011620108024001600700650536100441808001052708002040613010727080086160070050940502040104010500110011110003010900116301240050208613401450208512162040640507130506011081301940110100411603080121505132015014801830051564010040011666011017602103011820040400270301020403140514002040462501400204056160061400204066704014002040766001301400204086250140091301600106250140011130160040012614051400204013130301400101412008007050204015616006140020401640501713020080017051861405140019506011020402062002110220402113030140010228010238362002040244050255060110204026130301400102746003040040282550298015030304031400206506132460030400403325503480301353501836703010204037683011030381250110204039130700105040405041190301220404261504340034070614421050451301600400105046130147401481004496030805015051130305522015053100080620015420081040116130408905014002405031305060110413015401640302040071104015020408204001291303051070301020401161830123020401340114620011015700302040161501740024001000611821406130204019408905010502010001020021406018081050228040123160400404007040040242525405055026801400655027136200550288020010800529630130350183170301020403280104013340020018001040040342535405036270437130802001080053815039130305402015041703010401428201040116405023040310604009704405020405963016150710502088130408905014009130406405014001080405011401124030204001311040150204014405015804001014002040161304064050140017613030518170304019211040150204020270800204021405022270800238015020865502421700502515305502661400655027136200550282130407020068029408905014003010001020031406018081400326301334040060070014003416004150358017001361890503780150381400105039280183005408070301055041509080424014370301044130408905014004540504613070700124770030204830405049600300105013070504005140502040526150534009022006154600102005530204056613030557100080620058200810401102001042130305330102105043020405610541020406605050713070010508405091002302040106104006211703010204012613030513703010401482010401613030521020010431504104006257030102040661020010471307001050810400270650913030056140010150114004010306112401030113709001040111020010421303053150410600808057050204066600301007130150601508800701080111012110513130700105041405061530164001203061714061302040821050204092130219301013011115012400206501340031200514705015400200180016405020401763011840010040030611915080602040201502113030522201502322040242008104011640502108070303700302047046150156900304016806068075090301058501200196201501070030201170301012130305131060102001115024003400502613202110200440154005056506705057502080200870502040960101014002040106504600302040114046003011220200104011630124004004050613401480800305130305625727080020408703010927080010303020031301150901021240401131204006026114630305060110155090102164040117120400602501861601306119130305204050218080030522150231303052420150252203026300101027703010401163020302370305013406130104404015400200206130613041507613011002002650861307001050970100440010110401502040118014006540125090102540131501413030515201501670301017203018300101019300510411130200313021006140650370301041305060110524016808003071303058270800540970301010270800116240112150801006113405014140613054015801309013081400161001504001400178180900140018303010001021924012088090021130305226130301400102340060018065024503006755025807090065502661532006550278010281304080013702961800200265503080150311970502040328030133400210006134703010550356021030136150371303053820150397030101402021020011615026008040040330010011004210505401580127050061682040174050815305968204011040501115305112150131020010411419030181151068010016130305172105054011815019130305202015021703010401226002102001161702461213030536301440030020020615256300101017621306130410508186015019627001010130100200210116130104001401012613040601201050136130312001470010151301002002101661303120017130350218613090182192130350220612502113060210302264012340302040024110401502040251502613030527301281082294050302015031406004001301328060062001113070010502102600306503610140200650413050160521302600306610204004065074018140015409130305104050118080030512617040045011330302018020010501470700121154051050116130700105021050801006503140613054042001011051305016066301710640506508213030596301102130106401113016002001264050131020501413030010915015305161002001050117806011018100200105011640170012703010540330641405061521303056613010640713016002008615080100619404011020071005401113030512620150131303051425401570301040111502130305330141090030405405001001306700200576150840020986050510108001708051116106400124050133045051413200115709001040118020108021700133105014405052030614057230051048631050192201070301011563011012300510411106401070021064313070010504208020061567090616130200606307306840060610925401013012008001163011210204004065013130305148410500111012110513130700105041405061530164001002002617130903015861504004096020120010108400101140070304061124011340010063065014630115350211613011770122001018602103019840010204001000400603061216150222050400402340200800102416257030102660802002716283110291843040502040314050321301000110933163430140604004035130506011036803040374003461384011039804001040406140907010414191021428014060861432636520404461104102040451504613030547201504870806149100080620011130402400200313010413070010505164006165090102174050813020400129103004002006501013080030130511610200104650121501340080030611413060210301613030521703040321704110204046208010521303056630101762080108213030595090102001140502130700105035146141082008065051302030406705074061800705861010063065096040705011067090105011161604070121000102001340604070146200170501153010116213060504005401769705011880101913041050206306211505402210013061236040705012461970501256160407026615090020050127302015028600102001293054030611006403163020503230705054033130305342208020054035803013610640506503713013810030103011101211051313070010504164006151302040012614050617240185073050194090410011030401114070204012405013100230141501550940601663651178050200451187030101914212005120162150307050540222040123307050124190812251306024002662015027140200281303052940807063011150213030533014101000802005150610300200207258610100080200940110465011700302012304050131030011014640501510300200201621303051780100418180400200101915004012070900104011130402400200313010413070010505107206506150806054072308130305910720101040501110300110126301131090030406501480400103011150900200220108031080400200650470301051303056130207002762080108259150040110402105011130402400200313010413070010505164006165090102174050813020400129106405065010213032400116130911000640012610100630650133030700105014208020061155630110161541017405018130700105019140506120602103011163010202130700105033070505404130305564050610307050713030588030509400341030511509010200111402305403509010244050513040302068017001730181064006509130501601050100102001114021086046503130501604703010540161400154071303058405098080030510801004111400105011213013122001510401413020400121561308204051661400105015401740302011870900104011804050540240503140504255640505406405079048705059620801010235504011607010200111502130700105032080200614211014005015606806509030105407501200182030401950800340010330645401124305015401233064113100010200511430107006100611513070700121615017130305182015019707107120820104011613070010502140506136704030614130901308140056050460030540635014007400320010840509400840051101301505120011600130410501280105113124114305401580105116176131740952005186504600305401990030120900301030111502130305310140200204041505400646161301401501400713010815305196170011082040400401121050121305016013150144008204061152130704301615017130305185070401191070900204020252115022130305232015024604010701252901020011101211051313070010504140506151910706161303057619107061813020060630961630101013014020011405020401280150134005017704004014801015300101016802004651713010181303051961302006063020150212050400402240064050650232130305246130106402513016002002670030202760010200286186050294001610301113040240020031301041307001050510770406506150540714050618240191507301013010201164011215073013405014100230201510200104650161501710400812040611813010191309110006400206100421140200612215023102080200612425256102001042613030010915027150281080030540298003013013027010411617001210010303305404400701306151301064017150730813030596130101013020060630112001104001213040501801001050131090465014705020159046411802010802170013190124005404409010255240161004404007110410540850040931106201010830806501121303051215013120045011413011518601501166400680101001116301020213070010503107030404130305540168010710030625408801702008009705054010670900540116100301230540138010141508060540151006301162301010001164012120060305013405042006063051301630109170721700508130305963061015054011170012900304061131508060540143110620158016040010008020061161303051761604001000802001830540191302006063020306346121130305224006121232008104011803012620022033014106405065058400106108204062078010401830032009210505401050040113011210346113801014150806054015820031164040117100800104001861060304061194006030104011630621501320400250147030105405150611004003061715080602040816916002003611040501141012002040124011380703065141301151003010301640505401763061815054019807030612040121106709006502225233020150246001020012530540266130042740050021040011617001230140010501540340504304501513200167090010401163054105015402902001913406040010010401164050210970313030546130200606305801630102064070713070010508150704091303051070301054011405012130502101050136130904101001050146130300541101561309013081050166860501716301020182008010100117003020213080800303405041303055620801062130305770301040111012110513130700105041405061560070061687002002040780150802006185002140091610150802006111340107011615024050204033040504301029105058015061901240020407409010258100130910041015070401113030512703010131700143040151205016407054017300510411630105021901220403808003044050513030563010100630507201508304094002050102105020401162105051240645131011430104005010152050400164070540178018067188067119709001040118030101001400302801036021030413030551307001050610300200650713081015813045010192130160020051064050111010014003012801013602103014130305158010100400301616171010003021880606801950640010520132001217090010401164012302040330144001001400306505801066021030713030586130406040080070801050940501013020031301161305060110126130630415013130700105014101006306501520025011616002003501174050185700519130100200105201309001304021153051226137030233050124405025304502026630101276137030283050129405030304502031509010200111307001050214050613101001400306504801056021030613030576130700105082080200619101001400306501080101160210301213091100064001380100140030611416301011015130300109150161501720104181303001091501920150208007010801113040240020031301041307001050510010306305407208061811041020409611001040611013090301511614006112130720151380304011420400215703010540161301004001301717001188020010100194050540201060030065021130501602220600300105231303052416251300426600300105276100130612820025012930403020400240031703010501321301004001303330630134160020040050135130103613303710020010238100303940400170401304501014110030103042613016002005436001020044304050451400100104663014740090030406504880400103011110504012400206506131042002020404130406400563066205040040780108220063940300104510615011400902540128605051310100630611457005154050167050417130305186150194009025402060101052110100630612257005234050247050420251003026203027405028705042913030530804013031563011032130100640333013410201465035108010056503684105001140121901220340504860505580405061303057640181901220940501060101051180405012508060201361200603050120143030501601520060630116620801017213030518300510411405021097031302006063048010045191706130305764050840063010980401101200603050120117030105401288010900116101006306502917053801700142200761540506705042072104008911080594050540101000102001113070010124001006301361303051410204002154011610210400650178017020080018705054019640062030207030102113030522620801023213030524620103011180301210400422006503130100200150463065201506405077050481000102009130305103063461118010512160040030180113205001020011617001231105403140200440505130140506167130600680817001706192510630611200465121301013130200606301461301015163010161301402001740505401830703040519130700105020106040050296505214050540226306301238080030241303052570301020402662008404005273014002704004028130300109150291301301003010301180100140030280103602103041303055301640020308071301850806020968200800101304064050105011706010121303051315014102080152160161307001050172080200611861303051913004202160121613004224005020103011405021030080703300801705486050551020506305750901028405051964050101030080701130080170512601010513102050143051520803016405051176201501813030519703010202030213001010224010010400116170012810104004032400810548081061521860506405051716820046519150101303051120150127030101320301430010101586010211130305230131305413015566301034070502040713010810640913010010140510301112001021280105136405014190410015405016130305178410500118040123020403801041304050180100105058010400105066130305712002060540824019206026110140020010465011150124005461134050141800301513030516640501710800303018130305198030502040034213052260210301164612306340020802006504204015208020061680400206506507606110880301940040060070061104050540111630101101284001013105132006114801015602103016130305178015018400630611980600700654020611004003065402181050022634400406540236301244004006007006125405054026630101276301285090102001113012130700105031090306504130105100640621050204076210505408401050011009161031106204011890200400129046200540131501410100140030620401516161010014003061171006405401863061930011020130305213060309540227030102040238030100140030620402480150251704007306204026803040271010014003062040286130100612913010204030130603040318040132370303313030534302040357030105403660210301160400346502160020010503102001046504150510140506204066101405061710064054082030940110200461111301012130804005051312002060611480105115801501630401710704007306204018610301006119130102040201306030402161020806122110410540238060070065402461100400306540258105002650010080400406540276163010204028370305012930204030703010540316030915013240210501164012201503304064050415051010040030640640501713018600919640501010040030114064050112600911380400820010200142001002515406405051664105174060304051813010191530520130121150221090410061238015024201502540502610064027704628302040296563040640503180400820010200322001002533406405053461503520150364050371006403821050204039621050540404010500110041804105424060304054313010441530545640082001020046200100254740640505488040504930405010345180901014052300520010505340400400127010505440062555405056130305576201505813030559703010401608201040116405021010040030340640501440400704041580371656355040760013041880105196100080021013030511703010512630705051361704143051570700121167090010401110121105131307001050414050615170016800200240040780108602103091303051080400210506111630112400100630611330405014130100101513010204016130603014017306040018406405011940024001000650207020080021130810152213045010123807050424130305254010001504026205001020052720700302028205040040294050301002303180405032130305337030102040348040021050613515036130305372015038240139400704030650406002102001130121060400610313010017046504405051304064050105061000102007163010813080020020096130403154650108010116021030121303051321406130540146150806054015808003016130305171304031541050182140613054019615080605402070301021130100170410502242003523620301246704251303052613086050102768080030281303052913040315410503070301031130100170410503213200133709001040114200314002405053640100080200546200840556201506130305710008062001820081040111502130700105034006801540413040301102055900130401061508060540710013061880104092050400401010013061112050112406040080070801050138010141301200800151001306116130401740020501812008001913030520616070521804005132006122801051238016301020244016154025355040266601104002740901020011130121304060400800708010503405041302003130561305060110661306304150730181060400910706509810305106301111054004650126021030118016301020270601031303054150510708066705054076201508130305970806110100080620011640502105132003801046021030513030561034780108130120080094020011000401102050010200111660705126405013106002003144050152104005164051320011713010181303051962006063052050040211042002052213040640023801004246100702513200526703010271303052862015029130305301000806200131200810401161700128002002400403801041301200800580301060670301020407350188150940010090200611040501113090301512150136008040040141501510804005020401613070010501720802006118150191302018020010502020150612130204022704612340210501161700122050400380105404801100404005305406130903015780304001004089110805940505401040702011630101600700611216030840054013801700114603461158030102065061164050176200110204018630400140019911080520160020010213040221090306123803010903061244070202563010160070061268700200540276160308400540286429130700105030208020061313063240010008030650337050341603084002040356140400704002040368010401030650377030102040384010305396184540630141350184270301020404315044201504522040461700104740504840920049165020504004051402008001052150534008007061541603084002040556600700615687002002040571505813030559170460303020180200105061707001216240510501180170012100800104004031309030154801700202006151303056100101401761007064186703010935062204010801700111194015050400401280110010406113130903015141501513090301516201504001770301018130406405010501920400121204061006400116301240055061380104124001000110513010064061507400206506184001304065098015054010101304065011204011240013040650136400200365014405015130305164011730118102003650196201502013030521703010401228201040111501215073050131301020413020400125213081006304008204072105081305016092401101200120111303051263011340020501430306001105010501560090104011616040010008020021303053150413030552015061000806200172008104011630124003143037050413070010505106004001506506150806054071508130305930110108211405012201501360061501141500104011106040060080650240503130501604630151060400600806506405071303058656940705401017001110210400650124011330114102008001015405016130100630176201501813030519240120107040306502140810911512150400403563011043143040040570505406801071308101581304501019804050101031430111303051270505401310640141301001014051514016405017102065018703010540196201030116405021070403036061014165109003040650806057500408106040010008020091303051010341113030512100080620011320081040116405021020602315004014801504015102060256703010750806058620150913030510703010401118201040116405021020602360091010541651500401650040710200408259220010101108010041118400403012254001501136150040114402105011630630128080030313030547030102056200840400563054040079110805840505409150101080030620116401121080030650131301141508060540156401161080020065020174050183001010196150730201303052170301020221302040012236130820405246703040202540126304027400205028400703040296201503080800303113030532703010203370900104011301260010200380104205001020054050650361540713018405091402001029041005111612407020068013161419030181521050161305016017640501810807030197003020201240010001102140200800140022130305238060680245064001052513200126709001040116405021030011001003130200606304405052704640174002105083059130541010610400270111000102001260210301313040640501050145063051540116400630101765090305183550401966011040020409010200111502130305330141010008020051506103002002072586101000802009401104650117003020123040501310300110146405015103002002016213030517801004188003019800301301202701041115021047065034050446505513016150150017615081047065091301103001091501114020010411307050521303053610013043014006007005054050670214207509010218408020068001163018003050540263014050105054036301402005054048030102400205051700150613015070140763014020050540880301010001020050960030100101303051164050121040060070013130300109150146301011540501646501713030518801004196006020020600602001501214021050111070454026104050105403640141070454051303001091506130171000200620011163010202401615403355040463015103465067050517408109011613070010502140506136704030614130901308140056050460030540635014007400320010840509400840051101301505120011600130410501280105113124114670415130305168100117640501819041001940502013030521100103011301060221401501020403630141401501051530613020400127405081070403096061011010371125126301131034143051540501646501713030518630101196301205090102001164050210704030340504130901308140054050670020200716815050010965610406405011801630102012104600306501313035051463011510900304065016501001020011640502186050341050144040505160304066355730305865694086050106140027011403051212200151040138501080114614006007001513030516122001510401760030103011630305240138010413060401614005640168010713012008008620150913030510220301130010101240810911610604008040065020280103130506011041003051303056108040010204078010550864019104003010107030102040118010121302040012138010141040014010151305060110161303014001017301184006400650550194012020400221305502264002001000265023150244005020865502561304060400800708010502640502713063041502861502940010064061303030104001401031213010060932640133400807030613440503560010200368015037130305382015039254070301040116150214020015360018040044050527030516503006717168170200180019803011035018117030105401121501310903081142105054011590308116613090308176001020018618800200400191301508060201303008216150224008605061236400400100612480150251303052620150272401284007040306502960021020011630502400604009107061315044007043061521050613050601107630688200904004098030110400401030611120301213040103013804007002006511420130407030100515615016400903086117640040010061188015019130305202015021100080620012220081040116150210400802001001310100050413030552030164050760704005862015091303051061607011182010401163030524013801041306040161400564016801071301200800863010049690105011013070010501116400611213020400121340501410023020401561101204016150171400100611813030519615020400208020061218015022303052340124801025130604016140026640127801028130120080029620150301303053110005010132840104116303052401380104130604016140056401680107130120080086208010921303051062010301115021030013107005220404110515130501606610140072160020010508620150913030510703010117003020121004102001140502201503102001044500612513045010168070504713030585006129130450101106130160020051162015012130305136040107011429010200111012110513130700105041405061520650616100614010507213010060983005411093030510630611703010121508060204013161413061304105015613011002002105016150171020501810005010119162080100102001218013030522163010232540124803012540040027061261305610271502840070430612961503040030661311632400702008006133801503413030535201503624013740070403065038600210200111012110513130700105041405061514050616213030576200606305861302040012913070010105073011703010122006063051361302040012141307001015150730164050171002301864050191020802002021303052164030110204005226204002523620060305246130106402513016002002680100427800302880030130129270104111502130700105031405061450040520802006165004071405061850040920802006110500401117414611220802001133040141020501513030516301010008020017305401863011930105410540206021030112300200213040501801001050321504305405707001216130104011130700105021040060070065031302018020010504163010110540506465071304064050105081102400100065097050454010130707511801501213070751330305143401070116100425073037030102040480105130204001261507170018604070400409110140010130305111020802001225113610604005711425115803011640010070461174070540188400101910600680061208010218410500221000102005231502040241700125405003054026150271303052831407029130405018010010503061302018020010503180103235504033340107011130700105021040020029065032204048015052015063020407804008840509130305101001306111130401250205013407020401461501520150163030201802001050175090102181001306119130402050604008670021703010204022650405070204023405024130406405010502580130305261082040272105020402810640291301001014053063050311037030321303053330302018020010503470301035130406405010503660210301115021304050180100105031060014706504130305565666001470540761700181001406191301010130903015111001406112206013010131020011065014130501601563011610700202006501713030518130119100301030114070027002105022105037003020430151301065630110763018130109563011010640501110800303012130305138030501440034153051660210301110121105131307001050414050615301640040060070061713020180200105081630101109405010465011130406405010501214002001046501315014400370306115303051670301020401760309150118402105011150213040501801001050380104130420020513016080306405071305012008630509400341030540115090102001113012130700105034001261461903086156170400904061621303057616003090618410505409303051080163010201140701213040640501050136606801410640015130305161304064050105017132001187090010401140121080703031303054270700122040515063002020040040761405040040862015091303051030012020011170301040113012108231303054130352005213060610640507130100630813019405010900304011620150121303051360401070114703010401115024002461360010200141654006008065616740070806187050960610108015011130305122015013708061141004102001115021307001050310208020065042130305562006030566102001046507150810802001006192105010130305116200603051261010063065013506405014227080015650208020016227080017610200104650181501910400600700612021050217003020226021030111630102025403130201802006504810015617040045016303020180200105077070012184051050116130700105021405061321303054620060305563040610802001006172105081849405054010163010201160680121064001054013136200540146201501513030516100080620011720081040111060130202153031302040012415054005073067030105407204001218405091306040110108010041160130611240660101312022001440501570030201680100130611712005011813030519352005208016007004005402113090170100522290030405402350040241400600700612513070330264050272704284012931104005403013021050140031807080650132705033700302034614001050135406601036603091501374021050116200807050128061005403130962004240105001100540561003050163054071460030618130212960341106100305011130540123011340070461148010151306024001661600700501174050540184010500110011910003010900118024012501008005403401050011005404620802005405211014006130305761004003054081301502101109210001020010810011610063054012100306250113100030801423015927016130305177030105118220802005401980301201064050650211301221003010301162208020054026100630540370301044020010405254001501670900104011610063054021501310040030501413040601085701060106125074020010408200606309130305106401111004003065126401139030265146302050153002516305401761501813070010501916004003080612080105213080102230020234050524401253054026252740502870304029130130140021703113090050326401331004003065341010010501123022008070531303054130105562015061303057707107188201040116150240503153041302040012513016301064050507258100230940640051061064011130100101405121020650137030105401430051041180290030402405031307001050451461582004050167030105407910214008183040093054010629045401170501260210301313030514205001020011616007005402130200213610044505615705056612030540714061308130501609213021930106170400450111303020180200105012405054013707001211413010401130205021302001606006503801041307030405405054066130406405065071064050650824019150730101301020116401121507301340501410023020156130401001040105016130903015176130406400650181307201519613040640506502021303052161301064022130160020023163010202460506400105402513200126709001040111501216810501313010204204015168105016130107506886130502101050940501027045116168105011213010131220015104014616040170103015616081100166107010062176130160219186701060101961106220610650602165120065022660301040150236140010501244166425726200116200603012100431009090501540470301020540506100230762006030183040950100909054010703010201162030401213030513406601014400203010401120060301240230020010503640507002001050430103015102065063030501607703010813030598351027041113020060301262015013130305147071071158201040113020502130305310300544240151507306130102071507305827030405961304030110205101030054650116208010122130305133005104111502130700105032080200614690461570506602103071303058100498003061108003013011127010411150213070010503208020061469003040615304061020507130305830101000802009305401063011130105410540129200101001113012920010100335504046001304105058010516124176201508700302097030101013030511106010200111012110513130501604100453110204061302006063072130810084050920022040108014050611160010200112302040136150144002080200611580150163030517401188010191306040161400206130120080021620150221303052370301040124820104011101215303130204001243015400100030616801074105020408630194001006306110703010111303051213011313081001415040115130406010816701060101712501840200104019200606302013030521620304040052213010015123130102440200104025620068264050527801405061282130305296200603053063013140010063061325003015005331504005613460010200135302040361504013713030538130539618440602815054115042102065043305446304453054640147801048130604016140049640150801051130120080052620801053213030554620103011305021060400502080313040601084150510206506702417303058630191304030110205101304010020026501164050121060400502080137050147021440051561060400202200168060108300200540171301051834010701180140121307001050314050614670403061513090130814006801068010540713620054086107104540940501080800305116140112130700105013160400502080611461604002022006115801070700254016707001211713010401186301191034650203054021405022465023130305246301012563012650901020011101211051313050160410045311020406220051507405082002204096150730501101301020401150620011240210501180140121307001050314050614213030556170400904061625780601046003054088010920084051040505116808003012610541054013130105149020019115406040010010401110604008040065020210030313030541080400102040580106130203013057150814020069530201030106011305126304136305141600400158030511650908017401184002002019656201020050051211502230402310205024305125630426801502720150400128150050400105029803054013013050030500150314040132400200203361503420150613516006536200313013765060110388030307002020039405003040890041130150500101050421021050431303054430204045150464008003061476130305482203049300101050703010401260402130305313020084050413020081040110121105131307001050414050615168061621307010064718304008302040925104051013015070140111301124011310400301014703010204015100010200164083010171309010418615040040198200402015021130305221082040234012410200104110121105131307001050414050615301640083061730070110200813030596301101303005200111308200140126301131305410146301151301003011041663011714010501813021040019130820014020102400100065021808003012240502320025402462008006150125617001268303040040278019091461286301291032004050204030300501503110064032150339046204034705035130406034361308200140371503840070400461396400701650614070301041130220042613040010061043630144400701650614570301046130150040476130704615048614001006149130305501505113030552300410453130701001218200404002703010204031304010400546130440563084061306005071020076401815309301000102001013030511251261304050600501005136130406100670051461304040020041051561305091085166401171203018130602701913012040121700201040040226401237002824703010251305090226615027400604001006040612821301730140297003020403080601003113010640321010603313070010503420802006135405036410502040378030138400600300654039616003006504013010640411204030400423020404341050204044614004040400457030102040465070404001047620080010400483020404913016030140504105015180405052180092005380105440600409055510001020056404003150805730150040588015059130305601000806200612008104011060130650202401700131830430540510030618307302040813091021400964011070304040040114050121303612008134020302105014400703040650550154040116703040204017130305188020306119404012014060205021703010204022617002020061231604024130305257030105266140010061271303052815029130305306020010703113086012113010640218303302040413091021400569701406130700105071640061813020400129830103020401169701402040128301330540146130408905014001540501613040640501400176130408905014001840501913070010502016400612113020400122240502310023020402417001251400104004065502613620055027408905010502810001020029406018081050306301314040060070010321600415033640503410208020035213011040150368010043782938704030539656408010411301600200542405043130600160200105011012110513130700105041405061517001610040400407130108130903015980110006030611063652040116110410204012130101313040200180100146140608611522001066020401661200330204017130101813020702105019615020205040040213502122801952006123615024205040040254020080010261627703010286080200291630311031184324050204033405034130100011093516363014060400403713050601103880304039400346140401104180400104040614290701041439102144801406086145263652040466110410204047405054840149102001045013030551301037030527030102040534050548200355630205056102001045730109520020405863010400405950704040056070301020406130703020406240030020200650161700202006125070405313030547030102040564010500110056130700107615001002040825917001010030400401160407050112619705011361400100611413030515150161303051770301040182700140019130904620011012110513130700105041405061520650616100614010507303058300541109213010060910630111103200405020401230050150131006401470301015130116400704306117170430611856191100200220303040010061021614001006122130305231502413030525600210200262401274007040306501670421303053130700105041405061567040306161309013081400730540840100080200596132001070900104016130700105022080200613620700261421101400501516301020619081271303810401101211051313070010504140506151700202006165070404007130305870301020409170010540111006401215013102609611413010204015110410540168020801711041054018705020401961400100612013030521670301022130305238030104006203024130406405065016301004216007003130305440105001100525010616020011010307627050050184050540915005010107030020011501001021126100130131303051415010154070204016301050171100404004018130903015196140010400402013072015216140504004022220060301023670720040040654024611002008004004025130305261002008001278605012830120802005029705020403060101014002040316301460030502040323501400334003200103440503540084005136130150512003780405038208020039270440700302041405020404280100443800304460611045130602103018024012501008005403401050011005404307050154056370305016100306254071001601058108200806509130203040107050114061800705126506061138900114404011570020200611625176301184007130194009307020703010216001105052240505402313012410030103012540505402680170802770505402861908082915030130305311082321304086050105016405021307001050310013061415015509012001061600700501740105001100540880506061989001104040111700202006112251380110002001050114210505401513070416516613021000800110171301018106401913010010140520660680211050210540221303052324012420150612510905070650110121530313020400124100453110204062006063050171021050830204092050010200110404011120504004012400600806501340501413020400121561070806167050172050010200181004193110204020405021130305225062002362040012244021050110541022531303054405051400270620080061505760230813060301409610600200354010405011130900304014001213010131305062001421700505156105410540161301017902001918406040010010401301004220802003130700105041001306151506130305756813040601089125010402001040111003012804050131040302014405015130305163001010117150181200141915020105302021130406010822125023402001040246140525640502680102713012008002834010701296303053040302031130604016140032613012008003364013421050540135106003010036401371030011038613030539703010402030413001010421004102001610013040021301056436130509012001045085051250110613030576182165810030980304010107070022040112700506220401223013150400401423002001540405016600301001710100080200183040501910300110206107070022140502210300110236303052440302025130604016140026613012008002764012821050540129613010530130409010200110121530313020400124100453110204062006063050171021050830204097030101080400200511405012130200603013150144001006306115401163110501174050182300102001963012050700102002180100422311020402323001020024650700102002561303052670301027203028300101029100410200161700210013034066010430100640551016100640717002020061850704059130305107030102040111700123703013801020401415021011015637030204016403062011761400120401840119304020106400211841224050231307013040105011012100640314600306141301200800513040100460561304001072040028130305930204010630111400200400461127030101314212002040148040050100302611560016020010501100130612101340660104150580105161006401732120010508615019305010504600305111840010121060020036113405051148015015106002003611640505117801501184160030650110013022003301503405041307001050510600180650615070407130305870301054019146003061107030105401113021212801700113460030400406514801502040151000130265016670301017130305188040062030611915020205040040214064050105011001306121013406601041501530506504600305171241840194140611080105111801700521215040013620022014801001400301151501165155011710017046501100130220023150104301514030206130175080601086160010980180200100102105050111621050121301006401313080160100105011001302801505134082004054703010540512002701050660505710400105650880109130120080010803011140016012703010131301006401413080160100105016140030270301054035021412501051440621308100717008100200219100200215011080400100230114050121845401136304014104001002301540501613016002001710013018301100400305020191001302015040121104001002302213030523405024130404001001050130105022609400313010410420530400100400305010640171501822160991041010130102011301100400302012150101316001801413030515200216130701304010501150102120010431504400261052150040106615004020780400206508405091908121013050120011670030201237110131309001304010501809670400230535080605410040030516001056801004003057801902884050913060016020010501802705002130305310002001214102850058010613012008007301020010582010809106120010106061051116001051210013013101146103040011517037400161501712065018405003019570012013010002001221801612001022606105231600102480190282540502613050144010501405021330370030204204002501570301062501071602001101030815059405010100400301150806011221000102001350806014161580601416801017130120080018802015040119100400302013050160213401070122640502318101512480201504012518101261305016027340107012863010042931104005403020060305013121302105014003250040331503420500102001354050540362704377003020388010391301200800403040602008065011504012371103130700105041081200265051303056620060630576106070650880109130120080010806014111150121010040030611316141090302611516164001009701711041054018612003305401940502060030180211622105080612340502413012008002570030202630540276007102880102913045010130630540318010321301600200533707001234709001040113012130700105034001261440505100230615074001004200618703010540980170304061101501113030512100080620013200810401101211051313070010504140506151400100616130305761240010006181301059130660103051063154611180101260210305133070302040144008030865011502130700105032080200614306515063054074018801091301200800103401070111640500305124070513301080400461142515405016707001217106401813010010140519401204001002302140505402263054023707001224130104011020010465021503106002003614405051305012006640175408260012003105094050511063054011707001212401001040161306012001002613060120010053801100970614110410540153711062401720602185020130194050101303051161303051270710713820104018040502400123405042704590030405661903087801508130305910400621070301051115012130305131000806200142008104011304024007030403150413030553056403020713060401614008613012008009107070021040501110300110126101000802001330405014103001101561303051670301017203018300101019100410200110121105131302006063043015108750206130700105071060120070650880109130208020010405011130700105012100130611314050114218061554015630401640064050171003062540186405019130700105020514612160401706502230302070022360401706502430100640251600200105026304027101400620281082008065029130203040304050312704324061800705331010063065034150351640010400403657001378060070065386150393040404006400654180187002006142640504310200444130305458040050400546803050474004030204830549405050130305513001010152163010205313070010505430405510200456130305571505810952005910030625406030540618010621304501016360071064630540658010661301600200567707001268709001040160401706502303020700231201306504303060840058015063110620780182040821050540916101702008001170505401261501340070200800147050540158030501610800200620173001010118615019820404002080182040212105054022213010060923150241303052510822613040100609105016201080210820406502036705045404130400620015580105168204071303058500409104006306501040501127041270030201364011416301020152130406405010501150121507305013130400620015480105155410665062007108204082519130502106501013070010501116030406112303070010501351461146130200215010650156130182120016240117160400880900611840501920400122013030521620150612270301052330054110248030125400600300612613050160276160030065028630129400300400200613021101400103150040501321003010301336405034304035108204036240137150730381303053980163010204054041130201802006501620400250127030105403801051415051305080606213050806076130701050821307010509613015080102130150801161301700501221301700501361306050142130605015613032006816100901901780405018400904100192520805621208012005223052364050243040251082040262401271507302813030529801630102030540311309001304065016100801050127030103150012005404270106010512506402001040740904100183040192105010104105114050121304006200151361400105015141301503103015801051654101765062001864090410011930401202105021104105224050231304006200152465410256406709005263030404001001050163010820402153031301503103042401515073061303057801058640509304010108204011240112150730131303051480163010201554016130801601006501615073050121301020313020400124213081005409041001630401721050810410594050101302040012116405104050112703010513801820401421050540152401161507301713030518630119400400270201561105402170401223110202340502413081002530203026370305012740502040283002007052964050513130630631300110321303053330370302040341405356184536630205037301023062040388010394014014001204041801604002100614213060010200140043130104413030545402003702040463401070147801050210204048240149205040040508010551400600400308065016150218204032105054042401515073061303057630184004002709156110540106187002005401115012108040050620137050142708001540116150730171303051813010201980150204006306121801703040221504012310200104241303052515026109010254027227080028700506254029615030205001020013140503213050160333080160100650118082040213031530105310210006504640505186050640507130305882040193010064010106100506501101211051313070010504140506153016400400600700617130105648613050901200109163010110102708005401116301011012270800136405014104006305401540502040168015051740505401815019130305203012110541022130100640231309001304010501804002001021307001050380104100306254054020080061060120070650780105408101006306509506003001010150114009010250112411020051380706010141303051515016101400101721308040081816191402002040502170504522801090286123703010244012516020061268010271508060540285014401050161010063021307001050314050614156301105130700105061100604061721303058354911040150540101505401130407020401282940013170401305401480190286115600160200105011012110513130700105041405061540506102004004740502040870509410505108060680111014001012130305132100640141082540156108265051617003051770301018130406405010501917075207030102113020180200105022103154650238010246021030251303052663012710600180650283064052930110403070030203180800303213030533106400105344050351030011036613030537616070387030104011504012630102040313030546200606305561307001050614050617130700105081010010406509130903015106106400650111307201512654013200120706501640502104006303130305462006063055613070010506140506178015088729130305105401113010001302650110121105131307001050414050615301640040060070061713070010508140060070061941050204010576111630702112405013130700105014164006115130204001216405017100230204018613020801200191630101102061400100612113030522150232050400402440640501050161700125014104004031301041309030155140060070065165761763070218700302092150540101006401130112107010030650110030210131530413020400125530640050100406507405018130191501014050111213030512640113150730141301050115640116150730174050181002301961502012050020020402180160100650110030253031502102040423002005405067003020740500625870504913030510405011307050512130305136100080021470301051563703016405054017130100200451861306005017102001967024201309110006400211630102022300200234020150124618003025705026606110271306021030161700123110620403100130614140501561004646003061721302080200865409100410600200361112512613030513170304014240115201506116102040040650164002001022050010200134050540410601200706505801061301500407613070461508612030540913060840010302106011401122015061131070403065013063012105051540313020021501065046130182120057050610063054071301500408612030540913060840010302106011401122015061131090507065016100130400213010564310441303055401000306305610003040071104105408630705061924011010013061112301210415134026069400150141050801001520108016103001101763010710450182050010200119405054020401211507302213010202340502420022025910001015012662080200127613010010501282105054029130704165306130210008001103113010321064033130100101405342030401351610046136501200137303082002381980151391303054061060706504180104213012008004380601414461303054530146108247130408060410501630621503153041302040012514050616614001006173020802005018705054096010101400540106301460030501540113501400121305070104016306215054031100140614130400620015561301503103066401715073081301054094050102002540113012030611240501380610054014640501540084001612003305401740505401814051940100400904520620500102002140505402260110234012410704030650110121105131302006063042301000540161507307130102084050920022010615011304012400807030138040114230100040015200601304005166130305171070904020184050191305016020150211303052230123105410241301006402513020180200105011003021013153041302040012530604004067030107300101088400109400100104061101304006200151161301503103012640113150730141301020401540501620022040176301071045018205001020011940505402040121150730221301020234050242002202591000101501266208020012780301284001602970301030130100640311302018020010501150213070010503140506146130700105055146166130901210650761305090120010840509140501021303051161301064012130160020013670403014901308115803011660068017703010540186301195402010875065013010042160070050134010500110042501051602001101030661200603050171301054082006030192030401103110540112006063012240113301144005610151508060540168020010100117207002611868020010100119101004003065016860261213013400206504804005055807040616690406175004084001291303051070301054011500401270406113690406114205001020015405054016613030517290102001824011910704030650130100422080200313070010504100130615150613030575681304060108912501040200104011610013012130406010813101142501015160200110103016170246117130305182002101962002204020150521405022103002002023213030524801004258200402613030527703010528130350529640161530130501200316401323030900130401050334050341509012001301004220802003130700105041001306151506130305750013050085003015005964011040501113051213011313051461841561501630401710504005611870401191010063065020301040605021130700105022208020061234050540247070012251301040118030121040062650313010413030556106040010008020065056613030571000806200820081040140121304060108312504402001040513016200606307100486003040094050101002305111302006030126140513904101005142015011510120301501613097014017150900200182010801950210502030540211301101400225004023150900200241501025106802065011003021400702465034050446505130305640173018104030209302040108002001116301125080701136130305145615130604010701613070301040110030210131530413020400125301640010003061780108410502040910001020010130810011630112400400270611315611014100640151004168003061174050181002301961800306120205001020012168003061227050236061102413060210301307050213070010503208020061440505250106160200110103077030108306015094166410670106010111250124020010401370030201424011570906116620150611710704004650120150612301310400501565047050540502020068070306573021060840192015061101080703065014002001022050010200134050540410400630650513070010506208020061730210608401910044040010305401115080605401215013606009141303051570301054016680101713070700121854019600130465016306220150613106405065042130305561305021066401715073081301059401101400600700654011163010110126302050132050010200114405054015801601006501304003450213004313050160470416553030700105061405061713010564861307001050913002002061106304003450111100200254012406451330307001050141405061151307001050161001306117150118509012001019700302020215021405054022100601060105023620052150124615054025301261060400202200650161700126040706134014150730513010613020060630740020010817010505409400801080010405011130440701240401137020080611440501513081001610100630650172002501181405011980120400250120407021130300154105016401230501330145064050521303056640173110501840509130810010650940701115012104600305011320025011440701513010064016130901308105018015001254021303053240141001306153501400640032001074050840084005191301505120010600130410501180105112670030201337110141304086050105016130700105022080200613620700261421101400501516301020619081271303810401101211051313070010504140506153016400820040617910214008401918301013030511302040126301134007040046114150151303051630117108218130407040041050162030612404013200710020404130305583013016910217614001006181303059130700101015040040112512406405065013012106160070020403130305421303010006580106110401502040763020508106160070020409240110701004400401113011040150128020801200400513197014014703002005154060120105016405017166091840119400970406502015301020402116222060640054023162440082001020025200100252680405027304028103429809010140305003015005311101403270030203320801200534110401502040351700136830804004037618809006138110401502040392070030204010210504113030542302040431101400544307030204045400300202006501101211051313070010504140506151504016130600402007613040106020086130150901296130173014010200360114050127040301313030010915014801340050265153070302040164008030865011504012102001043130300109150415051061007062105020407130704165861302100080011098010101306004020011613040106020012610904204013705014700202001513030516670501713090301518805301915040040204050400565016191070612130305361910706141302006063056187002006168015074006301040040880170304061915040110703010112006063050112130230110001313040210501301060270301031307001050414050615670403061613090130814007350188801040199704061101700111401121400100611361405061146704030611513090130814001650040171400100611861405061195004020140010061216186050612261303052310822413040860501050110121105131307001050414050615301023065020406130305723001010840509130901041040050130511110410204012620040182040133010703040141303051540501610600180517213010001021880405019170400410202704217003020228030523707001224130104011012110513130700105041405061530164001004003061713090104861504004098200401064050111004003051240502040134040070404114803711015405003016401171004003018405019130507040201082040212522700612370430244050204025541012621301000271302070252816292080120053097014031406012010503216337043034700302035901014013630107006100376213038140200539708014013030541704014260308043640504470144580105040010040461303054740505486130305497071075070065115040010014011830230204039010441302820056970140564040017017302040863030601012005968200401070301020401190104121302200134011444040040158200401166140010061171303051813070010191301052040083002006501370302130305313020702541302104005130820014061001014017303050160861303005200913082001401061305410116130100301104127003020133040070304061141501513030516107030401740118801019130604016140020640121801022130120080023615024130305252203026300101027703010401170304061215031303054300410451307010012661507130305810008062009200810401401270301031302006063041301513023011000661303057107030408401940024650106401114002040040650110030230131060400610413060021050056130910266306717032208205002005913060021050010801400100611113030512101131630101413013021215307030204016400803086501101211051313070010504140506153016400601306177050813001011091501040024113020401240060620401361501440060130611570505116810501710507301813010020015019400242030204021708012213030523705051246130305251000806200268301040110042601305131006404405051002302040650040719028618251920180200105014012370303130305440505281020056630176011025863019690103051063011181401263020501313070010501420802006115108040020065016703010171303051813020700219612050020054020301211070100306501617001210010303305404400701306151301064017150730813030596130101013020060630111001306112860250113401146345011570301051612110501171630618201501912165402030121107030406502230010101236301241054004650110121105131307001050414050615703010204061508060204073018108002002040940501080030111700112154004104004013130101413030515402003702040163401070117801050210204018240119205040040204007040306501101211051313070010504140506153005145621050204071700188800200918420401013040640011810501213069010513150050150147006115704301640502040171618160020015019405020100010200204021150221504004023800200240040248010251301200800268019012400204027409010252813040640029400826065054013040503127043213090301533801010060401503421303053515036120040024004037301385030040020010392540500405014163064220150437001441002002104563014650204004047300514548130305491501501700151304050521301500401050180150270500200370301041505401516040081001615004017801600200150810100640150940100140540110405011130700105012160400810013703010540141301630101501580101006040150162130305173030051440050118181001940502030051440054012164012217040041050123150124170012530405026130900130401050170030202145010315041014006152130300514567030107635518169106001806110150114002004121104015013270414110401505401561400100611613030517616040706118613030519301201054102113010064022130801601001050110640210340703130305413020060305801010063064017001713240040810013061930110703040113050112150201315040014703014015130100010621170021001303130305410157010601061250740200104081700202009507040400101070301020116703010126130440020131700141104400201522006816130100460174002030401813050160198010201304054216205301226170023703040400202413020400122561308204052661304006200152761301503103028617002940060030100304050311309105032205101053313091020034217005010358040050806003680105137804002065038910200139217005010406400220010411301204054261301220090432170050104461700454006002003461304064001047217005010486170049208080400502501051160200110103052705020531700543104005405521302105014005680100130571307001050582080200615940505406015061570016213016360820064402105016170021681040031301041308612001010505150614050617210862200606301091001306110140501116130054122150501134060304065011700210013031308612001065041015701060106125074020010408530910604009107010200220111501210507301370301050114401104515405016130604011017100130181400100611913030520150212050400402240640501050110013061250200104315045012030540505166400940105071003062501865070304091501010041190410040050112650206501370301051144050151303001541050110013027010601031250440200104051303054062002501715073087030105019401104510405011130604011012400206501330501147010411530163050116616002005011761105184050201961200710050120615040021600102002213020017100105011001302130305315010440507305157030102040680405071020802008270494050204010801501011170700251270700121133011417070025151841164050171307013040105016170021001303130305410157010601061250740200104081150400910030400103030501601114006007006501012614010131305105014405015465016130305171001301860281502019401201020650213010221502311006302440125301060263010272810028150292050400301003040053180100432703040400533400703040344013580103650806010376301381703040394014080104150806020421502043150400447030140451301000106214012100304003305404130154016140200400501072581509170246110130305112002101262002204013620504001470301054015300510411640117440400188010540198030401204006801040050102120504002215040023130200100102247030105402561504002670301027203028300101029300510411502400707002540380150540470214205615064001000802007305408801502091504001013070710711130820104011001302130305357001410640510508070613090141001050790410054083054093501400104003200101140501240084005113130150512001460013041050158010511612411720080010181303051970505402062008006121705052270030202313080672413070900104013030524030203130604016140046130120080056401680105507656870301092030103001010111004102001260402130305313020084050413020081040113084042303053130700104600301005130604016140066130120080076370308130900304014009613050620010500401113070010501220802006113220025401410704306501562130700103600301002040440505910506500407100800108133019613301040604010117050451250040131504004014400404002006501656213030538010413060401614005680106130120080071070304086020020409635200204010610703040114011240020602650164012400140010540340504110554050611014007200254081301920150611070505111407020080010501801004220700261321308100430401531105406806068071014001054081502110940110201506111251210604005710650113040210200613204041530205015405061002305407405081002005094020501540108010111301200800124011330401450402050153020401661200603050117130604011018703010540194042001200120637030501211301505120022400320010234050244008400540258015302050154026270050625402761503001501284050292704540301002005013116002001050163062507305013703010204204001215801061002009160780304060658211041054093010013010130700105011208020061121501357001141301156082001640210501610013061230630131507304703010554030206630671507305018403020193010080010101301402001150040123011310509002006501630623703050153403020143037030501552003301663030260501770301054084019103026065016301004216040057103220060304405051002302068081100721307001050860600200619405054010401112015061122513106040057106501100302601020061380104130120080055004061509002006172010808201509701100251013040207002105011003023040503401480105130604016140066130120080071003083030592040021070301011508060512130200840513301034070502040141301015106401613010010140517301182001021980105201307001050216006020061221508060540238054024301251064050650163052401360205048010513030103066130505120076568130604010709130703010401100302110001020031303054140060070056301016801920071306040161400861301200800965610109704011630112109704013100301415010151402004001615017120650181630194050201603040216301224002065050234050241304030020020105011003021501031600180415057090104006200210770700128106409709001040140502109020080370505410640107005801004620084057670030208130806791304021050161502104060602031303054280020058030162013008073058130195610615011104060602012260010200138056147030101520301630010101710041020016562130100152003806100470214556566130820104071306002102001100302110330010104120220053005145610030713030583005104921050101062105020401161681012130101357001141301002001501530150700200204016251764050182301000191105020402030400300546502115022407023130305241305525160020010261003027301281300542910030301504013156321305336184346150501035220010103640401374003002002065011307001050214001050154031302040012410702008065055204016107020080650712501105408130700105096006020061101508060540118054012301131064050650164050219003040340405041804002001057030106130305720700218169207002102110140051115051230113108030814130900130406501610640250830020054033401070145004055010063063030700105071300200206181105093002002016204010130700105011205040040124007704065015004023040340020504804005040054051301615071001306186130305920025011040111205011240300200201050115090020022010803207002614703010515080605406680030770505408401920150611010804002006501640505402405031060400407041301020563703050167030107100306254081205059150101080100565116801012170015054013610020011461501510200611620301711051830119106405061202512184001022170012331106202410314306502025101006302613070010502720802006128150295700130130131160191020032130163010501654021050565037050546105016505705056615071053020650813019150806054010640111103007020065016306240020010317004610080615703010613050120078010013061810193010400501105020041163011250207002132110140014200250115650206501640501713040640501050123022413305404401520150616106008065074050810023096306102004611130701461123040113505611470505156150540163020170026501610013061215035104130158101400501613045010176401850850924027065001050163062400200103170046100806157030106200254071001308130106095700110213081001110013061122301013620025011410013015807006100611613070700121724011820504004019400208020065011004260060200313070010504207002615230100110613030578400108170019311040054010130601705112100040051210013061131011486020040050115703010164011780200950118801051196540201084030650211671200540227030102390056200540241301256011026401271072006501640121308101531304501014130153070266305676303041200813016002005960010200103030700105011104001006501218030113400701003065011004250703040315054301087502051307001061010063065078015054083019102070026502010630205011130900130401050122110140013130305141038465016301004220700240032006030440505100230206809022006177030108401920700261106167006111840010121400154013509020050114630115402430163020304014001713030518630100419311020204050215021221304020060301050161502201503202200470301020517020018005406801507160400970400815094002400100010105080100111801012130120080013161460304011580101613060401101780400140010540182110519630620300110211303052230340705402370301024130541025803012640020650502740502813031530105011504012106040031023130700105041060407065056130406400106102705005407130305850040913010510102003706501610013061230630135073047030105511056405072002581003091501013030511100142001270301013150141050730151105166302050171205002005401830119107030406501640124050341254801051301200800663017911020081091020092350181051013011114040121405001302040134011480200950115801016130204001217405018300101019500402013010212002540221083002006501613070010502207002613211014005014904056220406801071309003040140084050910300110130305111080030305126405013103001141037030515703010169020019174060400100104011003021200110400204031504140012040570700126130305716814004002040913060170510110001020011130305124004706501315014205040040159014100105012302110153400470650480102030080540164004706507130105815093001101064005060650114011240030020020650163010042120060305013130104140405405061002302078016007005015408213021601109613080020011010307030540111040080020070650180306301217003311054042160501540080020070616630205071006040081003062540967105010305401113030010915012401132015061141070403065018030401250606134014700202006152568040085017703010540812612920301030010101184001012170011380200861142401151640061161600700501540172100040051880170011954020402306065018010097024122003130100640413070010505900304061661308404730305820029130701304010501100302120011040040315041600700513030566040702040761290120020408660040040970301010100306220401140501213051310001020014130305151014001020401625171509002001820108019509020080201301101400215004022540231090480650110030212001104002040315041400120405707001261303057210004005816935200510530111053020121301131301006401413090013040650164012502006030313040200603010504130154023002001050664050700200105078040508140509619030810803011160068012703010540136301145401510875065016130700105022070026132110140050141040605405130707001262401720150618108060100650110030230131100630430204057050410660071105071303058630191703040101301000102116301121100630133020401415010154030201615017140027018130119401201068102113010221003023530241060400610251301704010266130290102002718030128400400802020065016150700200225313070010504106001806505150610830020061713010820025409301060103054011405012465051363010146301153008010701630703054017104001006501630124009200431307001050410470650520025406213010004157613070300108102001046509635510401117030102012405013860125401440501530010101664011740501886012201970301054020405021300101022804009200454023804002065024405025130900130401050162070030202804005013270800540422708005301010063061615630110740508130305970301054010405011210505011213010601313030514217030401521303001202001050161700123110203130700105041064050650521101400501680100307603014087030102040920400210200220401170301012508060513130200840514150515405016704030174050204018606101192351305205004021400122240502327045246190308258015052610008062002720081040162070030202508090303130110140046304006040021050560210306130403200401050110030215010350510400415051702461307001050740047065084050946501013030511100301230113140027014156110204015100416800303040017170011864011915012040502113040540041050110030215010370301042105055405062002107620700240040825940110705041011401124006040070330650132514150151308204016130117303051810100901913081002065621600102002213080190301050110030230631504705041054016400604007033065072583010080010913014020010210501011621050204012613030513170304014213090013040105016705045240801400831301000102430151070304051613017568610703040940110801011130220012613028200136401144006010091540501662001005171301181070304051196301208252180102290030401400231301200800246301252009226630127101260281301298010302040012314021050165621307001031040068012040421303010305610703040640173200840040821305051200950040101027050020401180105123010100800101313301440604010155004016130105174020037020401850040191050210204020240121205040040224007040306501656213010015200380610047021455610200603067030102040788090058840010917001103110111842040121304064001340068040051420060305011565401630117108020096501500402200461313010413030554063015406130810071301830591308204010656111602007012130816021050110030240503105031020404405059003040140061302200761302820084004706505940080020070110660080105113010501215031501134050145700515305020650501640501713030012020010501100302130305310503102040440505156405062030720200285004091504004010400300200206501100302563130100142004703010515061027050077030102040870700121940501080610020401116124050134008400141200330204015161610302602040173001070118610700101001927080020402021602127080022150900200232010802450902008025130110140026307030540271080100565016207002225310064020465651308100610030730604008703010204092620103013020302502134060400100200466068054007030406501617001220011040031307001050410600680065058010611014005017801702008008705054098400101010600680061118010128410500131000102005146140115105060105020161303001091501780301184001007041927042013070020200102140702213010064023130900130401050164012703010313070010504104001006505405068601254074050830010109630205010700202001011307030540121040010065016700200213070010503140060070061441050540530702166305617610002004005408130810159130450101106700202001125121501340026030145080601524011620602400173010601830511940502046502113030522630102363012430080107025615026400704302720302870430293013010660070031405051321630102033130700105034126030613524013620602613730540383002001239405040840104041670700124213010404324014420150614510208020065011003021504706340504465051303056401730181050807050196301101080020050111650200412703010131701001250114270415170016541501171303051820130700101916040056400520130300101910502180102213012008002381020015024305251908122610470650527130102813054102911040050130100303115032541033130305345635130541036614020050137305060304038302002391307013040105016150211001040613130903015461400100655656613070010713010584008300200650165621307001036003010041306040161400561301200800621308100761064081010063092050108010206501110063051213081001363051413040302015106401610508060017801018130906200197013040201301000102216130300514522656231308201040241306002102001617002100130312200151040430121055172006140040060070071905014018130559150101012001201161006402012801013800301301440210501620700302025020010312200151040440302064005130604016140066130120080076301020650840509130406100501050180304012350370301054130301030520011062062021710013085700192002101080304011118030121001301330114182151301803010501803040122001103130100402004217100015100130657001720021088030401918030101001301130105012304013105450101420021015301206505016405017130100640181308001301050180304012200110313030040604217100055100130657001720021085700191202200108030401111803040012100130131011410064015150101622001010174040118400300200206501150102635400363510430307001058092006130604016140076130120080088501080196401101501114050121304030020020105016813521006405310013041400813650105801061303057610048541509630110160018011401124003002002065013251413011515016103001101720021018300101011966070202002102120302230010102370304012418030125400400700202006501620108021600180340141300200204004056301640060018065071502040813002002040040921303051040111304012105073013251470301020401560309150116801101713080200101001050181810019213014050201502120504004022400703040650113070010502140506136304041030260615110401505406290030407163010208305409130140501065401140540046501640030202834005013140010501514122001510405703010610064057502008070842003140094050105030011011150122002201382010401470301040166525012305316081100461070100625203016541050176506818541050194050101002301164050127002001040051341664146603010401501561106216610660801764066010186512006501962070030202050371021130408605010501672020010126108101036701060104613010160520306405071309013081050161604017010302613010607036106506046306915620301680800305017703010813070130401050164050212110540367002001014005404616006150540561340021050154066541050154071301089020019940604001001040170030202541031303054105410525640507103001108405097021451063061113002002061123082913705054014401152015061161070403065011630102021307001050314001050154041302040012561308204066130502657801508102080200925110563011011801004126203050113251141006401153010606116251172201802001050116301020213070010503541041303055802541540611004004571003083019160130204010703010511132001121501356141301157002020010163030701304010501640121004200613130305481005100420056170071001306184019150730101303051170301012230020013405014300101015100301640501715073018130204001219130700102031102125224066010235062001246541025303050160264003703065052710020019106028400246505129640060080650302050010200131670304040040324013330403440070304061351504004036630137121620403810030391303054050040417002005404280104360068005404410307026501657001220400123150730501544021200205409041006130700107210508104105963040050700200101401113010020010126405013863051146130700105015106405065016213016002005171064050650182519654020703010219030140054022108180900650164050219003040340405041804002001057030106130305720700218169100130101681011130101263040131068141301051530010101664050171001301860150730194050030204012115073022130305236306244002001025170026130900130406502780102810004020014002913040640030613040301102053121609632110410540331600200361341508060204035130106403640037650377070012381305650392401402050400404140010063065042703010431303054410001020045130810046620504004047705048110140054940060400202200650163010042310400406501380200141042040156003010050120406163074020058640020020400409401106006305012040116200110129005620020401364011450200101540702040163008070110204017130700105018770404004019150540208010204021300200201102230100423400100970242105020402568003026705020402740128205040040294007704065011502130305380130100413082561305061061060020037130810840509130401040010640600200311130401040012405013130810147003020401513030516801501017400680206501801301002130190218363703041303010305602050166130300406076130100402008860215019700302010400100410200111307071071213070301040165621307001033703043020405130503640630400540046172518801099003040140010130220011613028200121004138090305011413011014001530100640161070304065016562130700103150300120404405055080606618457804060400100200864060400647091004108090305011113011014001230100640131080100565016562130700103150730440505130604011064011078016002003501825950214001020301130010101280160020035011340505146008002001155060020031640505178211840400200120211964050201305060030214050229307051231005061502441501052563501400264050271705012286130710400650296130200401503040300400251316100010200324040030012533150900200613413010355004020053617001371500402003861050705391504080104170030204042301101400433010064044106405065016370306123030533002002011041303505660030100540666002001006173058250105096250140010210001020011703040126028150513640070130101470401151090806501241070213060401614003613012008004150105102065063057630486304094002050103051190182512660030100132030143001010156561622030173001010187030104017003020402130305320022040430151305613017568600130100920301030010101180170246512656137030101420301530010101662010301301240042002053130129012004656510420020613012901200765681303091080913060021020011004231102040329011020044050520022040680405071290200880305080605964050107040101180703010511264011315011470301020401528801090016207003020250902008031301101400463010100630615420060400663050210505730100640810703040650114002702401316810413010205405062002207301813059130110561161702008001270501313040300200201050163062300110313030544015130020020616640173703050120870301054098801090011064011115040012703010540132620103016301240060261313070010504104706505405064650713030588010602619130305107046111210001020012703040132070030201471050115302030161405177040305401850040191301020200254021402003705402280105021054023240124201506125107040306501611006040612213030533544110401505405301050631104005407110583010640505092511010030111504011213011014001370504141303051564011610300702002040171505118170011931104002030121106405065016501003022180104400540361290120054042040153040610640506172581630940200510650700200540118010129100010150540131070405650163062150501350730501413010540513040301102056620304054071304064001086830020050197030105401020301130010101210023011340114201506115301064050611613011715018103001101913030520630205021120500200540221035306501620700302023703050133020304502105704616300101910507130150608613035091068101027080054011130101227080013760020080141301006301510002006200116630617300110182002201940120807030652180700200540226401231080400200650163040090100010213010531801045413070010505301610640506507213016002005863010200800659630101004002008061104011154012401004002008065011801000102002130305312400100010482040156566130700107150730813010204091302040012104080903011161307001050121400105015401313020400121410703040650151505164050730174050182002201921308100208030121400206505022405023130404040020010501640040400220304040032002204904100156704301630174024308302030401400596561013060401070111307030104016150240097031205002004405058010613012008007108003062087050960210301013030511150121040027065013130114130900501561501654017130118106002009065011502200220356417030405405061080030770508602103059656101703040112130405400410501802030612404013700202004160405130305670301057150820504004092110140051040640501050164012302040313014400120306154040167002020071604081303059703010510610041180903012302040134011482004015703010204016130117401181800920020040040191301052061502120500102001223010800306502321561105402421000102002570304026150272002202856291703040302130407040041050167002006129001520031301500404621950551506130700105071020602650813015004096010376501024011120150611210100400200806501630124001203061340401430405107002020061604071303058703010596150510308060100116150121303001019105013301068650141301015163010110540163010314306204017615018197040040654019150204020304030020020650116405022015034010400148018101050155637030501630575062001810403001092510801011130501601220405013405003051480101513090030401400163010601726001200318405051192070030202071050213030201802001050224012320150612410704030650162070030202370305013801042030510020010561201220074032004010518301040202006198010511064011110402020065012130113215080605401464011510300702006501617001231104005403110541001306153050650640507840010850640010940500301040111164001012200603013130305141303051517030401681050017103703018200601304005196010901022013070010502113200406122901000120023705042413030525670700122630041042724012820150612910402020065018040502102004313030541505105410561030020087904200583030160301409640501010200411150121080030513103703014904200515800101001168200311720150401181090704198010201306040110212070030202210370302313030524130200360257030102613070010502730128106405065016570012902001932002204406040010010401510046809030501713011014008301006409107002020065013054024120031306030140470504520025406656763010540824019201506110107040306501610640210830020054033401070141015407030020061303507100481604002050020040040940501013015060116100130121630101654013405014130150601520025011616040040400701727080050118227080019623010005012013305012113070010221330400233050124100130251305012002640500612040276001304105028801051291301304013130011032130305331503420022035820104036703010401620700302025063010327080041309001304010505270800162401720150618102060265011012407030020031303504613015060513040610140020407200603084050204091010090650107030102040111101400101261050700200650204013301001101410640204015570011610013061173005450118703010191508060501206100020040054021130810152213045010123630054612470301025150806054026150540272015061282018020010501700302021503304041020505200220640530207130100200108290030409615305110100018030650163020302420031400340401470403061564016200220721000180308704019107040306501620022021301000501037006413020084055150610300171070052204086106040060030809405010270420401140112103001101320401141503001204015405016700200105171006401816002001050115024013400670465043014005640161504004072407037105011003021013100640417040306157030106402015040020407150108701403098060680104007030406501140501240020650133051470110025151304120016150517301181080308191309001304065016370306123030534040147002001540506130820050076130150701408509010219801001306110570011130305122770405401365700114303002002011050115804011620150173030020020110540188030119109030201301021130305226401232015024303052580562610903027130102830020020110540296011030401311082040650162070030202710503302050010200440505130403002002010506100400307163014540830020020165409301020046540106301030260611170301054012410505401363061430011015130305164011780703065188070020054019640120108040020065016100130612570053150701404682005005832006301710970405181301940501050300110112770405401261507014013820040400149005620051156150701401630117107002020065018160401913030520703010512118040020011022703010523601037105402424012520150612610804002006501610013061240138010429650557005613015070140760013090583070020620050196408200401070301011176135011261501310205014401040051580540168010517300200201101860103710540196908054020150521820104022703010401100426006020031307001050410040030615163014540660805172100010200870304096820040611040111200710054012130305131804002001101470301015130305161004178003061186401192015061204054004105016562130700103150300143501400540702006300140066100010200740702006300140086130506003096130720070104060040030801111203051261307104006501361302004015014404003001251156100010200164040030012517203061184050195004020052017001211500402002261400612381005241064025890145266301274006020080612815052930130108231130406020080105016405021301507014038406305468020030015203061640401720071002040813030596301104004002706111600961400121303001091501315051430204015704616402105015004015010521761334050413080015051500501050664050713040707815005010509100301013070020200105011820040121401313015050010105014140115130040040304001670301051712008140181301505001010501950210650102027030402115022205040040239014100105016405021301230315005010504640505130210020061500501050710030813070020200105098200401014011130150500101050121401131300400403040014703010515120081401613015050010105017140182050400401930054110201700216901204022130305232570012480405025190030402640405027180400200102870301029130305302070021313010800303213050160332100010200347030403515036130305373013810541039130100640401309001304010501100302301313448010540161681071301084082004019703010109170401110970405121301131501410206501540104005161617440118406080681191620308402160050710200228015052320036024162580601001261530273010001020028130305292530804050311800920032100010200332110003463013570143680150372002203810008062003920081040167030102130700105035146148200405015203067001079008020086405091302100200106130100050401182004050112703010540133008640540114130115401168403040017900562005401181619130861101201621401221600400309232709004024700302025371050154026221000105402761501283090141006501801502207002620380100304200220405700662008405761607058630191020041021605117050121301006401313040320040105016010100630213070010503130020020614306530011061303057401813002002050196301101216501116301128200405011340501430010101520700302016207002171307001050184050191002305402084001021700110061222160501231003024530257050420402640502770304028804006002003652930501301503140040027065032130133130900503461503515040040361301374006002009065011003028030305313083541302130100055803066300110730541204081340701050110030253040330054110204041307001050510300546506150713030588200409570011080150113005461128030113400300541440705401563011640040027017156110181307001050192070026120211014005012161307001050223012310640506502421301600200525654026220025402710704306501100302400701306131400304401582004062002204077030102040813019400300200206110251130010101126213061304105013186015011463011540010040030611616301420401740501814030110019508502050200710020402161101540226301234001002002612413080618300254012690052002740505128640129295030630131400100400306132130508060331304001034820040351303053613013721308100387003020403969012040402541307030204042400701003065016301240010020026134013041301040010405130162130400107510818605098400101010230100011130045126168061131302010301461304010715015213010060916301175020308018508060119130120660705121617001221003040040238017043061246306252015026700127100200210286270542913030530168061317003020403269012040332534307030204035400700202006501615025700139020019104406040010010401580140027065663017400400270618130602309804008020010010220401170501260210305137003020401469012040152516307030204017400400100650150040214001050134066010413020400125400401401670301071307001081860509640080901030110302030113001010126541013620084051430703054015230100110162002540171064050650165700122040012315073050154402120020580140027065661400100617307030204084002008406501150240010063061315040141507305130204001267030107911080400105084050910023050110615011205011270501342001604005401430100018030105011624001006306133064150151507306703010501713020400128302050191541010405054011801004123110204013210505144050152002204016654101762008405188040501919003040204040502120700222211014002313030524690480257050512660503710271307001050281090480650297050301101400501316061032130707001233240134201506135109048065015302105090020065031301415054001400105406130403011020571681014001092002201016111014001012270800131101400142002201510640161014001017270800181101400192002202030121105080702250806012311040150512430402540020502614050400274050281002302916302060240031801032110401505133600102001341003035150400900200613615013740504009002006501150213070010503802001006144105054056201506163001070173060400840505409801010300101011150401121402005401313010141303051550040161050210540172401182015061191080703065014050231103213086050548030557030020061405001305176405083110921306010105108030111103710121301134050030511465401530116109003040650110030215050103541501042002105130106902001974060400100104084105019100104011040305111220015104012850108011364011420150154050161304030020020105011003021503903014001046506020105640810110664040140010730305820029130701304010501301230020010203305462700302051402004006615017163081304060304010501100302110001020031303054121000105200216656720028203093001010106301114002060212203013508060141301157030105116630117400720018617200519672002016002001021500402213010232002204024402003702040258010502102040262401272050400402880105294006004003080650165621307001033703020404600301108051301200800662008070727080020408806100927080010420031400113010230620401280101340114140012040151501620022017602001070181307010012196150520301000806200212008104012604021303053130200840504130200810401130409012040012215073031301020480301510205068010790420020882003940505103040050700200112512670020200101330304064050105011400270612401315073041301020405405062002204076301840040027061940501046505111630101101210030103011340114400700202006501620402405031002001054153020501515803110516216050172101400181695401010011030650180401220150347061540417005311054062160501713018150910013061101501112050112900130401050180305060130502130700105031200603041301054056305060130506130402006030105018030501009050270301054032703040464015205016100011021050161306750210640107003130810048040505500100304006406171050578016301020854091304080308650164050260080400340617105054801630102051307001050660060200617150806054082401920150611021101400501111090030406501630100424020501204038010413012008005637030501630204078010518407011030091003010301104011140030020200650163010042600301005012040350040490620050120405500406100305017303040301102058160346193014401080603461111301121230106013304014102050154050161306013410501100130240134050702041301540060346170071402004002081001309150110600102001140505126003010040050101340501450120015660030100400516405017910501100130280152934050514804015102065063020715084004002022009801051108016002003111502012405013130901100020010501100130215090020050103130104106405102705006501100130215020340504130405090020010501100130280240131100061040050104301100704505305406902001920713040604001001040150040230140010505403405042105051104105406640507600308054086705091104015054010670501130040110305401263011340034141205002005401530012020010501100130216002003340505144070010640154048620016304050740027020840505409301403015010355040114050204012134070105016101214403160205041504005676320613035057802030184050981050010300104004011163011240010020021135700514130300320051580400206501164050171309001304010501806606602305401313030010915043010241053054016401766200108705054019405010606140054011161001301240113505120401142002204011570501657005171303003200518130119150204002065012140302010502216234002065012440502513060013041050161001604054012150103302040143040505130501908105018043015401221000200620038030401470011001513030032005624400730540186061400540196980100110106009080150117030105401124050136200100141303505156501415401162002540117130401815052040119705020400302040121130300320052261100302330204012415025130300109150263020401277046284021050110013012200250139003040501415080605015615063040740010008020083050196400200840501103050206505011405012130600160200105011001302152961327080020404302708005704666302040780108130120080094060400100200106404001701113010128105011001302801051340081065046801051540040640065066405051740060020036501101225010314404100451507305016703010204073021601810612001096061400204010620010300111630216012130400100610137003020146001020015700302016405017110140018130305193070305402010700202006501101225010314404301510804005050204061303001091507204018160020039126102040104050111303505121050770137050540114302160540115301020010540116606140054011715051810200120401956206100210305214050228105002330124400200650540251501263703050127130300101910502816301011029303070010503030131106405065016170012807030613801830054100130615634501670301051712110501861303059140200501102511110030121501313030514301151014020016213080830011017140010063065018703010191303052040121301224007030406501100302140200320021042130100609561100104061663652040770504820309406034106147065114060030901050123051313041050142040115241204016400706465018020010100125410368020010100148100570301054061308003013057150540814006007006191303001019105010163010110114050124650131303051461086026501515054016405400465011012250103144046007006157105040020406705047203084060349620306110613002002611163011240060200806113150514301151082161304060200801050110030240503820040471050551303056130400107160020038307021459613091021400104050111302007100121003013510143030700105015140506116801017130810151813045010119600130905201064021130100101405222070030202350809030241301101400253010064026107030406501100302150401382004042002105130806183006401790052008405051964011029501161301500401261302100010132100010200141308100156150164003002002061172130305184011930402010507302125226030915012361502440010063061257030102613030527401283012940070304065016302030214053133048017001531106133054073018106040016002006509601705106301111060400100440650110122501031440414015101400105020406200603074050204081010090650970301020401011014001011804050121400100101361903081480301156006801670301054017630118540191087506501613070010502207002613211014005014616040020220061570505161630102071908128130501200954010801051116001304650180405021900304034040504180400200105703010613030572070021816920700210211014005111630102012105013054013509010254014405015130204001216840010171700118311040054019200603050120104006806505402110013061221105023401242050400402540047065026405027465028130305291001306130800306131705013263005461337030103415080605403515054036201506137201802001050110013021460030613801041404051004660030400740508100230204094050101303501161301506012801013130501200142030401154600304001614051730705040018160040051198400102017001211412002061228010512334010701241001304002516002001540263016301540272002501285630110291800306501308014005403170700121328007080133405034130501200351001303630203037800708038630205039301404007030406501610013040021630154033016002001540480401520150630204077030105018405098080030108070061006111130707001212240113205040040144002060265011502130700105032070026142110140050156160400202200616705051730184008040089305401012612111306040110126301131046003065014130350515840010161030317130340301880101960402013060010192162070030202250371023130403200401050130540240503355040440514564050680610054071000613008620700302095037101013090013040105016130700105021405061367040306141309013081400530165020308075080601813019660705110163010201119081212130350513540148010511560013046501650770501240138010490462005405405061000307400320010840509400840054010130150512001161001306112130840413303051413070010155415011630570011764011820501193050540041020306301211502254150123130305243010042531104002620060302720025012821308100296506461301503140030204032130350533162005004004065134240135205040040364007040306501650141021908123130350541908125130501200615071004863450194011067045011120025011281001138053014634400401540116670417200220401881001191001306120507040218017005022406700502321050540241502530705052613030527703010281309001304010501130700105021090465037050460210305130305661021000650517706318654092130160020051020180200650162105054012831236703010413017020018052003130610702008065072030182601040154096501461101908121113035051215013603014014703010204015304016104600306511765401810940706501617001290200804003129012005404400301001105190812613050120071001306182002501930110400370305011140701213010064013130900130401050165014102190812313017020018042003130151070200806505406260104015407100130618401911000501010705020401134070204012640113205040040144006040020220065011563011021307001050311006040400404301510501305406130305722008405814600306191303505103011160068012703010204013630114150400401540087506501650141021908123130501200419081251303505615071801080061870301050194050101304011011161240401132007100204014130305151001306116150171303051882004054011970301020130201802001050113070010502140060070061341050540430561563070216610002004005407130810158130450101980130106401050506015401120401125060611330100110141064054015570011664011720150611821101400501191038465016301004231050154032204001248090305015570301067030407541086200840593010064010106405065015302105090020065031301440016103055106406101400107400161030581010063091307001050105060651140501210023013100414311040015200603016200250117213081001880530193050120405021300807011022801030080706123305012416255020042680507040302710001020028130700102920501305070403031100432600602006133150806054034680030357050540364013720150613810804002006501150220022040313030541307001056003010061306040161400761301200800880109604005101101401150040121604006101370301014130702003001510100030010161303010301713050512001810930251985001050012061303004060216130100402002261305036402340606002001400242140200525130126305271306003010028613014020029400212002030130305312002321307013040105011470612200220403400800200701466008010551505630171082813040704004105016301240080604613801041301200800527046190301851761470658600680196940701101501120084040012130305131002001021440501513040860501050165621307001031020060304130200101852300200162105071041082008404005984001010170011111003040012608121135001001301146010050151530230416401040017801507305011825191304011020801600200350121252240502320302413050040200140025207003020265060020032713040640010283070302040294007002020065016130230421309102310600200345021400552170050620025761307001086002500930110106002003111301125020411320700302014509020080151301101400163010064017103002020065013010042120060305013506814130105100640568010013071018100640917024611013030511401123020401340501413051510001020051615010171600180187030102040197070012201064021709001040110013021304030134050410064055150163050200120780108800301309402105011001302101310064043010605210680030130576302050108200606309405010200211130701304010501123010002040220060130140032002104615090853020406617030407405081303059401103011140070304065011670324004021503311020404700202005405062002204077030108200330940502040103010507002002040116304004001006112630703020401340020084065018020700265280150310501536130700105044070558010613080302076110002001005018130700105092070026110211014005011115054012201506113100640114704010501613010270143160015404564151001306101710064081702461913030510401113020401240501313051410001020051518030116400400100650110013021304030131307001050420802006154050610064057150183050200120980101060801551161501123050900502013405014130201700210501100130210131006404301060521066080155763020501082006063094050102002111307013040105011230100020402200601301400320021046150153020406501908714010501167032400402150331102040470020200540506200220407703010820033094050204010301050700200204011617002020061121700133703020401460030801101540501627041710064018506819671420402080102113060030100222609523801700202006124130110251303052630703020402740080308650110013061213104005013305070244130305568456650700200740182015091070241012165011180140050112240113400704501141501520504001640501713090141001050110013021004361007047030102040540506200220407200360861000800291400314306505010108010111604011012604010400406511315040040146121620401540116507301713030518251194050206030915021801504009002006122150102340702040244050251304050400900200105018015031050152613070010503407054220084055405016610097050174122008130700105092070026110211014005011164011220150611340640501050161301025004064316001540490130815100130610171006408170246191303051040111302040124050131305141000102005151004163110400204017210505184050192002204020570052150110052213030523302040241105258070020065126400120302780102812008002913030530630131400406065132260610338010160070020403470700123513010401617002020061217003370302040460030801105405062704770148626120409801010130120080011400400600700650124050136056305114100906200115640050840065016130321301721064001188017002020061191301102013030521630122400705006123801024130120080025408060410501100130213040301313070010504160400202200615405061006405730307001050816040080070806193040501014050114050540121400703040650131501490130811540200603016405017200251810013061191501202401211200603022252340640506501100130213070010503160400202200614150152130700106140504004072582018020065018070100200612130501100536704006147050514020062002540761001306181019901308101104005011124011240070450113150142050400154050161304020060301050180160070040054021302003805380190286148010541200540631500401050180400630102705054036100130410151006406301004712301000400204082006013059200210106509084001130204012630205013301144008265015130501908105016306912170031001304301006405514001400650613080183005740186021002040925110405011184124050131307013040105011502040230400140065031302003130430056554050646507130506011082309150400401010064011406020080650164012201503361241006405513016150710013061816002003654094050101002001040020401115054012150160131040095200650180150310501526153053130141402001400552015040064050713010001220010501614092005012703010540340920014801509002005201080620150770110025813040320040105016130102404105031600154043007010215100130610171006408170246191303051040111302040124050131305141000102005151004163110400204017210505184050192002204020801680612113020103022613040107150236301244002600606125130501602613001011054027630128400806046129801030130120080031270432190301851337003020403460010200353020403615037205040040384064050105016301240010070461322030490200195400670465066400904650770508602103091303051040501114050122513640021000650511470631156170020200611617001720504004018100301030119802050020020402061509002006121201080222015023701100252413040806041050161502201503911080544050204051405061621307001071200603040082596911080510304011106405061128019022006113840010141082040151303051621050501176561860010200191308120401050110013021304030131307001050416040020220061540506100640573050600200350208101930070102106130700105011140506112407020134050141002001040050115161630400706450178010184030400501191001302016306212050122201200510501100421804002001050137030104130305520700216150770450188010940304002040102704111700125031501131303051440505115640116102065017305011815019507064208010512113012215023103001102413030525200250126660702720025012820302930010103070304013170301032130305334006203050134200250135180400836210505013762105038100640501392130810040615040041600102004213080140081050161001302130403013130700105042080200615405061006405730105081400270400409300701021101502040111700112306001602006501801600700400540213020038053801902861480105412005406315004010501130700105022070026133007010214201505304061010005061780105181307001050920700261103007010211120150611254013130600160200105018040063010270505403610013041015100640630100471230100040020408200601301400920021010650908400113020401280201080131601014703010151006401620180200105016401212006030501380104100200105540506502107130181600700501915305110213021601101161308002001101230703054013108002007065015004022430501340201504130601010551308605056840010770806186100130619100410406011121105011213080020011013613060200110148016007005015401521000400516654017301181030070200650163062150315304130100200105140506166140010061730804008501870301054092200201400104050111306040110126130120080013630205014207002611580160070050154016240117201506118102060265011801405021530313010020010415051014001054062160501721014001865409501104065011614050215303130100200104150510140010540621605017800810865409103070265011801405061240202003130305480301510140506402020071303058130191301006401013060016020065011630402105433030700105041020050065051301200800640507270481530519150103061150300110121902501540132700506254014650927015703010161003062540178054018301191060407065014003020213010020010350100904703010205405061502110517630100483110400540920060305401021302105014001180401122015061133010640506114240115207002611640501710023018207003020191092702013030521703010221003062231302018020010501640126345013301205002005404405057054661507634501812050020054093080160100105015004022705005013405042704540540660106211014005017130108802007065096403010510809003040611125112801509002001320108014201501570110025161304080604105016100130240660103101480200706505150106200606307405082002913070130401050181001010027030103150430151100630670301071303058130191308100101004113104002040122210505134050142002204015801200603016407010172501018160200110103011001302150320504004310400521105680140072518150920504001040501113090141001050180130100102709015380170014510550070215064021050165077021045380170014510521080011063030501900200105011001302130403013405041006405802007065061507570018306018200970301040110200104215031060020032040440505120080020406804017001740014020065011001306121200353616001546120060305801061304041105078130020010501101400620222030360182004703010401631102130608200538020070650410013061515063050173013200181509205011050850111301000130210501100130250704036150204043040505130401002002105011001306121013406601041401515064003010010761401815095020650105085011130403010010501100130213010061380304014130100615608200616170105071305016086160400200526540963110611026082001170900104016168105012130103406601041505130100670901207801700185109400301008010401111018020650180610070213081003629304401520150616107040306501801000302612550130203615010030261490110002001050161301001021306082005360134105011001306121405013220024130701304010501200224066010365120065011001302802007065031405040040425510023061507170050830204091501057001113040202001240202004004065138010141304041050515304006002003611640505117153051188060680194007030406501301100970502110410204036120033020404405056003018065004073019030250204081340701050110013061215013130104200250154050100302650164012400501004034050141301515061405017211014008200250193040110311040050111200250112180200100013703010501149022001156400680501164060304010501610013021304030134050410064058020070650614007002007406601086100640593010806046110801011130120080012610700200201361305400201410013015605010040030161250110540176506040081010185060110540196150120806100540211001520065011001302406601033010064054160400701050615213030566190220061715081301200800930305101062005005111405012103001101340501470214515613070110025163030404001001050110013061216700105013405041002305150640014001050176405082704940110310400501111001301270601013200220401415015105302016704620401761060400600308020401880101913012008002080105090020021201080224007040306501630100421600700501313048020070650521306050105066501009074050813050040200140093070305401010700202006501801700123110400540313086050541001306153050165700576150840090254096010105101091020061112406601012640501340705141301151504011691102005401770504181303051963020502012050020054021301221070304065016100130612405401340014005014255405061105730400608200501825198040110508501130201224064050105018012006030501270301054031309680150461303200145613010040306613080080147076130440811014009408090301400108016040020220061116201506112100640113403200401050163040126100703703010540413020037510013061610174066010814709305011020022011240112705413705042014301050152030080400167050117130200371830506405050193020206305020060305021407020222501023160200110103018030401220300805013705054041302003751301061330754082130100065917001105401110502050065018015040010040501240505403801100020010050154048010513010406215054072070026182110140050196201506110705051111000180301050161620050050121301006403130700105042015061510604008007080650640300120010071301200800864010001200251913040010102120020501118010511264004040013203040400142002201513086050101670301017250101816020011010301924012090220061216440200501224012320150241090507025802007065026610064052764012820150612910702003006501631675012225010316020011010304130282005801400616703010710064081070208065097030101019050140113054012100130611310114406601015137030163050117130511820401193054020130552110013022150204023100640244003530650115025630110340400220044015540680105762193084019201506110107040306501100130211000102003130305412100010204051305166567808003020408703010913070130401050161700215031050120403405041305802007065061060640650204076061081307070012910100400306501012501102040116106040081065012506011020401368010147003020401523011016405017200220401870900104016617045012406601035003015001050430103055614004040501516270300200780400408401010014009200251012002701050113010305126100130134066010143016001051551200650161600308050101780101810064010196190308206301214004002702260210302313040806041050163040123110340660104304010100140050156203040562002571001308200291200501010150900200111301020121001301330501440020015010156302050161509002001713010181303230198015020160400100200214020150522806068023400200150102480304012540033010262002527303032302837030529420130660020031406601032907010013380304013418011003510013036602815020374002400381301020396150140163041130406405010501100130210134066010415010519098010400206703010713050160822006013014001096220301401010806007001140112140010400201362050144050151303001202001050162040025012305380104130130618540506203073001010840670900596400809010301103020301130010101280600700511321006514614020015100640201610160070061172186050511860120010204019412002013080160100105016019020080270503110140010413070010505104002022006506801071301200800821000102009130810010615011102006112203013110514301151064050611625117615018102006119602103020130200300421301221040060070065236021030124615025102006126602103027130100010281040060070065296021030130700302031215054032207002613321101400501346201506135705051361000180301050161307001050220700261321101400501463010011051301600200568294007170401305408530910376501013011140112201506113107040306501614006007002100640340660104405052704564050783010540870330193604110305116006120012130401310200611415051530116102030405401763011810541054019602103012014006007006521620150612290013040105016304012601009380104110410540562001616150540710048800306191001306110301050113040121020084050113200250114610100080200153050116305020650501740501813060016020010501630401220037034066010413010510064056100080021507160801810013092106040110600308040040650101140501227041013170330400401414020015200220401661301001017130130618186160070019220016020160010521103200522130105231001302412502514026150271301006402816040080070806501029620146130101004003065050103180301324003004040033210341301704110356301364003703050103740703813010064039130900130401050110013022002311000802004301056301600106614600305017801082008404002096150400101200840111302001840105011502130700105031400600700614130703305601050130540610008002740508200254096700305108010111308101512130450101136207003020145037101513040804002001050161307001050270403061313060101014004500405400126164050727045186140506191501020022011405012270451133010008062001420081040163040126020400370504406601051301000800261600700713013061886801095060600400511054101162008405123030700105013540143020025401510200526501616004001200240660103100640546027010505200330163040101001400501780304018160070040054091302003805101001301120021230613300104001415302040054015405016100230176110110181400530205011924012080703021130608051102240501231502451025130126804005040020274008003028251294050304003001103164005410324050334003001103415040035630105013680110008020037305013861200840501396150400406001020041130100018020010501612040022305013801045700551304501016860505768010813016002005915011054501111301020121001301370700121014190102152516405017130011018620084040010196607040020203021300101022806012040025123303070010502410400100650256106400650261307201527613070010502854029211014005013010640506501130700105021040027065031302006063041305021051301401061307001071034650584020400621970504540108010111304006200151261301503103013101402005401421304070200680156105051540167050171304050202001861083019305402013091021400216108200402270301054023130600211050024610800702570505402619020054027613011000301302813040010292015040030703010540318013070010503214050613325346707200653565090200653661400270613713050620038130700103915073040407054116301020425404313040803086501100302101311051413050160515010620060630713030581301020409340107011013070010113051240302013130604016140014613012008001530116130517130118561910810102061040104002180140506122213030523620060630524130502102513014010261307001027106405028213030529620304014005306140027065313070302040324005400465016405021006403406601041405510546506213081007625810704306501610097050154021500504001037030020054160219151404016616810501713010840660109170010160400601001511100640512150131800200214270901201513083200168015023604001740505181500504001197030020052070105012110042270304023203024150160254030020025402669003030501277030105402813010004014029615073050130703010540311304050326130603061033203061344050359102140036401372007100501204038640139900304065014063020504120150614215080605404310900304065016170021001030330540416020506155700561301002001057620306184050519810500103001040040116100630611289513614600306114130212156034116501000802001730204018600910101400204019605071042013040860501050180243021307001050390030406144050540510063016100010200713070010810010309305401080120060305011170301054012200371134050141306040110152401162015061171090030406501616013054027050313010020010541304001052015040068180020057130282008170091070465010801011130602400121700134001400105401481040015054015106401660240054017300200701186106401930120106024006502130122400140010540232070030202450230654025240126201506127108060100650161700210013040031405440505405304064007090065071006401813030594053020540101611407070025401270700121133004104114100130611540707002005161301017200220401863070305401910400100650180304012506061340147002020061525615031050171307001050810505650970501013060610116160070050112130700105013900304061142707001215210106016240117201506118108060100650180304012704006137050440155056167050571003050183054092065061101002004511600160101050161700240017005032002204301027050050570301054061301071064081301001014059405010106064054011606101213070700121315014200220153060200107016130701001217615051830100080620019200810401610097050154028010313012008004140401540505406130901308650764050540846509700302010623065015401121308605014001261306010101400133070305401410200370650180600308024050327045404600308056200500616130204001271016007006508702008009570011013014501011610100630650126010100080200133050114615015101400540167020080017405003051810160070065191304020106600700217030105402240105001100231302040012241502530126101006306127703010281303052913013013081003164200606132401338010534613041200351301600200536600102003730307001050381040010065039180301404007010030650161307001050210406020650321302040012461100140615130903015615017301850800107091320010130409030810501617002504001005013130323048061005405201505690030576900506181505961100701025401160070061124011314001050120401421006515617002020061164011780105183070302040194004001006501617002160070032002204405052501061440740508900562005409700200104005401061300545401170301012150806054013130604001422002204015100130611623010173005450118150194001006306120106402113010010140522150123205012470502557001261000180301050116240010063061315040141300200205121650164050710023086205019700200105104050112704540121804005302050113240114807030151304029306501620700302025080903031301101400463070305405102003706501614003027030105403502141307001051400105015611014005017801506030600840505198014002705101303001091501180201501240501313010001610501630623001050133020080705015425156302050561600304713010813012008009614002701056151180405003051220405003013130203021415015400840301670301051710305500181619400400200205201030550021700302022405003023130100640241307001050252070026126211014005012780110090902813010090902930703054030104008020200650160110240500301313010064041307001050520700261621101400501761508060540820150619109003040650140502105431303054805651304054004106640507108003030880163010209540101306001602006501630100427002001501330355040420500102001540506130350761301506083054091003062103011110801005650122511363054014170105015301161029020065017251186305401917001502030121106040706502225123163010202420130150701402523026540271800302816301020295403013010001803065016303052130160401103130860501048014706552516670020061713070010508103084650980101016040110511601037650124011320150611410704030650164040502600301005013140541054650521308100662571070430650161307001050220700261321101400501460506040042003540540506810500730181070304065016140301023054031504201041054040010501163040210400802020061340142901825405405063505715085691301105070010200114021050116304021050900200613801044030206400513060401614006613012008007640186003010091303051040501130010101261501370601014150151020650161004171100400200218133054019802110208410500212704522106405065014050210800303031303054803015514106305761070020054088010991000101505401010704056501106013065020270503130601705411015054020060151610030715040187030405197050410200210113011210330105113306100400511413011556165001003040017801018130604016140019613012008002030121400140010204022130123210004005241060130650202520150202688010277050512810030291504013070304051317050432130305336302050341205002003513050160363013710703040650110030230131403020430508060105508070166301780020018130194011030011011130305126306132050400141703040151301000102163016040020500200400174050181306001020019640120406050102113060610221502315012413012550700102002662300102002730100640281064050650156213070010360030100204044050550806066184576370308405051976351103010602050111301051128030401134001000300151148403040015840301166008010801178040200400182519803040120150010030400214706122130305232002540124301050251400104005012690130812730502065050284050291303001202001050180304012140015401390130814370301530563002002011078010401814001540198040070130101013030511704011210300200206501110300200206502401330141060030100530010101665407106003010065016301210604009107065033054045090200156301615080605407105090200650161502400470654031301041305410530161040027062040760611087030102040914706400406540101401115040040129014040065011502130700105034004706504405054650613030577021481405001302040980147065401080301060400310261113020401215013205040040149014100105011305402120033031040300650425151406305407110481029300650925110140113054012170105013102902006501425115140163054017170015018106040706501925120100302114706122300200201102040235004024201046502580301264005090020065011502630101031303054130700105507306130204001276568104006301091309013081050161307001050240047065034050446505530161060400910706507509020020408630191508060540101050902006501615024004706540313010413054105301610604070617640020015408105090020065091301020106540113011210290200650160070021307080636140200421307020080561702008006705071303153010501614012105071000502034050413030010915055071000680160400707007213030581505960401070107030104011502130700105031400100614170015406054069110807405081303001091509400700202006110801700111540124029020065016160061505402104046505403801041301000105500406301710100902006501617001230403400140054042110551001306163063017134002104005181003091504011014002701140112106810131301014405015200210165700117290110200184050192002204020654102162008405223010064023106405065016170012100200103130100200150480160400407061530566150904006173070302040840020084065016170020200220022038010450806020540080020070166600108057646508130352009405010130100630112130100046126130190130136301144002050154050161301000180301050115021307001050370504420022053016106040020220065077050870214400596106028650510630511106034650126040213030531302008405041302008104011060130650202705031301508013041003051301508013063030576130200606308801400100619130305106190308611170014001221050204013619107061141303051562006063051615017205040040184064050105011504012130406405065031307001050417001570020200613030576330400810030625409617001104003010400117030105401211014005137144005401411040150115670301016200254017104006203065011307001050210100104065031309030154640401520071005015406105080100650116301020254031304064050650481001530540642003140077050482002540964010008020051062007100112020010401204012160020032032002204405052104002062130810076150880200101001940501013040640501050113020120056501103143065020280103130810042704401540021050620150401710601100650813010913040640010654011105090020065016170021070420403130305418410513091108040010506150517302040864006465091501010001020011700140012130300620513400206501430204015610200104161303051715018108100191308100202203040140052161010097022412200231302018020010501301081002130810036102930413021930563066202005713040320040650117002400604001000105006503200220404801604003125302040615010740404204082130809405010130403011020511402004801050164012370305313030541301523002001066304009401050725810030622040964011013050902001113011240501370504141303051515016130305177071071882010401170021010003001020403130507016041405055405056610507307703010204084050913060401101040110113010952002040122513610700521470502040152003716130300109150176301020029187030101910030622040206105002400212522130110041401170021068103200220413010513040301102056150107407020408805002400619130700105010140506111601301001012801013100306214130700105015208020061161302007021780180020026118806100191301705011002061800200261214050540222030232501501700302022150540330011006141303055620060630566405071030011001008130305962006063051080150111303051230041041313070100121700302040280700610065361504303020180200105057070012613050120011012110513130700105041405061517001630100104004071307001050820802006197880110803011140063065401213014212001640502106305403106401070044220055130164040082008017301004001308169404008107110130101180105128010041321101421000800215405016130305176401615183550401962106020130409010200180304024001004003065403630205041303055100400305406640172004010400817009200401040010630205011130305122004010136301023010141304064050105015405051623011017860501181501913030520604010702170301040170030204026150313030544065505201046130201802001050115024006040080400861380100443110204051308040086615074005040056188056960010200103020401161501240070646113507041463050154001000501016705020401780104002040183001010119630620205002004002161502213030523407024130406405010501101211051313070010504140506151910706161303057620060630586301940063061107050511615040040124006040706501630124002065061320130700105041001306156040705016654073018106040706501150230020031304612470504513030561309040713022040813070010509301101070100306501630627030403130305480105405600102001630160407054076306816040705409304006306110654011407020080065011012110513130700105041405061516040031026163030576303020060630817001947012040103040111108101020401261703040611315014130305151086301621050171304020010186100302519615052013010521400830020065016140010061280400505330144009010250513070010506900304061740502040860019059617030406110150111303051230041041313070100121617002020061217003150400404100301030540604008007080650680107130120080084006001806509150101040060098020401113050160128016120401361104204014250902005156200710020401640501713091021400183070302040194003002020065011012110513130700105041405061530164006006506171303058613020060630964006006506110140150140020401161504004012400703040650161703040612150401314061302040461630142040580400505661507130305870504591320010709001040110121105131307001050414050615150640040010061713030581037030930204010802001001501116102080200127050204013601010140020401461010008020015302040166130305177006181308080030191307090010401617002104020200322041307001050520802006163010500240062071681010040030620916101060020036201161040202006501261040202001313030514613030515600102001613040120200105016170012400400301037030105404110140050151001306161004760407050183069503001101030100305011140500301257001131501457001151301161601910200171301630105016170021001306131303054041505201506570017568130810094050107050420118014092001270301050113831200514405015130604011016161711040050118270700121913010401640122015031303054301070700254056150400680105407640182015091303051040707002540116540121060400100080200650164012305403130141070700254051303056654071090465087050913040603410130820014011640112201506113163010110514150151630101651613011713040400100650186302050191205002005402030121107030406501640122015039030140054047050451302104006130174020110864009041059807006100611013070700121124011220504004013400208020065011502130700105032080200614105080100650514061305406301090461770508602103091303051080601050801006505111500401240020650137030105401486020051550040161010003026501761307001050182080200611913010203550402110830020065013010401072130305313060021050044050513091026610370307130600210500827080059703010102708001180102002040512340107011380103703051480101535504016163010201754018130600160200650110030230307001050320802006141505105040056161010008020073054084019100410603080116150121070646113801004144080040015605040016130163010501610014003065402840010330144002065058040050566102065071304105082030593030510801501115040056112801501313030514240115107040306501629010200161502400630613801703040614150513030564063012040750704081304063010965070401013050901020016170304061215040131000504040040440505300101068015073030586004060596303020060630106307001011130100200210126130104001401013613040601201050146125015130602103016150172050400401814050400401921303052064012115073050122703010237024501241064025130802001001502610640271304001001028130340701502961303053070301031203032300101033100410200117002150400403213070465413045010156540621307046571301009061086130200202916080301040502040116306124006170440040133016004003080400401480101513040107014166302050173010100800101813030519140200120201502140807063012230105302023405024530202570502621050527610810102840502981030705031210505326150331303053430604010703570301040117002102001020540313030548010540501402061003010301763068120012054092050010200110308030030400401163040050177040040128010131301402001463020501513030516603040171505187030104019270014002013090462001617002102001020406540317004130400100104004058010617010502040710030103018610100303020409801010170105054011301010080010121303051314020011420150154080706301166130101713030518400200370191301406200110121105131307001050414050615170016301001040040780105880150024006196170020200611013030511205001020011230703020401340080308650161910706121303053620060630546301540050177061680400803003061764007005282001082040961902200611015011130305124070131309012200105016301240020650613201307001050460020036154050641012005407292001862001011091305016010610904650117050126021030131303051461303051524011610704030650174081091617002710503305404130300109150517040130540661001307301810001302930204010130106401140501213050160136150101431200153020401680304011740020011040018130801040015019502090207030102170100210522610013023150102422001010254050204026150102712001028401293013040020065031150103216001803313030534613030535300410436130701001211700210100630313040501801006504613070010505801061003062540740200800810002009563011010410505401164050121040062030137030101413030515801501613030517707107188201040163062400200103170041040068010513070010506208020061713040301102058108002002650963655401061421200540116700610061127070012131308200101001700302022401310044040041104102040561506130305730106082900301409303070210412041221303802007065046130700105054050610023054072080200618211014009130305108016007005401113030512270050625401315014130305151006101630041041713070100121700302022150313030543040510206401000102001750704058150704051970301010100640118400101210100010200611340114215080605401561501613030517604010701870301040120412213038020070650461307001050540506100230540720700261821101400920025401080153020501540112700506254012611000200100501131301480200706501562030162015061179001304010501150230020031304612470504513030561307001050720802006188054093011010640506501130700105027015440034050540450040510501008006506705454078010820309402005106540113011210400100650180140124005001008050540380104130820025803002004625407405086003080540930703054010107002020065016140124006001805034050410064056001015056801502700713010540870301096061101015011130305123011310821413060011050105016301210860250313070010504208020061560210061615054073018107037650161704612305403401416040097040040540506100657640508200219913060010301040020052650112512704613130305146704620401561600200105016405017465054018301194007030406505402013030521107030405402264012340050801006124405025300101026801027602103028130305291068030130102040316150400403230133400900304065016150235086133030603040480135085305166400620307703010813030591505105611130604010701213070301040161502102001046131504106004706205801506860220713030585691307001010110420112509020051262130406405010501613080221050310030625404306515080100400640178010813012008009340107011040111130804001221050131003062540146302050151303051613080172105054018150519707107208201040110121105131305021048602205130305664050714002702084050913040640501050110121105131305021048200800513040640501050670301071301004001308150910205010405020401170300200650129012200650131010003026114401104001050156150161020501740502040184011051910100030261201308012140502213070010502320802006124215054025100640263012710801005650113015026008080313030547050204056703040615078010204088007080198015010102050114050204012401105139012200514101000302611540110400105016615017102050184050204019130802010100030261211308010502221700502313030524613030525407026130901220010501401220150330502104150510206506305716020010884001091050060050108010111301200800124002001046501370200800141304501011561303051610200104171301600200518613030519707107208201040130630122040012340504130305560210063040602040780104018160070040040970700121070900104018020306124040131000504040040483013015910216614001006171303058150913030510100080620011200810401101211051313050210410030530405068010711041020408405091301602001010150111070304012130305138010141003062204015600102001161064002040176001020011840401191600700204050204021610100080200223020402361303052410008062002520081040161502102001046136001015040020480100456001506161303057405081002309801402050104050540116130305127030104013820104011502130700105031405061465132006156315461621406130540761508060540880109602103010130305116130700105012166113650902006114163010201527080054016163010110172708001861307001050191405061206304021105132006122401233020402440502563011040054026405027300101028840010291051320061306150311604005090200620403280103313041050348070301020403513050902003613013770301038100640392105020404062105054041401050011004261303054324014440070403065045290102001613070010502208020061327080054041630101105270800613017400807030658400205098040050510801011130120080012680601413202102001613070010502140506136513200614631546158010660210307130305861307001050916611065090200611116301020125401313040640506501481001153054016401000802005176200710018202001040161307001050214050613405042704565132006166315461740702040880163010209405020401061630611130120081401227080054013163010142270800158010162040012171303051815019130305202203021300101022703010401220011052405031303054620060630551301061307001050770154400408405091304030020020105018060108612801031301200800412002705513005200661703040617150204081000102009407037101013030511615012130305134060071014130201802001050161700150240503130305462006063055130106130501607106408130839130120220010150111303051222001010134050141304030020020105015620060630516801501740024004018805619600102002030204021615022400630104004023801703040612415020402510001020026407037102713030528623002002913070010503020802006131270700123213010401130121307001050370154400404405051304030020020105065004073040810501009062040930010101106304011109001520061127030102040131841148014004061151301054016705454017130101840440054019150201303052110822213040400100105018017001215060306003130130052004130820040580110040030616130403002002010507810500863440040654096600700654010618902006540116110070461123054013203014402009041580150164001261176110014061181309030151961400612013072015218060030612260210305402315024130305251000806200262008104016150218434050413040300200201050516040031200206801320057840010810604070920301401013030511500401212301000513401405051470030201521505401610064017301181070304065012010802102065033030403002002010504705457050461303057670504820060630591301101307001050117015440040127050413130406034141308200140158040116160400100140611730204018801604001001040611930540201502113030522108223130404001001050120108026150310900520061470301020405301610200100261780102040813019630110700405111020080065020401221806155401364001210141003062540156120500200540168016010065011300400200612211014003130305450040501510030103016809046177050860210305915054010601101140112201506113107040306501301210200100265038010440640505130166301770040586163010209540101304070400465018015024001261361100140614130903015561400616130720157801600615020408801091304105010650809030111301101400123010064013107030406501615025020500613110401505404405052704670545407697050618801094105020401080100140030611111040512130208020013150540143011511040150163054017307030540181050400565011301240010014003065031006401450205006151104015054066540617216002001381302006063096540102410620401116301240200513140060030065054014801303051518100161501740060030065181501920504004020406405010501100140030654021070700254031303054211041020405610600754066105090200204077030105408610300809904620010100640114064050105016107005221000109003100306254046104006251303056703010740508103001109613030510703010401182010401140286024004031504400400200206156304016107030407130305813070010509315461104050204011630401210400600700611340501446501513030516630117200606305186301191304064050105020630103521613030522600210200232401244007040306501401220150330304030020020105041505107040200616406013471303058300154105097030101015080605401121302080200121630102013829400141704013054015680101613050120017540186001304650115040121070402003406013441303055405061405072130305861301064091301600200106110014011130903015126140010131307201514630401510600300161301171303051880706010191630102020150211020650612240502313040540041050113703040040260100110531308134670401200551304060346130820014072040508140509213030510613010640111301600200126315413801014602103015130305163011710604006650187050419130305206130305213012210541023130100640241309001304010501130700105021405061365132006146315461580106602103071303058214061305409615080605401017090040114200351270504131303051461630102015540161308011076501102300200540220025403220084054405055620080061506635014007305408801051950701040104010010401600130410502801051312414150513030567050457132008709001040110121105131307001050414050615301640040060070061712110204086160061502040916301011010150111604008261121302080200137030101413011040150156405016104006305401740502040188016301020195402013090013040650110030215032015041216204056125016204066160061502040761761320408670300102004002040961406130101100400200804004065111640031200512400600300650132060145114640601205015400200800650511618217130102040184050191303052062006063052163514228010236021030524804002002906125840010261014001027130305282140200529613030530301311054103213010064033130801601001050130100425090200204031303054801054061950620500102005761064088501050917001017032400204011205002004002040128030401340010005014705020401530010101166800110040017703010204018130120080019240120200824002150040226301040040234042200105015004021507303130305460201050400557030106200606305767030108130406405010509615073010350641113040124002006511367070021413070010501520802006116670030201737110181302018020010501500402104006231303054405052704670030207703010840509103001101061303051110008062001220081040110121105131307001050414050615150401613040300200206507503608803019101002002611013040603411130820014012270413701405401457001156150166008040040177010305188060680191010005010204020130305214050228080030523150243001102515026130305277030104028820104011001400306121307001050330141064050650521303056630172130106408130160020096301101082004065011401128200401313030514620060630515630116104105065017410501813081001940502013070010502116400612213020400122384001024107096125130371052670502710428654029901100020065016100130400213010564370710200412505130305661001304007130509012001081304060108912501013030511700302012100630540132180615540141080015106501510063016130700105017208020061184050191002302010014003054021130305221501023106802065011400600700612182120054036200521505404120021215405064650713030586130406010891250104020010401164011214020061131301143010702461151305116618411730118130519130120562160281505227040123103002002065011020010465021503109801061450620051303056218061554076101210813030591301101501110400401250620051363061420200515130201802006501562130700103120060304200606305521305410664105071308100830109005200597030101013041050112030512630613202005141304030020020650110121105131307001050414050615150620500102001740508130182120096130200521501030101203065011140613012130501601321302193014610904650157050166021030171303051861307001050191020507650201307005221613080800522630123105080100650512480102560210302613030527802300200540282707001229130104011064021084010370301051480105501200635504078040020610825193215540106350625401169005620054012570011340114205074004015301508060204016807006100611740118205040040194002050765011502704531303005620047050451303056150050177030020083005200198010102040012111303051210640136003010014130604016140015613012008001640505117120027051882004019700302020130410502113010010402280301234009003040612480105502515080602040266100140030612713040300200201050282018052920401301010014003065020403120180532617030406133150341303053540703613040400100105011504012130506010103710145480105130208020061080030725813070010509208020061101083065051170140112610820040650513701401143010619106115704516401178200401813030519801083061204012182004022130305237105024305402560610261704013054027613030528301291054103013010064031130201802001050110121105131307001050414050615401630204071700181001030930204010150802006111801012602103013130305141500110030400401513010161301200800171200800104004018213081015191304501012040502113016002005228040123404001702413081015251304501012680102713016002005281301291003010301130124005080200613107070022040470700121513010401661060400243071006401810001020020409630110400800200651130010101126130305137030101420301530010101610041020011301240050902006538010044509020055130305617007160020035813070010509208020061105001501011150050105012170013540114801015130100012001617001710100630183090182519301204008750211502213030523407050124801507302513030526602010504005277030105286110452923506430304031400200651326370303320304053413070010503520802006136130608030103762030405381303053951040130703010141613030542707107438201040115080200612600801801365001001301463154615214061302040661508060204078010860210309130305107003020401160010200123020401315014205040040154007030406501306220150370200800141002001021566080200161001904173014002706208630205092704400107030105401113030010051266010830806501321303051430615160400970501163060020035011740702040181053020650191508060540206130305211070304022150540233020170026501708012130305370502043040517005040063054078400108104002105093020101307001050119041006112640070304013130201700210501301210604001700502031307001050410640506505213030566130106407130160020081509103154611021406130540116150806054012613030513703010401421304040010010501150401210604001700502031307001050430151064050650621303057613010640813016002009612004001240010100306254011805401280101320010254014104002004465016306212001461313060020063430170461530567045763020508202005913030510150270150054011805002954012610010301311007046114407015130100170410501306260020036138010204044015714620406130176002130186301680070619600301302040101021000650204011130804005051268010204013604017065014305401561303051670301040172130900130401050130100421240010006131308040050544050510023066100302617302081301406200984001010311011130810012690052001314020014130305156540162012005650164050540240503101006304110700505301066301740080400501081301980101013080400505116010096112615013355040143040810951521302018020010501150240090220386050544006065405615064009022074090102581010063061910041016007005011114020050112405013100230146104006306115654016802008650110030230503109010250141301540162040027130305830501956104063015011167030101213030513803010400620301413040640506501100302530340020029065042501513016184107130860501010508650850950400200290102204011150121090102204013130305142707001215405016705045171618211041050119804002002906120150121407020402240400200290650110030215080100613967014165202005163050710400100230840502040915020401020504004011100640112801601001050164012405070540315044001002305405054065080100140054071301815054092080200611021303051162200606305126301131014006501413090301515130116654017206013010186301191050801006502013012165402220120056501803012400703220314061305404630151630145406150401710200104813030593010707002540102511180101213081015131304501011464007510015150806054016654017201802006501610830806502213030531505404304050204056401654074050204086302050540910064010108020010065013062103465034030314165401000120014006167404600301830630619130105106540111034086501640505402405031030407204801051309041001400680150717096184050519200800611061501130401210709611340505114170011554016106060096501630621505403200800614401514001540613030576200606305861001306198602501101303051160106400105011213030513405014808003051562006063051615011713010181303051920011000265011504012130904100140033030801002001104613040601201050561307014030105067030105176130406308058100306254096801010130200100121161301000120040105012680101360210301413030515612501613060210301780200108005184050191303052061303052170301040228201040164050540213070010503106700650413050210561010063065065671700508100309170050106001020011302040121064050132130305146106405015303040640501050166200840517303070010501814050611940502040206130700105021106700650222006063023130305243054025707001226130104011083080650221303053302040430102008006204056130305662006063057181008150910200800651015011201506112406405010501130402107030406131505440505108144613030576200606305880150930510501200113550401260013041138010511470030201513060071016130709001040110870020021304050180100650315044005073057030105406606200574005021054082401980101010030625401110030121604005710611315014130305154060020031640117400870020065016301050260130400540330101006305041504015205016506006800765030702810030912130305106110140051162006063051220504004013400604005710650130124007040070020061310044208020040040527046110401502040715085070809705010911080511405020401250707002139110805142150540152015061164032004010501130405018010065026130405018010014003270800540440505270800610140200650721304050202008610505650970501013040702006801161010028006501211041054013506061141303051580506010540161501713040501801001050185401913080160100650167042130305313040501801001050461304050180100140056130208012006501200735504086001304105098010511051011860254012630705054013130305146305401570700121640100104012013070010502405031002302040420150615130046405020407100658612050020091406130110616301411180160400404007061122600301100540138016040040400704004014260030110020401520401161604004040070171307001050184050191002302040202600301100540216600800400402220130700102360018006124163010202582940026170401305402780102813045010129613016002005306163010203154032130600160200650113040210140054035021413070010505405061002305407100640850689670141065004064116100640121220015104013619081214404105015613040640080201400161400400540172006030540182130210501400198040120201502113030522301090030405402363020502420150612515080605402610900304065016130406405065026130406405014003270800540416301011052708006101402006507213040702006808610505650970501013040502020011610100104065012130903015136106400650141307201515610910706501613030517620060630518163010201960102008405402013030521150221303052370710724820104016704213030531304064050105046130406405014005350140064003200107405084008400519130150512001060013041050118010511264060120501391025148010153501400167045017620080061501840501913030520120220021700302022562313080672413070900104011012110513130502104315451302080120066130405018010010507611000309008703010540964016154010355040116210601213040901020011083080650221303053401410013061563010046100130617203040581302080200962080200611027041116030140540126540611324011430401510501306116640117501004061181301191502011000501540211303052262006063052340502480800305258015026104006261271020286001020012930540306150311040063061321070700254033130305347070012135130104013680103713045010138613016002005396401403054041801042130120080043405044630104563014650901020016405054024050370154413030553010506140015017405088080030593050904100501063050206505011405012130901308105018030401214001540340504808003055260030616257640063061865409407020080065018017010025402508011001380104100306254051301061064071030100650582401916003080611013030511401126704651362401142015061151020700265011304021070304061315041303055107030406602005407650361540861509130305107030140111301000106211307001050210304076503130409670105044050513040640501050680107130904100140086130700105093011010346501113011235454013801060600200650144050540156060020016130305174050540186305401970700122013010401160400100080200230540316430154006040010008020063054071508400604001000802009305401060270105011402005128030501310100080200141303051530540167003020172150540182080200611921303052062006063052161303052230123105410241301006402513080160100105018020082130406003080650324010070454046003018052006063061303057620200561815091031546110214061305401161508060540128010136021030141303051561001306116301174005080200611880101913082002010030215012002235504023130042482001253062620150612710801005650180301080082061210030103013630102206142050010200153711062401720150618102060265018015022003702031303054130105911080564050540780160400170050620830306002006398010030103050114006002003611240701013124114630501540010014003061164070101770461181502040192008001040040202130100706421163022402005238011007046124407025130600130801050163012400903037030104184540505406401400712418630194001004010703010111002200512150540132080200611421303051562006063051664014006117654018801601006501630124007032203140613054046163014540515040161020010471303058150910707002540102511180101213045010113640075100141508060540156540162018020065016170012150730400360620054150514050616213030576315461840709200606305101604001700502011163061213096301340505401461001306115700200501165020501740701813010017041050120080061221503102065061440705130600613080669270770301081003062540980540103011110801005650130205021302006063036130700105041405061540705631546172140613054086150806054096163010201030540111306001020014001261630102013540141304080308650117042130305330540435014005400320010640507400840051813015051200960013041050108010511170030201213080671313070900104016311021304070700200650340504130170200125301067005063054076100704813070010509207002611013030511620060630512601090102131307001050142080200611540505401670700121713010401301060270301031308007080110463015703010613040200800107630187030109130700105010301111034650124011310508010065014820031517001165090861173030518620060630519401207030102113040860501050224050236021030246130305251000806200262008104016301270301031307001050417001540161400620730400840305408100304009301101341140112184030204013703010514400630611561701050540164008010800174050181304407019875012013012110346122401231050801006501150401213060210303703010413070010505106040017005065020665407110005010110820080061921501010206506111407012130600613080136927014130305157030101610030625401780540183011910703040650110704007002006502130102040317001420037040040513010540610030730184007040070020061930501050640501130204012100413502150114130305154050161600212002040176601020010181303051970403020402062006063052150040224002004650231301024701304025130100010226613030051452780105021020402824012920504004030400704030650160108308065022130305330204041700151501003024004061301054073040070200800618705054098017020080061107050540111505401220036013640161540143550401537110162401172015061181020602650110830806502302040330400200800614705054058015064002008006177050540880150913030510301111020080010127050131301006401413080160100105011301702001221300432080200146508011001561342006130171070304061884649401101507301113030512703010132006063051461303051570301040168201040164050213017020012340504104006007005401610508010074010002004018610400200290922040101304611020011703010540124110200513130606101461303051560401070167030104016405021301702001234050410640505213030566130106407130160020086104006007009401101050801001110020021400127050413130305146903061400151302006063016130117150511810020025193054020601046003054021130305228010232008404005241502513030526100080620027200810401613060121006502130163065034050413040513200105056130150901200661307001050714002706540821860150920080010101303051170505401262008006113705051461704153054016350140017400320010184008400511913015051200206001304105021801051221241237003020241308067251307090010401640405028630204034050413017020012540501801006506640507153081304041050594020046110703010111305080110012301134007030405401450850155070304054016605070700254017402004001050185004019102004650201301021707001222709001040161600200650217040020080613270050625404600309615704030169013081761600200860101019706010101303051115012104006213703010540141501513030516100080620017200810401600700240503140613054049041005540095200540664007201054072518690309703010540101501190301400201260205013305401461303051560401070167030104011304021070304061315041303055566101002307130400625870509702145106101600700111309041001400126150131303051456151304006121613020081040161003021704030613806010200104130305570403020406620060630576130406405065086604002004650913010107013040111301000102126130300514513801050210204014240115205040040164007040306501616002006502402003650330140200413030551401610707002540761401810400629703010540106130305117030104012820104016130700105021400600700613406034148002001200156208020016640080200101001721050813040640501050961200901411030405011812002121303051362006063051440501510023016630108308050171501812004501191301201308605010216130305221030054231505402430201700265013012400100403801054124153040603461606077030108130400100610940501016301110640121810013150144001006401580105168010517200313018108265019150201040095200612161303052210822313040952001050118040502160603250101505470301054001006106405071303058620080061509600102001014011405012160601325010150514703010153008011632008017512001880150512001925208010215012002235504023613030524301251054102613010064027130900130401050130121071303250101505404130700105250616200102578010810030625409130110150114001009701210030625401361303051470301040158201040115021303053130040020010440505130406405010506150806054076140613054082150930540101303505111010014003065012801013602103014130305158010100400306501661010040030650176704118703010519810012080102113040062001522613015031030236130100200150246405025168010262705452740502813030529801604002300200613022107020403113070010322110704004033253467003020355636130806737130709001040113040011026502130701246503130814046504130601108650513020012070650613060134650713014020065082130407020068096130501565010705011130405020200126130818090065013308464141303051562300200161304064050105014012201503303050210461307001050514050616150710604001000802006183030403002002010509630610201506111163010121002002101340501427041540116400210501730540181505401919081220130381040164012201503160400100080120041220015104053012105613017705084067045967045110110151180304011240021050133051415051570461630305174002200118405051915020122001510402130161522830104016401220150313030543010800305100640162704717008541540984001010102105011305401240113104001006501415015130305162203017300101018703010401150213030533054403020513060401614006613012008007108101086104010400964011030204011405012465013130305144050156301016630117509010200130100424001231303054703010513050210661304051320010507613015090120081307001050914002706510801011601705121307060200513405014270415401162014171071010001810030621980200101002040505402150040224001223703010540241505252540262001068027200810401670301021305003015005313070010504600308061584001061700178001100400870301054091301200800102401112008240012680011004001370301054014150806054015690050611615017301184030311940502013030521130122130105235004024400122570301054026301040062612715028130305295630130400612311302008104011012110513130700105041405061514001006161303057620650618407091309014100105014012201503301530413040410505564050686305407405081301702001291501010400600308061117050122006063013130305146301151020010002611621508060540177050185080605197003020202150540213012210901025402390040124630125509022663012740600409052880102960210303013030531630132109106503340691013410100010900351302080120036630137105013065038405039704640501030141130142204002433054044254570403046901308471504813030549301501080010705113200521304086050105016301210508010065035080100549010001020055630162021020057630181010097065096141011013011120400212305401330103710540141303051518605016401172015061181070403065016401220150313040640506504301050802006152018056803063017508020084050920301080200100511405054012911080513301040080100561148010151304105016630105070020061171006405401817001192003706120130105402130703054022108700200650110121105131307001050414050615100140030616130700105071030650204084050913020801200106301034611180102040121000309005136170304061141501513030516407017130404001001050161700124013150730400460620055804050540640507101006308110204097144005105700511110401501128014011313070010501414050611580714400540161104015011765401810604002300200650161401213070010503801041003062540540200800680714400540720036018130109200360540106401400611165401220180200650116301210200650315054041080400506505801062030770140840200591610402004001050115004012301131040062650146301155401610700202006501617001240131507304004606200555090020062708005407130108270800953010102001204011405012184135004014150902008061159020080161303051710030625401821505401910064020301211080100565013010042311020403200606304405051508060204067071077703010584019705040040108200109011703010204012213040640501050132001068014200810401801502400630613801003048602105130305630171305813019561070301051140062030400126561320021413070200300151307090010401260402130305313020084050413020081040113020024003020311014004130204001251308201040112015023030501603703214150516810501613010720033084050540915010150700200111305016012623002001313070010501414050611515016305401710044018904100197050420200254021100130221302018020065023150245700125306018200264021050115022002204031303054130700105600301006130604016140076130120080088010960400510110140115004012160400610137030101413070200300151042200161301402001740118405019300801070201301214050222704231700505247003020402513030526200220402780170246528180301294007002020065011301052402003702040334010701467045130305681001715058102419130600301001050040111070104512301037101313070010501414050611567040306116130901308140017213010060918613070010501920802006120305402130020012224050238401040246707001225130104026240127201506128102080200650156213070010337030413030040605800101106613010040200750620018610042005940501730103040070304061117044121306050105013613086012144011560030100161303051770030201813011921308100201080903021130110140022301006402310703040650115028010316004003018041303010305613050512006640176003010081303059801010130604016140011613012008001230110140013301006401410400100650115021307001050330141020036505301001105016620080061721308101581304501019619401506110251116130700105012540137050141101400501151000180306501163010202401615403130501200424015201506161020602650115021307001050314050614670403061513090130814006105410540720025408211040150540940032001010405011400840054012130150512001380101435014001513050701040147061540280105136028150204130305405640081040054068010517603014086160020094706154010150111308404123030513200214130701304010501630621070330313030543030501605130300200616040070313054072130600102008301008001091301054010133054011805070020012130700105013301141020036501530100110501168010179100010150540181070405650161700124060313015060150413080020054701501630350257168100170419161010011040111803040112203008050113705051480020051540200162015017304018104705011913010208002002140605222070030202371050243030406020080105025401262015061271070403065016301004215302050131301002006504405051002302040630401790030406186311040054092006030540102130210501400116401122015061133010640506114207003020155037101613010064017130403200401050150040237030501204036003011080480105130120080064050727045408305050900200920108010400704030650161700124004003010370301054041101400501521050140061001307130700105083019102003650103010011050111110400122100200150131000102001457001151616243051710030184011910206502030102115022124305234050244003010011025508060102615027140027028130129401301068103113010321501033160018034150357090104003620021037707001238106403970900104011003023063300110413030554016400306400577030102040863019142001204010251180100412302500400138010204014704020011540501610023051718030118400701003065018040502190030403404050418040020010570301061303057207002181692070021021101400511150512301131080308141304032004065016107024650240503465041303055401630171080020054086301910508070540106101006306501156301101230080701650113705041413030515100301614005021065017130305182401193012010703040218010221306040161400236301248010251301200800266028150527640070130102870401291030020020650164012201503130501604130151405661845780160040030806186306301920304051060210040011405012200220133010080010142105054015801040116801051710600400308065016101006306502306301315073047030105511056405072002588010030915040110130100010211303051280150400900200611315010144070204015405016130405040090020010501617001217001005013130501604200840554050627047800200110840604005409170011030540114020200128010131101400501141003015130305161602007017402020011815019200603050120102040026502140122400402020065015621307001031060102002040480105130220066130282007840010817001920504004010801011130803020126320010501325401422001081591025166802008611725118311040051192001082070190802163110540221304063234050242030254020150266900506127150540281810929254030470613113030532406003090105033305341304105035301050361503104005013740503857005393050206505040405041130300120200105018030401215031540317001454051021000650680107130120080082100010200913081001010111110511213050160131504011421000102040157030101615080602040174040017018130810151913045010120500402113010501224020037020402380505021020402424012520504004026400704030650115040124050030313081015413045010152040110615073050157405081306040110980160040030910251150214001213012008001340401141012030151305016016613015070140178400101817001191600700400201301200800217600200805122617105040023690050241530512515054026100142006502770301051281400151291402005013030103013116325051200133803703050151348901041352015036304037400100050382130140603920700302040508090304113011014004230100640431040080202006501613030521047063130104412005130603014066105410740508103001109130101090200191140604001001040130307001050218605061313086050104671014556301610200510076365540810040020096301107003051116301020121908121313035051454015801051166001304650161307001050220602613130601010140043711056010105624050030517640020051005408700305940110305401140501213030513405014701904015201504011611000300104001763655401810097011940502013030103021409003040122163010202319081224130501200255402680105127600130465016106402508300200540334010701450040550100630630307001050713002002061840201502040915040040106300200201620401180710305011221050540136100130143002002016540154011620504004017110150118400702465018020801022130305330051041421050501562105020406150720501870509702144002040103010001803010501550130202400230632030450806054016160308040076200461813010913030510406301540111308100126800301370505401440115201506116108040020065011003024050310200710020404405051306040110661301200800714050810403020913060407010613012901200116405012106002003131308101440501513040104001661060020031713040104001840501913081020640502110422002213014020023806010100630650241303052580100302618030127400400100650180700302040213030532002204041308100580401700162704713081008130191308003013010801501011400902008065012070030202810040032030404004200220570301061307001050780601006181505409301101064050650110030253034050430020020110204054050610241713060030100850040910701045101003011130305121024113130600301001450040151070104516801501017400680206501100302530340504300200201102040540506105410713010813081009100301013030511105410123030810013180405014105410151301016130810017181001815019104002702014050213012210541023130124150251054102680401273020402820108029400820406501640121040027031205002005404130159005016150713090050830191010005010104050111308100123001010113150141303051570301040162401171080703065016401220150357001413010020015051506108040020010740508465091303051063020501140090410100121307001013210501410410515640080901030161302040012173011820010219801052040502120022213070130401050114021010063065031804002001541003058014006162606200574050030586147061940501016040097040040114050124650131303051415015205040040169014100105012302207002613240143040510810961627030405763040181014005409400161030510207003020112070021213070010501340501410023054015801509002001620108017201501870110025191309001304010501640505402405031064050425564050540640507301810640509251062002201117030401221304080604105016150220700262038010030430105704030106630204077040302040815040040922001010650104040111170403012615011322001010144040115400704030650164050540240503106040040706504130102051801504006400604070713090408630692015061103011110701003065016405054024050310509002004130102051801504006400541071307040108630692015061103011110290200650115021303053301410900304051305016063001010176302050813050160915080605401010900304065016106402108300200540320150430405103025006161301760170584050913050512001010400701200806501121050540121004136006020014130700105015207002611623010011017130305186401192015061204054004105016140125020010502032708004130700105507045406167504006801050208801301050194020037054010500401113030512300510413703010144011510807030650163020302140532006063048017001531106200606305407100800108210505409213010060910654011301121090030406501610100630650240400103570014130670451506205040040790141001050110030230131403020430508060105800200166301750807018130194011030011011130305123020301314051413301517001163110171330540188030119106040016002006502060170521630122106040010044065011003021200110400403150414001204057070012562101400171685051200194017001101060400703301140505121304032004065011500402170013401461007051405040040625713015086100492050400401025114006040070330650150040210010303303070010504900304061570061006167070012713060030485309400376501013011124011220504004013400206026501610604005021065020218100356410030511066200210715058308100964011015040040112407037105016306215033020304508060590030404006401780108130120080093018040044001025116160200611213050414051330401142001611513070700121661008001017210505401821301006091965402030121109003040650113012150330305440158010613060401614007613012008008130191501067041113030512810013630205014120500200540153011610703040650156210810103610401040046130105540020037065011012110513130501604100453110400204064067090057405082002204096300801101030401118010121309046200136541014620084051530304064050105011003022808003031303054622008404005580270030206803010802008617568600102009404011010340706501100302120011040040340141507305130305630204074050820071009803703040040104050511820014011268301301131003014130305151700501630204017140187030101913030520400804002006501640129005031307001050410804002006505703010613030571302070028106409130100101405101501113030512307006138080030147030101513050160166302050171205002005401830119103002020065016401240020650380104300150564016400400306740505840509100200150106301114007040306501240501370403014130115205011670301020401730056411817001940080108006502080105216401221070722370502420022025405026405001001302770020052880102913012008003063013180103213060401103363013419010002003540503670030203763013812022003913014080104120400124240210501130121503163010110413030553016600680770301054086301954010108750650113070010502140506136201506141040010065013054021302300200103801041308101551304501016680107130160020058301940024103010302030401400111303051270030201356141308067151307090010401630121087502031006305404150513070756303057340107018569130604010701013070301040113012150330305440505801061306040161400764050880109130120080010640111104002701213070010501310470650144050154650161303051730020020110181501910400270650201301211309005022615023540241301251060020090650156213070010337030430204051303010306304006020506178010586130505120094029020011015011801012700302013301101400143010064015106040706501100130612140060070031303054630415602815056567130100050108305940110801011130604016140012640113801014130120080015150167050420401740501860309150192570012014001006306502170301022130305234012430125400703040650110030215031307001050410804002006505703010613030571302070028301910803086501404001702801031304501014500405130105016402003705407500408507001010054091307070012101303004104112401122015061131020802006501614003027030105403502145068517006100130730100640581019100640101501120150122022001370301020401440100140101564007002010200101621101400171303051880703010191303052040062030400218013407061221402002040236300200201102040245004025301261020502714020020402870301020402910004053050040311100800613213010336301344005090020065018015024006301040040380401460130400204054050613200715081320010913011070301011130305126140200400131501412065015405016130406030401050180207002652805031050153640504407055801061308030207637030501540860030110809611000200100501101307001050112070026112211014005011380150900200142010801520150167011002517130405070020010501500402270500501340504270455200603016130107100640540880311065409213021050140010804011120150611230106405061132401142070026115251640501710023018207003020195092702070301021100306222130407040041050150040227050050134050427045405406601066512006507130108802007065096403010510211014005011180160400202200611262015061131006401144032004010501803040123110540313081004405057050450161001306171508570019306082001040210501100130240660103140010063065043030810053040163110204071608200857001963011010803081113060182006501100130612131040050133040030804005014704015634501670301057121105018640020650930204011013020220010110118010121301200800136401145085015302040116240640501050161001302802007065031104006501042203056018200670301040180304012311031306082005410013053054064066010713010061840191504004010403010065018030401213010061310013044066010540163104004072581306082009150101303051160102930512150131303051430115109030816704030171304080604105016108100213030531308100422030401400556306620200571304032004065018040121405033040660104130157002001056405071006405870301096006801040501180200706501264030105401315014108040050540156150168020070650173070130188010191301200800206150521304050221304060200801050161001302406601031014100640515062050400407140504004082130305980703010510400620306111150122050400401340603040105018010013061270301031303054400620305015200250163017400370305018804005059303010064010130900130401050165035012220084040020340504130100640513020180200105016168105012130103406601046160010551506400261730100640204018240902009210640011061370306111210640020401210023051361100104061141309030151562300200161304064050105016100130240660103200250141502051400104006802007065076403015871050596140613011080101113081015121304501011320025011430108003061157050166021030201720025011819406019703010201406130540216130044227030102310030625402480301251064050612684001027102006128130707001229130130104011001302100431310240044706400204015801604001001040166301740040027015086021030913070010501030111107030406501631675012225010316020011010304130282005801400270540680200706507635064582100010196704611084001011170011214200205131301000200100141001301514050400161505173011813051913012013070010211405040022252325062416020011010302561501264050271304060304010501130150261004370901040041002305620504006405071304080604105018013010640250503102032245020430400206505304050660030802071105861509205001020011040501113050160127050131101400501143010001803065016301004226150132501041602001101030540261690410076200710050154084050913091021400108040111160040030806112840010133110540141307030401515016200220171010080010182105054019106402013010010140521801040122201506123801052410600400308065018015022050400380104300205404016150730501713010208801601309130700105010101002001065011130204001212405013100230201430100415311020161308100174050182002201980301204002065050214050221304040400200105016301240020650503405041307001050520700261621101400713030588040020650940501013060016020010501150213070010503810040047030105405203040400620022073018106405065016306231104005403203041105584001061020061713070700128130130104018030630122015040031002001054140504005805080705161104015051713018100640910650601030401111405061122030080501137050540147070012151306007101680101713081015181304501011964040070501540201301021810501630623001103200220430140505405068010713012008008203054093401070110180150400114002020051213050160138400101410206506115406405010501640122015033050806041505400640506130172170050813030596103703010130200360117030101213070010501330114107010030650110030215090020061340170014801051306040161400661301200800764018400100050109130110140010613050700200117050121006401330114106405065018053021050400900200650313014405003051101406130700105076003061840509100230540101003011801504009002006112150101340702040144050151304050400900200105015004025050310320060305014613070010505140506162070030207810018703010501950503101304064050105011003021013110514130501605150620504004078010830020940501041050101180301121702413130700105014400702465015405016465017130305186302050191702420130305211307001022104006801204023614020040024150251206502640502713040640501050161502110040363520430304105058501080166301740020650508405091304030020020105016301240047034050446505130305640173018105080702096301101080020020118015012807030400138015020141700115405016130900130401050161502104060602031303054280020058030162013008073058130195610615011102004201226001020013803011420014153080800305161090102172518405019103001102040502170214522656231301000806200241302008104011003021013110514130501605100463110204071308100840509200220401080405011154004101280150401131054004101430508060515640501680030178015040118108003019703010512064012115012270301020402326201030161400270240131068104130102056190220068400107108204081303059656106001020011130812040105012604021303053130200840504130200810401130200220400123182040400411014005550040680903040074050830450982010401060021020011301240070246131301413030551505010630204074050585070010200962300102001615021604001000802006132002204045004054006261613010571040400702040840400170198605011013010111330124060401013610640014203015700101680800301780800305186150194006306120801501021160018022703010204023707001224106402520210200113010213030534020037020404656570301062030730010108100410200113012150540310500506504904620054053010604006008061640505713018810509106040010003006501050010125401110703040124011310602006501464011510703050650161505177030104018270014001913090462001640124050341254801051301200800613017703010813030592007100511061070304011406040010020051126406040064705113203014801015204001216402105016562130700103600301004130604016140056130120080068010760400581101409620150107020030051170301012130401101330102306204014110204015186050167040301176301050181003040019150204020402706500650214050222704231304064002430101006305025130700105026208020061271502857001291301306082003140210501630105021600200501370505404130707001251301061405740704645830101006305094011010826051113011210640131014001054014301060154090200680116705054017681100182540194012020150612125221060400571065016301050217001005013130150601504405015200840565004075077050151840505915051030101066011208062001630105021700100501535070401104270458002001106406040057301010063050870052913060101014001070501011150512308020081380600620011301213070010503902200614670403061513090130814006163010207305408401000802005961320010202102001803070302024001200203270800440151068106130102076800110100825990420020101501110100630611230630113150730147030105152050716161731101840705194030202015040121150400225070010200236130305247030102520302630010102762010301140210100630650318040020015410030580140061627030020076062008405003059408040020010140010614706111405012160400970400401340501446501513030516150172050400401890141001050180130402106040031026133020404801703040615150401615073072703040813030596150103011113051213011356148053015150400401640603040650140502201503102001044130810155130450101667105040051750680813010540917040130540108010511165401280105113301141026006065011630102021307001050330106043054058010613016002005713018130501200968291040111905070611280105113621930144011520150611610704030650118040502201503703010421050554050620025761040030658300154940505106405011100230512204001213406601014140140115620084051616301020171064050650182519640502010208020021252240502313018712248013050120025406704526803012740020288010294020010530405053115053213081003340503420022035630205036120500200371305016038301391064050650164050219003040340405041804002001057030106130305720700218163010209107020080065010703010112002540126101006301313013005141456301101513070010501620700261177030101820025401913012030705052113030522703010231309001304010501130700105021090465037050460210305130305661021000650517706318654092130160020051054011201802006501163010202304031020650614407037105058010613012008007640182015093054010405011465012130305134050141630101101510800170801630540171307070012184011920150612010604009107065021130604070226401232015061241029020065011630102021307001050360060200614150806054056800306705054074018201506191080400200650130123200403150540480105130160020056540713016006020065011502130700105031405061467040306151309013081400661600240061713010820025409163010201019081211130350512540138010511460013046501405003021308020010100105032013017040104613019040561302901020066130604010707530810604006101509405003011018030111400700202006501630100421200603050135068141301051006405615010730204085070010200940210501150230134007024614130151303056150107160018087030102040970700121010640111301040180100130213040301313070010504208020061540506100640574018502001209130110230020011140500305011264011350200120141400270201513011613070010501754018120017003050119214102013020011021640122502001023302040247030105012540502680800302723028509005020402920170021050110013021013100640412001104004051506205040077030108210505940501020021011614001501012200840513405014705045158070401040016703010204017150307402040651186150400401930512020120056501610121006403301416013020405703010564013017150813200109130110703010111303051264011315011429120041513070010501614050611715054018403011006192002540206302050102112001204022100640123400353065016101210064034050410509020050105405061303057150892004400540918030110400700202006501630121100630330204047050410560071105061303057630181703040913010001021063011111006301215010134030201463011511006301630307001050174007420010181701050204019305020106400105402113030522600102001231303052417030402524012680102715080605402815010291700130304050311309001304010501100130612101350684100453143040050168012050020040073413050188014005019240110400704501111501220504001340501413090141001050110013021504013101400102040425513030561507300110864019150400401024070371050163012105080702040350908104150512004400615071509088302040915010201501113030512102001041315014101000610204015561620022040176130105184002003706501140210100630650318040020015410030515061804002001040057807030108132001401096150110220010101140401124003200406501616810213010350684150553050610640507405081006402091301104050111004121405013803011440024001060152401162015061171080703065016190507021308030203217010505014668105015630164006001925010780108130700105099003040611015054011401000200100650161090507021308030203620304014402005703010564030174050810064059606002006110405051110013012150134006060020061144050115801501165060600200174050204018204011940060600200650180606802400703040650340504101400105570700126106007105761083087030105970700121040100104018400102170013311041402005015680120061304005062007100305018184030980105110405011203012763105013150050105014615302015130116405017602100187030105191301006302064050211405022640123140502440705251301261003010301610013021200202613801051426040513030564032001517640200601518150920021010301000806200112008104016510240032001032540480105406362013032130765014108506891250510620150118010124070730131011425010151200202164070501176301184002050194070201302018020010501100130260161031301043230510709040501064050713040110810013093011070190401113010640124050131402001413030515130116405017200840186813019210505401201304063218020150224050231304010002001001050161001030210131200800412307010540110206610176040110811003070109610001080010130401101161008001012130140200136160400640014703010151303641016610010301727041183030100640191309001304010501650141025068320025480100130520026150712501084050915301010615011670420121308100136150400141820401513081204010501100130210135068415055301060640507153020815059704030101000102001190130812803011340060130501440115301060163020172518703040191501020170900202115022400206502340502413031530105011001302200231501041706700522061507160130208401930106010301011251270304013613011440010008020015301016640020084050101712050184050191306001602001050110010302101350684152952603014064050176220020140087030102096703010101404011404050124070201361404014605040400705401550040161040605401740501187070012191301040140030202405031502110413010001025506810516130102074018205040094007030405110150400116301121006402013405014100230155700116801902200171501813070110025193030404001001050161301027014316001540456415100130610171006408170246191303051040111302040124050131305141000102005151501615040040171301184080400200650110121006403301416013020405703010561320017150813200109130110703010111307001012809200501013180301144007010030650161012100640316040010008020061420022040550040640062617130105810200603091306040110107030102040114042001200112610742040131006514130101510064002040166301174004006306118403200401050110013061210135644401531040050162210505764018508509240012002010101305400501117050121006302013640114508501530201624064050105011502501006303130141704002001205270800613054005017260610810013091501010130054111303051261300546113150101422001010154040116400300200206501405024650538020104650104340107015500406301740050900200650115010240062030400370301041303055200210662002204074018405094125101301115612160070013250190104005114150152002101670301017902001918406040010010401801502400630613801004412301000400204054016120060304007258130102040961060400600308010200210111006401121000102002040136301144008002006505153001010116150172002101870301019203020300101021880109001630401231103140200501450310501556416613070010507140506184070592200840510405011165031050154012405013707001214100030109001640030202701433846142110140052002540667090617200603058614002706191402001020301132120012705010416140027061280103570054130450101530705056610640713010010140581301915010701411120802006112200254013130114270411530701416100640175641613010250040643160015404901308151001306101710064081702461913030510401113020401240501313051410001020051556161503001204017405018130120080019616040070402002040208010512180160400100080200652250040234006261241301052515026200210271002001022840310211001306121013901308410045205040068010501740200361810023095700110140050515011115012507024134011410702415121650116615050117308010183002019404012040047065012113010522402001021100130210131006404120011040040515062050400770301082105059405010200210116140015010124050513200840514804050151050902005010164050171303051815019709010400520804012140071046505010221000102002340060060102001610121006403570054501100551303056302040711058807002006519400120301080101112008001213030513630114400406065115260610168010160070020401770700121810020010218070100200651280100130340040400706148010541200204065003015005711014087003020967041010001020011402070062180304012311031402005014503105015901308166130700105071405061840705922008405104050111640501260071013106401070014150152002201656171301006101813070710716160070021307001050390030406141309010855801902861680107410120054083150040105012015023040310100050614801051513016150750040648208020061920025401013011127041123050040641630100423110400320060305014122001510405213023002001061001306176030140181001309603014010804011130250012150133110142703301585010700180304012200110311041054043015400903061301057502020054086163609405054010600108051110013061123011340060080141501151200603050116130101710064018306916140200140052100110405380800820400480230020050151521608110066405076200110816081100910701006211001304002101361030400104113045615016703677657001827030109300106001101501157001123030010101370310211001306121400703210503405041402005130305620084040071303058622002014005970301020401015301113021040012150513840104144031041803040127005237050412200151040513020067066311040057130230020010810314305019801010100640113069115021220015104033083010404161554050102110121220015104031702008004705055700161505710048311091402001020022011615054012140010540137070012141000102001540200464163040123110400320060305014306915601010625407680011008254097002007011061001301157001121064013709010216311052100640531052007065041301055640506100230720150618107040306509130601010140010100130111011210064013563011014250140010155501619520017302040188014001006119130305206301214006007650228010238001080102413010602540502040262003302720030010411001306123010043703040400440153050168010725014002084050981001061502011304007030401240113502001041100130230631504301052204061006571681610913010102002050113004104110013061210133069415015200603062002207305081090306191301020108016020011215302012210097013405014130301030156301161030400804001740502040181841913012014020014002021150522409010251234012419012540251502640670454027130902828130106029130902830210020010218030401231103140200501437030501570130105166018030517614092005018703010519831200510405011603103012405080064140606405270504320022046401551064050713090013040105082270104161301024041050316001540430070102151001306101710064081702461913030510401113020401240501313051410001020051563011640050100906117130402010130186130401071501915010201200120402126001020022615010231600180247030102040257070012261064027408109161012100640316806141304020101305613040107150621301006097630184002600606191305016010130010110540116301124007050061138010141301200800154080604105012100104002130305360010200430204051506205040040740640501050864019150110703010204011288010900110013061210133007010241903014002054001402002061507504002002084019107024101216501111612150135080703014801015140613050116401175030011018150201930150400201308301040211302003001041100130210131006404120011040040515062050400770301082105059405010200210116200710050101240505132007100114860501156401161200104171501816001308020401913010204012115051204022705052315024120010425130126130190301827401281604009704002964013040068010100103113013221303053370301053440062030400356130105361501021610121006403301410320040502040530010011001061507109010220408405003094011019012111006401250681316141006401556416161710064018901308196401201006402130692240502040232270104161604001000802006122002204035004044006261513010561507200210820081040964641100130612101330070102440155080100562050010200174040184001006309615011030502001201180105011280070108011363063011420059201530200340501201664011715040018703010501192707107110013021013100640412005910517076703010204074050813030596140060070040040651062001102040119005200101121501320021014240115400704030650164081091610121006403170403061470301054020150400204061501077014030860680940070304065010405011101400105127070012131060071051464050155616201700217612004001002611815010194070204020200100102163040123110314020050145031050153007010216613070010507140506184070592200840510405011161600700400121307001050139003040611413090108515801902861168010174101200540183150040105012015023040310100050614801051513016270417304041050820401927044001050040641630100421200603050134066010421101400501566030915064021050113010280200706503640301054801400270615140200680200706507640181402009802007065010220030010411010044021006405310640413010010140558016200454061305012007621060813062004913040620064161400270612801035700543070505561064061301001014057210608130200804913040200806417003020240503150211041301002001055010090567030102074050518100110409689010416401290030405015403630205049003040615150806054068040171100050400870505409130540054010130400101110470650124050134650141303051540501630010101730401183110191402002020022021640122714654023100010200244004002102162070030202160070032002204170015160070061301002001076510890013040591501016007005111301040123004104115028010370030204301105530405066001807707001281301600200597003020101064011403406701230513130501601467003020151064016403005641640125066002005313014301330540704641106402101400330144002030405508060613017217005058804050540930010010106607010418014012130700105033001006148080105130501200630540780105187801020096300510100160013041050280105134014414040051306040161400661301200800713018401930011010200220111501220022013807013014304011510200104161401213070010503607046148080105130350566001304105078010518401941404001013060401614001161301200800121301134011430011015200220167091101710001020018403700670018030124002038010440200105540401610702475630110840191070246501013011120401121070241312165401440501510023016615011730406806540185090102540191000102002040501006901630100421400105013406601041302040012580160040030806801057630630182030405960210040010405011200220123010080010132105054014615054015308010163002017405051840200102161502203013304014301068010505405200220617040130540715058240191070403065010600210200180160400100402204013140200400464050540012640702076301840091000619150510240111400704030650122901020016301240020020506131301041307001050590030406168040040602040713050120086401930204010405011465012130305134050141630101101550040163011740050902006501611004021309030153920080104130505120056730801640507130301030815091308605014001010700525011130601010140012700302013700202001014303070012020010501619022002801503130305430151080010706132007130408605010501803063012201503405041301002006505405061002302040716306821001059105056501070501113080601412801013130120080014130115100301030116404050171503105011840505401961400270201307001050219003040612240123140020080612480105256201506126403200401050164012201503200220430105302051301002001062900304076153051840903086501630623001103200220430370305130501606140576184586301910713065010406004003080105011301240503200840420022056307003020660030100540764004040082030405920022010301403015011355040124050131303505146130501601513407010501620301250100903703010204405051502110613020060307401850500240092510806142011631102012801013570051413081001564067090051667002020010173030406405010501610030230307001050330141064050650517040306167030107402015040020408150197014030650161504009002006121501340504009002006501630305210001023130604016140046130120080056130105610200370713014020082030598017024510640062030117030105126401132002201421000180301570401164007040306501260402130305313020084050413020081040113020024003020311014004130204001251304021050115012150730501531002001501470200210153070302040640070100306501508502501009037030102041860505130100909062401716810501813010209570011013010020015011615012205040013405014100230515304050161301000180301050117002100130310660804301210551016124007150108200110400918410703002001120620211261303004060136130100402001420011040054015301016601341050110013021013250104301540010090906200610120770301081600640020980102010461103020112010411215013130300109150143030150601501570461640210501620700302021034002102032002204610703040205405064001610307130181410500861040040950704040051070301020116703010121301310701006214204011514004051167030101712610201840501910023020122001510402161608110022150232002202470301040258201040130100422015038010410660805616006400561101400730306011030105011700210013061330106608046160065518261301071210501840501965085010709025111501212150113308010148003013015402105011100400306121066080316419200865512008001610600307302040863591210204010640020650611140501227045131006401149013081050110013021001103034050540430154001004003061610660807613010065880109100010124001013032111030400100951227080013130601012005141501520504004016801703010501100130612101312150144015302063017400140501870301091066080106150111305123050190865011200603052407050131000414102004007056103070266150173058308180900650110013021501033010875050104150540070052616257616001808150910120305101307001021161504004012705051310001803065011001306123010503120305413070010256508506709025715018170019306001602006501803040127005261325461340706151506103703065780108100010124009130321061681050111130105123040050210505401321402005401457001156540163011710300702006501631106121215403703001104102206501100130612101312150141501570052501650604002100764002002050181066080970504104040017050111801203051213070010213640114150400152406405016305011763061820501199014100105016311061270301031004010905424405207002610013072308606304009302040101508060204011140200112809022001334010301461303051513040604007015016703010174011840090806501631104002601012005380120060306146120045405801430106430657100130810192300200101057001111000301401261602006513280017051461303051570301040162401171070403065016300200652250040503260060442001540540704645662015061780105840509130715410501610013021307001031300400200154405054090200630140200140057120200401084050061597060101015011105080705011216135040060070051463041156207003020164020501173010660801880101913012008002063050703040521405022400161030231301814105002461303052510001302267030102714020052863020502912050020030130501603130132107030406501630401223010003130045414001050155820401667030401762070030208503710913040860501050162001644005213040010356480105210400516705075080605861000301004009130126121061001304001151040012302013100130144070170015130305161505172002101818605019405006110201505213012210803082313090013040650163010042540400325465405251630630171508200110922005150102002511207003020123050902008013705051413060610156130808300110161505174050187021450119130406003090105016160400210012130212361004400410040109055405064220076130801018601045193041010130212111001304001240113371101440501512001416215302017606101181301191502010603502116227070012231301040110013025103200164400501047050550806010663005473001548405091530511015011201501210040109051310041440501510023016809041004001765618405019130201700210501615022015031004010905410045405064220078020700240086569405010130901410010501803040122001103100401090541004540506422007100130815059405010201042050111501220104205013709001040110660802170200800370504570015616040010008020010630700502207150208205040094050101306001910105016100130250606538010413040410505514020014006130707107740020016488040015197050105080605111004123001000805113821141501153050200151168010178003013018402105018030401260407040032402020055041200603040051301055066170400440073055084040020196140040010203011618451240505501360201050114610013040015160020031670301055017803040118200110505191202200505206100970502111041055022610030502381300243030525401265700127230020012815029570013013013140302032202001040110013040028070030205031307001043040400505010580105663010047200164400587050950806051080160400709040116301050123040131080703014401151402005163010603505017630102065011840501913090110002001050110013022002313060350418251301064040171047065050108130105961301104009020080117050101220104550131902141301055015612050164050171303153010501801604003122305320025480902008057050562010455071505856913060401070101307030104015004022413305404405052704640172001618130110140093010603505051084001011810501646003024070531306035048040010150510013061845401715010812001501091709020010600402001116100130121301600200131501014120015010151840301680610017200160101860027119400120302013091020021405052250210501232400161030524150125502001202640502713040860501050110013023013101400102040149701405400200710015056130175021400204018240016103059100230101501110140010204011270030204011340401147030405010152002101615010174002002040018403051910064020301211064050650222130305236540242130160020052554026201802006501614002704002403053121101041220015104056160811006610701006274018201509305011015011503002002012213030513405014300101015700302016405017808003018130305197030105012067030102113050160226302050231205002002413050160253012610300202006501101290182103130603504112002125404008020010065066001020071408130305913061841013010051200140124007024650340504465055130161604011076040104004065181504004096121620401040111150730121303051325114405015603091501615017130820401813011930305201402002113012240070246123130124110152570030202613041050271301001040286302050291205002003013050160313013210703040650110129018210313060350414015184204016801060100107200258600402001961401101301600200118010903021280400120301313091020014405015200160516100800101713014020018130700101980105204006040080400101501610013023030700103900504150555013640505401717002020050108705049200220108015060151113030010915012700202001320025148030250015801016130603501728007018605010501610013021304030203150104120010560270621002001400760401508101203055096027010703180116602701260502301400136008002001461600200151012601400161011711051181304030119180400650102080102120061011022150232050400402430302006101254007022006501100130612180010001500318301404640155085062400161030713018301408270130401050161001302130700103503144050540156142020062704714058150191502102040102400161030511801200603065011066080211051313090410100418040050158010660270721002001400860401509101203055010602701170318012660270136050230140014600800200156160020016101260140017307030101812003701913010201305016021307030540221070304065011001302400720070650360270460501050541216804017890440040880700200659801010605023051113011210030103011340401144001203065015004021014001034050427045700302066027073004148101203050940110100440400401130550121301131003010301144040115400890506501500402101400103405042704570030206701407801058101000150091305016010680105111070902006501610013021304030203110400650104255803040163110571302006063081001309120037010130101120022012801601305134011421301513050606516130301400101710097050181104105501915020200210212201045502270301040110013024013600922050417005200164400506106608077050850806059100305010813001130305124011370304050114703010515405016606101710013040018140200140019130707107201301502189089022130810023150124200164400525705026508060527615052830405029130901410010501700302023010703040315010430405160050562130100010276150813030593011010541011201041213060011050105016401212200103508060104150513050806063014012005721306061081301940110200840112002101215013200210141000806200152008104016100130213040302031104006501042551604006003090563050806010780304018203040591001301015020111301064012304105011340201050141401050110013021370305010370301046007110505130120080061501078801090087030104016207003020240205013301066080480105130120080061040026174050518810500910300110105090102112200840400501124050135030011014630115508001070161320017130408605010501630132002130160020053600102004303070010505140506166201506171040010065016311021600653106608048046003061570301056807020080540765408305940502020065016304012357540323517540410013051104006501062160073020408405091210204010130111400200650121501013168010141302010301561501166001020017130405073010501801502304034001400650104255803016201030730204087050410963011040010020026501100130612605020016437050541215561501630801703065016100130230804001015053137030614280017040054058010620081305407307030540810702008065051917001101501003026111130101215305401330703054014102003706501803040122003706131301041210540510013061610171215018405070940501101302010301180120060301240705011316001501145020400301561501163051730818090065011001302530314050204047030105513016204017140504002040870301091600105104050111002301280130305136001020014818090011565616120084017130200184010501630401280400861340400170540463461528001704005406200440071301054081001306191011012150111401125021000101357005142800170400501152004400161301050117650401020018153050119650880900201600150121650741422201030232701020024700302025201030261060102001100130230503120060305440702040584001064006400650740650010018405091303051030400140050501011251213011315014108191522040168030401171400651840650010054019100130201303052170301022401235010063024620103016100130210132501043015400460030616405072128618496146003061104050111261212404008020010051364011411000501015705020401640501713030518405019300101020150211308204022130123303052470301052540062030400266703010527803010400620302813040400620306501630401246003061340504810500514020054061265407401820150910100050101070505401140501213030513405014300101015130116813517801018508060191070100622010080015121615052230700623703040243040125703040501526630205027120500200281305016029301301070304065016304012460030613703010410660805161061301057160015810013091501010150111160062012803011340024001060142401152015061161070403065018030401235754032351754043703051306010011056801072008308160010595004010170050114067005012110400511313070102001415020401530601200100650110013061261100230613703010540440170015400801004650110013061250801004390617041304030205630405063110725884030927010200106150111251277010401100130612400130305330100447030404004054016310501730508060488010913012008001064011120501126012001001050110013061280401337165415052050400406201700210501100130612371653405046345801062008305780568371659207003020105037101113090013040105018024122167010400540310023046701105160010565004071604006002003518405096701101016001051120700302012204501133010660801440115201501630101600700171600151880101941050201304030202113012215023103001102413030525502008070264200314002740502850300110296806100302030317001032703040337030104011001306121503106020010048010045602001006160073058405091002301080160200511110660801280101350806051463040151024511630540171001301815040040193002002040201501216130305221703040232401244009080650110013061210131105141307071075150630571218300106001920210200110806007001118450112402015051315011450200120154050161304086050105011001302407017003130305415055016007006130174050863450194040017050110705045111501121700113309001304065018030401216040010160613405054600309061550310161001307202102005408130409400703040611015011121204012100413160070014703010204015406500100116405017130305186405019100230204012180200940040228010231066080248030502512200826130120080027840010281017005029301030121031163210820403313030534301035656366001020037130812040105011200370612130103121020404801006306151016121501715081250209602001001064011130054501121301132401147030405011564011620501173030100010218818090010501616013021301002001053130400104205015801051661307010200713040010811002305019801051106150111309014100650110013022303606304004302040515080602040614020017809022008340103097060101013030511150121014001050101325401434010701151505165617130703010401813082010401640063010270505403610013041015160801067030107106608086121080040097010501510405011130875012805613209001040110013061240013030534008040014400700202005106608068400107400206508820080019161040020650114050121305130201050110013021504013130020642500105687501061301071303058617030409405010130305114011230113400703040650110122501031700526148040086060615405061066080761600105863019400101606110405011200681213030513150514301151010160164050172006818130305191301201301006402113020180200650180304012460030613703010541001306151016110517130707107840605019615305011013080020011631050112228001705134073151480168015305011613020103017640090410018703010501191502013030521103710221304040090410010501100130253037030404004044015807030400406210660807616001058170091504004010315306501100130612115020330150400410660805100130615017106608086570019160010101004114050121303051370301050114150515405016104001001761090220018801501913030520301211080010702213200231304086050105011001306124001303053301004415002002051303056703010501761508205019306001910105011001302301340050020010247030102040513010640610100080200713030583020409656101200840111302001840105011700526122100401090103570014801301006557030106635712108101400929010200110614006501011215302040121340701050163040128090304003130701020041001305126540615010730134820010891066080103063011115012400805046501100130612400130305315020430801058003013020613010041040180304012150331104130230010200513010015670301076355880120040049290102001101001301113040121100301330204014150101517030401640501713030518401193012040070304065011001306121013121501416040010008020053050167005062501715018205019600191010501100130260680316040010008020043020405200210615057568130100080620091302008104018030401246003061370301041066080516106130105712610586100130914600306110409020011150123001101313030514140501050162008070212610537030104130702003005660020061630576034186100130910110124001157001124001610301320061011014405015100230161004173703051182002101981001206100421186050222102317002416002003501025405026130603502763110282204029405030130246314050322704331503450710003513030010915036210501037621050381600640010391504020021041309108042304014310300110441505455646130703010404713082010401200221004314001040050104405051304030206670304040050107405084001610309130181410500108019200111306040161400126130120080013150400146301010158010161304501011761301600200518400680501019406030401206130810050102121309013081050170030202405031502110413010001025506810561301020764018205040093041054010170011134070611214020054013654014104020200650164012120500200313050160463065820090400624064050105016401240060130540370301054405051320061507568130197002020010303070130401050162011050240503110548010513060401614006613012008007104020065087030105196540107050511140702008006501640121064050312050020054042130305513016654074030020020650118014050612150340014001054041000130010554050670700127130305816940014001054010130601705112100040051265401330114103007020065011003025700536021030104147065130106130305770301082901020059150110640501114002705010126602815013130305146401151501164050171304030020020105016401212006030501340504100230205130162003130175068108130105409405010153011130100200101218030401310601020061148010151301200800168010509002006117201080182015019701100252013070010502140502210023054023630412002413016002005256001020026303070010502714001006128180301294007010030650184001021700131604001016041302006030569005061615054071004820700261931105401050902005011180503101240501350300110146301151020041621605011770501813010064019130403200401050130100422015038010410090905405702200563016301071301302128401920150108410500111108040020010126302050134009041010014130700101521050161041051764008090103018203019300101020654102162008405223010064023106405065012604021303053130200840504130200810401130402002400302031101400413020400125613070010615073071301020840509200220101308100116302050121205002001313050160143011510640506501130305213070010320080704130604016140052100010200670404740020065051850040916040061010703010111307020030012660600200131303004060146130100402001520301610320010173013301840604010191042200201301402002110809030221301101400233070302040242301001102520022040264006100506501656213070010340441301200800563703068010517200616010861505120019640501020301113050040200140012370301380105114763105015150050105016101000300101713030103018130505120019150208010217003020223011014002330100640241040080202006501680102130120080031009704404003162001400563501400640507170501286720070965060010301090506150116100010200129050615013106010010142401101561841665080800301727080051187030101927080020801021130120302215023801024700302025301101400263010064027107010030650161502400703238070324100630540511700162050174002001218115019308010106003010011341041216301020131307001050142080200611522002540166163010201713011000301301880101917050110054020616301020211908122213050120023540248010512560013046501610604007033065020221306010105310023041308605055610046600304007405081002305409130405003014001061501120022012307006134010008020051430305016015703010169003040540176150182002201930300410420130701001216101006302130700105032080200614306301515073067030105711058405092002510150401111504001240507002001363020301410064015514113030521070304034014400840305203061505001076401840010001080091301200814010640111400741412620301330010101470504515240100412001701304021301000102361303005145413020210200513040400701301606110240502040340504160200513010063066405073520082596405010561140604006008012213030103013660120021421305051200130524070100214003405042105051041056640507600308058108809006505940501014020011130305121501313030514301151010001020016401172100640188400101910100010200612040121215080605402261700123120014241303052521006402660610127803012840200429305306401313054032405033465053440503561301562130700103102001020404130220010056006801669407017610503001081306081291305001001301610602821302007043284045461304030110205540506600108040057610200603081309061701009801090102102511140501210300110136540141031430650158010161303051765618300410419130408130130524706531308100461307001050510470650640507465058301910604003102650103054011230010101213011320216091420801051513010161304011017301023010001880151964012056212213010005226401234701102413020180200105025130126801027800301301630305210603434050480105130604016140066130120080079670186202005196900301305401021301000461161301901301100302405032002413060401614005613012008006100307130305810030918014006007004004010405011465051216301011013301141040302065015301508060540165080701176301188002001191003020530211060400610221301704010236130290102002414025530264006040061027130900304014002861305062002914030370306131303053230020020110336003010061342060030100535804003001253613060030100377030105403810030391303054060013010041203042300101043656441306184451301005120011507302405031306040110440110580601304006164105721004200518801840040309130601030107241112001210112640401131061004650147030105158010161305012001712400100011018830105191620404001702172422405003052320700302024108002002251303052613081002761302193028801401291307243080107005231380110326140133401341050807035130501603680104020500378010381301200800392070030204010800200241130305421301405001301303070010502160400312613302002540413086050105613070010506304071060400310261830593061015011305401240113801014130120080015340107011664050030517407051830180400461192520163010202130540226061023130860122464016154025355040266210602713040514118040502107030403150401415073051301020640507200220813081009204050105611170401012150401131040070020200141630615130130212113070010502106806503270544130305563016105010080065071304010500110016130700105021090306503401414020051303056257150810690309610600300650102002540116106001806501260610131308601216130700105029022006131240010001104635520025406611001406171309030158615080100619404011020071005015401160200112670301501051361042001065014213086050515130601010516163010201730540187010021019130412001350140027045031046003065051464050590308640507121105408617613540967002001014005401061304030110205111046003065012703010540134050142030152121603014027030102040324014902200400405805070406701002107130412001613070010502105010080065037054413030554050627047401050011005861010097065094011014020011130305122513150141069030156108060465016801017130120080018163010201930540201303070505216305402260610231304120011303052102609313020071004304050510300110661010042007680200861821308101591304501011064011113081015121304501011380101413016002005151301164040017016101006302130700105032080200614306301515073067030105711058405092002510100301115012130305131080030144050151030011016610541017130105184050191501211307001050214050613640094010504100306254052700202006130305713018270020200913030510400940105011130100306211307001050214050613670403061413090130814005962106305407686050840121207003020212006030501203801041405510046600304007405081002305191404010304004003061170301054012130700101316810501141301020156540161020802006501721302008405018100301956202002102130122130523130124562570301052640062030400276130105284040012163062150310020015014601020040052561303213071681009704009251013012008001116122030401325141304064001015230163030517130140200183401070119180304020101016021130700105022140506123150243062510300110261303052730541028130501602934010701306301311071303213070010503320802006134400901025403524013690507061371001200705381639400830401002001021414050424120054043840010441014001045670446130305471504813030549301501060030805113040107014163010042160400571032200603044050510023020680140301040073030700105082080200619500401016007004005401180201080122015013701001211804050256310011040470301052030650806072401820602400963703061103030511300200201101210030136040654014140154005021065051624011730118107030401980102013012008002114022290015200234050241301006302523026710502730307001050282080200612940202005403069046131705032130602103033640503410800303035130305368040137305384050395141305402707001238010413081015513045010166307070012713016002005813001009640110305401140501213030513405014611001405003021303505313040010467045130404001006506400320010740508400840051913015051200101203051114110401269003051134003020147010021015130700105016140010061176701002101813020180200105019130501200161307001050214001050154031302040012410802008650524016150730713010208640509130187121040501110502020012270800513100301415040115140200400161501717024181303051963012013002002021252213010523147062461301052540121620700302021507305015382040147020021015630105061400270400715611054082704401931102010405011130703040124011330201440501513030516405017630101863011961100163010042120060305013200603014405051002302066370305017305408176131967002001051064011120150123020060630131501410140010152110516130117217005018130305193020302013302120400121104086213030534014103001105610500240066705045714081302040012161502401350200105020427080051307001065070454071685040068010502098015040110703010201113023011000126703010501131308601211630402102006131501450140010513012008006505010090517405081920018051961303051010820401130112407010021330820405146561560200107016130860121610042402020031307001050440505100230540680303057130402020083401070191070304010401114002060212203013508060146601070304015130208012001630405017701002101813041200161010063021307001050320802006143060400540200603016100307208010821303059300510411021050101162105020401264050137050451470304015130204001212604021303053130200840504130200810401130200220400123150730501541301020530400600200361305016074050813090030401400913010101305062001121700501220025401313010149020019151307071071613084010411303052130700103305440158010613060401614007640188010913012008001066103011303020180200105012405013707001214300410411307001050210604008265031308101541304501015703010613016002005761090465087050960210301013030511610210006505112706311316301020148010158003013016270104164012120060305013405042006063051301623060150710064058301021050930540108010800301113030512405013103001101461054101540501610300110176561813070710719130820104016301004212006030501340660104211014005015150616002003710064020840509130900304014001013010111305062001267002020054013211014014130305151501680101770030201830110140019302030209021200213002062001617002100130340660104301006405517002020061650704057130305870301020409170010150312040114050121301380200706501410606406502040156061016130707001217610700286501812501102040196106040081065020506011020402168010227003020402323011024405025200220402670900104016170024001700503200220404301050530020200400406301710450204076301050820802004004091501070700121011303004104161001302406601031504400208020061515040040664050780108130120080093401070110801501113030512301000501013840104113040210140020403502141307001050540506100230204071006408506896701410650040641161307001050124050132704540143011510703040540161301171303051831104005401920060305402021302105014002180200461221104105402380102418061554025610013061261501272080200501282401291200603040040302531615013230801033300203440401354004706505013613010537402001021100130400220060305403180104130305530020680192007130604016140086130120080091047062040103010100080200113020401240501370050622040146106600200204015130101613301740604010181001306119150201504004021130122230020023405003050124400200104650251502640090465012770401282015029107024301216501318014006501322603091503340210501100130400230540320060305404150550850613017230020084050030204096302050101303051110405012703010134050141030011015405016702145176401182015019305012015021501400102040222603091502313012421700502513030526670301027130305288030104006203029130406405065016401230501313014504006203057030106130305761004854150196023050110630509022005011703010124011317001040040650114670301015130305168030104006203017130404006203065016100130213070010503208020061430200603054053050600200350204064050712008005018169304007064501080101140304005011280168101313010540142002540153050530205016130900130401050163050602050502040213012008003405042704540570030206304050760018084010014010966001801067010416160400804008612660012320304321200570501041405026200110533550404610601001054050640110790410411040032007052630131020144106010100055610140010561304064007405082030940201501064011156122401040013640501462001105157070012161000301090014050030213070010503208020061422002540517040130540620200401471300400440082591302001081080101110640127019080133011410100420065015404011620602611770301018300101019700302020562113080030130221302701041130402400200315041303055600301006130604016140076130120080082130810091501010300111107005220401261014001326003010014341041640127003020370301041303055270710716220076123030533401070148010013051308007080110630307001050716040020220061815019205011030204011400270112805301315040040144010005065015705011640501770700121813030519405020300101021100130612230623541501241303052530541050120402660611027703010501281377050129140309022005013140132305013340503440810901610013021303001091503304014100800105130140200615071303058670420409670410130810011667044002040128016003080400204013640114201501530101670301020401740501860309150191301201502147064002040228016040032400402330102480301254003064065010266306406127150806020402840129150130240902006002040316401321504004033240902006001034150103520802004003624013713002002040040650384050391002304015041130900130401050423054043707001244130104016146003021307001050314050614670403061513090130814006350140074003200108405094008400511013015051200116001304105012801051132170050142002540154008104005401680105117603014011304024002003201080480020025130305640500301720304058910259203003200510910251119030511250012400136802007051148010151306040110140064001021203051320304810505217005062002517610800200281303059130140500130103030501601130703054012104007002020065016405003022030405360021050054203003200556002105005613400500400740508806100913012008001040111305112405013100200120011050024002130305313070010504140506152130100630613050012400780108130810159130450101106801011130160020051261080030131303051413090013040105015610807030161303051740118103001101130402400200313010413070010505243061650704040071303058208020019618306110100640540114120012130261200135504021090306505136210604130100200120016370306123030531504141430108003061570506602103057100308400404007061980150104090102002040111301012130501200110030230702141031307001050414050615101001040616130903015761050801006184040192007100501540106020011167030150105124050131002301415015101400101610640173011821070198010520630121600301301130305213070010360030100413060401614005613012008006615073074050813060401109401101080160020031125124050131305004020014001420071001153020401666060020017302040181308030201930400320010208010211302820022214020052366060020024302040251301505120016606002002302040313030040604613010040200541102105066606002007302040813030103096130505120016140012040240503203044015601304004065661507400704618507040400913030510301114008906511215013130150601501430900306401520801200161700210013031220015104042002513703065700171302304814050196135025010106250101115012507024131301905014012002215055031800303050420500102001540506130501607804050840027050109801505104050101164050127090150101380150201410008062001520081040120025012150103160205040044050570020010400106261471000102008700109720070107050411210400201213040820040132002501143010100104061151309030151680137030171801045184050191305016020400561021130105402261200710054023405024130500402001400253070305402610300202006501200250121502034007030404401550600801066401750703050864019106008010107030101113030512405013300101014801015130120080016630117801018130604011011308404230305313070010465253010670301071302022008160401701030961608110010150112002101230604010701313047011012002213703050103401001040413090301556405067002001040010720025018640010023094701101200250121100080200330104630613041056303040640501050610640710100640813086012163012400860250313030541000180301570401610704030713090013040650815040191066002005401030106401140030060090128010513130129012001405970105024010050701032001066054043015102004004613010540792008054086180104400540956110161507002002130501603106404101400105405130707001268010100630713070010508900304061920025011016002005011113010121330131002001021450321547064002016650400270171302006030181630401940020650612011006040400402140502210023023401243020402540502676130166020504004028010340601205041307001050590030406161508060540764002105083020409201080108070305011125401268002002501133020401413014050013016100424020200613402020054046705045130305640202005407615082015094020200540103040076301140505121303213018030124008602503130305440600308056704562006030571508130305970710710700611150400100140110640240024303130120080041000102005130120080066130604016140076220076183030591306184101301005120016400200102130403200401050310640107004401002005010505801061301908014160200121030540240503100920015046400100030010563655406130501200130103710213030532030450806054016206024007150813030596020010701013086012157001223011000330305016046301050700200615256630107030406171504018569130510618411630107002020012163061313013021212604021303053130200840504130200810401130200240030203110140041302040012561002001506402105012002401210643130700105042080200615306620150617406030401050170020054021012030613610400404007061461030554051301403068060680710703040650164012153020501340504100200105513016630517204001284070306401401240060210034050414055133051664017106040016002006501610013061210131105141307001055073067030105713070020200815020930403506501306240134001400105014213040301102055150620504007405081309014100105014012505073031304030110205413015213081006640172015061817001940509002001050115012508503507305014130700202005615016305730818090065016301004212006030501340504100230205801063001070713016301050164012101400105403405042006063051301620150617258106040057106501207003020250603020538010410030625130403200401050130121064050650325461004560030400660505713016301050163062804008501370301054042121540506130604011078090030618801059107020036501301001306121504013602020040041290120050152306508507100640840608620065016301004237030501380104130604011052200631667105015173030501900200105016880900501512405032030430010915052003104011301240503160400200100413060407058014002705630051274021050161301200800240445015136130100105014801051520061601066150240050178010518405092030103001010114067650163703050123020403801051440701103005640506306040040730582200171001050161502405033001010413015705045016600711050576401850507305913011021004200114070306401612006030501213020010183306110084801507305015405061306040110740110880160100105012040659640110150400401130512260017501050161501230508503508101046504010400565085061306120050065016301004270304050131304060400100440105044050204056301004670304050171304060400160020010501615022002203564108300200540515056820104077030104016301004260030100501313015060150440505903090130640507840184060506501613031502600301005015340504100230540506501200713060406401617002100130320022043030403011020551501066001301007230020018405099030901301040501184011240605065018017001260610400536508060040048010554050620068107801007061830596013410501806034213040301102053203054041340706501130121230106031210415051020650640707130601341050110013021013123010604401530206130174002065084070913060134105011001302304031205043016034530230020066003010040057405089030901309405010840111406050650110013028016002003340505148015020520031040161502703010203130307050541301051064061304105011001302200238015090020050104130105106406102705006501100130280150203405041304050900200105011301021064031306100400413040703064011001302200232401411000610400501053017105050630540780108130120080096301100061050540101340701050113012702142034050540413040600309010501100130257001390200194703010540604001001040115027021410330106043020570301054066030915071301840509140027020104050111301000161050161502355040330406704540413407010501305126027053126124302030521264050540737108401006064011502130404001001050380104350140056701065011460030651226030140314050105016507705012401380104904620054054050610003071600615018703010960200200104040010012301050130121040605403801051450902564016540740505182406002003105015021027021410315010415015130100080620061302008104016150270700121035641307070012513013010401650210540270503800108041220015104011700246003061370301054801001306156030140161001307150184050204096330650110013061230134006330415015502300200206210003014077030104011001302123002004004065010370301041505406050106130202200780240840023002006501100130612230020050120321308100480301540020506405071301001509105011001302640503101005094405052008405620025713018130800130650110013028040136009220404110515130402006030650110013061215013120060305014130105100640640320040105011301213033069415015304050365406134070105011301214020014005310042005014150515304050613010001220010501803040123110313043069513040200603065011001302150204031006404405020200650110013061223033105012042401520150616801057104040020065016140010501202213081003615014309014100650180160200221530203210097044050513030103066140027071421200540863019103040080400104050204011184126140800611381050014400640200650161008001050121301053700302041301402005150641220075630110840100967094090281050163110215303130404105054106040023002006501100130215035630110480010801058030164008080086501614001006121303053630144006007650110013061216304035050520470505130701304010501100130256301103250140010415052050400406801703010501307040200202150540330801046020200400540510704056501801600700400540213090108534030020010010501803703050127013010513601803051461409200501570301054068312005740508603103011502801037003020430110140053030404006604010501615051230260210303401001040115028010370030204301105530304064050105016150220150319081241301102055309001304010501801504001004050124050540361505401430214014054021050163010042207002319081241308320051304020060301050161400105015402110140050138020150614705051540702008001050162015061210508400650340504130321305210640016140501050180160070040054021309010853409028105018040121100050103705054044015201506161020602650164012600301005013130604016140046130120080056401621050540171301821308100961501013060170511301400105128019080813130908081413034010301150220022035641306003011005130703010401630100421400105012036027014405051304050015010661301002001507130709001040130124004045037010501020413010540164040070501725817613194050540106301114008750127030105401361600808001435018201530304064050105016100302150103150141305070010200513040210501204012150730501370301041304010040060401050113070010502370306131301002001504708001050180620022023050601305054031340701050170401220150613107040306501801904702240134006402004617020080057050613040300200201050115012208010501203130406040057101050113070010502103703065034070413030551305161600200780606808107030406501630100425070304031502041080010100590420020624017101006306501806028228404320022046205054050613060134105016170242200220384001041014001020513010100105012604021303053130200840504130200810401140010214020031303054803015400604007033065660281505764007013010870401910300200206501105073021304030110205321302006844050514020056703010740508103001109405010702145111501215070020061131505143011513051613011715011880140010065016003010021306040161400361301200800421308100540070130106704017103002002065016003010021301506015034050450980558017001656760090104084021050161301507014026003010051330204048010515480106640501807076405051840012030650163020402801051334013048105054002001086506681050740060200865016400840302150010013020403130104230453040640020650617213010001058130192300100101301508060111501220022040133020010680142008104016130600103026130210001303613084010200430400200202651567105056610600301007401830194007030406501670301021303053100904413060210305640505163110200763068300110930541204010134070105015621307001031507304405051306040110640110730204084050593002001210640505113003200128010513400601040650110502400230204032541307200705613071040065066130506001030761301705012864050920301013050040200140011150128010137003020143011051530100640161040080202006501660600200230204031303010304613050512005613030040606613010040200761305036408406060020014009214020051015011801012700302013301101400143010064015107010030650164012700200133020404801051301200800640600400308017130615058150980101070030201130110512301006401310700202006501656213070010360600200413028200530400120306164050573084018920010196400604006002003611040505118301051240030260650511364002001014130803020154061600200168010517630400240010006118405019808003052063070302040214003002020065016130100102801031301200800420061601051506400401047220408615051200196602301103070302040114005400465016703014014002621305034035404105400465011804050210600301003204050430151060030100618030174007002020065016150240070461350704054130305530164008906517150813030593010008062001020081040161303052107030403401440060200650564016400703050650161307001050210470650340504465051303056301710600301006508300101019654010106003010065011406140021000102003181011046401510300702006506110150710270500650113052040213053618448013070010505301610640506507213016002005810030625409405020200510654011406040020220065013012320040315041303055107030406401710602006508640191070305065010150511301121082131304060400202200105016170012100103033054044017001515073062002204071001306181601910200913016301050130108403061216712005403201403054106405130100101405664050716712008130700105091080030650540102100010200117030401213011360110144011510720065011004240202003130700105044050510023054068014001071303058250101505409405010130100617041180600200127030105401313060100801440501580610054016614001540171307070012184050198105002030121103007020065015004021064031301001014054106007105405610100630611050730020020110108130700105092050400401040030011006501180105401210013013130700105014164006115130703040161501713060071018130106401961306061020703010211302018020010501130700105024004006801540313040301102054900130401051508060540680130100617130603040840192050110507040301140501260610132301014150151303051670301040172401182050400401940070403065018014600306121261233550404600130410505801051680302106074050061081304040020220010501610010302303070010503140010061440170015150730620022040710013061860010200193030700105010186050611180101257005131304501011486050515630412001613016002005176001020018630507040194120020130404001001050135014002704503104600306505144003200105405064008400517130150512008305409801051104011110300110650122070030201310371014130305151304040010010501130700105024004006801540313040301102054910210505101006306506603014077030102040814600306191303505102401112050400401240070403065015302105090020065031301415054001400105406130403011020571681014001091402001020022011207003020128070301313070010501440501510023054016640117900304054018130305196302050202015061211508060540221090030406501801901254026010101400340147040306156811006254074018201506192510106040057106501610013021307001050313002002061430653001106130305740187024501940501046505114050123001010135085014630115121650116630117820040501184050194650520405021300101022207003020238070302413070010502540502610023054027805302870301029130200603030130131130230110003213040210501630100422705005013801042030514056200606301715081702461913030510613400502611113091100064001280405054013405014541015130305166405054017405018810040019703010520130800301305218060102006122801023130120080024801509002006125201080262015027701100252813040207002105011502400820090370301045415405801506130305730181054109405010108003011640112305401340501450190200105016110060406122130305335441104015054053016102705007130305840509104064001023010116704112703010513810011463020501512050020016130501601730118107030406501301021050230540313070010410600400308065058010566301070304071307001050820802006191505401020150611120170021050115040121006305013303001010417001512004501561507501006308305920501080102065016130700105025132006138010413030554050627047401890030406193050261050540108010111304501011286050513630132001413016002005151202200163061720150611810703040650113070010502902200613670301042002540510400620306501640121200603050134050410023020513016200313017506810813010540980160130611015301113070020200121501320504004014301154007030406501213021050140026130722003615073050141301020513070020200630400210507303050160840195073010130105401163070305401210400802020065011801405021307001050340202006141306010101400515061060060807130305825409130120080010161110140010540121307070012134050148105001530116103007020065011621016007005403801044001003025405804016540724070371050116210160070054037030104400600680580150620022040730200106808200810401163040210200613130104401560030100613030574050830010109104008010110900301305117050121301040105013613030040110301460341153030516654017416002006501630305210603434014801051306040161400664017801081301200800940501041251161304030110205126540133011410604002022006501106001806502200254034050480610054056108070306506401710640200650161001302130305330144004006007006151305105061500501050715040185691305106184118011011012801200526501630524013801041306040161400561301200800663057130410508619021918010001020010130305114004001006501640122204034050450704055804050613030575004081700194060204010130800200118013010512400312006501500402170013203008041308002005705020406170017802001010084050204092200254010103002002065013010208020061224013140010501540480400404007061580606806400703040650161037030650230401330141070304065055090102164040172007100501540840013030593040060130501070401112050400401240080400200650161037030650230305313025014004602815055630540640171030040056501617001223002003184540421301505001059003066355740606418656920900104011040061200102405031301006404405056061064017230020082591104060205107030101156501214013104605148010151304002001216130117601101840119108204065013030700105023013106405065042130160020055405003061306061076303058130405003091301703010106561113070710712130820104016306210616007003130305413050160529003040540640174002002087030105194050104125116302050121066002005401313010141330154060401016801700117311018133054019301201060400160020065021601705226301231060400100440650161037030650230305340141020200565056400908061306050400540713020700281509305401013086050101130112320040131501430540151305012001661505401740802009650140013030523010043120060305014130105140406405071002302088071050930540101303001091501117040130540128056136301054014130106401563054016707001217130104016401215073050137030102041302040012513016304002105073054081307001091600400308061108010511654101262008405133010064014106405065016130305215073034050413060401105401106801810172581301200800927041040640051111501280101370030201430110515301006401610604070650161502302040380104130150701405307022005650601001020407404018801092965051040501121050128020050013644014302501156001309011660110100011730303001200210501640502500402001400313050600103046130170501254004006007006506405057602020018620071001986050110150118010127003020133011051430100640151070100306501616810220022031301041305083051506140060070010740508130321309210640011064050111303003200126404011310702003006501500402203010340504203051305004020014006801603020107602308200220970030301101060020031140501229650511330020012144060040030801513061505168010517300801101830305016019150208010217003020223011052330100640241040080202006501613030526003010020403500404104006801204056405020406405071020048130109120070030101307040200113020101230113107030401427041570304016300101011715018130305197030104020100410200161303052808003032708002040470301052708006801071302007100880401913070010501080800306111220014101220071005401370301014401154030204001611040150540178054018801051960611020180250704052113030522103846501613030523703033020404405051508060204061761317637030830204094050101761320401125010501268804513620071002040144050151309102140016180213021930171064050650186250704040019130305205402110208020065016107024650240503465041303055401630171040302083054092007100110405011130604016140012613012008001330010101146301151060400910706501803012400800200261330305413014050013051506130305710703040861504004093011040070304065018002002213030534050030147024154040306201630171010042008703010930010101064050112007100501512405011320071001148605011580561610508010017405051860200119635200120530211060400665022130840423303052423025120500200540263012710703040650168002002213030534050030142003301050518454016122040730181010042009703010103001010116561220301370301014406301515110504011610635517301181014001926001020020530211060400610225623640502410140200252130704302665627703010289020019294060400100104016303052100010231306040161400461301200800564016140200713060170581301920304081013029020011161256131100200214150151303051670301017203018300101019100410200161303052160020032040340504296505140514002040630174007030406508300101019637030103020401113060407012613012901200136130180104514307030204015400300202006501130402102006131301041309102005406060020014006801073681306040110940110104060205501113011213030513150148010157003020163011014001730100640181064050650161303052370303302040440505210640020406602050176370308302040940501033064111301507014012210640011340060400600806505114106401590070502040166106401711001404002040186405019190618051206162120051216130070120051221500150012364040017012413010258105016130305237030330204044040156003010069003013017637030830204094050101303213011120501501126370301330204014602001210301540010010204016130820017660200121030184001001020401921602040202070030202110400402250704040052370301020402430703020402540060304065018015024006306138015040147030102051302301100061304021050110702008065025070404003130305450040510502020065051661205002005407130201802006501610640250270500340504203051405630051041750040830191067005010303070010501120802006112630113540141060400704002650161700122001103130700105049003040615130707001268030171060080808705054096301105401110509002006501617001220011031307001050413002002061530020020110540610013061720025018563011093002002016501101307001050112050112504706134050144650201580130100611613010540171301006301815020401930201700265016130100612130103130305410640107005130603040668003077050540840192015061101080400200650113070010502208020061369046147050560210306130305774501540870700121980610010130707001211240112201506113108060465016106402502705003801042030514056300510417703010540840509150806054010631050111220123005104113703010145630110156507305011670301020171302040012184002101501193020302030010102165410226200840523623002001024303040603040105011502130305310140200421307043056130186015066110400110770010813010020021096105051010705011130808300110126130405020200136130210001014107090020401530703020401640070020200650161680612270543130305417001570154400406630174005010080061813011040150927041040062010451116100412370304004013130305147030102040152080103011615017130305181070304019401204008070306501630124002065061320130400104501008004005100073051640507270481006591502015001104004006007006501111040150204012460030113210502040141501540020650161405175101812002101940502014052115040122102306204023130305242525630102105050263020402710640281301001014052940130205040040318010532400600400308065016306230011031303054303703020405140566184576302050810800309405010103001101161054101240501310300110146304006013050157040116205040040174007040306501630124004006007006131104015020404460030152105020406804007307100440827049500264005110640070061006111130606101224011390444004014705015602103016130305176302040187070012197090010401630124003004002006132705441303055500405016100301030171504018705049130305105611600102001230204013150142050400401540070304065014012705042040310508044640157050461303057211008630503710509130700105010902200611113200540122186050134011420150611510704030650140502704030390130814405057002020061671505001086569406405010803050810105051181015129102513630503710505401413200540152186050164011720150611810704030650180170012100200140031301002001504801604007070052130305640507130300109150813020031040115052301060330546030915057030106130700105071405061867030109200254010104006203065011504012603091505370301041307001050510400630650566130700105075408259403002002065016170012243050131105440201505110566130305717030408240191050730101001306111150401121504001340804002001423015120500200540163011710703040650110030250730532006841301004605405062002207213081008301050024009130700105010140506111654101262300200101330304060304010501630100425070304031505404101006306505150401610703040572300200830601509130700101010308465011130105121703401013657001143060150157020021016402105011502130700105033014106405065052110140061303057301810541054091303051063054011707001212130104011504012108040020010313020700241307001050530161064050650721101400813030596163010201054011130201700265014050220802003213030544050527046110401505713018405091202005106100302511409401050122130110401501363020501440501530020081621302080200179042001188070301054019100080022040502113030522630540237070012247090010401700302022150540316040082614130810155130450101670301071301600200586150913030510301111054101213010064013130201802001050116301020213070010503927041303055703010610030625407660407054086129012005409616301020105401113010001803065013012320040315054048010513016002005654071306001602006501500402150320022043030700105055132006164050727048401980400506110500401131546112690220061131501420022015405016270451173010008062001820081040110640240014001032030450806054003143067050750806051864006801092030105080601140112704030400136540143011510900304065016800200221303053405003014100200105520150400614050574094010505810140010519200710051102001000411140501220301340201501480208020040015215070401613030517801700110051181303051930216020130367021613060068022240123201506124109050706501630100423110540320060630440505405802070026568016007005407130707001286540990013040650180203061240401320071002040413030558301301691021761300202006185070404009130305101501120504004012110151340070246501150401282004037030102040413040104005561304406630840713060050710200864019153010301000102001113030512251380405014180092001510001020016211000176301187014198015020130305211000806200222008104016301240010063061330401440090805130605040020406130207002757001883013096570011082001401130400804002006112703010131303051413020700215150161307001050171080400200650187030101913030520130207002213012210803086501404001702100301030363054047070012513010401670301021307001050351461482004050154016100909050177030102084050910023010640111900304050154012630205013201506114150806054015109003040650150040215032002204303070010505704030616130606107235130585004094001261104050112704127003020136190308611415015200220164050172704511830100080620019200810401150212200151040320150414055100150400163030578501080186304091020104050111304030020020105013001202001230150704053134002154654155130106902001974060400100104016140010501528010313045010148605055615056801071301600200583040509130901308105015004021681050131301020415051400270640305712200151040885010801964011020150114050121304030020020105011504012370303130602400470301051307001050616004003080617801058615092002201030108204011210505401210640131301001014051480104011520150611680105171060040030806501147021301036021030420022052130820405661304067090057130860505863143054092130400101051011186050121501320022014561517030401624050178003018705019602103052065621170304022213040540041050161502701100240040380701100261424050030540167061002400407258630105099022004004010305611600102001230309012200105016190220026401390220020413015213030566301740087508703010540963011040020118010128001010013404011410402020065011502130305340704130700105051400100616613070010507540840860506501260402130305313020084050413020081040160281502130700103160200104270245530103016405071304060348130820014091301010130406034111301100901012130700101321200205011486305153050200105164050171101400501181505195620130604010702113029010200161400105012406601031302040012463703050155541063025010716020011010308130194004006007006110405011465010126201030117002001052405038403050144070550686150572015087024193002062001161008001050121301032501041602001101030580106130204001273040080604508801091301200800104020040010501163040070305012703061132021020011801700123110367044163015401527050050167030102040770214183050191630101021601130041041280316061136003013014130410120015620150166704117408070630115004022004450133020404130202005570301054066140445012040721406130862501050963703050120401012050020011508010200111502186050400403186050400404301508060204056150616014004078030518801700193110106704111301600200512301060610611363652040146301046003061151304060341620401174600306518163019402005206301040022006121401227030612340040021020011706010220022040315041020084020405615067044004077045018637030501935504010303020180200105011890102001115025700131301002001504105410530304001065107110064086102300200913040640501050101307001050111070403065012130901308140013150143054015132001162021020011615021307001050330141064050650521301600200561704004501730540870700121913010401161047021301506015032130300200447011055213060010200662015071301506015087036301163703050121303010303613050512004110400105058040865016110571303010308637030501911051013050512001140290200512304002400100061138080030114405015200220401663040070304061177044181306050105019613086012206203021300101022809030501523400809010301162030215060150313074050154911020055801067050100576506002003830591064010130100101405112040012112103010015134050300620011110020012204001220320801042508060205130106406703010207860102114050215400410380150401410540041053050806056640507800308801504019108003010703010511163011240072001361720051467200151600200101664011720501184070700210501984001020502705002120060630116170012120045013150450530205100200105614020050174040020080105188080601006198010511080810011703010511213010063013804402005015114400440102001162040215302050134050413010020065054050627047506886208010922002201027005062117021451260021020011329010200114050220150310200104413070133055703305016305780105184019503001101030405011502001041250040133703050114305153550401610903015117407004064011840486200116405021200143130160020054660701053051660701051765684064050980163010201020150116070105401240300206200112030125040435630110465630110540506709110720022086401920150107091101120022012408900620011150900200220108038080030501427080054057030106270800763030160020058120220094200314001061202200114008080010301130124003703034070413030551305161600200780400100704840700406401940600700630116100800102200220313014400702461513016110157621306130410508186015019140110102301000501170504201213020220013184540114161520301540116803011740010030183054011918020630121400505200540122610030233054012410063012520200104011616008080023054013350184130700305405061302008405761003082002912008405401102040111200210150101290100010200112002204021703040324014801055080660204061507400206506189013081050980150510201501130301612105012100080620011614002700131301002002104810055613040602010506612507130602103086301940027002001040027001020011150213040270020010503201506141600615051303001019105066201507130300109150830200259208062001161401240070200800503705054041240010001105200840564050720022084002003651980100301030540111006301124010606200116301240037030310420440100030630551301067050100207630184002609519203010130260911804001007041240306401134086062001115022002203102609413020071005304050610300110761010042008150592015010270214511600210200112290102001163012400100400306131630142040460030010551403011006508507502007100540861101204091501010040030540112015012600910113202102001163012400100200261313075014150552015068018300576601108602103011630124001004003061313050806041304001058200406130305713018213081009640501010040030114090030640112801004133703050114306301051560309150116803011710602008018801019130100400302015052120150224050906200116301240010020026134013041301040010405130162130400107510818605098400101010230100011130045126168061132130705414150151307054162015017406010630116168061213020103031700142030400405675061621301006091607130406040010010408700302096001020010618605011400161030116301240010080340143010605302062577030408150913060407010613029020011613080614122030131630102014201501570505164060106301163012400403003801041301200800540200816150207305084006002001009130120080010630501140023010001213032130139630112030270030203201504601010557050462002207402020065117003020240401316810413010205200220640507130820405863019400370301040701113030512130511316002001480400301001015801016355040174030640118404862001118019080120402200220403213025010504614006007005405061304030110205715015001815020409304001006306501010063011170900104011630100429020080501380104570015130100200150630107002020061764018107104540913011050806200111003023063201504407055130556204017101006306508170019301240010006110130101170010121307020030013602103011602815052640070130103704014101006306505703061620210200114006028230531306040161400413060270561301200800664050780105508615094050103001010111301121060281328404514630205015301164008010056501740060210854018150519201502083010401211000806200116170012100200140031301002001504370305015210502066210507130700105083019106405065010213016002005118312112406040062001163703050127030103100306254041205055150610801005657680108170015054096100200110617001117002020040012200220138010141301002001501568451663061177030101814212005401950806200115085021703040324014106040040706505256170071060400407065081301020961700105401150361012170013101006301413090013040650151501640040027065017130118200330119406086200111509002002201080380020026143020513014050013068080030617803018106040091070650960210301161001306121170013205014709001401562008014001611501730402706500650860030100193410411100302206506138312005416584104111626003010013404014102022005801069046200204078060101006306508405091070104501101003011130700101280920020401316301440200515806010501000800650161301020172001066054018610100630650194040010205621100302270601023150241020650251002001021110640210470620403804006040031026504284045564009005065061507302500400408130191003010301161003023070214103101006306141304001055106186050715081303001091509105071000102105054011150121303001091501320150143030150601501570461164021050112002204021703040322040415051030016102008402040716815091030011010707002204011640112120060305012013703010540146201030116200220217030403240504801051306040161400661301200800763010048808003050192708001013050210105011703010122708001361400105011441664157262001110030214706131307001050477040400405405064650578030181040302065092030080101308002001170502040126301134008610301116301020213070010503104706504102400100065051301062002540713066010305811054091100200210610200365011200840400512610600180650137070012514150157070012162002201720150184087006200116150240503100200105413015508506405302065171002308106409130100101405101611407070026511270700121133004104114201501570030201680101713020400121840609620011640124050705013150450200603052130110140061301715082070029251101301630650116140010501125004064131305011005144029020051580900304061162511764011850200603019213011014002013012140060061080116170021003050133020415052002206181972130501608640193703050110130200610111130400101212001050120131301148040050515303050160166130300320051713040307065051880101913010020015020650600680540218040122107104540231301249100010150125202102001161700210030501330304030110205416034615301440680603461713018123010609100130101160341130405012600301004001391050111001302120011040020357001413070010520200404006703010730105081600200400509130101010640111301001014051230184005020501370020010400514130115100301030111001302170052380405044002702054050540680150735504083716204093711010406806200116160400807724050316040097040044050540529064002066133027703010540826001030209620033020106300120020540118010121301406130136130163014146704540156401161070454017130300109150181301191000200620011150270214103301060430205703010540660309150762080108220022096201030112002204021307001031073104302040513080302068010713028200830400240010006194050108080030511150512201501322040142008104011617001240602040313080020048010513028200680030740508400470650913011011015118030401125031204013130101413022001517020080040040166201501713015060150182080620011180140504004021503106006080422040531502613022007168102006030970301020401081902111500401230113400346114302040156201030111402140504004031504107010420405801056400120057160020010880102006030970301020401010019080111405012130200108138010100020010020401424011520802004004016500401730118400346119302040207030105012125224002107011630100422020040501325010414405684030501540680107130220086130282009620071005015401040501113091021400126808003050154013703010142050010200154040501660030100501174008080010301110640250470632030415016052140140540680405071640010820400125921040105051080163010201110100200106501220400125401363011410900304065015804001030116405022015038010457005517040106805678010813016002005917040101061800301160210301161502201461330108040050650204705051307001061681050171301020830400804002001097030105011010001020051161700112301400600700620136003010301163063012150350024005012043010045204400640020020507130105408300101019100301030111700123017001005012038007080413081015568007080613040401400750040830194003410302011703010501125090102001161502201461330106040080765020440505130120080063010600200362074050518617001930110103025006501160030180201213011310030103011605052405031004412006030501510023020640507200603050186301940034103060504005011140086103011110040213090301533043062041303004060513010610006010071303010308610020015091308032001015011100200150121308032001320150144030056411640502130301030380400534425550180305630207706010815091027050020102002201140100140112408406411610030220023146003050104404600305904100661600200350107406002003890410096137030103010114050123045020136030915011450901020011610030231103130810046751005130219306150713021930820150975610011650507302405031301002001504401556630080110762008405830304064050105096301101071041113090013040105012130113600601200116170012150704050137030104130150601505170200800665011072315025861700194060510130300200112015012101066011100302203031070403047030105300120304005680200220407170304082405095610154101160210301161060130650202705031302006841003051302006864050714020082002109640110164001040040114050121307030401313011410030103011630105023001050133050700525042130700105168105016130102075004083019400341030201125127030105011362010301113012200840534050420022051506808003057201508703010209202102001110030230105031340040704004130150605613035067030107150810140061924050030105700111130100200150123011310140065014240500305156306162015017270800540183027080019900510200116301004290200805013303050160480105570016130100200150740508203094050030108012101112050020012130501601313011420806200116100130612305035064050430205840010640080320073050184050913012008001010502670111624002065033020435055405065060010307670502880400803200913015051200106003013051114008031020011162400601009313060401104204015770404006703010501720608018169400140010102130305116130403011020512100210301116210206503302042104005405067600200807168400200100109801010130604011011630501250640501330200100102014840010154005073016703010501172040012118501002006519100302060281502120021022530232050400241301252300200126200606301164012405070313050160415051064050616170073110540813054109130110150111001306112127050013130305142300200115200606301110030230632015048010513012008006403011020571040300650840940105010509305073050110703010540114050121306040110134030201142006063011100302208010321303054300510415210501066210502040715058201509270214510600210200111290102001164050210543130305480565130405400466405071080030308803050940034103054011163010110124050134650514650830020054015106401613010010140517703010186365540197040101206220401216904012240161540233550402420304012560024002674501540276070102001170030202371654032150540420802006152110140050166100130617117001820501970900140110620080140011111501123040270650065013600301001143410411163040210200613150413030551307001066003010071306040161400861301200800910014200107030101115012106003010013405003054014637030153054016133011730118200102198010520801210211309001304065022130123208062001110030230631504004044004030206505600711050620084057200210817001930140602040040106003001051113015080110012620150131301506015014100400620011630100421400105013406601044006070511014006210501400780160130825010916020011010301017001131105401280100130133051480200706501515010163019005020171011840660101940608620011100130230100437030404004401515073065630110713018200291306040161400106130120080011290110200126150101330190050201410115802007065016405002620011801200142150310604008075404405051301200800680110002001005015764050840705934010701161003050124050327045430250105160200110103061602050617130120080088017001931101067041113016002005123105011322040143080108011621308100215073050153621308100450730564016120060305012071301840230020019650700102001161002001501280200100501533040010020015470301051305016067030107402050086507305015940050710301110030214050613254165301640064050617150813070010509164006110130703040114050121002305131700114104003010157030105401610600200650173030170010015018603411610100630650260281503200250141505201506670472002501830408070630116106002006502303017001001503102206504610710454056003006701110030214706131303054165147061613020084050711018401940047061108030511130160401101213086050101363011440035200152903014002016630117400600180400182511961240010002021050217003020226021030116100302130840433030541307001053040610400600700763041863040910205010305113002001020128010131304030201463040151020501630517630101840501913070030206202200521400202102001126040213030531302008405041302008104011308404230305313070010415073057030106702457130204001286304091037030103051170631110010401230105070020032160143004104154050630450576102300200813040640501050913070010501010704030650111309013081400121501330540141320011586050114012050010502801053124116105070020021307001050310013061414006007005130305663041140123054032544050570304066301730121105408202200400920304051040060020031140501218061554013150141010063065015130116207002118030703020221600703508060204703010515001200540615073040810640506192570011013084105001116080111501237030501340147030105130120080067105057305183050230654091105401018605011704030116150123031703065034014703010515907010416320071114028602400315041908125130205806613020010010407201506184050911014005011070321117002161031308040010541301051302058068010013061720025018140050194050103045020112008405126510101330501144050151402005011620030041180800200250127030103170015054048010513020580660501050770441150040227050050154033050703040411051308721050618901073040183025006191404115085025010090370301020450215405213081006150540780400105814050619220025401067450154011541016200295012703010310030625404170051001406168010013061720025018200291306040161400106130120080011305012504706134050144650515130511630100417100305011817001193009911563011021006405013140060070061440505465056130557306301810140065097030105401026030915011210501280405013190030401440405015180400200101670301017130305182070021161700217040073040040654036401410702465051301613030578016618130109130205801010503002001130204012200220401340501420084040051561051010163020401740501814020020401940200801001164002001021303004060317001493070400540071620067050720580540870014009130104010501061700111100020024001240010020080054013700140014130300401301565401680101780365184050519700302020405021110140022130305234050241054251303052680562713040540042864050291080030303080305031400343230533630101344020030041164008602540211010019001365404200100645650100302540670014007130104010508670014009130300401301062030254011216091270020017010513213069010414306151930704001670301054017306301040018405054019802001200120630403010400214050540222007021162070030202270500501540330104006011030614210505405100130610011030740505408204093025004004010100130611130250050112106401131614270800151064016100130611720022040181703040192401203025004004021801270500612218420402326200100204024570052513010261304041050527803010509002002811051291720103097014013180301014002040322200710033405053463010400309803563013610300702005037220403818411150540215031090052006147030102040510200340620406167107010462040880109403040054010630501140080308611217001131241162070030202170500200501370301054043010703040615150667047130305881009615010130601705113011220010213801051141700151040050177065016210505401714020054018801001306119125061207030105402125010150122200254023170304024254025100130261307001050271000302612870301029140200540303050400600700503170301054032406034116010100630650250030150053200127054042030254056101006306506600406057601460540820302540920034011021301000102116101006306501260270513650014050540142030254015100301620021017170304018270440054019401201070304054021130122100301030238030124400401200258010540261301274020011028900152001296301304006040080400318010540324050540331841163012400100630503303001010415010580170306700302071000411130121503103001104130305561700202006200220717001850601040096100301070601011150121054105013200210143011002002154050165700117200300411630250061280103205805404500301500540110566050105076174146184006070111003021303053170304042401530250061630571000102813060401614009613012008001012902001125126160407013401143054015405016465051740501863010196301201030020020218010228204052318411614003024013168104130102054050620400127200220830194024301030203040140051163050124003413405014465051540304008411619022002508060203407041307001050510470650620025407213010004158613070300109102001046501063551163011240070413701050120147050540154002001041671050517130810151813045010119630120400970214050221100080305012310030252470502570020200501266140027027561528620150291402005308020091161003021308100340504200220405804050630011078030106405086405093001101080301020802001115011217040045011330309001304010501450120011518191625401760200141005118615019106040010001050061201010001500612124011022201304053023103006102413063652521060261303002001227660110400284020040080100111502130700105031405061467040306151309013081400615017301850800107091320010405011186050127040301116301020230540335014004704505400320010640507400840054081301505120091083065010801051114050121601620013405014700521561030260650165001012117600800200118405019605046020616040022001002140400201010502280105123703010241301200110202550704026130500612276860504002840200400801001161800200223054034050030142003301050537030501630184540173504001050840509170501210688080501540111250600301263703050113210505401147200701120304001213035040010503140040041203051563040640090030407405058300101019680320050110600301305401115052001162015023053500402004801001305309018256656710816200581501912050020010405020114013011261707135080200116460030235040053656490013040530508060561001307401819005091501040021041157005121241164012190050313060170541001104055630105062004440071301082002109301345010600102001114050511240501003021110013023053901825465651081620056120802004007213070010860030100209405010400200121150040124050135098051450040156061201620033011302050125631303054200210563016130020020722002108184116306301217003460030400435040020510030400640173001108130305930110100651113011221303051315014400200501515011611003017405020184013011966304118070601022002103150410640010505600102001640507350400208610200603097030105110860215011140501213060401101380400902814907010411573010011162109028340165141000620015803050640060400910707305893021161810922500402005380190284101003025208010567030107401815080100980105110651011600161051270301013702006300511461010063015101163010400501017304018130020020192200210201841163040240020503305480105510509020065056405074650813030596401102015011405040090200115501302021306301105330305413081005566600102007500612186600102009701002116180020022305403405003041308101551304501016204011071507305015840509130604011010801600400309112512502140013130120080014801902815530010401164007002006517130200101818620150191303052070301021203022300101023401004004200111304013026130250650371050541308101551304501016613021100101400713090130814008600102009705041020022011500612112660010200131403011610640250601020031303213046400200105130120080062120075768300200501540880304095010001420010405054011184116702008006127030103200220490801530100463104004065017204018600301005012040916301040200511230127704040040131305014503703015302040164067041166800702130204001238040020010413040320040105054030080100105064040178010586101006306509101106103040050111401301257001131302040012143011510100014200169010001020051763011820210200519130120189015121663461224012370403061248180020012563012610900304027200220281841161700210030501330304030110205416034615301440680603461713018123010609201501040501113035012808060100137050141402001520025161804004006007006505176700200104005181630101101940502046501021654022302040237046242106025303090013040105026243011401213005440054036003010041306040161400561301200800663017600301008150806054096401102050400114040060070012130408003010501370800411610640210100630350146143002002011010513070010506770404004078047065408803040910604003102611030540116370305011221050540134062100116200110213040320040650313050120048090050615150540640611007065176304081034619705051104090200801163010042902008050138010457001513010020015063030501607405082030940500301062015011130150601501212050020013300101014343011640124050703130501604150510640506161700731105408130541096106040010008020061102002540111301121501340014001054014605051513016301050161617101400105401813070700121910023011640125020060303130402006030105041301540230020010506640507002001050761031430813070010509208020061102130219301130104880061122513130810014614006007006115110140010166401171507002006118576116405021900304034040504700202005211014006200257801702008008705051965060101040111100440400121041513150114370305011570301016100306254017120505181501910801005652068010211700150540226100200123615024400470540251301026130541027803050281054004612917001301241162002202130100080620037006413020084055306610616007005407240182060261930703301030540111307070012122301330540144067041530501610346117405018465051940610301164003020213010020010315302050154043040159003040616637030501730405302054084067041161700210013034066010430804001553016122008784001081230100094034070101302820010501116121408001013810021180304012230100013403407042105054015506010168640054017801400600700860210305980101013028200116020021180304012316713100130430804001551400501610004110501730100483010010501940501060802005011157001125090211100130212001104003170041610501513010613090600200578015010850601040091308640010640111150601501051213011313030010915014150151700202005166140060070017602103051880101913028200207032111001302700302034014205015502100068012004004177030108150012005401910090901180634127024134050470214501514001050156200840574050870504501967030405015104050113045011270304011100130230534066010453051400270206703010715084007030405094040110703040400112003004111001302150203305044006040091070540701069022001162010802400902200370301044015304064008972586002200111001302604003450103150430011051303056901220017630181709010930201014020011100130280150314002704005010480301540060130501067050730010108840010918450010302011405051270020200118015093010012840010317001420020215801061306080105057600200100518100130916002001004005110304001000200100111530511230100413310400143001010115140200111001302130403110030415020530506400604009107074070108902200111001302301340061600700501042401550601040066301740020051005010840509140200101070602001180150930100128400103170014301001015100030140168010040030571001308110040030400950806011072010511210001020012508060133010041431040015300101011650202001110013021304031100304302051502063050740060400910708407010990220011100130215036013040020470505300101062704517803018400901825010910041023010004001140501230450101370700200118015093010012840010317001414001015153061002001057160400970401815305198012611015011108001080654011280634113801051143412001151020010416150171050100800188011001405191001302030621300104002230140060070040023703010524132001110013025700138020011004210501056210502066015021020724001610308401930401040060400970117030105129022001114012130608010505380201504004304060120105051070403065068010713028200880120044009150101701025111620150126200110540134030201410160070015203016608010505171000902116140121301000301403802015041261554064050105068060030010501715081020051005401991000101501106208020011801200450121503102430540142002540156001020016405057720158611002002920084011614012130341200380201504301000301401050510400104010506801071304041050586201509400840051020507113054011262015013126540114901308115801200141620022017150181023010001191300454012061060400600200312120507540122200840523405024200220256401268070304005277050281402001029700302030400161030314013230403340060970347030105359022001161060130650202705037001041301002005010505100306601400306770301020408405059700202001115012402050133054801051301200800661400105015740508203093001010106022118014002702602211840010217001323010004401000200251303004060663451740010002002880109701050108401051166341270504511310064011410030501151011670011713010020050105018140119150204007070022161401221502340040060070024801054025860501110013021401340504900304058060680650707002575004081020049130101020025118010707002512707001211350202001161401240503140504670403059013081680305737110813086050109660501006301030511405012140200501131060200115004021400270360221184001021700132301000440930705130300406066345174009307087030109100640103040115037030123054013405014465051156040020011207003020261004318950142401530410566002200115004021400270360221184001021700132301000421050513060410506634740508465054019100640110301111020146501210801005650131006301110013061210137001413010020050105051506101363764013638408060465098010101301200800118053012503703013302014600200311570301016150174003703018210505011962105054020604111001302401340205010480105520021066001020078017010506501082100659137030102105020401162105054012200440111400650102722003130841044840010517001660161072105081309048010509100130101508060061118400101217001133703051450120011510013016140065010171802001000187030105191009200118040121609170613150410900520065564016160400917061730585010021110013025700132008405440505200210680170017311086704920021010370305114201101262015013670414200210158100116400200205012270800540310640107004104063580106270800765080600880109130906200108034070501540113407011670200800501235504031064010700430302018020010505702008001113070010502201504003170105054048010510009110670507700202001086201506193011010604009107065011604070111808602213070010503208020061415051040060070061670214107405084650109163010110101501111704004501123550401330302018020010501450730111003025303505021020404213016006020010505170401301113070010502800303607010540480105130810156130450101765408108602650915054010108605065011905070111630102021307001050320802006142110140052002540663010011057808294008170401305409803011050100104011305401210640131301001014051467501170030202371654033550404240152080200616614006007006171101400108620060301095761115021307001050314050614670403061513090130814006201504007305408350140091308020046601050730116001304105028010513301410210006505705051686301110030230632015041302820054041416302030401400720021083050804913028200101002301115012400508041320304014001420021015630616310501172405003051840441110030215040131501423002005405003020406106810713010815040191305204010130511618412804050132015014102003615301001101620025178030107040301870403011990130812063012110300200202227021452320025241841126040213030531302008405041302008104012051070901700202002200840400320022047024557202001011170025014103200254504110560080101110013022002315010465505130709004064050107613004007030813020016093001021106304011120501224701102013200214300100101161501026008040031304061301044050562001101066201504007140200140010870110020019805210301011405012304502013630101110200500501026102005003405041305107010062661370305720028200800101110127202001013150145023002002052100030140616040571081010830409503703010305114050121002301360401011100130220023150104102065053010610003014076201504008140200140010970110020011061004112301000400124050131302022001470400101110013022070030203100130420022055667030107510508610049600301004002010405011100230126304013400201430010101110013022002313703043010511056100130711040020813019400203040101305016011500301500123010130136061011806002003270301031006405440505130408200126801681071301054081509602861102202005116703001011101210810103600700413020400125210065661400105015713082040890210116850150124050330450146720155620150640010010116220012261304105363040410205053212001670901011660301402703010531064046304561064061040640076106408102705009810116170020200280103130204001244020010405170061504002700400740508153051940201501103002001001011801400600700400240503465054048312158012006030501613010517200685018804004050030930511023002001116061011100130400215010317067004213020084050540502061507205040084001001011100130215040131501420060630520022063015273020810003014019720101110013040021501031020650430105100030140663040710406060501082300200963040101201121000101110013022070030203100130420022055667030107510508630503703059110510303050160116200840512405011362015014140200115401008001011808403040052801504002700400325440201501510090101180131105121304060018003130104370070513050600305610013040071018301040050109404001010023011570011262050400135060101144050601011805014151240503400840051413015400875010610047370308200220940084002010602001011657102130102032370070413050600305540060110096703010207200921835010118020301026130020021036100200104701050158014016400200105074050813023002009184110801006301011150101250700200400133030200840501490640115803050161203040171301064018150601011801400400225310064051440084030551001306161017402001040830100493104001030010101118020010111012160040035120065044015201506126207140200186061096401102015040011140201221000101180130012004002130105310013061420108055020304064050720150880109130405410902101110013021501037024413030551400150106130204001276370305010850210116370305010240212002013110504401520504006616901501072130903015861307201594011044040011810116220012261304400103630404103703050105321200163001001011613060301402703010310640463044005610640614064007610640812705009810117003020270106010312504402001040510063061308100713070010880105910404002006501401220150330305415051040060070064050763048602815059170011010080010111402001128015040113101006301430515205016801020650161502130305320021046200220405801702465657001790200198406040010010401801600400308021301871234050421050540580610306303070010507208020061840509403005410106401170900104011604070225403612902004106405101400650501630205071309001304065081301064098010108003013011402105016150700200540210640313086020054170051008001061301402007654088010910008030510654011301121064050650115012508503502005004130120080056405067030105176130105018102003706501617002020028010313020400124122001510405150562015079041010018502101117002100130330121054101512400630407400702484019301101060407011630112102902001363011410100050101570502016300101011101212400315010410045311050106405071307030408401930401010140020118014002705010121542013902001911460610111012124003301440070245130300109150615071303001091508201509303020084050107090101110121240031501041600180515061040602077070012840509130200840501080400206501130303001091501263010111001302120011000231504004705051305400106101712200151040830105093040104005040051130120034050201261532005010134030101110013026030140370301020460160400100080200530206200210715058201509210108801011617040073020402640134004706504405054650613030576147068200210970601010130111120650122470110132002101430010010118030401217040073054036401410702465054050646507130305865250193051016081100116107010062126203011337030501145021011665250123054034050420084040050156370305016305407306015089041009703010116170020200280103130204001244066010515056201507406003090186201509200606301105021011650141050152405033150241309620051301104050661002002501575031011665250123053405042008404005015160015651200650750210116170020200280103130204001241604017010305150562015079014100813067049620150102006063011150210116201502101402003153054213090301556130720156620150770504820025940200800101161700202002801031302040012414200106051505620150790410100185021011620080705015240201501370301011163010202130700105031507040413030557030105406405071305021010508405097002001051014401164040501284030501134070145068156405016700200105171220015104018616020011010301964040502054105012161340021050122170012340040030102470301054025110140026130200840502760020061286034129622010118060030802405032704540460030805180017061613090301576140027061813030056140098060680101030100650111000101113012405034001246140505670403069013081780163010208104600306509130350510630111109003040650123001010113501400270450313040010467045130200840506702145721301000102815059201501067045114014001011301210604070650380105143010006151301660301401763054082007100540980105110220200511670300101140030202130350531304001045062005005405067021450174050820150940010010116401250400507303130142140200520022063057401821050911041050110640111600308050112640113210501470030201564011620150172002201850601011200221306040161400361301200800464015210505401680170245761909220083070214400595301040070304011305126040101161010063021301506015031170014401540400630606807160020038810111630121070020200313015060150415015600301005015640507100230863040910201030010101180620022023050830020050540361303001019105045004053050880020050540686307355040835001011500402305050770503405042030530010705611054071300487030109130200840501070400101150040230508503170304042130700105055406163010725189030101161502405020403130146120045152015067030107200220884004019401008001011500402505031031307001050414001006156507002006130900130401050780105183500101161700124004003010370301054041101400501521050140061001307130700105082080200619303070010501014050611111012130802001010010501360010200144010014011561860501650410116204021530205013100230540440505100200506540718605081500150019620010101110030240503201504801051308003013056803010404473058130200840509404110840010111700112200161134011410670465015140116130707001217614011813060170519806010703040650204050215622300200234020150124618007080253504116107104213030531307001050415400461554106613021100101400713090130814008600102009705041020022011500612112660010200134020041118020011040021307001032080200421101400501561001306301640010507401301866304111930702130100010231404140060070057050461302008405077054112030126050204002340141010063056504046305740508130707001294041165020050052401310100630461014001050158020041161400600700612405034650413030551305563010206506173054087071120301260102080200650327021440054046102065065057030105406800411130402400200315014120060305015130300101910506703010713020180200105084006754091711803012400703303703010540415040155070463054077041110640250830020031304040010010504130105130200840506680411650606100213040320040105031301043550405620041130121040302065031303008017054130154050614006007007705048130200840509705411610013061214006007003130200840504630411301004231040040330010101414114002014213060401614003104008092005044050556400503001006130120080076400600200813032130954111502470613303020084050463041164012105021000103303020084050415051040060070066304111502203034050480105130604016140066130120080071301814001091302008405010702411301004218901540367045404704116203054021400105310640413010010140558020041115021307001050314050614670403061513090130814006601037030730540813020084050964118015040121060200501532306015020430400230020052561304040010010507640050700200825910064011030411620402153020501310023054044050510020050653074008608405054094050101841116124006040701330540142002071126040213030531302008405041302008104019514012150730501370301020413010020015053040030010010113012400700202005330405041060030010140050710301240405036003010041301200800561306040161400613070301011302008405027030103130702003004160400610130524013801041306040161400564016801071301200800864019210505401106401114008400121305002001016150240035200321301006304801505510703040613060200761600801011303052301313054130155663057130160401108130860501016530214001203841050044066010117002200110350120014801001305301530561402050061715010815060400950120011030703010111400102040124050511321002601416151341670301017130501200185410180304012140015135064104101540660101150102150132002204801600307055070301020615020721306148130401004609961016150121600400200400203801604004070430401510681011505010215013130305430151305613017150188017024501096110040101309030151130700202001011502130601705314001054120145160080105163040037107203085080609240110400607010180301210904502037050514405053016106405072518614002709561510804002004101640124003020321040105020410154066010110013025103709011041400620157030105166153007251870301091000504010106301011801051124012002131600200101100130213010051310144066010180130100151280170013510481055400607010110013026007005136301440060080560507010451660102004005171301630101618004040210420313010435018205400600200362108001107405081000102009606101011051116002001013050200102024050311014005014130202200101170052213010380200706504150559100010110013022002313002008430105904200101610602002301031402001016183030270100453405043060150101108010056121006301016137030230103671020014405051530101512006502160010113004422531720010161300200205280103140200101201025060282032050010200116507002020020220500102001115020220504003250142901020011100130210043164001040046063020510164066010163010042405050137030102044020055160020010117002168105013130104140205401610681011502110070080105380104130400126400580110070080105680107130104088030103010059130104010213060183011101600700512704613301014670461530516613010010400177030102018408251940501020630400905070217030102270105010117002400403001031600400204804001006305530614302040770301084050910208030510802003705012011130101214020132010144001002001570105051166301174008750186100400304001950806012080503105012021405022130100040236804005012024804006501258030250040026605010502780102815302940410503050040313104003270301033100420034101354066010161909507040020230508060101170052215040036160062042110140010563016400501017801087002020010117005212130103802007065041505591000101801006301230531006301430105015307030561040070020200716810600300101100130122002501315050145060018051506108020097703010501816915010109100010110013023013400600180141505010540702040161604070761200101801400101528010063013150142006063015200220680120060307407050182501091602001101030106301114007070025401210041331050120142110515405016200220176130603014018703010194050201400270211305410115012100431681041301050151506130707001277030108405092070021064006301011001302804050320022040141015406601011001302200250131307001041709105203063001010760030100585004095410110013028040132130413010020065051301630101100130270304051370504420021058010620400127301810800309200210106301111050601011307001023703033020404130120080054054166603020730204088010519602301106150730114050121306040110134011014801600200350115251617613117405018502140019300400101203061261200706131507014020404150580106700302073011014008301630109130505101405051260030100501204036801051450701042040564050516506002003204074001200581600200101630100421200105015311014005014203051580207002661210110013021310400501330400600200350144050512008005016260820020710184066010180305014001050202260820034050030548013703052105050166210502074067041830195060030805105085011630112150400134020150114606101100130240670420403106404130710505561506108300200713050160880081018040063010280200706503803407042010455500406140010110013023054034066010461030204053016400804002006177030108130305920700211080106084002040112707001212610041360012144050151804002001018040050177061214020054032105054046160200615130503610110013061215035700150430601820015051020010415061507106002003120408405091200800204010260820054011161070052112292001010040020401313040500301018013407061220104204035004041104006159080166100471803088130106409405010160400703010110013061210134066010414015150640030100107614018150950206501016301140501213010010110013022303130100614801700158213054066709010540710600103081301059405010608200540111505112400607010180163602801035080605460010805540660101100305012301340060080415020515040061301703010161301002401380104104010502054003010080640179050706181504019905070611020104116018200126301131080308141306018200158105001614001018013010010213060820053603414100130615140501622002751200650864066010110013021405040040330541002305150617005073020408150593020210200204010130700101170304020401213060820013803011009705014110410204015612003302040164050176003018018630190302502040198010203700670211305060030226304007030405023110501241300425707001212661210010110013061230503506500200204703010540163110501740508130210501400961307001010809200501118011008001240113150400141001800151504011640010080010175700518130810151913045010111501214050132200250143010100080200530501660091101501764018120200540050197030105104050111306082001261303051360010200146121001011505240503101400420025540320040168015073058355040930110104064001180105112630113108101016405021014005340640501410045704030613090130814007801630102083054091304200314001013070301013501400270450340032001044050540084005161301505120076001304105088010519670030201037110114050124007201016301004216810501313010440660105150616020072702141088018002002930540109200101001118010121302820013102601143011540060018016420020117630118400600300101801400270540280200706503235064548010003001054054050613010407401810003001054016180030280200706503100640546401554101101225010316020011010304100451503105012040640507704620408661704501204093150210130962001113011040501265073050113703010204014130405015613060306101203061240503910214004401520071005012040663017400910006188010598010830107030102040111000800210126405013108303014703010515100080021016801004175610161501023010008012003304050440012561405066704030790130818500409154004101640121703302037050410064020510164066010110013025403163011047030105150020010667033040071301020820029304002008001011001302801501310044804005015100640206405072704208618003054091306014020010180200370240660103130104100640551000800215061608017100130810191006401013040111070420401220022040136704114860501151809130167030102040171307054181401912004400402015021108302270301020402310008002244050252002204026801600308040040274067041011001306124013160030805014406704205240302050166302050178403050181671200194050107105051113010064012801007008050151138020700302014130100101513060140200101801600200323054037033014360415305660061200780100130618570019130520401061305114066010128050601011803012102006503130141020037051301054061006301763018104030209305401080020011163011250807011630100421001303305404512006505405061002307101810064091504011080400504004011251261501320022040141302008405015801400270650101661910706117140200101100130612305035022008470301055701208010506840010710200370813010501940660101100130210135120065044015405070206170072001104005408800306111301240040027050318070901040041402001011001302101312504140530164001600700723081040010863019220016010101501011600300104001215013400100630148020010040015210501625010171602001101030186304019400200100220100630101100130280401360092204101560140200101100130229020040032401430405102902006162578010028004008100280059405010150020011130200606301280502700400511362070030201460630400153010165080601011001302801700523801504302058010613081015715084001006309301104060160116150123020134067041143050154006003080516615090020017130101813052019130700102090030400217030105227012080123305082001005052450040253050506080505268010271301040285060801115040121305204031303054130700105301613057130185696607010203011300101012703040112070030202501009037030102044050515021106401710048602100961004101400105012011405012304501137002020011405021702008003705054801505510840306106407130100101405867200116001304105028010536601104305405106406130100101405784030111064021050806003801041309062005650830020061304032004010507106401070087200100111040060018040065022105054031504302500400405130167030020011508502170304032401410100630650517006101006307140500305408920010100591501030250040040111301121064011610601306502027050313032130480100305105060805162002107506080118010700200512100170139080908011301240020010380105147063156301614040011106401070021040027065031304170104301570636305766003007040081301906140093030200840501080301114006040701213011354060111064010700230134005080704130300801705513016405071700508305913020084050106200800101130512100630111070304024013210504110410540564016600308054076301810810965092510703040116705040021306365330308104130100106405610046600127405088403099003040116405021070403034050413090130814005656640640507803018106001809900304011063011158004011620700302021507305015310020015014702002101569020080501680105740508130670104930703054010104001006501116121084500133054014700202001180400701301021303053130403020413081005630164007033072130100200150840509100230101501110100800101213010201368105146100301520021674501017703040116301004270545013130104144054050610023078050601086304095034103051170740116170021003050133030403011020541603461530144068060346171301812301060912101801003050121013144041505570016704673020863076320980301101060020035020401114050121303505138040030010010115023020313014400367058010516630174007020010161502023013400900401480105156301640080081018066066021301053130300109150410013051016144075308143020970301010300320051113060030412640302013301141023010180120301240505138024400430540156061400540166980100171060090801508703010540194050106200100111303505126709010131440142002515801000610150040213400215320025480400125703010566541011001302152913405051434010701527080020406302708007704688014019101400105020401040501011541012804050131400270145411015803011610800301763011810300100101640502170200800370504700202001058015063057407010300588005020196508300200510106401113010010140512170401011001302200233040483002004005010517040106610047205040082901020011100130220700302031400400204110140050158050601040051662070030207130106408400506010162070030202503710340504160200805630406106405072110140082002596307070012101301600200511130041261210010118030402105433054042040515302050161002305407405081301002006509104030065010801011406012050540121501380101470030201530110140016301630101713050510163063012203040536021004004405052002206302015073071401861330940604010180190220027030103401410100630650566028628404720022081002309930670101303004060116100230121000200625113640501415011015130301030168060281761920018018130505120019307030202040020080010163012400404503701050102041301054016404007050172581761319405054010752005111308101512130450101133050804005054014801051562007100162002201760010200186121001016140200215302032130903015461909220057030105163017506013020820071001950850105020071002011613070110025123030400100610161001306123063013101400105014211055405062002571630408400140054092105051040111801012130908801313016301016306215013153020501540427070012540506100230573010013061820025019306301101200603040011130105011220060630113805040027014110140020154050161002301715018507003019650600710110030220303404002002904804002002906158060400703040650640507190812813090200199130606101064050111540041012604021303053130200840504130200810401110040020022303050160386012540465405801061000803057407020080065014012101400105403405047002020054050620025407408450081301916040040706510654011103070265013015105210030625403616020061413050361051307001050690030406175308570019130110230020011405003020401218040014006501313060820014615040040154002902006501100130220021031070304041301006305801061306040110761301200800865691306040107010130703010401230210013061318001000150041830140523061804002001572308569300170200108030101400501112110512204011312006030141301630650140121405040031002305404405051002001056153020501517180540810640506501640121200603050131002302041301520031301650681071301054088016013061915301013070020200111501220504004013301144007030406501640123703050154033604143015101203065061309701407640182015061960013041050150040290410050154031306704480150310501540564050650300110761530205018130406020080105013010042150730501313010204042040012158010567002020020407180301840070100306501620402100904050134050410020010552015040069001304057615030015018270451910064011016002001050180304012186061321605014170015540640505171020020800650130124002002080061361200370614130105401614002008040040780105864060120502040930703020401040060130650110013061210136103050141501520501690013040105018040127130400340030204470615405840010637030501540789010418600140410501640126003010050131306040110461301200800564016210505401730170210501306212004501315045040060070053056163014006007005015740508304501915010205011180170301050123025010070080321308100470301051302193068010440100057801700185697151001063020401113061030124040113400908065016305240503801041306040161400561301200800664050770504583019106040020220065010705011702144005126301131060400860200650110602865021303010303613050512004301510804002006501140214006007006131305544050513012008006540710503002006501306220150380105401413055513016130305730806044001880602815091303051020021113070200300127040113109080650130121060130370401410807030565406106013065011402140060070061340504465055130556100307514006182200515020409570011070020200114050124070101367002020014405015100230101623017120500200540183011910703040650201308100218054022407020080065016401212006030501340504100230205405062006063071301850681091301051015051130112130513130114150115801702465016100130612140060070031302008405046304156028150562307702148402020040650130121060210065053213010063046540521402005610704030650110703040240132105041104105405640166003080540763018103008070650913011030405011120040080010126540134050146003001040051540300801006501640502101003034050540415010513056405074650588070030209503710510355040112070030201250371013130900130401050116304021020031307001050420802006151506130604016140076130120080082015040019200400100110808040010050154011163703050112405013130401101420301530010101681017180301181064050650163703050128010313012008004200616010515064004010472540863703050198010511080313111602301123070305401310540046501637030501213060401103601008014408806900156540670507110140051840702008006501656213070010360030100413030103056130505120066130300406076130100402008203098010108030201110602865016401237030501330230020044050510023020613060030471801508404009805401013060013046501203025080603700110100541304064005650230620406213030020076130600102008804005059613010501104002003706501617001220012031307001050420802006151506104006007006502071301857619157001101307001011107002020012130540020401365401427002020015130200840501654017201802006501600301002130150601503405047033056012001020406110140010780301840060400703306501610100630650240400103570014130670451506205040040790141001050130621070304031307001050420802006158105063017102080650870509636554010130501200116301127050139005620054014630115540161050902006501230240014001054032100040054804002540054058030161060400910706507200451863019540101050900200650163010042160400571032200603044050510023020680811007213070010508606002006194050540104011120150611225131060400571065011003024050310203062040421303010305613050512006405071302008405082309540107050117002020012200254013407020080065011402305403130554400405070540540506465050173018106040091070650950902001015080605401163011254013405011410908265012302404007050135630110461211054058400106913077030105408130704020091803011010200650111501125014001013130120080014505010090511540501619200180511718054018130100013026501100302150401315070020020404213068105630161060407071309040813047011091700110401111050700200650163010502406040054035080854405057070012620022073010100630508101961030501101501112050112900130401050165080070213040617105031301006094301064051301001014056803017400900304085080609300101011061501120150124050010013013825144050156002004301614001050117251186208010192501208160210501630100421400105013406601046512006505130802001001506680010110767002020018303040400100105011307001050210600300650320025404213010001025654064050713060170584030080100650165700127002020034021200204150730501551801504004063057405020200650163010042140010501312200151040420030045540506100230762050182597013040105011700210013033012105461006405540165700571304004015001030813040010915040040103051117012080650110013061263450131211050143051570124105011001302301004320504004041504004056121620406801078003013084021050110013061213104005013213081004140515040064050713030170210501100130223032002204042002513060401614006613012008007130700108809200550961501107030101170030204012405013130300154105016400130305230120104503190501402040427045150640063061740422001050180370305402370017001313014202102001530540630703054071301058102003706501100130612405038070304570015213054005016150573040508130900130401050110013061260407050138040010410700202005405101001306305712200151040110013061280140061325470301051701050613050160730703054081030054650110013061211504003807030400457001521305400501610171220015104011001302230380703054202102005405570016801601306540715082015061910509100650180200370612130103150806054048010013061515020406150400407130900130406501500402502060613703010420010660540530100467030404007401856301109105091006501100130218040070246503405044650513030564017301810508070204093001010110630111108002002040118023020403630401440070246505405064650713030581803019400701003065011001306128200100653615090200614130540020405150620504004078017030105011003050121013501200420650105220041666030140177030108122001510401612001461225320104148037030501540513016006020010501650310501526306913130104130120080051304001062120020501780105183030701304010501665250123053160811004610701006255018030566203017370305018901308105016370305015402110405310546504214020050156168105016130105407807030813060010200140096110014010130903015116110400110121307201513620150611430501157012410501630691214001050153820401467030401565031050156405071301002001058130400109201504001040070403011130600211050012150540132015061141006401560610168016010010501614600305015280103200840400501415055405061309013081050165068121700350141044050510023068016040032501730588050310501596153051040501113020200212130709001040165090200501524050313010064041307001050520700261621101400501715054082015061910064010606101180110002001005015401213407010501641664266030104015031700410820401505801061308200500717008508030040098010510100050401113010064012620501133082040540143001541050180805405015126030104015036203014140010501582040166703040176606002005018407094166410130321301110602850126130910200136205011480170301050167030405015290507053302660430204053040089050204064050721602040880530915040040103001202006501630603010401502130200108370190805440032001052140200561301071301200800813040010921200205011080105111620501122203013300101014701304010501640502130300101910503405041010006906505305661070403065077040301846509700302010620501113054012818090010501611062217003501410420025515010640605010713080020086150400912008401013020018401050180160400325012305380203008050144015256405078002008614001050159153051064050030540114070540122008405134050147050450115670020200101630307012410501616040170103026142001060367001413020803052030640507130901220010501614600305015402801032008404005014150540540506130901308105016700121305065031700470052540100018002168090050715083050950100420010703010511805014101280101313090030401400141501530116130517130118150400196028150202015010212050400224050231309001304010501801604003250123053650310501544050513010004066207003020750503108130406405010501672020010121700350141042002552002630174007002005010880200419615040010600102001113061200500105018016040032501230536652501430551081010661903085017305876359150540102015061111060120070650128010131306001020014001461047065050115200100021166200521176201506118305011960013007010501613040010218905040038020035148050806005015801051640507200685018637030501519612505110110511303070130401050115025700531404002040414055618456615017200220408801702465016400100970612140200540321050540420305130105016200137065018040502107040303405041309013081400565664064050780301820802001509306070105106150111305122014002650168200140270301031002001054153020501515150540630171020037065018400102170013804008400410136356401363665407405082030984210105060306501611004002002213067043130810048017001551063001600905712901200813070010509208020061101011161030501121004132050114801015100080305164050175700118230192050120900130401050115020402640134007024650440505465061303057890283550409150400401030511161200465013062201503563011041305554016620046517620308801051960013046501305402801051378010200465405801051630171060407065011502130700105036021004004305405405016130860501071630102087050519402704650130121060407065038601060514654058010640171300400540081508060540960013046501301210875054031308077041301202200564004003010015406130403011020575700181064020409130700101020504004011400670465011064025096103130604011042091051306033063030204002720401824150191630106003010011507010451267041137030105011415011520501168017030105016301004220400250138010413072620054050627047130700202008150913012008001010200500511170214101213090130865011502801035700143023011000153010064067012410501640121200603050120313014200840553030701304010501100302150401310681041301051504016130520407130586184980530101504004011406030406501801502400630613801003041700504002040570301066061107615081420010911002001021014011270104124011340067046501150521070304031303520044050513010063066107030407401840020400406501615021420010330703054804005055302040664040017071301088105011001302200231820404213081005620025016130200840507130406040070150870301094011040090806501260402130305313020084050413020081040110121105131305016041400100615200220406150773073058130601705930010101070900104011064024002006505134007005304203054020080070567040171200800704008640080070920301070014001184030128403051136400200101413050160156020120010166401175401826020120010196302050207070012211303052230041041640502130501603405041031430580106130305721000102008703040961040027010203011300109150124020010412040022703010531505440505400630156801505710800305861054105913010107070012111306070102001101211051313050160415052050400406801072001028405091302705001080150111600301005012040124050134002001214500401540501650980517500401840501970301005205004021405022408001000523406003010052461000102002540600301005263050210502730204028650100200298010301301200814031401325030011033130103413303540604010365004037506002003204038980301395004040304002301000614113004204042640502040434050441040068010456405020404640504710200448130104912007003050130704020051302010301521070304053405054270455703040563001010157640020010581301200800595140456080170016115073050162703010516313040110641540074006562002400666150240040067405068203069763702510317003020221503130305456513081006615057108101081304064001096150510703010112030123001010131004102001615021306017053140010543015200102680105176150813030591027050010405011801012130100262001640502130501603405041031430580106130305721000102008703040963011054101163011220400121340501020015001501027098053301080030470505602103061303057305880109130450101106007101165070010100512106401313010010140514707001215130820010100170030202240131004404004104120561506130305730106082900301409303070210416405021305016034050410702451303056703010782008088015091901251060010200111940150122513615014190124005158040050516150100302177030101863551960060200201304501012161301600200522700302023562413060060200150251304021050110470624050346504130305540163017108002005864019301101050807051170030201256131308003013014130270104110470623040503800200541100200254050650807057302106081304063010963021060101307030010200115021303053104600304130700105051405061667040306171309013081400835014009400320010104050114008400511213015051200131501413030515108070301640117102001041405022015031090050415053050610509020057130305880109130450101106130160020051180301040441226022131301014130604011015500401630101009701780301050900200185301910700525020201045214012210100010900162070030202150730501531101400421050140056150613030571054108405091020010411502130700105031405061461307001050551461661309012101050761305090120010861304036609613070010501013002002061111501213030513108090301421050540151064016130100101405171501813030519703010202030213001010223005104113040240020031504130305510603463057405088010913060401614001064050118010121301200800136130300406014613010040200156130503640166130321301761303003200186130461219620500102002040502113050160226205001020023810024703010525130707001226640502710550281303052980401303053140503240202004033150341303053510807030364013710300110157001502600904015031600400904061480105200254068013070010507208020061810097040093054010500101211405012501200131090214405015806100162001066054017130840104011090520022534014801052965054066130330641630540240100140703405048410412030401212001461315041060020036154050516405071000408170104619801051106700610061117070012121308200101001150213030531046003041307001050514050616670403061713090130814008350140094003200101040501140084005112130150512001310830650148010511540501616016200174050187005219630630612063021605402180105122820010200165461213010313091024405051301006306654617130108902001991308401041150213070010503208020061461090465057050660210307130305861304060349130820014010130700101137030501512303050160136061101413070120801580105166130214176405018102004198010520213081421290030402250700100523405024707001225130104016170022615013301220015104044020150513021040061507301840030020020921010300101011169520012210400101330309110801050146130100110401050156130200207016130603641617005028010313050160421308351014006206200313017670301082030980014020010101400105011405012203013803147040101001301030054612405018070330540461070020200615160406130305780108110140940703064014001070301011401122007100540134050142510405151301507014016802030611740505118619704061191302110602013080100102001500402301010080061340080500540463010680615507006200540663010968061721302104008130704001010017003020264050310709004048200401400513030568056760010200830597050410200251161830400123020401313015070140141301154011610400301017703010204018801340050261191302003602040502113016500150226134005026123100630241307620018508011023030531000102004403002002010505256640507103002002082130305980201504011060020011405012130604011013804006009805141309102001516164005610172518130200108198010204020150216081010017003020264050310709004043007011020051303056801505174050840010061091301003062130204028010513405018070413010513306406040107500408408305191301010130210400111307040010100163020302140533703050144050602015301070020200616160407130305870301094011020071005401140501225104051313015070140148013052040151305166184178030518160304061196230020020130406002400105011307001050217001370020200413030556330400610030625407613090122001050870301094011019012540116130401001040101213090301513640401142007100501540151050801006501613024502370305015133020404405053007011020061303057302040880105196001020010801700202006111160401213030513703010511490618015801700116632400173506251188020306119405051206197040612113010015070226130407040020023207003020246060020050151253020402630703020402740030020200650130502105013031303054308640515630164401651763020508105013059130400100610104050204011207003020126060020051133020401430400202200611513030516703010174011854120401962300200201304086050105011502130305310418070470505130700105061405061715081303059301101082112030126006150132080620011700502303070010503101001400306504215054059003040616615071303058703010950902005401030100410200113070010502160020036134050441012005405210001020068100713018150910100630611020025011113030512630630113480701413030515130501601627080054017227080018305440400199061407020621070216903061400226406013423107002020024801051251604026130305272050010200128630105090200502913030530405031105090200532150331303053430100610357071071130700105021503402050154048010513012008006110014061713090301586140061913072015106140200611121304070200680126505611370501413040502020015630305167011002517130140620016150210207002620380100442070024005100230540610064075068867014965004064161006402122001510403610064043069161908122404105036207002440660105801403010400630302018020010507500408160070040054098020108010201501150201020018020110502405031002001054153020501515651069001304057805108600161059703010107020063005111621020012407093051361009020014403001041180304021060102006138010413012008005804002065063054071003062810701003065092511016111700150121060407065013251148015051153011640070401017130129012001863020501940070401020130100306221130400102280102313090462001610604007033065020221307070012363050410600308051303056670457615081064019705041020022011201308012605051340401144007046501620110502405031002001054140301040053051665107900130405850040916007004005110613010111304090102001100302101311051413050160515040161501730204085070010200940210501801307001050214050613670403061413090130814005305406401000802005762007100820200104016130700105026070613801041101400501540701371050616301020719081281303810401640121200603050134050410023020540506200606307630185021091301101700111400405010121301001013130300109150148010151405010400516801050606001713030518401191030100102013030010915021500402210820402313030524110140052561303052670301040278201040130103703024013103010010413030010915058040050563030700105078010810030625409402008001061301001601051110030625401261501313090013040105014308010153001001100162701041630107030402130700105031640061413070304051505613081007405082002209801064050611025118040060024001230513100306254014615015130305163051417130700105018140506119130102090200192140604001001040163012107130313070010504208020061580106402001057405058840010940014001054010130601705112100040051216131014001054014707001215106401670100104011304030202106401070033030541082040521050540680130700105071405061867040306191309013081400108010113501400121305070104016130700105022080200613620700261421101400501580163010206305407707001284051050161307001050251320061380104602103051303056500407100400306181694014006110301020071005054011130305122007100113860501146150151303051630561760010200181302001710010501301046003050540240460030131020080065054615051303056307030104078301040170030202640503701100242405003054016706100272585004092100010107030105113010509020050512130305131501413030515307080616100080620017003020221503130305410630351303010306801071305051200861063039130505120010801011130301030126150131303051460401070152901020017003020221503130305456513081006615074018104706509405010465051156121302193013615014130305155616130703010171302021020011304024002003150413030551507306405071306040110840110980400902810130120080011406008002005121501313030514309108015600210200130524013801041306040161400564016801071301200800861509130305103056111301000501012130840104113040240020031504130305560600200630204074018801091301200800106130803020114003200101280101313028200142140200515610406020161306040110171501840010070197030102013012008002113012221700505231502413030525213050160263020010680272008104016562130700103181012040450040510401040020406500407108101020408150913015060150103020806200130203021405337030501440506020155406501602065780301810501770502098010101301402001161470121301013200220141502015307030101654101740604001001040161502314306203801003041303055170304062401740070403065011303052108204032105020404106405130100101405680104017205040040880105940060040030806501130402400703040315041303055107030406401780108130604011096130120080010150117003020128010132040012141501570030201670301017130305181060102001610702465024050346504130305540163040710507308259603091501106401113010601230540132514703040156401163030900130401050174050185090102001617001240040030103703010540411014005015210501400640070200807801086365913070010501020802006111130405020200121020146501310609650142130700105015104003065016703010540171101400501181003019180150210204020230020021405022700302040231305012002467045125130305261307001050272080200612862106029130409010200110121105131305016048002002540500306801604004070617305815091307001050104004706501140501246501313030514305015106003010061167002121176306181340040706119305206150211060302540221307002122330010101243012510604005010070065264050527800708028130913022961304093062140121004200613130305481005100420056150713030583010061097071071130305210909801034050413040301102055200603016640507130501608150913030510604010701129010200110703040240132105041104105405640166003080540761301081303059400200370101301406200110121105131307001050414050615120020706166160346176170246182002204096180703061101306001020011307030204012400803086501631546128010313030548100535145656713400212040864019370301070301020401180101213041050134050148200315403051612102040171220015104018561960401204020130406030401050214050221002302368010245700125301020650261302006063027300510412870301020402964002065061303005411031703010321305016033801100104061341309030153561400613613072015376170400904061382130305395640406301204041805070404213040630104365070404413050901020012604021303053130200840504130200810401100421803083130406405065011307001050254038010490301400540560013007065016130700105025403705041303010006540702008006501613070010502540330307201548017030650161307001050254033080200635404818090065011301270301031761354041654016403020400711040150540880150540910001020010403064010501804050212400100010362001104700302058016301020654071307014650161307001050254033014015014005404670545405200170650161307001050254037030104903061400540510818090065011630102025403130612005006501130700105021020050065031308020046604540580105166001304650163010042600301005013130150601504405056030130564050791050150040237030501535098054801051002001200640201050150040260030100501313050980547030100558060030100501613070301005740800100058806003010050191304080010005107090014011180206065011213070900140133084011450040151503001501516600301001171600200188040021200201913030520186050211306001301001050150040215020403270447003020530401040065015004021502040310640413010010140554002705006501630100426003010050138061002040460270592001101006640172050187050913060030100101000180301050161507305012405031306040110440110521004200680160205015780108130120080096150110703010117005121225133010014200650180150300150123020403254350140054050650600103076170501283020409801051108061205112050010200512640505113400120306501630032005240060020033405049620056010501106400502400721304550869021000930301203010501615023020403801041301507014053070220056506010010204074040188010929650511063020401180105112405018070132050010200514640505115400120306501670301051267030103130803020440084030650163010042120060305013506814130105100640568010013071018100640917024611013030511401123020401340501413051510001020051618030117400400100650180100130213040301313070010504208020061540506100640574018570019130110230020011405003020401210200104131501410400808003015703010204016630617300110181303051930150730204030110205214012260407050123257001248010251211050126130163010501150256313014200330525635057804002002906182598400101081050110013022002315090200501042401520700265018016810501213010531504190507051308030206217010505017668105018801700193110101402005011168012001213040050620013801603020148010511540501620301776310501815005010501961530202013012140502260210023703010524130100630254050540266301274006001925010288010291307001050309003040613115054032401000200100650180170012160400610400315040046405054070206703010713080302088010030913084041030305111307001012503150113405014130100640151309001304010501610030220023150730501044050730154021200201661504007600102008130405073010501150280103700302043011014005615062050173040240030105015004021503001501340504270454051002005016160020010501801200603050128010540320060630144050540515061702461713030584019302040104050111305121000102005131803011440040010065016100130213040301340504100640551307001050620802006176207002618230100110913016002005106140020080501540118010121308101513130450101144011557001161301172300200184050030204019101203020404012140012030650224050523610300200224404012540030020026501630105021970400403230020014405003020405150204061700173060016020065011107042040215020403170014404004056205040040640020012176709001401815020409406002003650151051400251051400330401440067046501150251031301481014005015130450101650406400765081018640195085010240270650010501150256313014200330518040020010670301071303058207002196401105085011305122406405010501100130220023150902005010424015207002650110013027040131003010304301090285055014401050180160070040054021309010853213081004803703050154051000500110680270417303010064081309001304010501500402150300150134050427045405100200650161600200105014012400602100340504140551330516640171060400160020065015004021200603050132006030501440040020010520306401731108140592006063051102070026511801400270501122708005401327080011463703050154015181410500168027041173010064018301191064050650150040212006030501340660104616001555120065062110140050176603091508402105011301028020070650364030105480160400202200615620150616100640177013010501801001306121506405033023002001050440500305015610064054016305017701246501802070026540128020150613405041304053020105016301004214001050134066010413020400125307030540610540046501637030501212503402001040461405511056616105015401713010820026597001400101002001200116407010501101211051313020060304203061540506130910214007617040306189013081915010102401114007040306501270301040161502570053140400204041405561845661501720022040880140010065018040010097061214020054032105054047220015203068727240183041054098020086501807002005402801031000402004005404840010581050111086026502150401350404540425540506401307625010501506012007023054038010413060010200140052306301710300702006501150213070010503540440505600300105620025407403008010065016130700105025403211014004200254051064050650161307001050254032200254043015103002002065016130700105021064006503401414006156100306254066330571505408130109200254010200137065011630102021060120070650380104130600102001400565406305176012100650163012502030803508060141301566070516630410501720400128105091009213081001065401130112109003040650123021003062540380104100040200554050657001763054081704013094050104650117003020125401330511470140306501840010217001316007005014404002008010540521307070012617001754081031200650130124003120061313010640415020405405016301740050902006501100422015040031101400104400400301057030102040680205040040770301081701001220409400502090650140604002022001050225360140200144005320065011803040210422006131301006304140531105406401730408101400912110540101301630105011402304031070200806142006063054058054063057405020200650114021010063065032543505523063110540721308100861205002005409303081001020120056501630621400270313081004156110540530806044006130604016140076130120080086405098010550102301114001050154012270020200540138054014705015700202005401640702008006501140240060130540360020031480600200135200220660010200765686001020091302001710010501615020230400470654031301049020019540604001001040161502130700105033014106405065052130160020056705071309020019830501202650163062200840501540362030080501440152540640507800200830303619801010910001015054011107040565016301004216007005015403213070700124804015160400201506163020025407640181040080020070650184001021700138040085014703010540521216700177070012830041049170011054011801051240230606501656213070010315030014302040513060407066130129012007613018010458100301030194011040030020200650165621307001037002001204048010513012008006613010574008300200650165621307001031081010461040104005630561600400301807130301030861305051200918030110400701003065012302100130613405003044015100130613016306501100130612117001340400501462050154002001216670900140171150183040270650065013010042670450135085046121650155700164050710023081509570011013011116019102001213016301050110030230405031301200800464050580105161507205040040840070304065016010100630650230305310030418030154007002020065011003024050320024130604016140051306027066200271307020030081307090010401601010063065023030531003041803015400400100650110030240503210454403020640052030630010107656810310200963011010312001170301051215013205040040144007030406501601010063065023030531003048015010540060820065012302140010501540321308100461505405302017002650140121400600700313030544050563046640172015084070594050101305111700112307005213203014130515240116600301001763070301182708005401970301020270800216028150221303052370401241090806501701304021301000102361303005145480400701301057040161030020020650110030220023140144002001050105401610670465012002280301340037030501048010513010064061309001304010501615012703010315045020010205401650704540730100142006501148070221304001035104186050513060101056508507170304082401910908065016100302200231706700422054050654071400713030010191050161706700222032002415051088002006501840010217001331104184540513040640061001307200281200370650130703010217040303901308148010401540020020400620301715051820304059561010011030511164050126200110540132200760014130101510640161027050065018017001250806003801041309062005803016150601272105054081064010700963011010400601103065018040502500100304003406171050548016301020554061304080308650164050260080400340617105054801630102051307001050660060200617150806054088010935504010600130465014003080826365540313050120046540580105162013086501130402400205031101400104400400301057030102040680205040040725184002070026501100130612200250131000302400470301050153001006400501662050171006401880013010501200250121600200350134050514801505704501680150179001304065011001302160060106138010514630154002030406501150522015038020010100440505702141061010063065072002501814050198011000802001030501116120084050112615040013600102001413020018401050180140060070040040654026060020010138400104150606204057002020010662050400407405054084008008206501150102371040054031301064042401590220061615054075408130801107650110013022040330250040040480105130120080067044760501050110013061230250050131064014165270800610640780160130813070141050110013021503302500400404130151003010301630671502040820504004094007030406501180860240040215040136003010050120404702500156150204061301050173018400200370650180400701301021303053130403020413081005301613057130185692002101307020030011130202001040164050210470340704130305513051616002007301822005150930510251180150401128601251370504142002515150516301171080308181302018020065016100302200231100080200461200840561504006600102007130200184010501260402130305313020084050413020081040160620052150730501513680200800501514615073050158010516110140072105014008307030204094007002020065011307150105261307150103801330461420305618464050540174011058330459630110400160070020401125401122001805138010144105015130305161501720504004018400640506501921303052061301064021130160020022630103005423707001254012491108052540502613040640501050113071501023013105020841301571501056167403002002058613071501059301101050208511113011271501316144030020020156820040167003020177030101813040640501050161307001050210200406503130408905014004500405304061014006172120027058300541109801330465401050040150105011330451263011340010023061143054015300514516124117616301020185401913080160100650113012130700105034001261440505270467003020761903086188015091303051010008062001120081040161307001050210200406503176135404630405102050630540730054110813019150806054010803005145111845401212002701330051414001421303051515051630405017130901410010501613060014060521503307050400413030557030105615072015084050913020170021050161042001270505131307070012415054003005461200270730051414008213030591505103040501113020170021050161306001406052150310008002413030557030105161507201508405091309014100105016306301280800303130305470301020405620084040056615071303058400612982010401150213070010503311061421301802057090256405020407301840086026593002001103020401123012561360010200143020401530203016140200101740505401840119120400602204050211301500402261307001023400630102420220052540505402630527707001228709001040130630121700360407040040654900505130406405065066130406405014007215080605408600102001961001306110570011118020124021050130630123110613703010542120027055300541106801700730408101400619213030054110108016301020117050412130305135401413020170026501630630128080030313030547030102040562008404005680107130450101861301600200593040602040108010114011218080040040138010514707001215709001040117002400301006505321306050400204046400100630650521806152040640173010608302040925107030401164008602650512510501136561470504151303051670900104016306301217003604070400406541003040040540161020650730501815095040020304010257001116028150201257001132540015014709001040110709002040213030531504400706461530405003056124171508205040040940640501050161021050213030533020404130110140056130305670301040782010401150213070010503108265041505400300107061308018300578010813070010509140506110305401170700121213010401380101413045010115613016002005166130305171070304018615040040193012040070304065016306301280800303130305470301020405620084040056615071303058200106809200810401101211051313070010504140506153016400400270617600961400813030010915096405010104002701160096140012130300109150138015051410140200152130808300110166130405020200176306301188080030191303052070301020402162008404005224012372010244050204025405026184271241286302050291303053010720103140503210300110336130305346040107035703010401630121014003031630641308080030540502040661306070571508106400619163010101301002002101161304060120105012613040513200105013801014602103015130305166301070806117630109080861181301194008265020150211010008020022130305233020402461303052510008062002620081040115021307001050310200406504130408905014005130100018030140061304064050140073070506188010913045010110613016002005116305401270700121370900104011064024003005437030105404130605040054056110410540661200330540724018201506191070403065011064010700210680105403130305441050540513081006610703040650715081303059561013081001113040210501130600210500140023030600210500105036130600210500650430306002105001400561309102140063030910210507613091026508303091021400916301020104022001065011404011210100630650133054014401000802005156200710016202001040110121105131307001050414050615301640046003061721064001810001020092106400204010840010114006040015060611264006030406113703010141530511570030204016600102001730204018307030204019400700202006501801502304034003461480105151841680301740046003065188400109106700501030204011615012100103013302040141200370611580120037061165617172010183020401961303052024012140070403065022703010401301060270301020403350184150540046003061621064001710001020084060206505980105110404001701130204012613030513107030401440115400246501664011740020400406501100302303040640501050310100080061440505129012005406610880900617802006354087003020917201010305401115012130305136002102001424011510905070650161003023030406405014003101000800800504405051290120055066108809005078020063550863019102410501071050400550111301124011390052001440505115630108002002501626004020055017703010183106255019630120102410502171050400550221301233027063040055024162512110550261627121102827063040055029163012501105503116321250110332706304005503416351600615055036163725010381600615055039164025010411600614005504216435060110550441645401464030204004711040150550481649130400127010505010001020051163010521301200255340505413020031305516561309803057130700105058304059109005200616070301061706200140062130506011063630164108002002506521200330550663010703040674016810600801050694050707105040055071640062617213010731303057434010701751105761304064050650773070302040784008030865016150208612130110140103405020404613090130810505405067021420407614011020408150910206506110801002001101110100050540121303051340501480800305156130305166160701770301040163010604007080802130700105033014103465055020181684001071010005010540813030594050108080030511613070010501210240010006501313020400121440401154030204001611040150204017802014002654018150197030404004020801054021600102001226140065402340502440130251303052613070010271400120402863012940020200561308040010140020403170301032130210001103315034120045035400890501363040024001000613770200800381308101539130450101406405041102020055504280150431303054440504527044612020015550471000806200482008104016301004215073050131301020404110140054021050140066405003017405081307001050960030611040501110023020401264067090051330304040010010501130305250620031306040161400461301200800540500306506200572040300201588010519409021810130409021811801012731351313073135142015051152062021642001017106100418405019300320052040212002052171040065052230123300200100105246301251000200210526102014277104005128108001010296306303040314004060605325012003350620034703010355062003610541037130305383050620053940504010300110416108002002421303054313014050013044303050160456130305462203047300101048703010401801022106400317005041303055150640020080707610700202008801051916040510106028113051280105113213010004614613019013012003130230134003051054044003120055630162107077050870020200913030510611001401113090301512611040011013130720151410600180650151064011640040010030217801051813010030621961301290120013010371054021303053186050440157040306166107104540740508808003059613030510102007100114050121030011013210001020014860121613070010502208020061317040130540420602001252100107056108602571309004015084011098400101017001113110512304013103451430010101156634161303051770504518806801519860125206130305216020010702213086012116220900304014003801042820053031061010003001574063840509806100510406311405012806100513608121490030401400152708005116806100172708001817001191600200320104521304022102042310200151246405025304026103703027130305283052950620013080401313053240503350620011304024002003150413030551060286305740508801091306040161400106130120080011613091020012901801400132030141004157030401690301400517640060210851861303051970301040202401211080703065016303052403020313060401614004613012008005613010613030571304090102001130402400200315041303055107310660812175004081063080921050510500401110370305122002014011380400200101413064100151060020031640501760030130518610507301940502013060401102140502232130238010512440502522004268010901022725284050291030011030610902008053170503240503310300110341020143560501362200100537107005238213012901200110100302213030531303010304613050512005150680107700302083070220059301630101013012901200161303052600301003203044125540506401107804050540840509104030010107030101129505126405054013405014104030010157030101620033010501764050540184050191040300102070301021120027022106003010023130305244012510300110261502713030528703010292030303001010311004102001301004215073050131101400440210501400561303056105410740508103001109130101090200191140604001001040161010063065021405013213030546213020060630561970501650040710400630108802001010094050540104050112704127003020136401141630102015213040640501050161700124706131301041303055620060630563010820407210505408170019802001010010405054011407020080065016150210205033054041308100510140061613010574070070501050118010210030625403402008004140512004001261614071060018065081509108108010130305117030105401262006063051323014163010201554016130900130406501150401220150310063041304064050105051700164706171301081303059620060630510301082040112105054012150131010063061146040705011561970501166163010201754018130408030865016405021097031303054620060630556106003006130305761040010058801630102095401013080110765016110060406122130305335441104015054053010506140200400540730106002003508100309301104001006040611191705124070200680513150141303051560021020016240117400704030650110030219107061313030546191070615130200606306801507400630618801504019703010510401118403012670301020401340114840304004015615016400910706517400540046118640119703010201302006063021130122130230110002313040210501670421303053130700105041405061540502040667040306171309013081400830106040060030805054098010101301200800112040112160400600308013130700105014405015100230540166301040205050173054018410505401913070010201200400800102130540226301024305054023405024270425600680540261405012710702465050102830129103002002065030210313001010132640503320802003427043570030203680163010203754038130801601006501611001040612130903015361400614130720155619107061613020060630730703020408400200840650130124008602503130700105042080200615407037105068010713012008008640161540913050120010630210601113040901020011012110513130700105041405061530106040017005020406130700105074030204008110401502040961307001050103040111023010006112130830401340502040145003015001540200140016405017100230189030151913080320020681050214008007065022500101220402340502413090051020052564050262704279030152813070300110295003015003070620014003130204032301060337030102040346301357030105403635018372704550389618065039703010204040270800204041703010422708004320700302044102105045130305463020404713011014004861303054970301040508201040161700122301000313019801304405020405130830406803010604001700506172040181604001700509130700105010405011100230540122070030201310210501413030515302040161101400517613030518703010401982010401613010061704240503130506011041303014001053016102003650750201818803010609703010550103501811150121080070501350010125501410001020015404002200314001627105051761501810604007080805019600102002030550216130305226040107023703010401301060270301031301704010482003563016703010713017020038820039630110703010111304020010800128200313630114703010151508060204016150174001203061184050192106400204020162121064002212110204023162421064002514051400204026162721064002816006150204029163021064003116006140020403216332106400341704014020403516362106400377040140020403816392106400401600613020404116422106400436001301400204044164540146403020400404740801400854816499041010020405030106051703010204052350185315054400120306155340107015616571300400140015880170015946003040040602106400161806030406162703010631508060204064400810565405066705046713030568402120020569910257020700302071102105072130305733020407413011014007530703020407640070100306501150401213040640506503130700105041405061521303056620060630576170018201506194070510703010111402001231407013304014107005261158400101610604001700506517150181307001050191060400170050650202016301020211307001050221064050650232130305246200606305258017001261604001700506202730270800283001505402980170050303040503130010400324050540336160400100080200343054035130305361503713030538100080620039200810401301240037030613470110413020060630521050204062047011072708002040827080019100410107030401113030512130700105013104006030306501440502040153061700116803010870020017130700105018106001308065019705020140200521150224009010254023804005052416251090102540267070012271301040113012150330305440158010613060401614007613012008008100491070304010401111504004012703010513610640141020037065015130105168010502105401724011870403061196130305202203021300101022703010401260402130305313020084050413020081040140021200202130700103507304130802001001505703010670245730102065083030701304010509507001020011130700102305340302041306040161400561301200800663040710400600700863041963040101020501130512300200102013801014130403020156600301001620301730010101880100420051940010041020011614006007006124050346505413055530161060030100650730010101865409106003010065010630111104030206501230150806054013800200114630115508070116630117104030206501840640011963012081015216301225030062001161001302130700105032080200614150557001613017180208180400200159617015051070301051110064012160020065013801004143110611590030401166762001161001306121601910200313016301050412040040025158051064004030107703010582202005961901030111003021507305313070010410703040513060200680107130604016140086130120080091505102015011100080620011220081040116100130612401303570014130200606305101203061309701407610403001088010913016061100103063011115073012130105134030201480102065015407051650700102001116210301001031301054205075166400206507305835059101203010405051116100130121309001304065013150144004002706501513011620033011740608620011150900200220108038002002614302051301405001306808003061780301810604009107065096021030114002120020213070010315043001105370306302076001020018405097003020103501400114003200101240501340084005114130150512001561037030163020171009062001123022070026132130601705461704004501530405062070027213060170586070102001117001220014005403405044020150527010466040706173051840010001090019678010200116170012130100613405051440201501580010100164010020050105074706185501302095002620011301240047061313010640450026200156184166147061750026200182050010200111003021700302036001020041405350561306003047130400108670491304040010065010201504001130540123711013640901020011305402801051340141030011065056001304105062015077030108200220967041104060106301161064021083002005403640141070246505405064650713030588010100630911504004010180030304004011702141012563011013140145401580030611613060210301100130612602815020340142015051050210001063050171508504006007009405010465020114050121630101101363020501440400704005401561211054016840010175060611813070020200196201506120100640121262001180100422070026204032401440010063065058040164006040091070650790200801863019509020011064050111090030401240502040135070010051470700121152021020011640121200603050131002302044050513040200603010506130171505408301012030650913097014010610403006501180101213016061100136370305011427080020401530270800168040050517140090220065018620150192002202029010200116100130213070010503301410200365053010011050163063017150730870301050191304030110205101611502001012200250113301004141604002022006115801016150806054017670400611870400611920210200111064021020065031304030110205430152300200106106401070073030403200401050861010063065098320011040836200116100440501213010340147040306154050670403078037030501585211094050500620011190812213035053106401070046001020054060400100200166186050740100103011610640240030010010031306040110421301000401405650730613040301102057400507103011130403020210640107003130810043030200840505620150610640177030108130201802001050970601020011610640210708003130900130404703010510410561010063071018301040050109140060070040010407011130200606301260210301110126103040010330104005010430405140060070068030150176003010301130100421800305010370504130700202005270461700731105010862015091303001091501030301506015011600700630116100130213020060630310142002515061006401071400600700618570019130100200150104053620011620700302023703050133020304502105704616405071304032004010508620801092200220105141011165090102001161001302130700105032080200614306301550730670301057130100200150834030596184510207003020113050500240012251380614201462004003050151540020040010301163012101400650203240500304130153105012062130810076186050840080601020011130700105021083002006503703010463655405130106355040716301020830020094020150110618003011602103011630100421400105013406601041302040012563703050164070571600158512006509671020011801003050121700521313010413010064051307001050620700261721101400501880440200501540940044010200116100640250683304014207002615130200603061100020010050154076370305015408303050160911051061704004501113030900130401050127070012113130104011670141265004064361908124130200605610020065016210507700302082050010200116203012800200250133054130140500130562030164002200501740040021020011630100421400613703010413010020010551304001061409200400740920081306061091803040101020650611110200650511223013201506114301151020036501650300620011617001220016203150410400600700650205130165761715700181307001092705001013030511200606301115022014330108003050147050513054005016306301715089022005019703010511066068011107030406501281050131020065014130707001215405016180030176021030111200110400240503140060070041305555615618015040074002065087030105962010301114024008602315041205002005405106040706506167107010030650815095401013011120130150701401223013540141800301560210301113040240020031301042002205201080640471309003086306930011010303703051160120501125004013370305011413030040601570301051643010301150040210028005015313010501410028001510601020011656213070010337030430204051303010306302160176130506408602140019637030101305051200115030062001165621307001031200603041302001018523002001621050710410820084040059615073050110405011130604011012401101395620011305081010225323045440104001565060100105640401760030100501815070140196150160101020500102001163010042902008050153210505404301070020200615801210612050020071305016081301920806200116306230010501330270500501480105203061002001057507001020011803012400970313020180200105046315454052563514172021020011656213070010340200341302820010505570016707002780200140086570019403081013131163703012210505401132200760011468320011540836200116562130700103600301004405051304011062300200178037030585060219690520011062015011200220121004102001161070246502405034650413030554016301710508070540863019108002005401062015011130201802001270301013200251490051020011640121200603050120313014402300200156507001020011100302401316013020404703010554050613200713018405093001101015011104006007001213010132002514602103011640062030270301031308104130700105301610406400766028828404596208010102511270050621270214513600210200111307001026003010031306040161400461301200800564016210505401780108604005911014010500401116040061012703010131307020030014130200840501580160130162517600210200116170012100103033054041603461530302008405061001306176401813020084050915060341030401114001402005011267145401350806200114002120020213070010337030480105130604011062200631763703088010519602001311061004020011140501020011656213070010337030413030103056130505120066003080573040508120014915010107002020011161212001413300206200116702142130200840503130700105041040300650570301061301200800756501861700196001925401013031530650111001306112603014011613070010502102104006503302002540460341561001014011613070010502101006306503200250141902008057050167070012735504081509707001251102015011100020014011150512601104003406040010020014640100140116130700105021700131508010061430405106020080616630407101004002006186201509210501070030201110061401161307001050230131047065044070513030561305171600200863019101004003065010130508060111304001012820040131303051413011521308100166301171075065018640501910807030207003020211030100221500140111080017080230531307070012410640513010010140566106003047801058405150111301240503400124614050567040306704030179013081880163010209102430101303051160101014005401286050140013620150141303051510008062001162008104011640502400123670403049013081580150561040062713010813030594040012116130700105023013103005465041307620056170016402006172130301000684020061920200140116130700105021700137002020061421101400520025406304071060020061870301051990401106704010150116130700105021010063065032002501452530501640507176135018670020010140050191002005101701050116137030501123030404001001050131401401116301020210376503130100020080542401590220061661030100650780105184008105966030140116001304105028010513860504004406040010020015640100140111003024013107021422040520021063063017470162040880100492070024004010806068011102065012307140112604021303053130200840504130200810401960401400302021101400313020400124130402105013070302022160070350806020413015102065061640640501050115025030013505073047030105405405061306040110711058809003040091705011005401030511160018007010501640121014001054034050470020200540506130200840507408450081301920150611070505114070200800105018010042207002613806010140010540415021105401620150617258106040057106501163040210200613130104130120080052040615024005017801051840509203010763112020010401150280103700302043011055640162015071205002005408406405010501615022002203305641307071075130200810401617002501410320022044066010515061104007130100640813090013040105011006402802007065031301410400100650110013022002315010416001805150610207002650161080010100290420010363014105093010053060150106801200603071301085120065016305402703010370050248016001805150610100400306501100130220301380170052142110140050151501640702040740604004070650180140010128020070650380100630141501520060630620027130701304010501150212006030340705014250105160200110103011001302130403502002204801050156301041663025004007801050184050970402002010605010501680703040028070304002031304001048070304005615040064050713020180200105011001302807030400513170014615015405061308001301050180802002004002405020403304014600804002040580652630107200210882040196370305010104050111304020060301050164003020250704053400405051470301051506702440072501081602001101030110013028020070650364014200251307013040105011001302200231306040161400461301200800564016210505401715082050400409406100501050110013023040503863054130154006040040706501100130220022040362002412110204051301630105011001302150320060630204041307001051200603061301020407304035065011001302200231304030020010046130401000200256401621050540171508205040040940070100306501100130230105031400600700400413051510001020010630137030502074050813040603650105011001302163063310400204230010105402105011001302801400325415052050400640507130901410010501801301001027090153801700145105500702150640210501650770210453801700145105210800110630305019002001050110013023030403013863054150557001630601820077030104011020010421503106002003204044050512008002040626082005780401700184001402006501100130612120035361600154612705005801061304041105078130020010501101400620222030360812004703010401803407021306082005330401010014004106405407030640161001030230305016035304150400405403400407065013070305012504002703130608200541505201506165407130100013021050180304012311031306082005410013061530802007065061105073050183013200191501020501115085012130100013021050110013025070403615020404170015304050613040100200210501100130230540340660104130100615401615040040740301006501801301006128213054036709010540461001306152707568020070650715018305085091301000130265018013010010240660103709015480170015510640030100807401810180206501801301001021306082005360134105011001306121405013220024130701304010501200224066010365120065011001302140504004033054100230515061700507302040815059302021020020401013070010117030402040121306082001380306068014400703040650153011009705016110410204017612003302040184050196003018020630190302502040211340701050110013061230138001020041501513010620025017405010030265011501250940703150410100080200530501620025017600911015018150920501101630111304064050105016168105012130103406601041505160200627021410715020408404002706501801200603028020070650380104130404110505813002001050115025630110330300200700405410030103065016150540230501330100011090065016150123034010703817002006501801600200350154024050335014004670106501620506726401001403202001040120700302026162005005015132501041602001101030180140027065402403002001001050180304012400200110103130340701504100130519081264066010715018304042002065011001302203013150440701052002106601054105018016810501213010340660104150518002002627090120713028200880150803010098020150102030118020010012201309641313070900104016173080501250040313016002001050161503105012406601036405044070551340701050150040211000200100501313016002001050115028010370030204301105564016201507120500200540840640501050161502200220330564130707107513020081040161400302703010540350214122001510401170021001303301210546100640554016400702465011001306125070243190501401480509003053051670120801050110013025303106040706502040417005400470650116210508070650204031641080020065011001306122303634501412110501520700302061080703065011001302180200110400403401420504004054007024650115040040261216204031301100440650180150540270463301041301520026130701304010501130700102600301005010380564105410501613070010256310970405010461060100105016170012402008004003805641030080105016130700102104010400501035004041081010501613070010219407031504101000802005301066009101040010710640813041050120022523301048204015613081005010621309013081050161370302301033060150490410058010613016002001050161370305010240503620050054350551305070104016110008020023012103150542015054050613080013010501630124006007501031064041027050065011064023013105080704401305630162506501130124050314001041303055210030266030104016173080400213035053303040400100105016220074002130381040330301000161050161001030230540311050440152050400406400702465014050246503130305453051050902006502040616710504009020065018020220261280105135404613010001665016350642123010603134070650110013061265403801051410600400904065014001303052150320501430801058003013064021050117002506061020403220024130701304010501640121800305013130141304032004065018040123050134050430018070105016301290410100384010401803062150330501420200558050206506405071304064050105011502801037003020430110556401620150712050020054084064050105016150220022033056413070710751302008104012070024002100640350684130402006030105011700210013033054041600654055068613017400400100650115010230204032006063041401050180140010061213030536191070650164012160130204037030105440505132006150713200108130197030101020021113070130401050180140010061213030536191070650110013061215064050330204614002702051301200700306501100130264013703040104240152015061610704030650115028601254031301470301052002106306740030070200650164012150132912004413040640501050115021501313014507001020054021050110013061230105033040440050400551016506873040020650508405091304020036401050110013022002315041006401052070026501801804008221050103621050540480400815650350106640507407010840509130406405010501801503105015264050340705480105130803020613040300865015004021100020010050132704413021100105011502801037003020430110556401620150712050020054084064050105016150220022033056413070710751302008104012070024002701431304020060301050117002100130330540416006540556461301740040010065011501023020403200606304140105018014001006121303053619107065016401216013020403703010544050513200615071320010813019703010102002111307013040105011400250650222030320010704110554007025006501640040060070065024090150703307030204044006003046501617001229300400403293004004043212001050180140010061213030536191070650161400100612130700103140420404240154007030406501140420402215070140362501050163501400267010650115010216001803703010204047070012510640670900104011001306126061103703010501416709004005140630407400205084050913061709001050115025700131301460030100513016301050164012508503240707002105018020700265280153020501540315048010570030206301105764018201509120500200540104064050105016150220022033056413070710751302008104012070024002500406431304020060301050117002100130330540416006540590130861301740040010065011501023020403200606304140105018014001006121303053619107065016401216013020403703010544050513200615071320010813019703010102002111307013040105011400400200206502801034014515501514050105018010235014003670106501672006702650600303930705145800104016400508400650240503130321304210640015801200510501801400100612130305361910706501630124009107061314020041304060200801050113070010502108060465038010413012008005630161090308650110013061215040131504004405051304060820010501401215040031301423002005405003050168014007211058150920504001040501113090141001050110013025700535011005430515300200266302040730020028106409407030640163012400406065132606104801016007002040570700126106407709001040180701002006512801902861350144010501801600700540213070700123150480105700302063011057640182015091205002005401040640501050161502200220330564130707107513020081040120700240021006403306941304020060301050117002100130330540416006540530696130174004001006501150102302040320060630414010501801400100612130305361910706501640121601302040370301054405051320061507132001081301970301010200211130701304010501140014006502130700202001503405041307013040105016400700200650240136003010043020405200220406405071761320408230915040040101006401170146501100130612301050330404400504005510163069730400206505084050913040600200310501100130215010330704030204044050513010013010501200225035010361530104404015107040306501805031050152615305313407010501130127036713801041301000122001050150040244020050131301600200105016140920050127030105403409200148060110540920061304050700200105011502801037003020430110556401620150712050020054084064050105016150220022033056413070710751302008104012070022190812313011020541304020060301050117002100130330540430070102513016400400100650115010230204032006063041401050180140010061213030536191070650164012160130204037030105440505132006150713200108130197030101020021113070130401050116806121302010303630144002065061540506130406006020010501675061221301006091603130406040010010401630124002600606131305016041300101105405630164007050061780108130120080094080604105016140010061213070010360030100204046130323055130163010501100130612150401315040044050513040608200105016401215040031301423002005405003050166150750900502083040509130201700210501801601009270301050132060801440505130604011061507205040084050913090141001050110013022002103170304042401540070403065018020700265280160070054037070012410640513090030561505720150870700129106401070900104011502801037003020430110556401620150712050020054084064050105016150220022033056413070710751302008104016150523040050710303200241307013040105015073022531302006841301401050170301021003022033040020650440505130405070020010501230601502702002103402105016150523080103722004130163010501163040210205033054041105515061070304057703040110825010916020011010301630625073050153703010427080051301703401050180100200152703010540340142015061525640640501050120700302026030205015380104100306251304032004010501301210640506503254840010510200616130707001271301301040180101400105402210004005365404301510300702006501801010063061253035085044050900200650118027070012501210604007033065011802001104002150340400705015404605010501500402311054034014201506151067046501401211000501037050540440152015061610404007065016401215302050134050410020010551301630517405070020065017002020010264013205014900130401050164012400507304003254130300101910501640121050210001033054046401510604009107065011505402705031306040704304070763065018030124004703407041303055130516160020078040020650840509130407070021050161507002002703001020040020313011002002105016160080800235018203304050414002702054050613040640501050180150270906203801003041501052200101064040174007040306501640062030270301031307071074130200810401130700102102001203810504400100640164001003022028010313060134105011505256313060401070413070301040153021502102040370301044050540050730613030010191050140050730270301032030418012051500104011030100650213060407036120500200540420170026501613030070200110210400270540313010001665011304024002003150540480105203066147105104065016150540210100630650340143015108070306501130121307001050314050614670403061513090130814006670020200617130305820500102001961504009020061104050112704124011390030406114660107030401513070010501690030406117110184050100302191050100302650126040213030531302008405041302008104019602400302031101400413010020015056204001264021050154102623002001033030406405010501130700105021010010406503130903015461064006505130720156654072130160020058540910610050650115021307001050330141064050650521301600200567105017305408170401305409805401010704056501163010202130700105033054046061051307070012665407801081301600200595401013016006020065016150202304003010010313010020015044050530450682010407703010401170021001303406601043015305515010615060400750120018601400102040940505110260022001116121400102040132300512141002601530703020401640090930650180304012311051350641041505262002064050780108130501200964050108630511166028150121303051320021413070130401050110124066010315054150151303056130707107713082010401613010027090120380304014200151540054007620150517315086301094042200110630401110701002121011340660101430115400600801615010173011810600180193041020130402006030650113012405039003040450040524306860501727048606109801501010100080620011200810401614600302104203801043102205400600200362108001107405081000102009606101080101140060701211014001313010148020070650156100640516150540172015061181006401198016010010501803040123110400540311014005014402902005510013061657001760820084021050163846122513616040010100504005141508060540590030401667030617801509002008201080920150107011002511130408060410501630100421400105013416644660301040150570304016610013017130840483030591307001010808003050111703010122050010200134050147021451513040640501050166200500260301040150341664461001305101611051713050160870304050194050910010130910200116164001050112405013203014300101015150165700117305618130808003019130402105016830020023060301040150335064544050513035066130150607613091020088054091067706501840010217001314006147030105614613050403071001304008504030591011011051111305040301214600306113406012050204014301151089405020401660301040150176350645186540193012010300702006501804002604028001820134050410063051561001306200271677050108150913002020010507040400201113040010121507040400137030101467030101561304101661501717040301890130811940020080015206146003050102122008404002022801023702142024130901308105016400801004213091020038010013044015301063017120010813054549140102015011405012130100011021050130170700250527070012133004104141653017002850561673010140010501082603091509402105018040205002100010200327010448010013051894006240173040840089925106310400201140501260211325021141010010501150102634400314020015440040302054056164001040064050720308300101096305110702003001170900104016344005126100640513106034650430303004060540506465071303058671050930540101303001091501117040130540128090454013705014130602103015805401630117105400465011301210603461330305413070010510600200361306002107801081306040161400961301200800106107030401140112400600806501364011440070305065011303052301313054130155662002713070200300813070900104011001302605050900200319041004004140520504006405071302017002105011700522220400121035700148013010055130105406500407400630870505409801509002001040170011110200370650110013040021013110514130403015150106130100107130108204001292020010401150524050360301040150461505526040613030571302008405081302008104011301240070306137030104614006501054060304010501100130400210131105141304030151804006501068010714020010840192050400101001970511140200112840010134003005465011001306125085031630641006556163066216073004104861301402009130102010801509002001011401700112400140200105011001304002150313040306204170015460030616100200105718060465186370306191707510153051111700305126207003020131080703065016150102402006030531301054042541055805019002005624071020037081304020060306501803040123110360301040150410013051400404650506240130780401814001501091303051060010200114040112140012040132301415040040152541040020401640080200865011200370213010540380305014001050540423506453016100230730540825196305060020035054010405051111700305126540139011000200650110013021013110514130403015110204061014001050107270200300518100230915010101400650101140603040105011001302708020010400340504130350515016140010207258100230915010400100640114050124010014020136150101470301051530100610161401050110013021307001037050454703040540506130204001271501814001020925101002301115012102004004131301020149200802015803040116200151740604001002001187050451910013020570012140502280800302320021024301023065010251130020200261402712080200286405029300202003080150401311030020200323050806053364050342080200358015036200210371000501038202001040110013025020200613305147020030051550509002006140054004107140840020650940501013070010501130112105400465018030401231104003100103041520700157020030020610013040072015058569616400105011013070304011405012100230511362050114406030401050169045124013201504004400702454050646507130305815051920150400104050111006401220180200105011001030230513146003010413090200858030401620014005786024005830359620300804001070501160110010511210013013150514902008154040200416405017100612001020018100130400192002201501021900304040022508060102361603040400244070256030104015026303052720022813070130401050163010042120060305013130104500406451600154069013081715081702461913030510801700111540128020010100150131060040090406501100130210131006404304054006040070330650621306010105710023081308605059306301104006040010008020065011130305123070302040134002008406501100130612191020050132204624050540702061001307911020020408705049130305102301115040040121006401340080400506501620150280103130404105054400607055200596108060465078010813012008009630110109030865011001306124001001604061321303054305021040050556153056500407305010063050830630105940110300545011140530201215305136150114309014100650164020200612402020013640202005014402020015654063017103007020065018015090020022010803201504701100255402020054061501744020050154086100640540913407010501804003020221064005403600161054240159003040616150780108700302093011051030100640111070304065016150310501213070010503140506146201506151040010065016306912170031001304301006405514001400650613080183005761504004084002902006501110502040230400140065031302003130430056554050646507130506011082309150400401010064011400353065018040122015033612410064055130161507100130618160020036191301030691140501210020010400204013150540141501601510400952006501801503105015261530531301414020014005510042005015164050713010001220010501614092005012703010540340920014806011054092006130405070020010501100302130840433030546603014057030106702145713070010508190980109130305106001020011140112103002002065011405026003010031306040161400461301200800561507306302040740508130604011094011010801502400501112512841101001370014001425351540116201501730204018150194005024006120300320051211130522407023130305242302554026100640271070430650114050237030313012008004100200120015637030660030130517150512001863703093051102006160101163703012210501313028200105014813711511305164070171303051823019120500200540203012110703040650114050210310231304080092004170015470156610203008071306061086103703020409600308011010130120080011113051240701313030514100301030115401164007002020065011405021054102040380104900304014005130220066130282007640508102006030913020010181023002001112105012104101320084040051411305154070161303051740070130101813030519704012010300200206501140502102413130600301004500405107010456640507102007100204084050913060401101061301200800111130512407013130305141003015514006116220051502040171501820504004019901410010501100302301310703040440505801061306040161400761301200800813010001029130110130305116401121030070200650131101501410270500650123021412002037030405404801051301600200562307540880109300201040505111230125401340505114704065016100130213070010503208020061411700152050164002001217612165018110501930406002003650130100426704501357001450850561216501640507100230815095700110130111160191020012130163010501100302601020061380104130120080058015090020061620108072015087011002591304032004010501630124008750370301054046301540020506801078001010084040191040202006501610100630650240400103570014130670451506205040040790141001050110030270601031504102065052004806302040727080081307001094006040070330650161502200220330700648080030570301061305016076302050812050020054093011010300202006501615022002203301070304044015400205069046200540764018107030506501640124050310001102548010513060401106613012008007130188010920400121040210501150257001313010020015041010090570301062501071602001101030812050020091307001010540118010512106004003080650161505230541036200840543030406405010501150220022031010080010421050540528204056656713070710781307030104018040062030270301031303054150205703010613081007130402105011502023013400604070413040640010563016400604070713090408130470110917001106306111404220010501640121504003251410413070401057050680030130400540715084006040709130110405011106405012211014005011380540144060304065016170012610070313010063047030105405160020035016305407412584050913012008001040020304054011150121305016013201506114211014005011530116106100506501610640250830020034050420305140568063174040508102070029211014005011080540111067706501840010217001331106141001305120700240040621101400107630408400810961925110703040111140170011220504004013400704030650166100702130100630370301054042401590030406168054073018105091006501130402102006131501437030501513030103063010602050617801058613050512009402902001101501180101270030201330110140014301006401510640506501610640210508060038010413090620058080770640507801081306040161400964050108010111301200800121301134050143001101513030516620301714006518416002001050164002001021303213034008602514314045565106400402007402008130608129905070101303051113070010121400100501320301430010101515051660021020017240118400807030650140502311032130860505480305560010200640505176540840509807701010640107001114050650164050231103213060101054802024005636554068010713050120085309400376501013011140112205040040134007040306501150401214020040031504170245200265700571302304581307001098200405110630511203012300101013614020040014150151206501640501713040603040105016150214003063130100200150480405051540041068015040171054004108305080605964050108003011801003012150401131501144050151304050700200105016100302130840433030546010200102040511014005680400702008065051764018200220921000180301070401114007040306501260402130305313020084050413020081040196040140030202110140031302040012413040210501504003062703010203405045021540660106680200706507213081008301006409106405065011502802007065037030148010513012008006637030715305183001070191060400800708010911080511405054012107002813125011054014610604008101015506011054016150517201501840501913040806041050165020010421503504050470301051307001050616040080070806178010813012008009650370305401011040511650370305401213061200500105016504020502305403801041301200800565020010680200706507651401508635064540194050540104011120150611210870020065016168105012130103140440660105150612008007010578017001860080400970301051080130100105118010121301040136301144006001801015630116400875010171501182001465191301020206317030652140502213040200603010501801304001009521303802007065043010206505305406704617687501815098020070650106514015011635064540112201506113600191010501610013040021402001400380200706504100200400570105063010763020830194001004003065107060101115012105080705011316145040060070051563041166540173011810300702006501619028280614314044066010580120010001615072014400830400241092510306301111501220029501137030101410030251153040020650164050171304064050105016100130400230160040053100901054802902004005256705073502865409301101030070200650168200405012703010531304020018007044050510023068010013040075308143020409703010101530112104001210208030650513302040146540153051650190865018020044501521301031405420105400100200670105051763018400875096304007030401015011670412130305138100146302050151205002005401630117107030406501630401223010003130045461604006105140010501568204017670304018620700302095037101013040860501050164600302130404105053703010481050510008030564050715305188063498010511020033010501110100400400301501257001134050143001070400515657001164050177046518801604001000150051913070010204050213001070400522703010231307001024405025704652680620752740660102880100800102970301053010013031570013240503370403034130300109150351505367046374080030384021050110013022002315010490030404005508060106801100080200730108801000802009305101505115612130100080620013130200810401100130220023240141507040400570301068030507120650890051020019303040320040105018019028280103130404105054600110801510400200100268017001713070010816040050902005921301406010106040090200600511100130123051340660101415020153010006101640210501803040121503120014415051029300621307001075687046930540110100130111011240660101314002001041415015400100400305010162040117100400304001850806011921301406020150214002001042213012315024400206502532120012680102713012008002864012940020010430150314002065032405033130409030810501631102200330340504110090105130404105056106070107100130810194066010101501113040301121014004020065013220143010100400306201580160020031615010173020184050191305019081050180600200324050513600110801410400200100251001306200275035010840509130100640101309001304010501630401240063534003010011044041050510013067060107200210815091054105010106061101113060210301630401262004340110440410505634670301057140584050913050160101060100650116634124050134650540141402001400105015400700641501610013017401186009220401191001304001203012150601001022840010231090420024130200701102561265012630010600272021020018060100102305401350040440063010513010613090030780100130820029150101030401111507304001213010134050146001020015801001020018031104005218415401340040300104703010516040081011061001304007150812109104706201030103710201113200124011360100104001430501158030401163110517610090187030105191301009090201001302130122400600802350364002440502513010064026130900130401050110013040021841540131014124005160400132005615076001020084050916040013200400101301006101113014010501100130215010312001044150515020820618410712504001085140010509703010101501140013200501012500401501013833148015015140040404001670300200117804050187050420196401201200104211502213001002370301020246040034501025150263001102713030528405029130901308105011001302700302032105010462105020511040161301330105071008001040088030197046150107030101161303051270301013401145010063015620103018030401210080010340660104130133056601200621530571506084050931502101309620011501200112100130133015305141402050061151501016150604001750120011830703010191400102040204050512126002200221623370065244050251305012002630703020402740090930650180304012140015135064104405053001910613061471301104050880109130210070510130402120020511405012130300320051315014101154066010161501017150118130305192002201307013040105016150213010037090120480304015200151640054007720150518315096301010404220011163040121070100213101144066010151100230166301174006008018150201940502013014050105011603020210420380104310220540060020036210800110740508100010200960610106180040401113010201235018201340501413020052158070015020162200515015017405018200220191301020802007065021640301052215054023201506124100640125801601001050110013022002315010410040030400540505406508060178016001808150910100400306501616001025120065035641809085405010630601501780120060305840701092004101101090410050101115010121600180131501410207002650110013026050300437080042042160010205650370306302040176030915018803019109030650101301020401112110140050112150400401136405014140027020401151301000130265018030401231105403406601042110140050152105014006100130617401857001913011060820011408040020010126401136040705011425700115801016121105011713016301050161001302406601032002104170304052405063110721305410840509705045106405011400206501230513701100251413041200151505163011710803081813090013040650161001302802007065031014110515130403016401770304040083020409405010130511100010200101280161004133010141011551401501670301017130910501880137030193010209020081213070301022193070231301024130525406601026615010273019005052840502913020170021050161604002022002563635064548010513012008006210001020071308100869005061915054010130105011130112102003706501801600700501526350645380502700501540480105130104068015090020072010808201509701100251013090013040105016370305015402110405310470650413010513050120066106407130100101405830191050902006501614002705015402801035700541304501015307050566106407130100101405854094050101304010026810501630100421400105013406601041302040012540506270474018153020501913010020065010130163010112901102001230305016013654101462008405153070305401610400700202006501640122050400323150241301000200210517006100800105017130108406601091301402001064011120504001240501313030015410501630205012150300150131002006501480400916305703010540613070402007640182050400950016101108010111530124041050134004003061470301054015110140050116630205011720501184020060301050164012205040032315024130962005170065014105017630205082008405940501020022011304005070020012100640113401141400154015405016507001020017405018100230201930703054020104007002020065016306301215034009010254044090102552401610044040071104105408801010063061920025011030630111120060304001213010501132006063011480504002701511014002016650206501740501813040640501050180304012311054031308100440505705045016100130617306301816400109405003010401111640010124066010131630401410208020061152401161640010174066010184050191002302010013061216082001502240090015200123610013061241501252203026201802006501100302801400613220400124405057050461303057568154109405054011014002705111501220504004013901410010501801502304031060400310261430205801703040615040171040027065081561105409640501018003011404050121400270135615142100010200155410164050171303051815019130305203012110541022130100640231309001304010501630100426903050133054041301006305307030540610400700202006501130700105021400105015403130204001244050510023056540725810640506501617001210400301037030105404100130615140501625715058130810094050102002501111501122050113405014100230515406030401050116301020210640065031320054044020040010505240169022006176104200106508213086050591306010105106404011120071005015401210508010065016170012604070613130301000641702008006157050566100130617305018170401305019630204010170401302040116030140127030102040133011450240010001015130315301050115020230134005410440505182240066302050713030581054109405010103001101165612170304013213040540041050161001306121503504002704130541054070206504006009807405081200800501916304010504020501130540128200401131405011410321015130105165004020014001720301830010101920071001204050213045012263020502312050020054024301251070304065016204021530205013405041002001055292004006407010300400517804003020840601205054093040104006020501140501227045401313011410030103011562050116508501713061200500105016401220150320022044053020513010020010684001071027050088010914051102006063011110400306127030105401311014005011464011520501164053020101713010020010181301196153051209001304065016401216400104004034050430010105804040017061308101571304501018671050400519640110705041113030512600102001361210010141803011540070100306501180405026704501536704148605015805663011001057204050840400705015940400170101308101511130450101125004013561410640151301001014051640501713040880020010501610640210501410540380101006304110505300200201101061307001050720504004084007704065011001302130700105038100470301054051301006306200250175630110813070010509110006105011011000610501540112040112100061050113400220015011413010201540116201506117110150118107024650161001030214706133002002011020404804706540580304061060400310261730540862001619130707001210306111505401220150611310540046501610640210501410540380101006304401700151324004061304020060301050180704010400270301054031301502110410640107005805406301710400601103065018014012405034001246140505670403069013081780706010815091020650104050111304080308105016200220210600301003401410300110561060040012006401720150830540913060010200510602815011130305126400701301013704011410300200206501620022021070304034014400205059046200540664017107030506501656213030533014130551301656730581308404980101013016301011613016002005126305131308204014613010515400200370650110030212001104004031504370305130305670301020407130301030860200404191301010106401113010010140512405013130514100010200151303051610140010204017280010110181803011940060407065011003021200110400403150437030513030567030102040713050512008602004041913010101064011130100101405124050131305141000102001513030516101400102040172301030184006020506501980105201803012140029020065016405022008404005337030430204051303010306613050512007304006020506188010596304002400100061104050118080030512630703020401340030020200650161064021050141054038010100630411050530020020110106130700105072050400408400770406501650770501240503203041405530051041680100305017514006182200515020409807030406110150111308100123030513680030147050540154011620150611710804002006501150210012006503201504405051006406406601078021000108703010540961400105015104050111302050671240113150144080140085153040050610162130709025171630101813010065191700201001302130522100640523301244008020082515026130305273012810822913080200810501612400100028010401314001204130305513041200613016002005763018400506095090102201040501113045010112618605013204011418605015130305161301020176301184002100019130806014208010211301200800221502313030524301251082261304080604105011001302150401316400104005470301057030406705041071630408107030409150101303051110041215302013405014100230515405016130100200650174050185619130042040505211006522612050020023340701246301251060130267050277005062540281304032004065018060020032703010310064054801057105040056100130713070010508102001046509130810151013045010111101123010400133050114405003015401161640010171001200650181505193070062089002170900104016100130213070010503164006141307030405610302040650061271303058600102009304050101405011670403012901308113630114103010015115130116130901220065018060060805012253624120054130120080058040162015073058405098010510105090200650511405012465013130305146401152015016405017130405040090200105016190282130700105034004050614402015055213014060610100630650761020150813030591026091013020071001130405012103001101340501470214515610100420016306301171501840501913030520703010501213060060802225012361020150524301251080308261302018020065014003020213041200313016002005450370305153030700105063017102001046508703061980101013012008001163011280601411361307011002514303040400100105014050231103213086050548030556001020064050517640508311092130601010510803011110371012130700105013704030611413060101014001513011640117201506118107040306501150213070010380200800470301020513010020015063020014207130108407014910030102002101117030401240501331101421305410156405016561780101880030130194021050164012205040034002003641505103010010613010207130204001281301920084051040501120022012803011340020650501490051020011530302018020010501630121090450203705041101400513030562704717008150730400913010201061470111301012200220136301144002065050154050161304030020020105016301240047034070413030551305161600200730181305913011056112030123001010135130201413011563551630517130820401861301051940020037065012604021303053130200840504130200810401130401186022130501603150410400200206151506101006306171405018654093011010804005065016301004280400501313070010504405051002305406803010703040507130305813070010509904100611063010703040501113020170021050114028602313070010504107040306505130601010140061507106021006501860110940110108204065014050220150310200364301001105130305680150713308130305930140010656111306040107012130703010401640502315438015040141031545305080605615071303058301000501097050101307013040105016130700105021405061367040306141309013081400530502080200506705054076010101400540863050371050540918605010130700101120150611210704030650166901050121301506015032613041054860501561506315412073040030020020821094011030106011302012251370304014803011540097054011613010174020037020401880150210204019240120205040040214007040306501613070010502140506136704030614130901308140053050460030505406801071309013081050164050213050160340504101006305140501621303057801700181670010980101013030511370301280400505131305016014207070012151303051663010501731101850902001940502020022021301010063050221501232050124407020402516301060261303052721703040282401298010309046200311307013040105016301070304050213030531307001050414050615630107030405061304050180100105016100130213070010503208020061430307001050514050616140027061760210305018630508403096009110120401064011154012281403010501340501460091101540154050163001010171505401830201700265016301084030502150010013054036150010013014407051500100130540663010601305071064081301001014059704011020150611110804002006501630100421200603050135068141301051006405680302500780105408130809605051013011160040601050127014011380160070054014130968015015654016900130406501801503105015261908123130608010505463703050151511056303070130401050161220015104021700310013043010064055170246161303057614001006587003020409600102001030204011150122050400401340070304065011504012400702465034050446505130305616500150176400600301006508180201915010130700105011400702465012405013465014130305153011610403020650173020401820071001198012400100061207050421130305221302007100236170246524613002020061253052613010527400200370650161502400207002613801004420700251404064050710023020408640197030101013020060630111301121302301100013130402105011630402102006132010804102410513030561306003010075004081070104591501070030201170301012130305131060102001100302601020061380104130120080058015090020061620108072418130600301009500401013030511105030010121305030015131301600200514150151303051670301017203018300101019100410200110707002240503103001104610200840540506103001107613010584001003026501640121504004032407037105048010513012008006630178010813060401109640110302040114050124650131303051440501563010166301175090102001613070010502208020061321101400413030556301001105616301020710106061840509200840400101061630102011305401270700121313010401804012201503361241006405513016150710013061811004003065916108200100651180150315121303051340501413050120015150168010177003020183011014001930100640201064050650161001302150401314006007004004044050546506130305716500150184064592105020401080101113081015121304501011350040141064015130100101405161020802001727080020401822708001961030705020270800204021270800122640161204023130501200246401253020402640502750190200105018014050230533069461001305150106405132007130108200210915051056111307071071213082010401665250123053160811004610701006256370305016801077002001040058130502659613020400121061400105015111320051280101313045010114615051580101613016002005173040501813090130810501630691217003100130430100640551502040630400140065071308018300584019602100204010251114050121841340501413070130401050111050204023040014006503130200313046400100970650513060210306640014006507801085014102040913040502020010804011120150123612131006405141301151501610013061171104005011827070012191303052015021205040022405023130901410010501100130220023150902005010470301051301006406130408060410501630401231104003200603050141220015104052130230020010610013061715018405302069153010570051113010020010512150131530511420150611590013040105011001302150380105143069151001306165085071703040824050980105110305050310505116153051213011314020014005142015040015405016130100012200105016304012150331104004200603050153069166010107254086800110092540107002007011161001306112301134006008014630115400875016150117405036201861530201913012014020014002021201504002240502313010001220010501150124050730650370301041530557005613010020010572003718405091306040110102401112015061121080601006501630100424002002050134050514110552105056301006407107010030650161301024041050316001540430070102158010013061017100640817024619130305106120036111130106401213016002001363011440070500611580101613012008001740806041050180207002652801600700400540313020038054801902861580106412005407315004010501670141265004064361004440021050530204064050740601205054086710509305401013030010915011170401305401280904540137050141306021030156201506116406040029020010501610012006502680200706503651401504630100453110540640660107213021050140088016040020220061980101013012008001164011220150611360121001050180203012160070050132700502548040505405405061200603050177030105881902196405054010405011160070040051213090108513640505401440501560060805011625171301200800186405054019405020110002001005012164012220150231303052430109003040540256302050262015061271508060540281090030406501405003021307001050314006007006144050546506130305716301011082040500309130705020264001014006007004001121040011261501316550141302106400153021040016130705020264001730618201506119107030406501150213030531070304044015104706506405074650584050930010101065611130707107121308201040164003020213014050013035080020025143030501605640161070100305171301813070130406501600301002130305313060401614004613012008005213081006150780108700302093011051030304064050105011400302401316810413010205405061302040012761100408130903015915010130903015114005051012705013130808300110146130405020200156307002020016130305171202200186130305191070304020401214009050706501630124003143061315304130204001251301621304001075108186050913011013070010501190030406112405054013610063061141405011521307001016150730171301050118615073019130102040206130550121613052040226184236508502430525406030406501620700302021507305013130102041302040012580130700105061400105015407130204001281064050650925106405011563011012405013106405014251564011610384172110140050118130119130201802006501640122050400340040030644050510023056405072040012863019400600951021040105020111700112301200400121313040293065012302563110140042105014005801069046200713070010508164006191307030401064011110384122110140050113130114130900130406501610013061230630131507304703010551101400640507200258100309150401101301101400117050412130305136150401141501155070010200164021050116304021020805403150141507305015703010206130204001271040030108703010540915010801011700302012302008405136700202001014301006401510640506501100302208010321303054210501056210502040630051041710703040840198010101306040161400116130120080012613070010501314050611421302193015620802006116213030517163010201854019130600160200650161060400703306502022130707001236306301413305406040106303110540713070700128630101400105054092100040051065401130112103007020065011060400703306502022130707001236150435504053040810956213020180200105011064021010003001540313070700124405058061005406640507400840081200330540961010063010700610061114011220504004013400704030650110127021410313070010504140506151506120080010761607058801101109801702465012030250806037001101005413040640055004061301050174002003706501613070010502140506136704030614130901308140053050261050540640507130350581000200801940032001010405011400840051121301505120013600130410501480105115507040161320017130701403010501130700105029022006136703010420025405104006203065016201105024050341254301540084030620071005171303058102007100519611012040106561113060401070121307030104016301050260130400540340504600301005130604016140066130120080076606002008130300406096130100402001030101006305011130305128015010131068020650113030521026093130200710043040505103001106405077021458610100420093051015011130305122203013300101014703010401630105026013040054034050450730540506130604011074011088018101925101301200800114050122704134064005114301010063050151303051610030171308404183030519230201205002005402130122107010030650164012570053130810154130450101513016305676307028615091304120010130160020051130510121308106150133061420150611510703040650180170012200202613801041308030205470616130305740600309010508305913041050108030401115031540121301013130220014170011554016103002002065013010208020061224013140010501540463010400404007061580606806107030406501163040210200613150143703050158200401614050176104006009808130501609405010863054011180213021930121064050650136250704051413030515102080200650164050219003040340405041804002001057030106130305720700218169207002102130810011304011231105131301060148010153550401640500610173030201802001050161307001050231546138010501430505410505405602305016615071303058304070913040860501050126040213030531302008405041302008104011304011000302400213020064018010214501031301200800465405405062704710003025408601010003026501801022800703605010504303055130140200640507100230864050927041061064010700111080200812130406405065012509020021303053105090200440505103001106656713070710781302008104016704213030533014106003080513030566704576302050812050020091305016010301111070304065011070304065029001520013405041308101551304501016654077050813016002005954010100018030650116304021040080202006138010415080605405401660030100713030581306040161400961301200800106401112105054011213011321308100146133015406040101661501720500102001184050191305016020230100110212002540223020180200650116304021060102006138010413012008005801050900200616201080720150870110025913070010501040501110023054012201506113130041440505401510065166150012006117130120080018670402006511912050020020404012170402006512263110400540232006030540242130210501400258040126201502713030528301090030405402963020503020150613115080605403210900304065015004022015037011002541307001050516011061613060611071508207002619211014001013030511620150611225113106040057106501130305210241313060030100450040510701045650040713010584002003706501610640240010064031306017054102306051304032004065016304021020503305404405053002002011054063008070110762015061823002002011054092018020010501610640240010064031306017054106401070051040080200100650180140121307001050314050614670403061513090130814006805407801082006800591082200650161401213070010503208020061462070026152110140050166301001107130160020058801630102098010101307070012114088002006501806028150213030538105044004060650568105064009028650163052130840438010413060401614005613012008006670300101768105084009005200650110600200321308103405041304010400561060020036130401040074050813081096108101010130120080011270412406400511362070030201440060020036501640502110140053150460030100204054050640020012750040817001915040040102300200114005040030020065016405021101400531504600301005302040640507150806020408176131930400602050611013010511163703012210502040134064514620084051515016801017700302018301101400193010064020104008020200650164050211014005360030100413060401614005613012008006616004003018071306050400204086130615020409150108010117003020123011014001330307013040105016405021101400534050140204042130301030561305051200661240010001620407405088080030591501080101170030201230110140013301006401410604070650164050211014005310200102040413022001005600680166940701761050730840509130604011010401101180108101012251313012008001427041540640051161501780101870030201930110140020301006402110701003065016405021101400531504400100640513060401106613012008007214020058500409170011047012040114706512405013130120080014170011515040040164006002003650163052405038010413060401614005613012008006203073058100150400650165621307001031024141306003010055004061070104576568156509703010510630511130405003012130170301013801014130604016140015613012008001665617130707107181308201040180020022302040340500301440505150806020406530730204084050940110403020400111104015020401240501330020020110148010154011620071005012040178015040040188010519606110204006001806505402120600108040020402215080602040232070030202450809030251301101400263010064027107010030650123021400270313070010504900304061515611054062100010200770304088040509105410104050111800301213030513640114305401540501650190200105018011004026352033030410504850108015809200400613030571304001088092009130501601070301051113011240024103013306003010014130305157003020161304105017130100104018630205019120500200201305016021301221070304065014050102105021301053614001006546110010406151309030156630174002065061840509130403002002010501405021307001050380200100614410505405620150616300107017203088729240110304105401180200865016170012406031305016048002005470616200254074050102105081301059500401017001111700110054012405051320084051417001158020010100164050540172200254018103002002065013010208020061224013140010501540480400404007061580606806400703040650114021507305013703010540460309150158056610400203040724018201506192510103002002065016170012170010050131305016042008405580200861625176150840090254096010105102401111004404001211041054013170011454015101005096501163040210200613150413030551026096130200710073040508103001109610100420010150118010127003020133011014001430100640151064050650180140027001313010020021048100556130406020105066125071306021030870030209600102001030307001050111020010465012635131303051461630102015540161304080308650164012140010400403405042002153010200266801071406130813050160980301101020026117050412130305136401141400104004015405016720151740020010465018635191303052080163010202154022130408007080650113030521307001036003010020404500405200710020406500407104010400204085004091081010204010530114050123002002011020401340501410807030154050167003020401740501830010101960281505206400701301021704012210300200206501900520021308060143801041302200561302820062401720602400811041091305016010301070010100540112708001213070010137040306114307030540151020037065011003026010200613801041301200800580150900200616201080720150870110025913070010501040501110023012201501312050020054014403002002010501801100402635203303041050413010010405405061002307150810140010910640103011140200412305134050141303051510640107001610904706501405022080200380703010542080200556405067040307901308188030150806054091040546501301037102130700105031405061467040306151309013081400640507808003058150593011010821113020180200105016405021101400531504102006030513020010186402300200140076301070010100204084050920084040051063040032001011130803020122140200513630400240010006114405015808003051663070302040174003002020065016301004212006030501340504100230205200603016130107100640540880311065409213021050140010801504001004050111405012130700105013132004061146201501581001167030105011750902001813040640501050113030521307001031020060304130200101858040050010200660812178010260958801091306040110102010801110300110126103703051320608011480400200101513064100161060020031740501860030130519801700120190122125224050231030011024405025702145261700127540281060400230020065016150220150613405041002305150610507307703010540840509100230510304023060105018015090020021301031500120042008404005130305620108071081010813012008009270410406400511115012700302013304081010141304064001015656167030101720301830010101910041020016301050212006030501320010814802001655409080200163090030617405082704591020802006501801502023013400604070413040640010563016400604070713090408130470110917001106306111404220010501640121504003251441307040105705068003013040054071508400604070913011040501110640501221101400501138054014406030406501130305213070010360030100204044050580070806500407370308405092704108007080111006512500401337030144050152704161006517800708011863001025191060030100204012110300110226562313070301040241301004102001610640240010064031306017054101006040513040320040650640173025006181000102009601705102070030201120150611210680206501610013021307001050316400614130703040561301104015063010047302500400408801092040012101303051113010121064013130270500148057001151064016130270500176302050204018205040040193012040070304065018010640107002301310508070413070010505900304061640707002004005407630185409106040070400265016301004280020025013303050160480105570016130100200150740508203094050030106301050113104005401221105133010100630501413070010501520802006116150171504004018130119402930650120700302021092703130305470301051003062613070010507301810703040650180190220021503670441303055810066301710604006008050208130700105093011010610050650126040213030531302008405041302008104011304014003020211014003130204001241308201040154102620084053303040860501050113070010502101001040650313090301546106400650513072015665407213016002005854091061005065011630102027030103541044050520025406616301020754081304080308650164050213050160340504103004002001053056613084105007301080030870509602103010130305112100010200127030401361040060070051145761151630102016305401770700121840510501617001240040030103703010541101400501563010640604002022001720150830409106040705110201501180101217005010513610020011480230020051527070012161301040115021307001050314050614670403061513090130814006305407350140081305070104016001304105028010513670441303055810016656713070710781308201040160030100213060401614003210001020047040454002006505166130100107801081301200800920061601010150114004010412220401362500148010511540501620301741251861507305011940502013060401102140110228015024005012380105124405025203026763272020010401570012600301003130305480120065010540170016600301007130700105084050946505102301113090013040650128010138003013014402105016301004214001050133010040150413082040551506130020200730305864050910300202001080150401111030020200123050806051364050142080200158015016130305171000501018840104161700210013033010040150430125055656610709005710182501093011040030020020112130305121501313030020020143090030401570900104016690105012130150601503261304105484030400551405665501770301086550968090130510801011701401050121501313002020014301015630613041020161301017130409010200161502315412037030104150540030020020621074018301060930201025117030401280301134009705401146901825401158010161304501011740702006801186140027019602103020405021150122213010235004024130102540200370204026801502102040272401282050400402940070403065011012250103150514150540020640500100130782584050960020043010804002050118010129060020051316148010151306040161400161617801018130120080019101400202512113030522150231303052430910802560021020011012250103110040413090301556140200621304070200680761505870509130405020200106190220011703010124011319012201415015700302016405017707401813014062001630124009070200360042043030501605630164004030078010813012008009402008110150111303051230113108214203015406004001301680600620016110090428010340300102046110008008005405069064002071508150202009130190614001030906400111308401020011304024002006131504130305560600200630204074018801091306040161400106401118010121301200800136160210001470301020401550704051690015200517621950518640501913050160204050211031430228010231303052421000102002570304026630127541028630129204001230405010200161700121001030330540414002706154016150730713030581001306192301050400270114011263450113703010514121105011516306162015017130300109150181047065401913010207070012211306070102001640502106030403635541301051303056656740860508801004916040040602010213070200651113065001001012613010131303051470110025151301406200164050220802003803014108750205208020056130105017402003705408805050210540924011070403061111501213030513703010401427001400151309046200150404007054021003010301350040450800920054051301067070012710003010900163010502601304005403405046003010051306040161400661301200800730101006305081303059100301013084041130305122301312050020054014301151070304065013030524013801041306040161400561301200800615071303058569130100050101013084010416306215040138010413012008005405063003200571100301408613028200910404510405011270451260270513128200144011550804400162030401400171303051815019130305207071072182010401401260030100204036301427050020405130162050806076184581509130305106040107011290102001130402400200315041303055106303613030103078010813050512009610630310130505120011801012130301030136606002001413030040601561301004020016203017103200101813010191330204060401021615022130305232401244007040306502560021020017003020221503130305456513081006615074018104706509405010465051113021930126150131303051456151307030101613020210200113040240020031504130803020540032001068010713028200825070404009130305103010200102040114050121101400513150148010157003020163011014001730203018902120019300206200161700121000300105403406342013090030305470616130305740600309010508305913041050108030401115031540121301013130220014804050540154010040090416640117103841821101400501191301202030216004001200222080620011012110513130501604140010061520022040661600300617106401830191037101061304117050126304513630114406306415561631717705018613045193001010120150216704221303052381002480301254001000200502040261308101527130450101286301291010002005020403021303053113010002006200115021303053705045470304051306017056610507307130100010500861070304094011080101113012008140126401134004200101450806015401700116400206021710004118640119400420010205080602121102212008002340040640024150251303052670301040276002102001260402130305313020084050413020081040113040140050710302130204001233014200102580105640507200281307013040105011402101006306503180400200154230556613081007405082002209304005070020010100640111401121400154013405014507001020015405016100230201730703054018105400465011303052130700103600301004130604016140056130120080066401721050540188010960400510110140115004012160400610137030101413070200300154011630204017405018465051940502063010216301223008010702318030124400400700202006501104220021301402003405041306040110513010613012008007500408107020039130105108010111064012201501340100412005141308015605051640401174007046501700302027013040313010001024613030051455130707107613020081040113070010218605032030430010105600301005662417600301008130150601509405010910501500402370303506030544050560301305640507401108405105015004026061536508060048010554050620068576370308302040913060407010613012901200116130180104512100301030113401144003002020065016100130612117001380030305014801051301200800611501730801086003010093410410230115401223010011013200254014201802006501100302104006801204034030204130406400513070010662030722040850040913010102002204011400200370650163062400200103170041304032004065055012060662001066054077050482002540920025011012902005011166040705011280120037050113507040301490130811515011640610050650163062300105013301400105014203055080606541517630205088100913010063010405010113014030150123550401340501413035051561305016016134070105018070061006122401350601040040430100110510640204065700171501850601050120409670061006110707001211130600304122401132050400401440070403065011504012106405032110140050141307001050517001670020200617251860020061960341106602861112840412200254013654014301151060400202200650140040031801023506254037050413040800137051047065062002540760068018694070196404011020071005015401110508010065018030124007030403508060440151600801063054074050810020059170105010371101124011220150611310704030650118040502201503406405014204050520150680160100173018106040066501140121307001050314050614670403061513090130814006803054073501400813040161095073011024011120150611210704030650161401213070010503806010061480401615405130501200620304017120014618150910600200361104050511117010461128010511361001030143054015700610061167070012171305012001813070010192050400402025214002070026501630507001010050540240503130707001241301450105465061307070012713012022008307030540910200370650164050219003040340405047002020052110140062002575004081702008009705051101501114050121304032004010501340504001004065016301004214001050134066010413020400125803016400205078010840200105940501030100110511637030501512541013302501014160200110103016370305012405054031104054105465052140200501630401790220061862015061921101400501101061005065011502200220356410809030521050540610640713010010140588010401920150611080105111060040030806501163040210543305404204051530205016405071002305408405091301002006501010403006501180101240601205054013150148010157003020163011014001718030118106040706501163040210200613150145060610051304011061301071301200800813032007980506002003102511720070112400120301340505141507014054015615080605401618030117102902006501610100630650240400103570014130804008515062050400407901410010501100302106403130804008430151050807061307001050720802006181104015054096301105401110509002006501801702008002705054036150400900200415054054050400900200650126040213030531302008405041302008104011012110513130502104140010051303056630174009708130201802001050961304050180100105010150111303051220150137030104011482010401161400270240131068104130102054050620022071508130305920150102401114007040306501260021020011640062030270301031303054620801052130305662010301140123703031303054302003305405061003021050780108368059640110370301117613204012130301101013400900152006501440505501514051400204016640117370301814701011020401912501102040207003020402110063020402221806152040236130305241010063025130810026656271054102813060210301147065402301211054035641100609570504613030578015083040940070304061101211054011801600615020401280101313041050146406130102040156301060167030102040173501818801040119160091400402025216302050224012340070404400241003062204025620150261303052710008062001282008104011130502102163010321304064050105044050515080605406617613571405140054086163069130120081401027080054011163010122270800138010142040012151303051640501713040640501050186130405132001050191301201502140080703061221301023163010110204024407020068012520150267003020278010281302040012294060962001161700216007005013405041305021010505401050011005406640502076405085068961220015104010640660101167010601012125013402001040146160070050115405054016401050011001171000301090011301060130213090141001050370504904100540561704630302018020010507707001218130104011101211051313070010504140506151700202006165070405713030587030102040917001031104002040113506412801200603050113703010540142001081156350641163040174002006511862015019130305202401214007040306502229010200111700231106204034050480610020405640506160803074050204086170097110004001013012901200116230100040012130100306213130850132001464009005065015213030516130900506501155013020212400301031304064050650467307306157307130163004104116170021010063031304050180100650461307001050580106100306254074020080084019670450110130305116200606305121301131000200620011617002100130400391108054405054051016153071050020028301940100140103020401180120037061126106040017005013802001010014405054015130502101610100630650171501821064005011970620052064012151022270620052315024102001046502513012680200120011630624600304003703010540440505110091200516500407601030618130804005059301400651106401114003025006112251131301141060102001163010042201506137015461413030554050610023073018106306509130142120010620150117054121303051340601063011100302305031050807020404130802001200515068020020040040740508130406400916101301004003011617001123011340040400706501413011510030103011100302405037001413070010510709040204064050713030581509120014102204011606101121613120014142204015200840516630117103465018305401940502046502113030522630101236301245090102001110042107030403130305413040706100105054050204066130100110301050730160061505408530409130105011063011110140065012130216013130114100301030111300852703010204038017001431105130600680620011040054071050900200650813010209400462001017010505401120130700101210100030010137030105144050151304064001680170011770052181306006801960301006204020213060505218414221300852370301024130600102002516301020263040271064050612880182929130305301704013054031620150327003020337030103413030535106010200111086026502130187123304041070052615615061014007130187128106461930610150540112146501280101313017020012141060130650157050161502110204017630618201506119801020402040121100140030612213012310030103011301004220150330204048010520060630613030571606588605059304050102015011102003612130305136130106401413016002001567002020016130305172050010200116304012200110313040640506504130187125100130616570017401867045019130305106200606305116904100121303051362006063051464011571454016130117110401501186400603010401140502130406405010503200313049041006154016701546171303058703010598040505401040501110080010125082513640505401440501510504009002001664011724306118400241030113010371021303053130901410010504290410054056107070026130405018010010507150830011091610104006211703010540121501313030514201501510008062001162008104011620042130305313070010504208020061521000109005406304071050130618600102001962080101013030511130406405010501213010040013013620150141303051510061011670710711615073021307001050390015200654044050515306130204001274050890101901054096100700801080101110030625401213020070213802001010011440010040030650156400160200650168020010100116162005002040212008005403641012005404614061305405612008001630407400910651862015091303051070301011203012300101013100410200111012110513130502104100305301761320615072050400508400200450913081015101304501011167105040051128040070130105013140400702050146160200820501560200181163401030116150220504005034002004504130305562006063056613041200713016002005880150913030510170411303040860501400124050205013132001147090010401110125060110313050210440505101400640502050728018300584021050591080017080103051111307070012128007080105013620150147003020157030101613030517106010200116405021010050400340502050430305562006063056640070403079013081850640051913200511040200400105011617040045011230511320071001142020010401110125060110313050210430604005052018464050713050601108150914001001040050108030111400600800705012213010063013801094070141307001015801016100302517402008001861003050191006301204070200680116100200502801032106400205046301540022003506400220037130315301058130163010961100405010130903015116140010501213072015136197050141303051562006063051615040117102001041813030519301070052207050204021130200360221530231302104002461095200204025400951020011617002020050240131040030104801052106400205064050711014008130305961308204051015011130305122015013309108011460021020011150213040603040105036130406030401400461304064050105056130406405014006613010015040010507613010015040014008613090141001050961309014100140010613090122001050116130901220014001261306001300701050136130600130070140014613040400904100105015613040400904100140016613090110401050176130901104014001861308180900105019802006354020613081809001400216130700120200105022130305232050010200124613070012020014002517042613030527305402840100080200529613200130709001040116401220150330406405046301540640505617001710080010813030596200606305101402001111501210206501330540141306001020051540501614020054017640501810709019130305206200606305218010042280030238003013012440210501161700240010063033030700104150704051303056703010576150704040087030105914060201070301020117632012614001001313030514640060080101580101650806020174011813030519402410520640060030010211305016022613030523181002415025400600300152680304012710080010287104294050513069200131763501205132302010333013410206503570301036130406405010503782003388010391761340147010110540411700142100800614340505504469200145620150461402004713030548408070630114012201503703010413050210540506820037801040188020080091303051030511605051213030513801014130700105015600306116405017100230186201501914020020130305211004200122401004620011130700105021023010006503200601301400413030556106003006505663017106003006508184191301101303051162080101221303051386010211401220150340840441215184640507200313020408630205092006063010130305116600140040121305021010501362015014130305152203016300101017703010401110121105131307001050414050615170020200616130305770020200182050010200116602865222020053619010301156213070010310903010470301020405640301102040056301060020032040740508130900304014009130101013050620011620150122130406405010501320081040114008104005402106403103010065054603014056170463054071320018202001040111012110513130502104150151200603050120630015417640230020018650700102001164170101213010313030542170050556602001316405010200116230020021304064050105032150430540540506130305780800301820210200116301240097031302018020010504613040501801001050564706170015407640062030870301091303051062080101121303051262010301110121105131307001050414050615170016502084004071304064050140085004099301004004065501040501110023012150134004060655014804011530204016703010550174050187045194007040046505120804040070655021660200865502260200181233401030111012110513130502104150151830305016302071761320813030140010914001040010136200550116401124030204001310401050201440401151801101613030517703010201862501400197040202062501400217040140020226250140023600130202462501400256001301400202613030140010275132005028407020296140200153040640505311503265240033508060513430305021035150361200143713050210381503910604005020851406001309054130204240504346504413040640501050451004467030405014740148802008005014970301054050801051176135405264015340302040054110401505405530201030156102065057703010205882003596201506013030561100080620016220081040114002003102405034003001104405055056400661061301020740508400300110964050101240010001040011404050127073040013803011435018157030102016700302017145010181501940010020020170105055021630122108750236102008001050242401251400104005502620305502761303052810703040294013080103110030622040326201503313030534703010401358301040113012108303302041305060110540506270476301815094002430102550114050121761313630614170322015860505501613011740118403020400191040105020206201502113030522703010232030243001010252001001021110121105131307001050414050615301640046003061721064008130502109130110150111067005012302040131301014970140151000102001650190020010501715015186302050191700120470104004021801460030612280170012397040400402480150400300200612563012640604001506010502730841050028150297003020403020150311067001032130502103380106040081010344050204035613030536301371060400810103840503913081004061700141601304004065504240400170143801601306550444050456200110468312477003020404819520049301003062204050610030625505164015220150533020405415055400670061562006063057130305586301591506040050208616117613562405063270456412416515066700302040672015068705046913030570709001040111502400246133001010141654006008065680150713030582015092203010300101011703010401130123501837030105504801051211055066301712501105508630191600615055010630111125011012160061505501363011412501101516006140055016630117506011055018630119401204030204002111040150550226140010010502313030524150251303052620150277030102820302930010103030051041115021303053640301102040054109030650570301061305021071018110519130700105010140506111903061127030105136603040611440060301040111502130700105031067006504130305562006063056307050540713030588010913045010110613016002005116170412305401370700121144051050116130700105021067006503130406405010504613040640501400521000102006401712040060261880100491840040306110254001501116150040112402105011101211051313050210410030530176132066250140020765060110813040640501050910450105010703010550114050123301210255013700302014145010151501610702008050178030118106700105019620150201303052110008062001222008104011301050230403105040054130405018010065056130700105068010710030625408402008009613040200380650108010111304041050512305010002001050201325401450040153011610316200650201780105118130119100301030114030706501050211050401350010080614160070061561004003061640010040010301160505213030538010413070010505600306164050710023086305094003410306050511130305124002410301110601302021305016037050413060170551003061504017703040518705049130305106401111042001020123070301313060170514400206501510020010211150213030533070504130201802001050561704630540760701020011600130410502801051312414301510346506630101763018509010200111064024001003023636554048010513050120061010063065071018301040050191970501101303051161970501121302006063011610013061220025013150141970501560144005016620220011050178018003065018130602103011200250121400540380070801050440505130707001266130705054073070501820210200111012110513130700105041405061530164002065061720130700105081700619406601010802200151113030512404011310013061146201501570504161303051763105111012110513130700105041405061514001006161303057610063061810063019604104111090308230204031704013020404610100080200530204067005062204076405081097091303051062006063051180100412801713806711470900104011150127020080050131301401505470301051306040161400661301200800761303213088012105091501010840305051116130080100501240505113684030511413015060150151505162015017900306401183563011301070700221303053130405018010010504613040501801001400561304030020020105066130403002002014007610400628130305970301010130406405010501161304064050140012620150131303051410008062001152008104011260402130305313020084050413020081040113084042303053130700104305540168010713060401614008640198010101301200800116305121308404138010141301600200515656161308201040171306002102001107030402401310303480105130120080066401710600200384050519640110105073011405012130604011013640114107020031580105116656171302008104018130100080620016100130213070010503208020061430154001400105016130601705710030823010962002101030400140010502040117013040121301000102133011410707215705051640500100130177002005188010191306040161400206301218010221301200800236301241901000200254050267003020276301281202200291301308010312040012324021050130103710213070010503140506146704030615130901308140061630102073054084010008020059620071001020200104016130700105026070613801041101400501540701371050616301020730540870700129405010200371113010401610200102130700105031640061413070304051307001061507307130102084050920022010561113081001261054101313010149020019151307071071613084010416100130213070010503208020061453055043020406703010720033081050210204091700110407100400401120301240407100131502040143080101560030100163410411804002001027030103130305420700215140625735058230913070010501030111106405065012213016002005138010141307070012156130800301301613027010411803040210200613130104401521050611041054076401860030805409405010130604011011613012008001215013503001145060060801525401613012008001716185060100919703010540202060801214050221306040110231502480102570030202630110527302030287024294050102163010042140010501341664440501580800301610173213081621094070510613091020011613050112305131308410411502170403036012100014004610042005801061306020047617040306189013081915010102401114007040306501229010200163060301040150213020010831000465143005200562006185163005200761603050183059701050101301009200116405012130350134050141070403015210501610410517217005018200251964050201071000214050540227050231402005012450700100525405026707001227130607010200110704030650230534014103001105405064081200102764004015001030863801509201303612106100462001120016010140012170403061131301441664153002020011661003010301740501870214101913030020620018030401210080010501370301054130406400540164305407703010840640059130110412511130120080012400120301340506014005148030401156002001640021050400171303501815019306202015061211070304065022130100010223401243025006125801026130707001227130405105013010042201503306021480105406020505406110573504001508705091040105010630040130112030611240501320071001420022040156130020200611630517230451891025196200220100080620018017020080061280120060305013703010540460103051307020040662430501540723504001054083504001050970061400101012030116004091261500301363001010144050156042001610030103017003020237105015403240142080200615653065031710713018130208062001637030501221050540362105041301002001051304001062120020501780105181002001099001520051061004200501118010511213060102001360102006114801051153010130101661101401171405010501801001306122002501321704421050516080120050166900304061715080605408803703050154091814105001064071005015401120301240407100131501480101570030201630110140017302030189021200193002062001630100429041003703010540412301060590050568014002706571301880200101001940501013040640501050164012201503305470301054054050660309150713018305070304094050101064050112130160020051240405013561440505115801016300201762002201870301019203020300101021880109001100302147061313070010504770404004054050646507130305830191040302065010405001001301170020051280101313060401614001463011580101613012008001764011830540198010540120405021300200202264012330524405054025405026900510200163012400508070313030080170547050455130163040507170050830598400101017001118077012705013100306254014100130611540170011610013017200220401810013061191308100206562113070301022130202102001100302405031020071002040440505130604016140066130120080071003081303059615011016111101204012307030101354101416158010168003013017402105011003023013400601306504704015132004050166301750601308704019400704030650110030210340703210505014200250155004061080400872105050182130810096561013080400181113070301040110030212006501031307001050413081004004052563002002011072030182309561013030511130707107121308201040164012120060305012031301420180553030501606230010200176507001020018630205091205002001013050160113011210703040650161010063065024040010357001413067045150620504004079014100105011003023020403401070144106405301640060400160020065077050586017059630110400604001004406501610013021307001050320802006143050550640506257001713010020015086301921307001010210501110410512630613400200101417001513090013040650164061006806501770504182002540191020037020270800540211301022270800231301006302410100630251307001050261604008007080612730307001050281604002022006129306301301504004031302050132406405010501100130213070010503160400202200614303070010505160400800708061615085079044501204087050913054101027041117001231102040132301420504004015403200401050161001302130700105031604008007080614303070010505160400202200616230740202008130301030961305051200101700114001402006505011215013502080200142130305156503703016305171504141186160200611913050414052030401212001612213070700122363703050124130110003013025801026170501100271307001050282080200612953030103765031130132401332015061341070403065016401212006030501380104100200105540506507001020071301810013094040020080651101501112401121200603040040132514201802006501610013061250850312050020041406130156163014166401750850824070700210501100302150320021041026095130200710063040507103001108610100420096302050101205002001113050160123011310703040650164012140613020403630141630142040521304001064001002002204077050450187308010913011040501114050126704030139013081148016301020153054016371101713080070801824011970403061206540218010221301000200801400231405065016130700105021060706503801041101400501540701371050616301020780108130707001294088002006501100302150320021041026095130200710063040507103001108405097021451061010042001130512640113150801004004014405015300101016805617106003080518656196001020020130200171001050161064021083002005403340107014500405101006306303040301102057156301108110120409201506110107024650110013061260281502031504004630105015405064650540723082015061910702465010130350111205002005401225401340640506501801301064023013104030204270800204053027080065080701763018800200196501006301030307001050119003040611270061006113707001214130501200151304001016205040040172511840020700265016170012400400301037030105404110140050152105014006100130617401857001913011020033011102001041215013109042040147040115201501610702417121620401861001306119401205700121130122180202340804002001024610013025130700105026208020061273030810028304012931105403015031570013213013360820034402105016401214001050154034050420400251042006065051664017120060305018130105409100230201040501150700102001620700221307001050340504100230540564016230100061740703001200840191400105015401080207002611120060301012802010801320150145020102001100302150401317090020404261845515064001006406173030584050050109680200141010500401140040080202006112401132901822040144050153505161501756181301195070010200203020402121050221041023707001224300410411003024013601304002040440505132006805673020408150913200101013011170301012130305136561470301015203016300101017300510411003021503200210410100700805213081006703014071301000106211003023110313081004640151024106130219307640181070104110030215038003030400480150401518003067030107508060108615091540041040010802401111068101213010132002101415051560401070161002001021630624002001031700480770615803016806400761600700618405094020150101002001021610013061214050132546150105305406130400501630074050840201509270104161004220802006132544050510023066101007008065072130100010284050940201501027010416810302210505403621050440151030040056506204017807030821300101705409405010100230111505401220150611380101430020154020010212604021303053130200840504130200810401130840423030538019200413060401614005613012008006317030713040301102058200603019163010101350851140500501012650030150013620021701410710415801016130600301001740118103001101915020130305217030102220302330010102410041020014012108040083130305430305016054050620084057803018404060209305110640111104060201280301134020060301430515405016270451765618130707107191308201040110121105131305016041700202006155070404006130305770301020408530940501060013010011100010200121303051310200710020401440501513060401101661301200800173011813051913012056218015010224006802065016150210207002620380100442070024005200603064050710023020861301091303051040020037011130140620011012110513130501604150567046130305781008803019400100020050204010130810151113045010112630113101000200502040142130305151301000200620011502130300109150330204047046580140060070065670461715040181047069872510301020650611140501219081213130607010200113070010502208020061330540470700125300410466130700105071405061867040306191309013081400103054011401000802005126132001320210200118040502710503305460610570403056802001578605018801509130305101080030114050121030011013610541014405015103001101680301174007005218508060201970301054020860200140021150221303052370301040242401251090507065016130305213070010312006030413020010185804005001020066081217806010050158130109230410401040011801810105011225131301200800142704154064005116207003020171305030062001405022015031020010441307075580303056130707573401070181301059109070410130203040111309102126130704030131309013081410200807051561307001050161040202006501713060101014001830540197070012203004104216402020022163010202356241026200161303052600301002040340504400200125500406405075098058500409370302040101761311164011240084030134050141505001015630116400800701713011827030405196401201070402002140502240704020023630124105010090254050267040200527130128801029204001230150317003020327030103313030534106010200164012106040061031302820015045700157070026802001400760110100083002001259657001104030811131312640501320301440012030650153084011692001011764006040060020036501883010519400302606505120640020010211308030202280105234061600200243040024001000612540502680800305276307030204028400300202006501106303213030103038010413050512005610630361305051200780108130301030966060020010130300406011613010040200122030131032001014301330154060401016700302040171303051820022040193052013040302021613070010502240047065023405024465052540126104030206502740502810094010200115024004706540330141060407061547011020406630676040706184019160400312611030204011610640121301001014051310208020065014230020020204015630116105021020174050030186002102001101211051313050160415040040513080100200110613010713030586130305956101301000501011130840104115021030013107005220404610140052600301006341041640127003020370301041303055270710716301240072003617200546720051600200106615074004708405001003059130101084030511130112108403013405051430010101563061620150177001181002002101915040120400507002002113070010502210600300650232002540242130100010225611001406126130903015276405028400720102980150401301040072010313050806053261301033130305341304090102001640121060400610313017040104613029010200163012130900304014003630141305062001630121309003036301413082006200164012106040061031301810110463015130140614006150713030581060407094050101030011011640112150400132406040701440501580101613010026200115021504003130145070010200115012120060305012032130810042300102001565070010200166150740508140591301106003011180105112507001020016150210207002620380100442070025130700105064050710023054083110400540920060305401021302105014001162130722001262130204001213130405010200150040216007004003130700105042080200615802010806201507502010200113040240020031504130305515073064050713060401108401109801600200350110251150040200140012406004003080113130615051146405015130321301634417210800186840200194060040030802013061505121610002001210222606416405021305016036130461246130150701405406004003080613061505720700302081504019106003001010130305114050127021451313070304011014150151303051670710717100080620011502130700105031040030650420400125130305661100140617130903015861508010061940401102007100501540116020011267030150105131020036501440031200515305016400262001301068010540213620054036107104540440505808003056150571000806200830020620016130700102168105013130102044050513020400126567130810084090410019304011021050111041051215013130305142702145153060021020016290102001500402162005005013130204001241307001050519098010501640507702145018804050540990013040103050806051164050540124010040090413640505401460121001521306001020014001621700501713030518700302019562013080800302113020210200135014002704503104600306505141083065058010516405071601620084050970052106306306111630216054012801051138200102001610013061213084043303054130700105170052670501713087508150920025011030100080620011300206200113070010218305013412004130401001405540506808003057301810406050198010511050902116301121040605011380105114301000621613070010502208020061330540450120053550406301710100800108703010540980104064006110630111106008080127050540134050147070012511520700302016503710172030182080620016540210909200600650380105142002501516002003501650704030790130818100010200913070010102050111507040301216304013507040200204014401151040070020200168010517405018400700202001963110204020130507001020021807006100612280401233030900130401050244050255090102001150213030537013040410001025130604016140066130120080071505870301040927001400101309046200156213070010337030204046003011080580106130120080078040508208020098070301051020802005116301121071041313020180200105014208020054015705041620025401713011840100400119630120107104211302018020010502220802005402313012460060120011100302120011040040330020020110204041307001050540047065064050746508130305912006501010401700111600301006112405013130120080014140153054016300200201780101813060401614001914020140010501540212040012122805402370301024210504002540505262302715028107042913090013040650302708005403127080013213013310002006200111502130305310406020413060401614005613012008006150740076301863010509713040011015011140602054011240501318414405015270451615051720150188301040119100080620011611006040612213030533544110401505405301050631105407507001020083010206505091541010405011184101213014040138030401143110540155070010200164011771454018130119508062001116040020212001280103130120080046402020051306010106630171081010081304020200913060101010130111215305128053013105090020065014130115605040016130163010501780305018400341930605040020130305214002410301226305023400342430605040025130305264008610301116304021060102006138010413012008005801050900200616201080720150870110025913070010501040501110023054012620150611313004144050540151006516640117201501813030519301070375204050213001010228010231306040161400246301258010261301200800271505282015029703010401301004102001163062106160070031303054130501605240162060261740184002002097030101090052005111405012412513630205014106600200540151301016133017406040101880170011931102013305402180150221303052320150242702145252901020011260402130305313020084050413020081040110601613010020015021308201040115020230405031304020060301050170301029020019340604001001040140050710302130707107313020081040130400507002002100640134014150700200512165406805407100018030650130100428100313010063047030105120500200540680540730181064050650115012370305013801041705011005405110003013016805107130108130170010015098054010401004086501637030501240503210504110410540560416640507600308054086041980110003001050154010805401130112102902006501660611027030105403115070020040054041405304064005070020054073018106405065011504012400507002003405041400270513070020200666003001071302008405082130100010298023002005102401000802005116132001220200104011501250850350810104130406400105650204002640171004406186150012005409620301030010101118901050151280101314014014402105016180020022305403405003014190812513010020010561700731105181304020060306501170021200603050131301054041500501050580207002654016807077501725001305008801001306191501101301020401140200603065011001306124013150400404130152300200640500305017640181507309130200840501040501130010101215013150400401413011540020700265011001306122002501310703040415015130102040630402006030650164012703010501313014130230110005130402105011001306121501340091020050142204053010506304074005040056183050200340502040963010406050204010405011170700121213010401100130612911020020403407020404110505700202004004062307150400408100640940602008065016311024050311009010413040410505520033061060701071001308101910064010140027061111304020060301050114002706124050330141060130204051320016654074054004650164012301033014170245130700106809200501076130105840020037065011140060070024050346505413055515061020045071302008405082800200930110400100050117050101230080170400540133001010114630115105010070065011501021700133080104800301305402105011501021405040032200220404801604070650110010302146003031303505410013051016301040071006401081070304065012401210008020033010420021056370305010640507130402020040105016401215073050137030104100640554050627045740508350494050101306040110116401122050113405073010501150220150400313014901085561845680170017540860014046501101286020053703010413070214540161014001054074050820060630913011020150611125121060400571065011304021020061320404153020501510023054064050713010020065081505409130105401030111102003706501615022030330401434010705304105016408800200650161105230540313012008004130401040055181010501516616002003501740505188219804050510101203065016370305012801051335014004405055060010306617050127680320050188010519405010130701065013010120306124050350040200546401570403040056110410540718030181030020200650160281502130700103600301004130176135203051640401740050240081301200800964050101508060540116404011230113107030406501611052305403130301030450603060054050561305051200780170018540940900304065016130300406024003200103304060400100200430515700302064001004102007130707107813070301040161301004020021004200501534050173048400105701462013070200365071301004104013012130300406031050210001043051515064004200207130100402008630191303010301060121001113050512001262030138010148030201510602865016110523054031501484030501570020010400540680107130803020813040300865016600301005012305403405044050030554016102002026501615025030013501000200100540480301590200106006305407630185409105010070065011301220084053405014640400170151301068105016170012100103033054041400100615401621050711041020408640196003080204010307030204011400200840650164012400140010540340504110554050611014007200254081301920150611070505111407020080010501617001210010303305404150801006154040162007100204071303058100130913070010501020802006111303070010501214050611315097040144050153061610300110171303051819704051915020150400402113012280102380030130244021050161010063065024040010357001413067045150620504004079014100105014012105090020065031301490108556184564001600700540765408106009040650180301210604009107065034006901054630151301061530540710200370650165080600280103130906200480170015540640507130134150081301092002540101050603065011001306121013610305014405052705005016405074020010045018570019401106704111302008405012690410013130402006030650115022015040031301490108556184568017001754083401070930410501104088002006501801301064023013400900304045080605300101016630174003765081301940110205040040114007040306501150219081231303505413010640580106300100030780120565015402617613540380104900301305703010613012001102074040020106501305402801051380120554630540540161047065016030140210063013405042002520081040161404001761213010640311051413040320040650113040217054313010204041015250106144071508301940070246110130300109150111505123020401370461440210501615021702465010357001490200195406040010010401630100421800303405020404323015205001020016180304074002065061840070100306501570052355040313040010420504004054006704650119030651213010640324014205040040540020802006501130106402506004004037030104180615540564002030405016110410540764003005481200330540924011020150611110206026501630625030011033094060501470301051701050540680160400210061713090200198801501091029020065016306250300110330406060050154047030105402015040054068040171604009170618408001019630110102003706501640502507040200535050206054801051306003010061803017107010030650164012703040501531303007020046401510502100010630571508569130110700202001161002001501240210501301050700200240503201504810156108100613010063077030108130201802001050116304021020061315014600301005015305406404017704030400811041050191507014011080540113051124013020650167003030501512305403804050514200206254056405051610120306501630540280105134050180704640300120025180301610300202006501614006007006124050346504130305513055630703054071050902006501301210604009107065035090200540465405305406350474088002006501803012108750203100630540415015507030406401710602006508640191070305065011630402102003130150601504150156003010050156405075098058801700195610600901040114021050168002002230501340500301465060105600301005610013074050810810109130709001401065101120040104011003021081010513130700104150300151516306402005765682203096003010010703010401130700102370303302040440505130300320061301600800200750120018801700191504004010405051140061004650116301060213070010360030100413060401614005613012008006210014200770301081509106003010010405003054011230101265613130600301100141307030104011504012140200531700141200145300101016150710100630830592050108010206501806028150213070010321045440302064005203063001010761301058400200370650126040213030531302008405041302008104016130901801400290801180130713200140027320011801304001301014002700202001115021305204033061841200221306040161400361301200800464015210505401662002713040300120010011501271050131306040110413045010152710505613020612021688090012405032030430010915054012004130121060407065031301041304030151301703010661010070080650740508203093150214862001263054037070012461902113012405036009804130600980558014002705630051275001100218016040080400540215403130044600301001514064050760030100501815019600301005015401040501191050123017212302703240036106060020065016170012700202006133014107002020065016170012200161311054106040060600200650161001306121503570014130156082006402105011170012404005013620501440020012156709001401611501730402706500650116121650121301630650110030250704036150400404416002006501801504012510373200546184558017001654071050900200650161001306121013610305014570015106406130410501570012106403130809030413070010520504004062574002070026501183002006121307001050390030406146176135405640162015061710702465014050246503130305480154654051301069020019713038104016100806540215054034060106306501401230204033014400501902006501230254031301064044060400603040650161100230227080054037030104270800510400601103065011001306121502040320504004044001400650501570506130104010501100130612230330404400206506154064050105016401220150330501470301020405405066030915072308205040040910064011091100010501808100270301050131006304200250151501630700110100650180110006105012040215013205014100016105018015054021064010700380104130707001254030040020020650115012207003020350807030421304032004010501150540220150613170014100103053054063017130581301913030510106040020220065016101006306502110501330400120020641305400501530300170200640350650123023110321308100469041005130402006030105011502040230700110100631307070012413013010401640124003765031301440152050400406400704030650113012702143130305413040600309010501163010202305403200710044070306401806120526540340202004065018010235014003130507010401703010260200200340400100123010501109180270301054032201604405054070105012108001102307005330303001200210501301280105131000630463015540670505171050780650167050454021001902001400313092008047010501201505502210800340205065018011002302270800540370301042708005104006011030650110013021001103034050540415010520150630107100200105011010063021150203304050413040904100105011170012404005013620501440020012156709001401611501730404105065011001302530315040040440930706501801930702802001538010460611051303810401100130240013030531504204400530400200410501630630125070405320021043020504005405061304088002001050118040125085032401040010501130124064004005013130163010464015508506240707002105011502570013305641308067513070900104013040500302570013803010704030413070140306501170030202600102003507301414053003200561307100640115012370305015138040050543030900130401050115051230032005340060020034801051903061303810401930705122015053200106604130300101910501801505402301203065034050514804013010650540505161302965015004021503305404703010515303006216405078401040150040215034020037054043013010513038104011505402130806131211054048001301050180540270301031500120054041052007065016301004280030310023054041205002005130163010501630100421200603050138010540440507002001050180150900200220108032015047011002551304050700200105011301270214313030541304060030901050163010042501415013506848030507040513040310265016503105015261530534050413020200251307090010401637030501270020010400535404130211001050164002002050127030105380104130160020010501603014027030103506848010513070130401050115012207003020350371041304086050105011505240503702145014130406405010501500402110002001005013130160020010501615024050330010704005430122001510401170023110320025421003025603010401170021001303301210546100640554017001640070246501110802012130553465041303055400200104650180401290050204032200241307013040105018050900200250900200538010413050364018010013021501036010010401804006306127050534042200105018020011000213010313054005404801001305130164001203065014012302040330144005091006501802001100027030105403800200214213010401050180110023061213010531078065011001302140070246503401440050840065016130305260030100204036401440070403065011001306121250613305425010150158013010065680107130381040180120014612253201041480370305015405130160803010501610013021501037001524130105200210660105410501200225233010440505130901308105018023002005015221000301403830104018030401223010003407054130607010510013061017250108150109120010108010111304050140121501013170028201480150900200154017001164002001017100130181011912400201807030214012240064020023604003450102415025300110261303052740502813090122001050180304012160304013640030543030321050165014105015215031014122001510401100429041004003130200610141501520700302065037107130408605010501150257001330564130230110513040210501680410501522700283709001040164002002050127030105380104130160020010501603014027030103122001510401207003020250371031304086050105011505240503702145014130406405010501623002005015221608110035021014405051309013081050162120020501270301053670301041608110056405067002001040054017408605086900130409305080605104021050163010042405050137030104406601056512006501650310501540126100640540134050413020200251307090010401650902005015402802015061354041301000130210501614001050154012130204001231304060400210501654105015401213090200193130406040010010401640020020501270301054013801041301600200105016030140270301034066010465120065011501220700302035037104130408605010501150540124050370214501413040640501050161502130101603304050413040200603010501170021001303301006405413015400400100650114004706502270301364007002006504186050513060013010010501130305220022040362002412110204051301630105018020700265280150540330408800200650113012702143130305413040600309010501640020020501270301053801041301600200105016030140270301031304101601050115012207003020350371041304086050105011505240503702145014130406405010501615023069133040504130402006030105011700250310501536153054134070105011301270367138010413010001220010501500402440200501313016002001050161502040230400402006503703010540440902810501621303010302180301340070100306501615021065060330405041304020060301050117002121003130104130803020513040300865018060154028020150340504130404880010501801304001004052130864003656440301040180306301215053201504405051304060281050130302500280103295054130105106406102705006501805027005015221307020011036564601001040161502400501270301053300320054405051010091050161200603050152130103401105413080516610710465018014050612804040070501540313010481050180160400804005402130200220313025014004630540513025065011402600301005013130403011020541501500156540630015465011301215054034050418020540530101006306501630421303053615054043020170026501190980102130250140037030104130250105014012302040320108044008204065011803012400700202006501140230204036030915044021050180140061222040012204031504205040040590141001050163703061221050536210504130350555060216630100477030404008130350591505401030408800200650160281502130305370401410908065011301270214313030541304060030901050180150204026401340070246501401215040040370301054280140050105011301240503564901305130381040164012405013130143055401001406407030640161501230508503130901806501615012305085031304060286501615022015061330101006306501306215037050450147002020015405061301630105013020501270214313030541304060030901050180208020061225380606804107030406501630100426021004003203040400501430702145015130402006030105011505402305403130405090620065016150235045013305404130100013026501804006302705054038400104810501612902005402806068031029020065011802707001250121060400703306501801700125073032601840054048060110590218613040507002001050164006302705054038400104810501612902002806068031029020065016028150220022032002413070755704016109080650166030140270301031304020060301050161308404230305320024130701304010501260402130305313020084050413020081040190261301002001503700104130700202001230213070010503208020061480105707566300100110012040215302050134050410023054054050610020050780501461863014009810501040501901670326121503311054044050700200540505406610013071302018020065085700196018200102070012113703021301305531305146184151506570017303001010870312161509301002130403013405054041505140300616619022006177030108130540020409150105700111303001010121020014140126040705013257001480105130403056130160020057150857001913011016004003011001115073027030105313070020200440505210505016230754088010930020104050117002020010122301330401141070061006115707001211402705045403600711050420084055200220613070710771306512114023054034030204130604016140056130120080066401721050540188030102004001006198010101301602121350424013550130204405764054050613018712120700240021002305403100640450685670146680200706507700681301640014165004064261006403306946190812513011020561630102071301871211502203031301420700251302006030680810077010012164012105090020035630110413015901085661845740183051940501080611001610013061220025013703304305015100950161002307106408130860121190220027030103401410100630650561700202006702450174166487001913011041015051116121150126060020050131303213044070551060285062130703001076130130020011001613091020024083006200532030430551612163004450124030205361400105015413082040556809030613060091216530214001203502141306009040517006400606200617130408200121170024600306137030104416645808077064050540710013061830194006008010600904015011210001012270800501137030101427080015801820401621050501172130810018630119400300992061545012113010226061102313090200191150257001316001043055400607066400607065075070358630109507035106184511801001301212080305010511367075010148010151306009121100130230100439003040204260613055070340020613010750701358615092050010200110405011130600309110123010210001013270800540147030101527080016130117130700105018140506119670403061201309013081400216100301030224012354024690050254166426150401278040050152880160400100080200292002530660020031200120701326150121801000802005012305370030204615053056705045017307308010868605094012110124166431501437030501205600301080568010713012008008801820409210501013050160112130810012630113400400270141305610158010800302016705017602103018130305191502013070010502110800306502270502360210302413030525305402670700122730041042824012950606130106403113086012164012600301005013130604011046130120080056401621050540172193018700302099005010130700105011208020061128061030133030700105014208020061154050161305012001140250370303130700105041405061567040306161309013081400720130408060410508801091301200800101401150370301213040400100105013201308031200120400122150730501531301020440212002053010422006161101400576301040070020200816306913013021216652501230416643603010401504507040513070246150571612117002702008003703010542130703001051309018050140061303101418010013021501031822400482513060010200670507700202008200210984001010400612004001121308312120046512703010380980100440608152130606100661301705011001630100428040050136030104015046130100105015703010620200601057360418500409150121100130220023110008020043010565263010740302018301910502100010103018411405012270410131502014150400151306512180606002005012305313020010844003200105214020056200600110781050081901216130300101910502203032501104610006190161600200105024010020050105038010413019080141570012709165013801405050416514060206210001020078601216150230537050450143073080105686050640121617002020027024501311062417005501410620025715010840605010913030010915010250902116707001211200208002220033020357001440100040060305212004663002001216652501230531530546405003054054070540620084057405018670020200109301630101013013021216600700221042038001000500148018002002525663017400850500815019634501510901220011150704012130702413150514161216170020200270214501312200151040461608110056107010062616301071301104108613012901200115012160030905015403260013090547002020010513041200161505402705045013304050413040909801050513016001012001617002020021604017010303613010607046700151302080306620307405081301600101200157001270020200361504303040400100105053086050640121350140027045034080400854305405130126121404002010105028010513104706504801051528012055620500102005763002001216705045402100190200140031309200804140020012157001240134006704650430106405130860121150257001330200710050144015305640507508014157001261503303091100010504303002005401213550402109030650513802106041304051415700128030107006100653840104046100060110016160020024050330020305417613157001280633401004008404407020405301640200821725408150540990130610130501200110013061223031504004043015402008216220407150400408100440400406593050110802106011130100200120011001306122002501340504100440530501657001780745870700121980070801108010111305012001610013061240133050143015502001062003130172050185070454094050101301300200120011400600700501540260600200101314047110004005705054061301290120011502700302033081004400600190405153061305012001100302150401315014405070020056401640507130581301913030510130618411130100512001200221306040161400361301200800464015210505401613070710771301000801200110030256350214709001040115040040270505340702008006501401220150330104405057030406213040301713017030108170091060040090406501150210681031301041301515040161501750700102008402105011700210013032002204303040301102055150106600130100723002001840509910501801700126061040053650806004004801055405062006810780100706183059601341050180603421304030110205320305404134070650113012123010603160400202200462015054050613020180200105011001302101312301060440154050702061507400603483040196003010040010210410111604002022004001214013205040014405015130701301050110013021501360010200440505560030100400501064050750120086600301004005940501091050110013028016002003340505148015020520031040161502703010203307050400104130105106406130410501100130220023801509002005010413010510640610270500650110013028015020340504130405090020010501130102106403130610040041304070306401100130280270740020330110006105054041340701050113012702142034050540413040600309010501100130280130810036130810041100630130140301502355040340502046404050540027020640505407134070105011003024013160130204047030105540506132007640181501940501013040400203080105011502563130147002020053030701304010501630400703040502502153270448105012604021303053130200840504130200810401400507103021302040012340504130305513070710761308201040115012150730501313010204130204001252130810068017024713030584060030901930510130410501130123030531304105041306001309056130700105061400600700617405084650591630101101040111507024540121301133010100200265011413010151303051673080101715018130305191082040202105054021801022401235402480105251060040030806502615027130305283012910541030405031563220170023320801200130621200143130305415051040060070066304173019098010840401910600301001040111103001101260281505135614130305151306184161301005120016003010021306040161400361301200800421308100510206200613030103077030108130505120096102062001013050512001170301012130301030136606002001413030040601561301004020016203017103200101830133019406040102013012156221307071072313010008012001600301002040240503508060461845550040637030740505187635196150730103020401140501213015070140135004015010514176131510600301002040168010172965018140514002040196003010012040502127042260030100238010249003040140025500301500267003020402713030528200220402930530130403020313013213053313013456358015010364009020080650115024002080200613801504130305510005010670502040763018102008001093070214510130208020011615012400300202006113102008005143020401563011640072001761720051867200191600200102050040211301022200220402340200370204024801050210204025240126205040040274007040306502815052970301040302700140031130904620016170012406031301506015048002005470162002574050102181301059500401017001116006305125070405134050514506010154011620150171047061813010519405020100230216370302230305231504141243010800302570502660210305271003028400404007029220802002030100301030131150203240503319081234130501200114050256310015040041501105130301030660134176100110401810870020091301600200510610200361120084051220025131003014530151060400610161307001050171070304065018613070010501930120107030406502115040122104007002020023163062413013021211003021013702144130700105051405061614001006172002204083030700105091860506110801011570051213045010113860505146120080015130305166160705171504011810680101913090122006502013200540212100010200228601211003021501031402004004150517024613030574060030901830591304105016140200400230150312065041630513040603040105011003021501031600180415057090104006200210770700128106409709001040110030213030531702444060030901530564105010180170246124013300104004044050546505610030715081306001602001050913070010501060060200611115080605401261530105401310640141301001014051513011670030201756181306006020015019130402105013054024050380610054049003030540506130501200764050840084005409900303010700302011106006801213030513251470214515101167021417801400100650161307001050213400502613130911000640041505107024651661501261713010813030593054010130230020010118023002001270214113070010502106040040706503130100630480104002706505186050561630102071307001050854154091303051061630102011540121630613130130212118040502810037030105420304055130707001261801504007400501007008405098010101305012001302050213070010503140010061420025405305406100020080740508806100519100020080104025010511400320010124050134008400511413015051200156704161303051730118106003080191303052013040107014113040240020031504130305515073064050713060401108401109806030205101050121070118010121301200800135004014106002003152516720070117406004003080118130615051950040201051032180400200152240908020012350040241037030525891401261502780102870030202930700202001030301630103113013021211804050230020083130305490420055303016030140680567703010850620094050102002511806103012303010016010513100306254014405015700202001613030517163010201880101980030130204021050113030525073031860504130841050052040012164040030012517405001501084001003007020094050510330641113070010501210600300650132002540145004015400301050163306454017610030625401813010197002020020130305217003020225410231303052410541025252640502710300110286405029108003030301303053180401323053340503451411804050210400100103263554606105130707001261064071301001014058610010309303090013040105010700610061114011220504004013400206026501207002213070010503405041002305405801400154061307070012740508810500930110103007020065018017001100540213030531306007104801051308101561304501017630707001281301600200591202200103061120150611210703040650163010042800200250133030501604801055700161301002001507405082030940500301030703054011104007002020065011002001501270200210131000102004700105706363070305407104001006501800200221303053405003014200330158010563002002011074040030012060650862003301960304011030200330115301210604006101501340500301141308404153030516230171205002005401830119107030406501150202401040036150540440104006501500402150204031064041301001014055705046200220407400600400904065018040502190030403404050420700257030106130305762070028213090410091700103110511130106012801013355040144050061015303020180200105016130700102311032130904100469041005256163010207540813040400100650130540240131030011065047050452002540670030207371108130408605010501301020802002130305370505404160615130700106704030617610371054081320054092186050101307001011201506112107040306501130106021303053220180470245561060068065020621307001050740508465059640501010800303011130305128040113305144050155141640502105431303054804015305640507408003081301060913030510270710711700101215040010014016301050260130400540340504600301005130604016140066130120080073010100630508130305910030101802001104004011401124004706501340501446501513030516150171200145010181303051928002002053021550222013008014002380020052416251200145010262200840527530285502940406020140030200840400531100303286021033130305347030105351040062030361304040062030650110030210131006404170403061570301064020150400204071501087014030980606801040070304065014050210140010537070012410600710556108306703010577070012840100104011501215073050137030102041302040012530305016062130810078040508154004109803050806051064050118003012801504011310800301470301051156401161504001770301054018262010301130305210400680103130150806048105054064005166130400107304084004040098010104050140511180104060201213040010131008001014703010511513040640016610200603017130160020010181301019133020406040102115022801023700302024301101400253010064026104008020200650114021400600700613405044650513030563008070110710030816306920150611030111104030206501230010101136301141070100306501100302303053130300801705434010701530564030207130604016140086130120080095004010130105114002003706501617001270020200313030546845513004017400610030627130700105083019106405065010213016002005116170011270020200131307001050144050154650516170011754018106040023002006501100302130305403801920041306040161400561301200800670130407130100010286130300514591504001040082040112105012702142013801014401152015061168010517106004003080650163062150330307001050490030406154016801071301200800834010701964050030510407051130180400461122513405014606101513070700121610640171301001014051862411930540204050211303052240123304024102065061251084006026501624123054036010101400440152060261668110072540840192015061102511106040057106501801700124060313015060150480020054701501650040717001860063050159507040510405011110013012150401131640010400514703010157030401623017510188040050519630205020120500200540213012210703040650110042100130513130700105044050510023054068040171100050108705054094011020150611110206026501801901254026010101400340142060261561307001050690030406174050856301109601090102540106010101400114011220602611364011454015240703710501163040210703040613150413030551026096130200710073040508103001109610100420010150118010127003020133011014001430100640151064050650110030210137021410413070010505160200806167030107150806054083019400100509611040501120084051213030513150141303051510100080200161307005062173401070118150519562013010008062002113020081040161501026121301032002204046160304061530564050710023081509101400102040101307070012115004012301134005090200650161400270612186050340141507305130102040640507200220408405091002301015011101400102040121307070012132100040051461504004015301164003007020065011502400100630350806041015860200400167030107401880200940098010103502111303051261501320504001430405015130601600200105011624001006303306415051303056541501073020504008405091304040010010501162400100630381050440020010513070700126306715083010920200510801206501140501213040860501050123010210043311040020411014001058020700240062517616040020220040086205040094050101302018020010501610640213010010140534002001041307001050520700261670301071303058636554094060645101301060118010123550401340500610143030404002022001050161050310213030531307001050414001006152408017400540630171040605408130606109630110540111087506501130305260013010032030430010105656670301072030830010109620103013052401001301043130604016140046130120080056130700105062080200617211014008130305916301020105401113060016020065011003021801000102003130305440014020065010517024611051713031530650163010042168103130102046130105130700105064050710023020830105091300200204001030108295011704030201263040020650501340501413060016020010501230213030538017024462050540506130300120200105016401210042006131303054810051004200566130120080073401070181002800400591064010130100101405116130604016140012409610140013210401050514602815051564007013010167040117103002002065016508060028010313090620048090701005405068010713060401614008640509801010130120080011130112405013300110141303051550040165080600178010518160020010198017001205402110010140221050900200650161300200100400213012008003250620042002515668007061302040012763101082130502101050961303005411010610080010112105054012213081001365401430115109003040650166801040022030350806044015704030400665671703040824019108070306501660101002130700105032080200614130105355040674020017840010817001931106511080400840011126125112610013013305401460075040051151304016101400204017200603018405020401910400306502070301020402111014002220022040236105070020065020402430100110251064020402657001271001306128230102963020503081004003120304053213070700123370301034130201802001050110010302146003061312612435504056001304105068010517802106084050061091304040020220010501660101002130700105031400100614200254051301061303505774020018840010917001103110651116804008400121261251136100130143054015600750400511660301401770301020401892400401980146003065120600130410501610013061213084043303054130700105904100501667045761620050050181301200800950400261104050111303505128105001350300110148050704015132001613070140301050164002001021304030110205381801050440505863061307020030071060286508284049200254010610080010112105054012213081001361001030141308404153030516200217130701304010501260402130305313020084050413020081040184014005071030213020400123405041303055130707107613070301040110001802002130700502361001230413040062530041046130701001277001081309630930110130511130112561313010514130409010200140121031430380104110140051303056130171307001050820802006198030110101000200200201140010030254012801013130230141207002400210023054031006404506856130187126405072704540865404009203010140511220060630540123010160070065136314306114213021930153010488006116251713081001880160070040054019802010802020150217010012162070030202810040032030404004200220570301061307001050720802006181505409190812101305012001130700105021084030650313070200300464050586305610602865072840482002540961064050650102511610604001000802006501230307001050131405061142002501156607040016203017300101018200840519670304012080110008020021303070010502240012612361400270612460210302025610054026707001227130381040120025012614600305403350140047045051304001066704400540764050890308940501012110540116176135401267002001014005401315020141504001513070710716130820104016100540213060101014003640504400100513060101014006106401070078010048200840400596700302010561113080671213070900104011502130700105032080200614105014650530401004006130305712022008405094010040020401015080602040111700124004706501313010141301104015015804002080200650110013061220025013140400501415005040010505618101040050161500504001050780170400200805018270050625019805301013010116002006312405013602103017003020402215053170014470105130305668457208020040040861509103002002010251140064050611280130820401330305141307030101513020210200156213070010310200102040411014005561050730630204074050813060401109200710011064011110400700202001213011340501410501021801470612130305340600309010504305513041050663067202005813020180200650120080107021304200314003700641307020030051030100106130200687405081402005970301010405011103001101240501370214514301050700200151064016130400301100110640254032120076504301510600801067030107130305840505409300101010304050111304030201213010640133030514130618415130100512001130106402400371032030450806052401620602400730189003040913010640101501113030512602001070131308601216150700200540210640313017805417005130100306263041071308501320082019004010509401103030900130401050114050128401040136301143008010701510917011070304026001105053130170105046401540060080106130904620016130305210100800103213081004613070010505104706506405074650583019101008006501023001010111501213030513561413060401070151302901020011630402106010200613801041301200800580105090020061620108072015087011002591307001050102015061114050121002305401320150611454015130041640505401710065186150012001198010201301200800218016007005402213030523270050625402464012520150263054027405028130305294050306110017003020221505403201504004400140010540520060305406213021050140078020802006188016007005409130305101505111006101230041041313070100121630100421200603050134066010421101400501566030915064021050113010280200706503651401504610012006505801001306166018200720700121803040123110540321308100440505705045016100130617110040030618125011091307001050101405061114070512616040081061135060110540146401152010416130201802001050171301188010198003013016100130280200706503700200650104110040030540660106630104707200258150109160018010150111024301241050204013161415015109005200168010171301200800181308060141610013024066010315010470700400522002106620022040740508203094040020220010301111064050122106401313086012161001302200330340640504405051306802007065071020400408110401505914001004003065010200330111150121010063013200210141303051561004163110204017213021050140018405019200220402061502110202220170021238070301052420700252561502610202790141001281090220402927080030130700103110704204032150331303053430135105410364050375638406020080392070012110121006403302040413040302051301064069001520010507801081301200800980405010105090200501114050122160131303051415015311050116100130178020070650184011912001020402013012140122120010236401241541020402513012660210302713020030014161001302130700103140504101510064061501071600180870301020409405003010106401113018712140500302412310064045068567014665004064761307001050840509270454010640111130305121020010413900304011430307021416101210064031501041600180570301020406106407130400501411064024006306503404220010504401530204064050713030584050970190401064050111080030301213030513804011430515405016514163010042311020403106608044050510023062130210501400780401873040040980101030020114040112311020401325148400101517001165302017100304004018305019102705002013030521405022270452320060630124207003020251080030261303052740502856294060200803040200400121130700105021031430650380104110140051303056210001020076030915081400154092022001040100400111705041213030513670504141307001050151405061162070030201710927018130305197030102020302110030222404002022002332120016100130280200706503101451401505125063010790200818307030109123010001013016021211602122130604016140038019307041301051305640660107615010830190050592017002110620700302011710501230802007065013606101470403051569041670501713060210301864011920104208020070650211301228010234002121610013021307001031405041015100640614002706507154204086021030913020030014110121006403150401457005513081015613045010174040017086150913016002005105101141200121301002001200140502704030360101054803015103710613017405003051864050970403010901308111405012700202001316141505001015656164064050178016301020181046003065019130350520102007100650218010512221000102002386012161012100640340143010514706204061301071305031586400470650501091301010130501200140047065050102301208020032130305461300200205256401730106083010925107030401161501121470620401313010141307071071513010008012001301232004031504014400470650501051301056301060730584706598010101304501011163011280101313016002005146150154020045011613010171303051861501913040602008010502054021190812221305012001806040070020200650240131100630430204056180680061402001071301081303059150101303051129010200122130702141806100152130305360101014004401540202006166811007213088020070650960610101307070012113050120021070200800650370301051410004615670300101661064074001006408130601705914600306110130118020070650121300413130707001216170021040081365038010413050120058010100630613080070801107303070010508160400202200619150110205011130204012400270113805301415040040154010005065016705011750901021184050191305012001100130213070010503160400202200614150152030680105171508130305910041082040112105012130702141610013021307001050380104130501200530600750563550407147061820022040910600808010705011110640112405013130707001211001306121630403400204400140010204052006030204062130210501400710013061823010910013061108014706111640112470110131302018020010501413011580101680030130115012305050902003200603050146130700105051405061680107130810158130450101961064010101006401113013005141106402301310508070413090013040105054070700200400540663054071303070505863054096061010130412001630100421400105013406601041305410561620050050162501071602001101030813020400121541026700202001033016301041301302121801902200215036704413030558100661604001000802007307005022086602892840410200220112130703001012613012201200115021307001050310314306504801051101400613030572100010200860309150914001540101501180101290462005401313011420220015401165401722130100010518801604007070019213030520150521562213060401070231302901020013060030100213060401614003613012008004120220054050660030100713050160863020509120500200101305016011301121070304065016401210604006103130170401046130290102005613070010506140506176704030618130901308140096301101304060101011100301030112401134004007002020065011502130601705330140010543015200102680105176302050812050020091305016010301111064050650161001302200220403147065010416040032530204061507130700105081060400202200650970501070214400101160104600306501235504013416002001050113030521307001033703043020405130301030630400602050617801058613050512009402902001101501113030512307006138080030147030101513050160166302050171205002001813050160193012010300202006501700302040213030532002204046001301005203063001010730181305913011056118015010124006802065012070030202106802031307001050420150615211014006130305710384650113030521307001033703043020405130120080061002001200176130604011082501109690620020401080186050119062002040126200710020401340501413091021400157003020401613030517200220401880400212002019130305202002211307013040105015621308103301413055130165678014706584060030901050930510130410501113084041230305132002141307013040105011003021501035051040041505170246130700105074004706508405094650101303051130401123110501013130210501400144050152002101661402004001715018160304019302002201307013040105015621307001036003010020404405054002001265004074050850980595004010405011703010051250040131060020032040149803011550040163040023010006117130042040185004019304002065061203001066001216405020402240502310400680102440502510023026630400230100061271330128406040102963070302040304007010030650156213070010310810104610401040058017001610080010714020018801504019101006301030511205012801020650113040240020031301041307001050510314306506801071101400813030591501010109020080650113070010502207002613213020400124624015120060305016257200603050188060680910703040650117002130110003013038010417050110054056130603016030610608265018010213084010403500404801051305012006106032006501500402100103033054041105054016205040040740030020020650140502465031303054100130615800306167050172308304095020501050470611405012100230133001010114207003020151080030161303051713020180200105017003020402240132050400404400802008650580106130120080072100010200813081009624011020504004011400402008650114600306121261233550404600130410505801051680210607405006108130404002022001050180190220021503670441303055810068014017502001050208270800913070010105070454011161250400680105020138013010501141020037065016301004212006030501320060301440505100230206405054074050810090905019703010201064050540114050123040135010090901470301020156401162015017302006063018150191014001020211052113012221700502313030524801700125311026140200271303052810080010292130810030660060200315501302032130402930650113030521307001033703043020405130150701406304002002026174050518640505194001203065016302040280105134050180704630400230100061570301051681357801089046200204096703010511067030101113080302012400840306501610200102040211014005380110411014005130305640050202006501180304021060102006138010413012008005801050900200616201080720150870110025913070010501040501110023054012201506113120500200144050540156130041610065176150012001188010191301200800208040121110005010227050540234012420150612510206026501803040123110400540320060305404213021050140058020086162401770504540840509130703040106811001125401240113201506114251510604005710650180304012200161321605014100130615140501621303057684586208020050192401102050111251240300200201050180304021020310508070540411040150540530401620016172160501860504009130305101304001011100412600304001380101470214515660060200165501302017130201802006501260402130305313020084050413020081040184014005071030240503130200840504130200810401204001228090304003110140054100200150157020021016301006407107030406501230010200126507001020013801702008004120500200540580540630171060407065016100130612100306250138010412050554040164004706501713010586801091700150501106100200116405012210505011362105020148312158017040301615050117701403065011003021504013150142300200540500302040610681071301081504019130520401013051161841280160400100104061131301051461604001000802006515661030163030403002002010501130700105023013106400650413072015565406213016002005754082018020065011502130700105031405061467040306151309013081400630540713200810001020094040506501100302110502040330400208020065042130700105600301006130120080078010810640105096400370306501030511150414112700302013200214130701304010501637030280105132006160104405058061005166212002078010518610042009801051101100614005111801012120027051311014014606110153030601103010501500402160400610313010413060401105651064600150780100130830519630301200800101104001011196701121613202005114100130400115140010501169110701050180100800155026027036040161400480105106401050661681078010820309604011010140200511167105011213060401101313045010114240901210815688090011670030201740010041020018130707107191307030104018015021702008006138010030415070020040020405901701005640500307901701005870149650040641170023110400540313020060304405052105061104105407640508600308054091301104007024611113011213030513100130611430615300110162002501173015073018403011020519801501202401211200603040040222523201802006501801401270143801604002022006148010513012008006210001020071308100861001306194050101300411405011210065131630401410200611515016130305171307001018600301005401956201300421405054022100652362015061242110140050125103846501801200603050127030105403200108149020090200158010611014075086014008305070010100540970700121013060071011801012130810151313045010114630707001215130160020051616007101765401830119105090200650161401250040643805410501540480160400826151307040106703010713054108801600700400540990170100510130707001211130565012240113201506114102060265016503105012130700105031405061462015061510400100650161064021083002003170411041303055130106130501200780540810677065018400102170013401431106515300546703010540760407054086129012005409633064540102401112015061121070403065016100130612303306454033040430054400405703010501610013061715091005018130305913070010101509100112030123001010136561460030100204015163016402005176130105184002003706501640122050400403400604004002006504150510300546703010204076040702040863019129012002040106301113306420401263020501390050504004014150151303051630117107030401820500102001194040120400704030650167003020402900502040313070010490050504004052200220406120041204078019028400408405091306001602001050180150210902200613801305012004405006105305406615071060400704002618804019540104050111304070400210501610010800501230540310020050110480710506153054064017210508110410540964011060030805401168100127030105401313010063014801015140401610041760030400184050191002305402040502113035022613015060231505402420150612560016020010501610013021307001050320802006143015400604070616305700171301002001508613010006198010510307030204011400100030265018030507001010050213070010503208020061470700121530041041663050371050540716061813070010920150611010704030650170030202371103170411041303055130501200630540780105184120091306003041037110112401122015061132110140050114103846501610013021307001050320802006142002501512005016130307001050718003015018405091303501061301506011503703054011240084001311004140501143010206501154050161301608030105011502130700105031001306142002501513030565004071604001001406184004005073097030105401013040301102051113011240060018061136301144008750611561230020061162130350517130400101820504004019400670465015085021630101620403801041308101551304501016680107130160020058630204098010511040111400300400510121508060204013630204014801051154011640047065015073012405031000806200420081040164050218605031006301440405054701613010713030586704030990130811061001301115050101240501313040603040105016301240060400610313086050546301513060101056148070721304001085109186050108017001111307001012210502013621050514704165152015051663010178401040164012103010015131301413070010505902200616640171030100151813019700610890011709001040161401210507100050203405041303001091505507100068016040070700721303058150595610130604010701113070301040164050211014005313030103046130505120056130300406066130100402007301840060346193030300406010630111303010040200126160346113303051413070010156003010055016150172050400401811015194007024650180150216040020220061380130700105047050452002206106028650730582130301030961305051200106540113011210601406501640502110140053150204400200105130120080066001300705780170018150730501970301051101304011011154007400126200240013150141307001015181015116304081010171304064001018150519703010202030213001010221004102001150213070010503103084650480105110140050163017106008065087030105019180405010103010010118010121305012001360010200141401540501610140010171405011810640191301001014052017040306121401223001040040231505242401254007040306502629010200115021307001050320802006142130700202005304016311054076150583020400129707107130121014001053130219304405052105061041057630184050960030805104005071030114050128201040138401041401210100130330204130154016100471001030830302006030940501010023020111501220022013307006144010008020051567006167010012171301040163062370305015310020015014170340101530100130616306301780903040081101400591170340101067020021011100301256133030700105014140506115541016630080110176130700105018301191064050650208010211700150540226100200236562470301054025704010261630102027105014650284050294020150302701041630100421400105013406601041302040012580160040030806801057630630182030405960210040010405011200220123010080010132105054014615054015308010163002017405051840200102140502704030390130814803050806055640506160110780703010518640192002201029003014011303070210411301052102004370304041306017055640164006002003740508500402001400940501012040140511164011240084030134050141505001015630116400800701713011827030405196106402010501410540211105022300200201101023100130612417005012025401264050127405028300510416800302705054034014201506151047065064050710023086900506194011030540114050124081090130121060140313015060150440505470110613060010200761508406059130300200108010106601110050691630105021700100501532008405440501540506270478002001108406040059301010063050105700111301012640113190050141306017051510011040516630105017200370400181301019200210201502130102270504523303086050102480305050210502513070010502620802006127240128704030612963050700101005054030405031707001232100030109001617001215070405013703010413015060150517020080066501107231502586170019406051013030020011807006124701101370200108001100302120011040040315042015054050670504713030585004092080200400401025114050121800301340405014561580101630010011001727010416050200105402110140050138010413018011005680106150806054078400108104002105093054010150511130810012163040131020801422002201515051670301017203018300101019300510411301215054038010440200105540506301001107200254081301915051022030113001010124081091260402130305313020084050413020081040184017060100120700302021068103130102046130105130700105064050710023020813030591307071071013082010401305240138010413060401614005640168010713012008008656913070301010130709001040140020142130604016140031040080920050440505806100550661304030110205710602865082840492002540106106040010008020065011304050128010131301200800141301151501613030517561813010008062001913020081040161307001050214006007006134050446505516301011061303057880109008703010540964011015040011703010540122620103016207003020216810501313010204100200150157020021016304005070020071408130100200109640501086305111640050700200121064013130340701430115200102168010517802001010018801019130350520680200101002180102213060701020016306230011031303054303703054051405661845763020508104600309405010103001101180101220084040051361309001304065014401153054016405017630101863011950901020011402140060070061340504465055163010110680130305756813063010965610108101011130406400101265613703010142030153001010161004102001640121600400308040040380105440505300101068082040571301081303059700302040101303051120021012703010513400620304001461301051515010218019200213060401614003613012008004370305302040640507150806020408176131964050101301507014011176131121070020062040138010514301060152040500305163001010176561813060401070191302901020013052401001301043130604016140046130120080051026096130200710073040508103001109610100420010150511220301230010101370301040130020070230204034050413041050540166901072585068196130700101016810501111301020126401136901050114251512200151040166406601017670106010181501911001040612013041050216301224004008020010061238010524202200257030102613040300200201050274012840047065402913010530130305311034002103213010533405034103001103561054103613010537405038105010216401240080200100613130144050527046401731105408130703040921000101102105054011630630112203040513602100400144050152002201613010171330184060401019301008001020210505402161502213070010502316200500612413020400122540502627045402730801028300202940505304020010218030700302028014703616040010040420401514020040066301740040027081561105409610030101405040011240112150730131303051440501520400121661402004001730170430182105020401913030520200250121620022040223050123170401305012463020402517040130204026301278352821050501296210502040301303053110340703221050501336130105341304090102001613070010502108136503801041303055405062704740181604003102930510834005401141880051270504132002540146703010540151000800216630540177070012183004104113030521307001031507304130204001252130810066130401071507640181042001020930703010130601705111002001021106040070330225131307001050430151064050650625176130700105081405061940300801006501040505111610703040650121505113130810014130115150161307001050171040120065018801019130601705203080102180030130222701041130305230910803270214541020071005405061030011076568130100610913070710714050220150310200104482005005130160020056507473058801098200500510640501120150121020010413820050014130450101155064005164050511764011830519801020130160020052140502250901021140230540330020020110430020070615305406405071304105084019304010101700501125121303051363063011420304051513080903016301008001017210505401861501913090013040105020305402170700122213010401400200102130900130401050340300801001050440401520602616656761100708254096130700105010140506111670403061121309013081400138010142006800140015130350140016305401740118103001106501970504202002540217003020225623130808003024130202102001700302021307001031023002004130305570214561307001050714050618670403061913090130814001010030113011216013020401370301051413200115130116130406451780101813010020021019640502010100400200802186050522507423305248010512586050126150271303052810008062002930020620011402101006306503180400200104703010513030562070021780150810300191303051010600400401170301012100302201361040814130305151302193016610810017130810018220304014005191505207030104021270014002213090462001656213070010310100230413040062557050670214576107080687050913060101014001061070304011401124008070306501610604003102213070010503140506146704030615130901308140066107104540740508808003059613020180200650103054011707001212300410416306226093130305413020071005307021456302100061780108130120080096302050101050730112100420012401131030011014150515270214516600210200172901020016562130700103105073041301000105005405062704740181005096196105030020010200840400511656121306301013130840104164050211014005360030100413060401614005613012008006640172500880105401940501041251165612703010133407054014170011510300110161004102001640121901220403405044090102558024016206024007110410204086107080697050102050010200164012150400403240703710504801051301200800664017302040840509465010130305114050126301013630114509010200164050211014005313036120048010513028200620130170301401150210300131060205041302001085801090030305062006120477030108900520059150108010117003020123011014001330203014902120015300206200116210621005503240142060261561070806705072050010200161070304021307001050310314306504801051101400501640173054084050940810901804012164001040040340504300101058040400170613081015713045010186401970504101303051160010200126121001013303070010501414050611567030101620025401710400620306501613070010502103400502650320211020041301500405613080618300661700174018100080026195401010100080200650161307001050216040031261330200254046110014061513090301566140200540730062001082105054096404011020071005015401110508010065016130700105021700131901254041302100010554061050400902006501637110260101053601010544050030515804050670801761903088801320059703010101303051115051230113108214130900130401050163040502150400902003270449003040558016301020640177030105408405096021030115040121306021030370301041307001050510900304065061305016076102100065088010913012008001021000102001113081001216301020133054014707001215130104016304050290220036100080200415057003020630405077074081301406200164050210800303031303054804015305640507630108405092704510640020010111309001304010501230401132001611413070700121510100630650165301713010184020041940502060210301640020015402107020080065037030105146001300701050540506130700307105090020065084050992008010600801011610013012130700105013140506114150151306001602001050161307001050176006020061181508060540196153010540201064021130100101405221301231502413090013040105025801026707001227401001040164012201503305404405051630101106105090200650540740508465091303051064050111080030301213030513804011430515405016602103011604003102612302002204034050410023051506101400107106408301940200410305114050121303051340114302040154050164030311710640107001864011930204020405021502010200180150217020080061380401412006030501205703010540688010900171508703010209130110130230110001161501121700113170010050114130150601501540501162008405178020081825119615020400902540216010105222401231004404002411041054025801502613015060150272080620013030524030203130604016140046130120080051060030100640171030011081052930405010103001101115015001126105213304050141030011015130700206200116210763540370020200150146150150015610370306405071030011087010010401915051070301040111004102001640122015033023002004150510203040561303057130186810191610405011620011012831213161410200603015200606301168010681017217005051840119103001102015052170301022820104016207003020216810501313010204200681540506140200501740182050400940042001010401111302040012126301131301104015014630205015370305015165062001175054101825194050205030011021405022702145012361502024304005410251301026902001927406040010010401902001921303053130700104305540168010713060401614008640198010101301200800111301121301013130305144009010200151301406200126040213030531302008405041302008104018401613020400122130402105011501237030501531002001501470200210153070302040640070100306501615052801031404130204001253041050163070301078201040118050800200227050204031307002020049080815150620504004071006401840602008010501620402120060305013405045021058010613016301050164012101400105403405045021051301620150617258106040057106501801530205012130043405054042930015640800106405003071301630105016301050260130400540340504600301005130604016140066130120080073010100630508600301005509130707107101307030104011307001023703033020404130120080054054166370307302040880105196023011030703020401140054004650161307001025073034050413060401105401106210042007801503002005018259230451040104001112070030201240060020036501613070010260030100313017613420305156370306302040740508130803020961301507014010401114002002026501304006040066127030103900562005450040540070020200616507040572002204081700191604006104004010703010511640010063061126028150131307001014606002001530501165700117640118205011930520401002005010501615012130103200250143040501003026501637030612305340504702145537101615071301506015083020806200940210501140214006007003404014106003010052501400661908012040721302501050161700122300200318454042401580020026303020084050740500301890030963551040606411165612209001040116405021050300138010413083010556566801071306009014081000102009402105016370306121304030110205313070010504540570214613020084050715015001813005461960030100540106040020400211300514400540126106013065016100130612306330011041302008405054016702450154074018305409270030201040501170304012150135401413011510600200906501140214001050154032040012144050510023056805407258406040040602065012302100130613150146345015121105016703010714058615019703010101500120054011405400465016207003020240131200603050144050510023020680107100200105840509507001020010130111100130124040020080651131501146345011512110501167030101714051861501197030102015001200540214010040046501100130216306331040020404215410540401663440040770301058121102040910013061101501112401121200603040040132514201802006501801504001004050124050540380150900200420108052015067011002571304020700210501617002100130312200151040430121055610064056150501072200110840401940070246501130121307001038092005010480150556010541050163703051220304053211001054801057010025630703054071020037065012302404007040035630110461211054058400106311054071308100862006063094021050163040123110540313081004100130615570016608200761501825920180200650161001306123063013507304570015130100200150670301072003308405091301002001040010501070900104011540210100604065032008404004200220550850610060405017210505408407010300400540980101013081015111304501011262008070501132708005401480610015270800164200314001730104006007001827080054019270800120606002001012162008404002220022023600102002440401251034070650163063012150310206504130501605140566184573037030501830405091020802001021302008405011302106400540126010080113405014808005156407012003167030105117109005200650163021064005402126121366020020014703010515104002010650167600200801261503203047003020530401640400170713081015813045010196130160020051070504112002201230304040010010501640502107030037050470020200513020084050650100108007305830010915019805610305111002001050161505402301090465054037050413060210305610860265061505407405400465018400102170013311050141001305101630104007210501086210502092704101304030020010010501180210601213010020010501630502105080702040313010640417005900304040040615020407801081307070012940300400200206501180150400240060407031309040416540054106130704010764050820150980101080030130114021050180140125070052503220480150154050540640504001004065011625020010502031307001046704501540580150167030105407401004004200650180160400406020221307001031681041301020515020670301079020019840604001001040161505230700202003302046301006402056606806400601306501616013024050312006030501440505100230206405072006030501813703050194050104650111302008405012130551310702465016301004212006030501340660104211014005015130106802007065076403010588010013091501010200606301120021213070130401050180304012311054032110140050141700155406405051710800820650164012502001054034050411055130165107120220084050916004005110616007005015401121307070012123070305401310200370650161001306121013110541306018200514706305017200220824019705410705042011150501123040540046501803040122030080501370505404130707001251700165407105020500650165014102802007065038010410064055100130610171006408130106093010104030201140902001265700513130150512001440032001015405016400840010171803011840029020065011402150136001020044050557001613070010756840510509630110102014111021050180306301213010010370301054160620055405067005271683110940705101304030110205114010040020050105018016040060080210064053801917065415054052015061610064017801601001050180304012160806501315040010040501440505405801100020010050154061340701050180370305015402603080136405003014303016002001050163040128002002312504402001040540500301617001710064020840505910904650161001306121130540050136001020041405566401780020026583020913011034301112301254013100640146009040650115025631301470245150704050167030105763703050158405003019302501010160200110103016306250300110330370305014405020405403011020568010713012008008106003080650161505230703040330306017054803015400404002005062517614002706508570019902001910406040010010401630121090450204031303001091504150553020406704674021050163040123110370106010421302105014005100130610047310400204082130820405963012105010302040112708001213070010134006004003080650148010515801400100611613030517619107065011502130305356420021056200220406801702465757001890200199406040010010401801600400308021301871234050421050540580610306303070010507900304061840509707001210106401113010401530210509002006503130141306017055150640014001054072100040058654093011010300702006501130160030110210640107003270800540430270800570466130171304040010010501101270214330146006805703010204061301064076301815040040940087506501130700105021405061321101400501462015061540603040105011460030612130350531504004046176132040540082200650110918027030105403290818044050570052661206127680105184019400300400510510130150806011640030700121301701050136150400401480105115600130465016400302021303505313040010416200500400406515240162050400407400704030650130204028010513801205542050010200554050516400120306501150213040320040105038010470700125355040660013046501301210804002003705054046540580105640230606501640129003040501540363020504201506155406130900130401050165014612101340130204301010080057030105016200220710013081502040940120500650130100423105012040321308100463020505120500200204063030810072012005650114021220040613140200148015015402200406501140210860265031501430155060407066020054076503615408230109620060305011030410540111020400265011003021503201504303020084050563046801501716308130701241050160281502200231306040161400461301200800520026130702003007704018109080650180700200540210600680061361030702614840010510301100616106405407130700108106704650165621307001038010413060401105130566801071301200800813059656101308201040111307030104016400212002021307001033054403020513060401614006613012008007640182105054019670504510703040111306017051261301051340020037065016301210403020313070010504104706505405064650571303008017058130194050103005411213081001265401310703040650163010502601304005403405046003010054053010100630506130305780150108106802065016100103052101320024150556301106100640730181064050650180190808270505403610030460301405806068061070304065012604021303053130200840504130200810401840161302040012213040210501150121507305015380104301030554021200205615017205018405070020010501801051210802001003203041402005820104011402001240503705045014150152050164020060301050120084052405032002204150555661306040107071307030104012002213060401614003613012008004640152105054016150720504004084061005010501301213053130145651081010661040104007200220408620029121102040101301630105012302540380104300205103070265018012004001002210640340014001041306040110524600150640210501101000300102130501603570014707001251301040120025012120300803705014130707001251501640640506501150102305403130700202001046100453110540620060630740210501500402400630613705054610013061540703040640350650115012201300806313070700124100301030151502040670110465011064025029300313029300541302022001051501640504001004065016301004280400501310023054041006405802007065066311054072006063082020010401150214613130104702145130305615010730204082006063091401050161502301340070306147030105130305615010714001020408260309150940210501615010270700400322002104620022040515064002003406501615023040340064050614301058017040073065018047012200253150456301105100640640320040650180160200227021410330103014150204054040027065016140020020213028200320056141505405350464010002001006501204024002002061340504350140056701065016720067026401001403202001040165070405220150613801051480120510501207003020261620050050151310064014160020010501804012220400370301054041306040110561301200800664017201506184050900200105016301004250310501325010416020011010305405061307070012713040510501405028020070650315054201505701301016405071304060200801050163010042160040020050154037030104703040570301061307013040105016140010501540240503130110140044015801056230110740210501150256301103301010063065011502510313014406400400501513016301066401750850824050300200105018014006122121105013150420504004059014100105011540260010200314041006405400270661307001050740508100230540915302050154010150540112015061124032004010501640126003010050131306040161400461301200800564016210505401730170210501401260030100501540131301421308100563020506120500200540730181070304065011502106403130809030440101001400540513407010501106402301310100050104406301057050640630107300101018630195401010509020065011301240503200840413030551505656713070710781302008104011502300320040031307100640197014021301500104012013040530210100030103801041302965012010003010213084010401600700652801704003065313010460611051303810401500402902613806100420016055405067070012713084010401700100215020315040041307071075130202001040115025700134014205040040525640040400200650115021304040010010503801044010014051401050180102350140036701065011030260650240503605046046160400220010054040010012301050120700302026763501540328620047010501104706502801051322030480120555140501050130121070061006503801051413040640051301613040640057130163010866100154097070012101303810401808003012405032002204700302055661308067713070900104018015040121060200501532306015020430703054051040070020200650180120040010022150540340200400100265012604021303053130200840504130200810401840140050710302130204001234050413030551307071076130820104011502801031306040161400461301200800530110140063030406405010501680102600301002040364014102500540506412571101400830100640910610050650161600400301802130301030361305051200464015150730613030574050813060401109405010200710011801810112251313012008001427041540640051166400902001080171302001018181101400193010064020107010030650140030202110140031303054504003065157030102062130810078021108841050092704101303051161101400512106405065016103023020303180120415001040110604070211014003130305440040030105703010565004071090200840604002022001920150103040111060407051128023002005132707001214130104016170012703040340504110140050153001010161400600700517576181630102093054010707001211405105014050262001105403355040463015101000501067050540740182060261930010101106301114011214006007006113405014465015130305161630101101763054018707001219709001040157001254103613070010504208020061521101400620025407305408707001294050102003711130104011303052130700103606002004302040513028200630400320010713080302088010592140200510630400240010006111405012808003051363070302040144003002020065016606002002302040340148010513060401614006640178010813012008009340107011040505111501280101370030201430110140015301006401610400802020065011003023030700105031405061410100080200615303070010506301710200365081101409130305103010371011100640112240113201506114102060265014050270403039013081480305080605564050616011078070301051850040913010102002204011400200370650163010042140010501325010416020011010305130204001266130820407613050265862007100501540940501013091021400116808003050154012703010131307013040105016140010501540221050140034050413014020058040161600400308061713018405092704104011131105401213070304013210001011421050540151501620022017101008001018210505401910640201301001014052180104012220150612380105241060040030806501500402370305012037030104300200107055405061301402007801400270518630194004002701015611011130700105012301131070304065011505402305031010005061470502054050613030573001010186150913090013040105010270800540111630101101227080013613030514630101513040400100105015700122901102003303050160465410562008405630100640710610050650114028602313070010504134002008615130601010140061507503703054082013070010509140506110670403061111309013081400126061101340810154014640401400540156011016401171082040650166003010021303053130604016140046130120080052130810066304003710720308508060924011020602400116540123011310900304065011802001104002405031400600700413055556156618003057130305870301097030401066004004011703010126040705136100302514637030157030101629020051710003001651880405019105410520405021270422130305231803012440070020200650161001306124013510413015810140050161304501017504064008650810196401101053020501111301121304520013640114305401527003020164050177030401815019540201301211090050650161700124004003010370301054041101400501521050140064017201508834005409130110150111001306112110400611321211050114150152050400401690141001050110030213030531081010204045004051040104002040650040710340702040813010910640101301001014051130112200102138010514630205015120500200161305016017301181070304065016303052403020313060401614004613012008005610640640010064071306017058106401070091060060200101304029306501640020010220303140543150010552030614057400470108130109204001251101301064011400376501240113205040040144007040306501570012204001250131050910047030102040521308100615017205018506040050606009401102050400401140070403065018014012130700105031405061467040306151309013081400680104600305407200254088010920084040051070030201156121308067131304021050161401213070010503208020061418030405400205061101400107400400301087030102040980160400202200400401062050400401110064011240320040105016170012100103031504670451303056810076130601705830192001021080105111100304004012401135042001014401151306017051615017509005018130119900501206401215085022240604001010050105016241230540360101014004401570403061668110072540840192015061102511106040057106501610010302130106403505060120404204015506010400406301001107106402040857001964016120401013050120011640112302040134050145019020010501700302040221502040314006007004004041101400513030565761761000200400204081308101591304501011080130106401130112106002003650134050511463011554016106040070400265018030305213084043200241306040161400562002613012008007200281307013040105016305213020220010110380104130604016140056130120080066567130707107813082010401260402130305313020084050413020081040184014005071030213020400123405041303055130707107613082010401401260030100501313060401614004613012008005640162105054017130182130810096133010406040101161307001050122080200611370401141507002006115407020080065011003021200110400403401440047065054050646507130305812006501094017001106003010061114050121301200800131401430540153002002016801017130604016140018110400650101922040012204050211002302257001231624150012005254050267030402715028205040040299014100105016405021800303404050410470654050646507130305840509301101060400310211305121301013106401413010010140515654016705017470110540181000180306501617001283002003130501604201506153054061704110762015061827021440054092018020010501617001240040030103703010540411014005015210501400610013071307001050820802006193030810010304011131105401257001136082001440210501140210100630650318040020015410030515061804002001040057803018400403020650930101040501113030512300101011356141703040152401164008010800650178010518208010192520300510412121050102262105020402365624130100080620025130200810401100302401320504004247015405061302006030764018142001094011010807030112101263011322040141501514002701613011740118106810191301020640121150122130123507001020024402105011003021200110400403150420150540506705047130305862080200400409251063005411300154124050132501014160200110103015703010164050030517801405018616040020220040040191502013030521301221054102313010064024130900130401050161001302130700105032080200614303070010505140506163067201508600102001940110602100650111130105126170013304014105400461152516806010100630650175700118180201910041040164050210023053204001244066010514014016620084057657001820400129409041001030601501117020021011230105070020013130700105014900304061156230020010163030408605010501150213070010503100130614200250151303056500407160400100140618803019600680107030105401163011254013108750650116301020219081231303505460013041050580105163711072401820150619107040306501669010501213015060150326130410541860150158403040056140572020051866800704005920200511068403051168090130512500301500650133005200114840010151700116230100017130045186230100019120027010502060505211001302220022316770501024150251300202002650704040020271304001028150704040029703010306703010316130410326150331704030349013081354002008001536619030837301038801039700200104001040150104140024004213010204361501044405045130406030401050116301020213070010503504001002304705054051860506401770403061865040031679705010601010140054011801012190812131303505146704151309041001613070010172015061181067046501613070010210013033061304105418053020401614007041505010715081600200396100410600304001113010020065012405013100230101465401151060400100010500150161303051761030201814050191502067042113030522810023801010063024401255700126130127160191020028130163010501163010202130700105038100470301054051301006306801071404081004960030400104050111002305401240501313035014613015060151505401620150611760016020010501630203024200314003404014704030615630106801054061704013054076540830191090030406501610640210702008003130700105042080200615703010613050120071700524004089102140020409801010810140020401113045010112616040040400704004013251148013010640154003765016707001217130565018240119205040040204006040020220065021801022130120080023210001020024130810025624012620504004027400806010065016170020200216001370144170051507002006100640572130181001808610049600304001013050700200114050122105013104105146405015600308051613011740070246118130119130305201501021160018022703010204023707001224106402570900104011001306121310400501330400180205014705051305400501680140050172401840070450191501020504001140501213090141001050110013021504013130703040470504513030566123010002040740181200603040092510630205010111200120401210064011340035306501803040122001653701200800144060400100230516410400540610013061757001870120080094040920050110230115612401131604007033040040142515200108168010511770700121813010401400440200220303300101042140200520025168019028617301810200109130110406012050540112070030201250371013130100640141304032004010501630100424020501540380104014150540205012040680105763703050183054096040701106129012001116180104512804011311000501014705054015604070540166301171290120054018630119180104400540204050213001010221700232015061241038465025211014002613030527681100282540294013020150613125321060400571065016301004215302050134014863020405405061301002001076902008050181301101400930703054010102003706501803063012509020054031307001050414006007006154050646507130305810020021501913055102301180030611270505401367003020141802054015640116201506117108040020065016170029020080501313010204508020015405061303507106040040706508130100200150980304011088002006511100130611215090400611380304011410080010156306116130101710064054018405070020010501100130612101310064050141501560407050162040012171507308405092704104066010114090410011230401132105014104105151054101613010171308100186130101992001010020406040010010401101210064050131310261441701051303056614050617258101000802009302040104050117005062204012610320020401340501470700121513010401640502301310324417010513030568030106072407037880109130120080010630106011305124050134650514163010110151630102016801017800301301840210501163040210200613150413030551307001066003010071306040161400861301200800963040101070101126003010055012210014200137030101415015108101016130406400101723010181505197030102020302130010102210041020016106402107020080031307001050420802006157030106130501200713010608570019213081001010013061112301012620025011310013014807006100611513070700121624011720504004018400208020065018019022002204013902200416306513070740640507130200603086301940060400703301030540112015054012106401310200650144011510670465016304017103025006118130119601705204050215051200222301100023805302410530202513012613010064027130801601006501260402130305313020084050413020081040113070010502208020061369046147050560210306130305718003081704013054016130700105021405061367040306141309013081400561405061624017507308703010940840410656111308100124050132002540142080200157050540166010101400540176190308182130540170030202215031307001050420802006151400270616130219307615081307001050914050611014002706111130810012405013200254014207003020151080020021613030517303050160181405001305401801700123010010400403130700105042080200615808002002613020010012784001081700191500600504004065401080300461111306500110012801401134050114270415614011680411017840010184008007019130820022016712005121700302022630623103001102413030525301504009020026405054027630205028301023062927080020403022708003161307001050321004003061338010346021030351303053680305037108003038170401305401601054105402610903083213054016104600305402130350537020080514305401101211051313070010504140506151506400509020061713030581050902002040961050024001011004140204016130700105022080200613804007060143054056180030617040130540170030202215054032020056144015150730613030578018298170401305401180304021060102006138010413012008005801050900200616201080720150870110025913070010501040501110023054012440200131303051470301054015630302018020010501614050013051170030202215031303054406301051307001050614050617615081302018020010509301104063010113054011502130305310460030413070010505140506166704030617130901308140083501400940032001010405011400840051121301505120013613070010501420802006115104004040070650166101203065017204011840012030191301507014020613050120021405006102230540162011050240503100200105451051300461006574050810020010400209130400101016002003400201115302050154012803011350190200143054011804050220150370301042105055405062002572040508710509305106061011704030512614002706113156110540140500302130350531304001046704513040400100650680105171505120084050940110101000102001116050126150512001340501430250153040161040010001020017970405186150512001940502060040200213070052230303001200210502361505120024405025706030264090801027630540288010512940503020303113050040200140032640100080200533405034200254035204050365637600130438801039130501200406601006141401104284010401438010097044140701105401640505402405031060400407041301020584001061700176002003618405097050420101001306111303070010501216400611313070304014401700115100130161508011716301020181307001050199270201303052170301022100306254023614002706124156110540161307001050215400461371454045410561400154064001006154018053021050900200650313014130601705515064001400105407210004005880100493110101300200195111801501012305401317001143110400540157002020015401801703040215053301413055130161303057616040010008020083070050220963030406405010501061304064050140011613030512107030401340400100302204014640500612040161010063021307001050314050614306301550730400660620057801700181507304009606200510408204051167002020012801051131301004001301420011040015130700105016801017100306254018402008001910509002006502013010202150900200221304010003001023703010524405025130406400268016301027305401917052610063034070200680480170015707406130140200780306890410061913030510302015011600102001123054018053027060104004031504400630104004051506400806046178010813012008009640010097061101200814020401163010202130700105033070505404130305580190405406617040107129012005401180301210400422006503130100200150414057030106100306271100801305111502130700105031200400461470301051421200540640507270484019400210501030540111305410121303001091501360630143054015614030101630540170030202215054031001306143030700105052020056164017507308130305960509107020401080101127080012130140200136130305141070304015160200120054018020108021700134006804005404130403011020551080020026506636554076142120054017003020221505403140027061440151606009613030576202005618200800615059801829101704013054011402860231307001050480105100306254064020080071508305091060020031013030511180010001505401630625030011033012001050120540480307020080400540526010401540663040070200805054078010830850913010063010613030511107030401217040130204016305023065020402840010350703040413040315410505405020406613090122001050765023068160021200204011502130700105032080200614690461570506602103071303058630011006191302006063010405011270412401134002105014305401513054101630501710800200611813030519300101012066010829211704013054011012110513130700105041405061519107061613030576191070618130200606309630110400293061111704013020401150213070010503208020061469046157050660210307130305850040940140061106540112080120012803050131010008020014130305153054018030124005506136400470614130105130603040661504004071301703065086130305940702040106305011104002002040121704013020401150401213081015313045010143070256305666150740064050618640040010061910640020401013620020401163011210601302040131406130204011502106013020406513801088020404400260030615610600200361800100015020401512150400403563011044004706505304005080100616801076021030813030598040502040104050111026003012640501310260030148015040115102600301670501750806051861303051913010005010206150400402113080100200110226150234004006306124106040024302510064012610001020020402750040283012910206506130140500130204012604021303053130200840504130200810401150128040085013302048040081540210501130101000802002302031303054401540010044064050770050220864019400160020010610400401150704040051270301020136105410201490200191154060400100104011610509020020213030535090200147071071156213070010315073041306020105055801061003062713040640501050830107414619110401501104070111104015054012630305133506414130604016140015613012008001662015017130305187030104011982010401130104600302130406405010503613040640501400435014005400320010640507400840051813015051200960013041050108010511161020802001270505401360101014005401462015015700302016705041713030518806711970900104011610707002213040501801001050361304050180100140046130403002002010505613040300200201400613090015010507213030589005091306061010703010540114110200512130606101361000800214130305157030105401663070505401761704183054019355040206601104002140901020011630305235064313060401614004613012008005620150613030577071071882010401115012120060305012033001541464023002001565070010200113040064050612213030536200606305464007072006556400610020065664006028657220200586190103011150213070010503102110706502041504015102110706506130305710481303059806100101104105401180405012502050013801504011410502050015703010165080605176405018168010192401207015421703010522130305238060106400105241320012570900104011601010063023020313040600308065044050513017020012630010003040050171406130501861530650198016040010008020010305011110100630650122130605040054013401143010601580101610030625401710030188040501910403020203020402140502213030523300101012415025120014262204027800200128162912001430220403150807013223033201503413030535240136400704030650376002102001123029005050400403150430505105010030261302006063076130406405065081301091530105401012411167105012700302013801014100306220401569005050400401690050171306061018620504004019100640120262001164050230403106405042130305562006063056801501717040045018303020180200105096070102001163030524030203130604016140046130120080051010008020063040507103001108610707002940501010300110116201501213030513100080620011420081040116010100630213040600308065031700141509301004004051301064010001504073040016007006518700200650195040027020401010200104650111501210243061132030140141303051510030163050174004002706501182070030204019100130201303052140502210023023806010100630650242302540086046505012623027201506128301291080100565030130131100301030111003023030406003080105034050413017020012560400470650613010710064081630109216010300410411400100140030650540121613106030406501480150154009107061161064002040171303051813200119860501206150214004006306122204012340063010400402440502510023026107070022040277070012128130104011301060270301031301704010482003563016703010713017020038820039630110703010111304020010800128200313640501410970151303051662006063051710460030518350140019400320010204050214008400512213015051200236405024104006302510707002526707001212713010401130100422008001031303054705051304064050105061700710211070650208400840091303003200510807030401140112801013100306254014801507301513060201050516703010540176150012540188040081191002001021164010001504022050010200531016007006505146201505130305670710717820104011670420402130305340100015040420500102005540016007006505168070330730204085700596208010110410111305016012705020401363040020650141105153030406405010501661054102040179020019118406040010010401161600200102304034001004200614703010515100461819713030582519620150101303051170301012203013300101014100410200116306210014003020403130700105042080200615306306161301421200750040830191034650106301011163011250901020011605052130305313040010410045600304006405071002308630509400341030605051113030512400241030116562130700103208041104105405705020406611041020407705054082295094020510405011270412150131900802002040147030105401562015016130305172401184007040306501929010200115402130700105032080200614690462040570506130406034713082001408613054109407020680110150111023010001240830513630630114200313015406405065016650601101740640501400183040194007030406540201502140091065402280400901022040234050540244070200525210001020026703040273010460030281303052980103020084040053140503210300110333063440071030613530707002501361307001050372080200613840505403970700121401301040111700237030313070010504208020061580106100306254071308401058840105913031530105108015073011130305126020105040051370301014200606305156703010161304064050105017613074054018203040519130400100610206201506121181002225123615305124620150251303052622030273001010287030104011301004290410031303054200606305513020061016213081007304004600305081304060349130820014010150113001101213030513140501050144083010010501520010660204016640100902001050173011840060018065019807030402040121304022400703040612380370302440502546502670030202780400812810020010211562130700103120060304200606305521305410664105071308100830109005200597030101013041050112030512620801013213030514300510411408404220060630313030546130700105054070561300411077030108130208012009200840110102105054011400200154012200207011360341141024001000650158080030116405017130305186200800615011960104015402080102163655402240502315002002413060364257003020264050030540278010281304006200152964050030540308010311301503103032207200703316002003343009153580172005368016040010003090037801604006103870301039606100540107032411307200170423010100010900432540441302080120045670446130305471307001050481405061496704030615013090130814005140505405240100080200553613200154709001040112604021303053130200840504130200810401101211051313070010504140506153016400100440617210508104109130305106200606305116140010061121303051315014130305156040107016703010401101211051313070010504140506153016400200807061719061400204088061009906400101305021011630112400352006113305142130100630152035200162708002040173027080018150194008292017040130204021615040040223012340030070200650115021307001050310100080065041906140054057050462006063071303058163010209130700105010140400850111303051210030625401330304001006101430540154010008020051661320017709001040115021307001050310501465020440505620011061308320014007120500200540830191070100306501630621505403902200614840010540060020036130105407302015086001020019305401061303051110008062001220081040110121105131307001050414050615150631102040780160100825021980400210506110150114009010261121006401132351305148040090286115703010164011780703040040185014401050161703040612150380102040420060630513030563067109107020408801092050010200104050111301402001230705040040136302050141303051582216130102040171301104015018671050519801020100306220402162020052213010204023130208020024613080606100256130709010150261630102027540281302001300465018080030124050313030546507040556130305670301040782010401615029110804001503405041304064050105051100400400306168019030861721050540188015092100040010184154011170301012130160020010138010014003061141304001015400210001016840010174008010101813010191402002013030521801502280110400238019030861242105054012521307043026611006096127150281303052910823013040100609105011504012130406405065031600654801903086152105061600610204076140010061813030593070302040104002008406501101211051313070010504140506153016106060020071006408405091006401070601011150121020650611360010200114405054015630116506011017405018506011019706010201502110205022600102001234050550246301254003040761261508060204027630128400501276129213013010012302106031130160403213080606100332704341301104015035640503630403710400238801630102039540401309001304065011012110513130700105041405061513400502616205001020017405081309005091501027080011130900501215004013630114400360606115630116101000400217270800204018270800119110822018420402115022101203023308402416001052540104001268020200540040652761400100612813030529150301303053140061232200810401101211051313050160415015600301005012040640507700202008615050010963703050120401030070621116100211030123040070120080611315014120200402040157050416130305171400100120401815019130305207030104021600210200110013040021301702001231405014100305304064006405061763020508100630619160304050110630401111046003012130110401501380101410030622040156150164009107061171303051862006063051930120103040020402140502217040130204023300101012415025130305261000806200272008104011504012130406405065031307001050414050615213030566200606305750040830409102004001261106315461112140613054012615080605401380101460210301513030516163010201754018130901410065011003021400703040650313030542410502040561303056107030407401880109130604016140010640111801012130120080013613030514220301530010101670301040110405065027030102031504160304061510030630174004050618703010916030140204010230111303051210405013703010204014150155412040163030110401501715018205040040199014100105011502130305310703040410001025130604016140066130120080076130305829010200924011040070403065012604021303053130200840504130200810401100261301002001503130403104123027032613150431105405405070020064050540780100130813020180200650957001103001010117031021117001240400501362050144002001215700302062003707270104110042703040501340144005010090513012008006405054076705045018204001298801090012302207002613213081004304015311054068054078010814020094020010311803040210509002006131301041306040110580610054062010807250105015186710501519640110305111405012802006316130120080024044501513613010010501480105152006160106615024005017801051840509203010763112510314002902005267002020010330203047024540501021650730501240503130604011044011054021200201680150240050172583501400968210130890104161305060030221601001400330514930705508001041200710012303070214361810105014255230456401040017207003020813060020063120700240021002305403100640450685619081261302006076500406416701426802007065036160061504306916190812213011020536100640440027052030620700271302006030880810096701041180701010501221306003010031301630423055406801073026084050960030100103410416301004260030100501313015060150465070304054016400660660725850806059650850101100200211130105124050138230141306200104117002104003010010313040400301001015047050513010401050667050713030040130810070104140121030809003405041006305130163041057200100102870400104163110400260202005313040640042130810057003020640172050400840505940081041650806002801031309062004700302051064061306701041631104002203035080604407051560110100663005104130100422050400380104100080305540506570017802030080501870502091000911020108029020020111301064012841041610013021002001050535700144015304106704001041130100101280103355040420305208012006705010414050170230306001020034070400444020010211307001023703034070413030551305161600200780130100101588010913070700121013030041041100130210020010505320025014401519100010400566302050720150880109800301301027010411001302301340060040090406143041056100461004404007130102040821306701041401210243031301006304304105640161501729003014083030702104110640250100630330355040453051404003014006640010063075308405094071041617308040021303505330304040010010504100010200527010415700124013400670465043020305161268801090014050260030010313020084050421301000102563110621003027405010211460030651226030140370030204106405130600306413054024013103001106504801051563041050164071041620402153020501310023054044050510020050654071300484050540929300110805010026111801012130230141353014405015408109011502801037003020430700202001053040506201507305810030291610130100101113060407012656133005104163010042600301005013130604016140046130120080056401621050540178010860400591101401064011140605011240501330100062180190220027030103401410100630650566028628404720022081002309930670101303004060116100230121301000200621640502130301030380602854614212005130603641616040040702106403105014413040501454050640201507100200102110640210604070650313090108542130810057003020610640713060020063115012508503508101046504010400561301050161304090102001106402400300100100313012008004705054056020017016700302078300200870301050191060102001508502170304032401410100630650564016150400770301054082321200980700202001021301002001501140501210600180136701041260402130305313020084050413020081040161307001200101400270020061180130814030140026100200118013031200101400210602001180130401006040140021402001115040124006704650330901410016150213041050330611007016130604011027001400313082201150204023080103100630440600400308011068020270505340504180201100400302130600200190650113070010502540380104100040200556015650110601306502110150310640413041050110640254037030104130501200510804005065017006100612804005040020403570014130700105205040040625740060400703306501150213040400100105038010435014005670106501160070010502401314001540420025405150540620150617100230870030209408605010501201506121003010301340504130301030540161053706501621301608120025403106040010008020065016801021406130540381004303060110305613040820064016801021301200800311014004303040610050105016801021508060204031803014400290200650168010213060401103200710020404640154006704650180620022130604011036130120080041505530810064050030740181502040940050910065015302140012038410500480010805122001510406130402020040105011700246003061370301054801001306156030140161001307603014081006409405020200650180200110002130103153054803110527033066040105018010020025213010540310013041301540012030650180163602405054036001080541001306153016400600807623002006582100030140970301040180110023040021402001400538010490200558090204006635517610013040087036797010010401100130612207003020310013042002205150565671308201040813070301040110013028040136009220404110515130402006030650110013061215013120060305014130105100640640320040105013050200603027030105403831200544050591050140606405270504320022043030406020080105018016002003501240503201504801051540506130406405010501804012634501380105141000102005210400640507130406030401050164002002050128010513110543030700105051060018065061307070012713013010401680102406601031700412006030501551301068020070650726030915084021050180400630102220020505361001304601820051664035065018016007005015263506453805027005015404801051301040665674030104016801027014317004120060305015703010540613020010871307010010401401240070020034050430010105140040067030105713018370304005920130200401040168010250040643170041001030530540640040400706178400108810501807040061270503140200420025405801600700400540613090170100576540810509002006501804012160400917061340504100101405640162015061740504009020010501610064025068340504100230515054062015061710064018801601001050161306040110225010501513211044615015304066070650161301200800280200300501513805070404130401546501640502203033001010460030100501576310506307030204074007002020065018080200612130103130305415010530204064050575070010200840210501630124003703061340704130305513051616002007150108302040940505105070010200114021050120700302024013140010413070010505405061002305407405082006063091301101001306111601820012161340350650114006190612253230454051006406911000650180400630270505403804014150400524030640167002020028015031307002020010440050807051304064050105016401260030100400313035046130150605130163010702465014012120010434050540440505200710066401712001048150910970406501150213030535641302007110057006613010065713040400105018015023030700105039003040614700506215405003067005062719081254088030191060400703306501806103023030700105032080200614405051064054061307001071067046501260402130305313020084050413020081040161309620016204001224060962001801022001003405030062001613021040021304070406200161306010080213040200806701613028200213040603620011502707001232002204306110070140123053405044180701106402400406200313060401104406200116400601020021303213036010200118061030210640107003303040207002105011307001050254038010460068005103070265011064021047065031301045012005355040647011570052130501200313040010420504004052516400207002650118060820025700131404150400405301640029020065011903065128019022006131643015400902200616606110770301020408150401940037650104011120504004012400704030650115021304040010010503801043501400565070104018012051050224013140015404200254056610015406200254077070012813038104012030612613002002613550101014240152050400406400704030650140400201010502703010360200200440908068055676350154062862007701050161307001050214050613614002704005404700200104005405211040150613081005017254087002001040054096401101304005015401140501270403054013405014300101015203016140200101724011820602192005105016140445015402280120553630840440401510300400565011040050177065028010513201601430153010006680105176301840015001040161096802703010540310003040150430540520150540630630674020506501611002302270800540370301042708005104006011030650110013061215013205014100230580106153050174030080100105018040502130305370301050146610015015707001261306040640115012205013405041002305504706561505756813022009130200810401807002020028040131504004250704040052002206220155076301840350650114021010063065033001702004504002002905256200102713040506501100302400200290613801501044070204054050613040400200290105011402400140200540318301405404257001514065407100640891100065011402101006306503400100630542305301610640506501803010140061228410500340500305415052015061690141001050114026003010061340504100010200530010106140754081306001301006501140260030100613130604016140046130120080052306301710610050650114027050454036007110504200220514065407130409010920065011402305403603040410604004070650580105680301014007406040040705408260309150940210501140230531302501400463020405130250650114024006013054031320014805405405064010002004074050010030650114027050454031301000102480540510204002650114021020010465032010414801307001050520802006165407130402010465011402305403130541000102005130305660281507130305870401910300200206501615021020061320608014405051306040110660110091710100630618608129402002064018070020054028400103103011006141064054051307001068010571090701006501106402301310100050104705054052010454063001010176301854091050902006501615023030700105039003040614707001215465067003020763020508120500200540930110107030406501619022002308204032002204801502052170105050166602872840482002209810501040010064016405021303010303806028546142120051305036401260402130305313020084050413020081040161305034021700135610140128003039018220404640151000610164012105091003705041305610115025631301468105106810170304052300410431301006101700624020053801604006101656221301801003130170301015004024501380400430101802015021001231006601050416514501018016810213010370245440151681014012207002313080614440152001101180400401200650527030103401410200101630100422001535073054160020010170504260420053130405040051017050451235053130401610117002101000300103130604200544015101000300101401271100031302902004640159100010130100422001103405041101400520025613020220010118020011040040213030140036130707101640501521305001305005313016002001011302040213070020200363054130150500101400302021700131006040548001071011502510313014160401105604010400406516150400407612162040840191507301013030511251124050136030915014150151040027065016130117130900501864011940056102013015080602163010042231105402340502420025402513054101140230301506015034014400405010180303052130160020053613016301016204024050340302048010513060401614006301740010005010830080170400540930010101101301114050122704131501410170050151303051630405017103001101861020080010115021307001050330141064050650521301600200563010604065071304030110205840060401059130150500101640123054032544050570304061507104002706508130191309005010615011130900501230113101000501014405015130810016300101011801702008002705034050440063010570506700202005017630408102004913011013081015111304501011700302024023010005403405041307030405150620022075681703040924050108003011705012602103051365614170304015240501615400410163030524013801041306040161400564016801071301200800830103710913070010501016011061112401127040306113610371014130700105015186050611621308605010113070010502103400502650320211020041301500405613080618300613017130304040815092002201061607011130401000802005125613170304014220401517001615030012040174050181301200800196170020150400402113505228010232965024140514002040258030126400720612715080602040285629170304030240503114001001011802001104002130700103400630101617091021003010301361204101170504527030403130100010248056510200101140230403105021424015801069088074066010161220015104021307001036801011301240072003617200546720051600200101615023010603303015060150413015401660701016150260701053606804102001015004021037153130371104130168010161502130103200220413040504005101615052563180082046122010161505256314014004618101161505260030100313076310504130700202005613015050010140502509805317001440040501016150270301053130503001541301600200101615052563110005010461100501016150525632002413030070200101615052153020370141413016301016500406428040131210010161006402506834050410023051505406201506175408190030409619100010161304064008020521561018010003001512401310003001018021102130110320022044004004012001015700125070010200340504130507002005130163010117804002130178051301060230513405044650513030562013008051180405025700131308410500440070326501640080082065026301340022065016150400402601404650180160346123030536170246112604021303053130200840504130200810401110040020024002130601705361503001004130100402001615021020061311054107020080061561010063061660820074060400402001620700261261400270613156110540462030514020064060400100200163010042311054034050413015021105401680105740743200182040522130100053804014400100050513050700200180400630270505403106404104705130417061301073001010850202001600300701212901200540310600200365044050513013415006201505407320014840504003002001405970105021301031304170410100630513020180200650657001710640870602001207002400210023054031006404506858020700261670245017610013061840350650961743200180470122002531501044010003062580150400902001808040085012126123130604011042401105405054020016803200501213012008003701065014801304001001051304011067030107140200810049100420016840305015270301037001400413061856460200140032001022170105050133711043040505201506208020016301004240020020501513110548053054050640420200180201080220150370700121046507002001630100421060200501313010020015043030700202005805306405074042020012070024002701438020108042015057070012106650700200115012120060305013703010540420010815902009020016801071064085086094060400402001400507702130501603201505404170317550600306405010070200180201080220150370700121046507002001630100421060200501313010020015043030700202005805306405074042020012070024002500406432130507002001801001306121230020013405014618415504002705615017170018308010980030130106607020011130100102130700202003703010544050521050501623075682070012913002001601070304065021000413405041302070012513013002001150124020060306313050110054804005055305406801200400100254076190922001650210540215031304011041006040552105054062030730020028408400800200180501461290182540380400701910480701002001802010802201503707001210465070020011501212006030501370301054049010855618456802015061720530010408130408400900200163010042106020050131301002001504303070020200580530640507404202001207002400210064033069421305070020011501212006030501370301054048190215130161307306985031050154092608200150704052405037050450142070030205503710640507300202001630100421507002005403293004005014804004012006152130507002001630100422001646537050480010805580940605016170105054078070061006187070012109650700200163010042902854032202005470700125406040010020018070061006127070012103650700200163010042106020050131301002001504303070020200580530640507404202001630100423110313048020070650513050700200120700261221101400501320305148016007005015405160070067071077401004004200112080120020402600102003405041630102040514063020407220011058801091307220011402101006306503508504340107054050400902001601057402130340703610630650413042200123021306017053406704540461306017055145106614020011502130403200401050380104800301305660702001106402106082650380104130501200570301066365540770061006184060960100200115012203033001010460030100501552100420016401214020050131301461845520304086213029020016301004215302050131300101702040480530540506404202001620302300101038070306548010513072200162030290100010200362021020044060400920011502130404001001050380104350140056505200180102401007043904100470504540301020640100400420012604021303053130200840504130200810401130200840501703040213010020015016003010021301506015017030405213021015011303004060261301004020032860215016130503402613030032003106034150161306040110220080705136680070413040107150113012400910006138010413040107150161100104061213067503213010060946301540060060200616130401071501613012008002680070513303015014018010512801205536130506003047001400513012040140161308227006313070908046130200108150180211021301103200220401440020700215016003010021301506015034050490309013052013080600120016600301002130315034050440120035405065012001802110213011032002204014400207002150120022130403002001001050362002413040100020021050180211021301103200220401440020700215014020032130282001050310304001001015012105054012220076003301410210001015018021102130110320022040144002070021501106002003240505401313030630646130402003150180211021301103200220401440020700215016305213036120031304050300140048010513028200620130170301401802110213011032002204014400207002150120302405037030105148015016102100102635320022047006513033013066130120200140180211021301103200220401440020700215011060130524050380104130604016140056130120080062030710640856980101030015018021102130110320022040144002070021501605080200100023020403110541305001003015018021102130110320022040144002070021501101240703002003130350461301506051506160400970400407150840050807006194050101100912001113060401614001261301200800138015080700611430115400508070065016130117260309150180211021301103200220401440020700215011020060302703010204013300619004405055012006650816078030184005040090200150180211021301103200220401440020700215018017001215030010040031306040110480201504005620045620130451501802110213011032002204014400207002150180106401070023013106013047050570050256150607630183150180211021301103200220401440020700215011070200802130403200406503260104015404801066007005213050619010661301100414018021102130110320022040144002070021501570052355040313040010410207002525161304032004065011096806502210505136210504840104051501802110213011032002204014400207002150163040502600180340100140420025535040015018021102130110320022040144002070021501700614001218050150180211021301103200220401440020700215018010540127010501503400320010150180211021301103200220401440020700215018010540124050320304801205557631501802110213011032002204014400207002150140400201010502703010380200300429110505154050616040022001007635010813035040010509415018021102130110320022040144002070021501801055021001902001400313092008043040510940500550615060710023054086301931501802110213011032002204014400207002150120150550213010110064003613040200315018021102130110320022040144002070021501530237110313018601504130151301860150180211021301103200220401440020700215016405024650540133504001501802110213011032002204014400207002150140451404001501802110213011032002204014400207002150180105401270105015035080016004001501802110213011032002204014400207002150180105401280120553650600304620040150180211021301103200220401440020700215018010550260010200140038601501802110213011032002204014400207002150186200240100906200140038010413060010140180211021301103200220401440020700215013040210940500550315060410023054056301631501802110213011032002204014400207002150140400201010502703010320080200804600800200567021002001068601501802110213011032002204014400207002150140021200202160403200220470010513033013066130120200140126040213030531302008405041302008104011700126100704003130611007051301060230610070400513201700251600180800522001807051170012200340031301200800420031162604002130321303260118020150400252110340502500116205040040217613135003015005180190812213040104050534014190812513040104050516190812213040300140534014190812513040300140516130601210065021306012100650116301020213040100200265018010235014003130507010401500305240503130163010501610030103024050313016002001050170301026020020034068006505140400201010502703010513404001001230105011096802703010540363041504406003046501212061226121200101003620160440505407010501301210904706503705051463015105078065016801205524040131040060010200650163084029102003404014103004005650168620027010501201405001302130306306313040205065013711022401320150614107040306501301210604070650380105143010006156301640015001040111301210010301360301401460301401161908122130104010503401419081251301040105018010260420034060080064169308240508006416900302404046416401102406020621680120552205001020051301240100967053630144040506705168020030024020080670511501215030015015503150300110180370305015502122012001170200212140020012113019081221301040105015003052405031301630105016500305240503130160020010501619081221303004013034014190812513030040130180102604064036840104016900302405031084064013012212004363014202001040115054022015061310023047003020540400200801050162015061210902006503703010413085050051307090010401620150612101006306503110700144040050156205016400200121767090014018115019304027065006501161216501213016306501100302150313016301050461301600200105013040340670650213010340101001400410640540703064015004021502040311051413080013065051304020700265013012030650240503300320044050571006401804013010650240505131302965018030012002650270301053405041308401040180300120026502300200231305104015700125073054031064041304105015085026003010050120403803063014400904100650118020011040040240134004050650111504004024006003010065053140450850513060013010065015085021004200501321050204041304064005640165085072406026100105017030102150350243041405001302040565050300102040680107401830194007030406501630100427030404004031305030015413016301058030630164007002020065011802001104004024013400820050065011150400402400720070650531404508505130712007065013062503001103303703050154891401580900304004064008020565011501230401000200406501230250850340820064065011802001104004021304011031307001044003002002650111504004021507304004065340504130407505140650850713040507306501306250300110337030501541313158030630164003002020065011802001104004021305012003130400104400620065011150400402150300140040330032004005141405508506130405030010650150850237030501513400700202005464040017015303040100610501806028221604032002204130709001040180301211006040324061100704130503640161505230100604033064400703040650570900104011505230100200150320200104018010220400123402050650130121040605313014130409520065014005071030240503200241307013040105011802570012130841050031504004044045506501640037030650220071002040315020404400207002650180306301217001323010004004130830100640161504004028105010700340050900200650165085021100200231301054405020405630205063017400290200650180306301215032050400404100010200540410501050140020037065051215032050400404901410010501801401215032015044050513040100200210501802006826200108150363504004507010401614012150320150440505190812613010401050180603014023020340504190812513010401050161401215032015044050513040207002105061308001301050180507302405038401040164009030105238104011502570013305648100513010100105018060282216040320022041307090010401260402130305313020084050413020081040160282303053401480105130604016140066130120080076568130707107913082010401305240302031306040161400461301200800510810106610401040076568703010920301030010101110041020015621301630361301600200461309001520056130219506656722030830010109703010401562130700103600301004130604016140056130120080068010760400581101409500401016040061011703010121307020030013107030401440115103031680101713012008001864011910600200320405051216401221050730234050241306040110256401261070200327801051286562940702040301105031401322050400403361303053424013540070403065036290102001305240302031306040161400461301200800561301061303057400200370813014062001106303213030103038010413050512005610630361305051200780108130301030965610703010401127001400121309046200114050612213030536200606305461508010061540401637030204074060400600308010508801059801307001050101405061114050204012615080100611330540141320015202102001640123020403301440064050650521303056613020060630710470620408304006405061922002204010610041116007001240105001100204013150142050400401540640501050156213070010310507304703010570245611014007210501400830106002003204094050101309003040140011130101213050620013615014130305152204016302001068017200810401640123020403130144005080100615801066021030713030586303059401020015001013060401614001161301200800123011310604006101440502040154050161508010017405018100230191308040082061001400302116301020221709004023420035244050251307001050261508010061274050282704296100140030613062030131670432130305331308605010346130305352401364007040306503760021020014050270013130700104101002008005130305610020080017860501880108001708059305106305111320012202001040110640240020010313040640501050461304064050140051060701065062005407210508110410540962110401505401023002001204011130106401235014001340032001014405015400840051161301505120017600130410501880105119700302020562113080672213070900104011064021010063031304050180100650461304050180100140053030700105061405061715090020065018501004002609405010506200204011100103012120037061136200110204014801304004060611550620011680800200217210505401826062001930520212212195052280105231302008405246900152005254050261002305271307070012110501465054021304035020504407020405100130616230107630205020408804005040040915080602040106400200290400401161200400240040126100020040020401313014015010148400101531101614020017130305186100020020401921303052013010002006200180130106402301310660070044050204058041056630174050813070010509208020061104016120401113050120012510134063012040146210601513040901020011304021015033030700105041405061515064006003007071003062540830700202009130305106401115073012405013130810014630115102065061162013070010501716400611813020400121940502010023021809130227030105402313014042480100604002510030625402662050010200274050540288016010065011703040612150313030541081010513012008006270474064005181004921050110302040111301101400123070302040134007010030650115021304090410010503613040904100140046110020080061513030561002008001786050181080017080930540106305401113200122020010401613070010502140506132130305462006030551630102065407130904101006508613030054110970504102002540113054012132005401365062005401461307001050152080200611662070026117211014005011816301020191908122013038104011703040612150401313081015413045010153070266305676710505864008016002009210502040106400201500200118010121301406130136130163014142040500301510001050016170321713020801200185021400519500402010510321804002001522409080200123500402410206502589140126680102713016002005287070012293004104306401000802005314050321303053362008006150346401351308101536130450101371301384040017039130100020062001601210061213010340100080200544050520022040663505770200800518207020080091306040110106130120080011170440012303070010501314050611421303051562006030516700302017808003018130305191064001052040502110300110226130305237006241308080030251307090010401401219012340504409010255801061301200800763018801091508060204010130111801012204001213405014100230151501650220015117150187003020197030102013030521106010200130201030124001606137030104401580140020406630174008020086182401914001204010613030511301121082132030144060040013015806006200113070010502102600306503610140200650413050160521302600306640507104006308801509130305105611130100050101213084010413010042120060305013200603050142130210501400561507305016407054071302040012861304010715093010100640101305016011213010060912615073050113130841041480105152160163004104176405018070183030501601963010703040201303052140502210509020052362006030524213010001022515026130305271006102870710716301004212006030501350681461220015104056370305016801077002001040054018130502659613020400121080405054011405400412620500102001340505401480160100650150040210080105013703010415001200540522006030501661008010501727010601081250940200104010614001050151113015031030126370305011380101410030621513070010501614002706517200180518620084051962005215010520124004706512140122204002501512370301054024130125124001000110262008006150271303052880401292007065130810031200701104005132801400105013313070010503414050613540505403613200540376205001020038405054039801601006501101211051313070010504140506151400100616130305761405061822006063059106400204010208030105011405012200840400513610370301430204015506200116400403006501725186101000802001930204020613030521100080620022200810401301030121070304031530413020400125130161010042006507703010830010109405010808003011130305126150131308080030142104151303051610640010517405018103001101961303052070062113080800302213070900104012604021303053130200840504130200810401100426040703130305410063051304001064003143020780108763519640030040020101013010111303051261303051310604070144008162002040115150161303051760401070182901020011307001050210900152006503405020404405055060110540640175508140514005409150101405140054011130112130301101013630450540146150540153010100630650164050202001174050181301006301967620012061502113030522307080623100080620016130700105021090015200650340504506011054055004061070646507304018100130619804008200102001020010025114050121002301315014104004016011570030204016400670900650172518613030519240120400704030650216002102001804050230403103448090101405300520010506404004001270105074050810023091501010400401601118040501230401310604009701480197014015604001050164060201050117700302018304006405061192130305206200606305216400302022846423130305246303020180200105025707001226130104011502130700105031081465041303055620060630562024006172040182024009130700105010405011100230540126100413150730501141101400152105014001663030201802001050177070012184051050110640210270500540313030543401070158010502105406240177040306181890159130305106506065116130305127030101320301430010101530051041130402400200315041303055107030406401780108130604016140096401108010111301200800124011310206501440501550361016500301500517130118561920012705402063012160040605221301235624601460540256301261450102740502870030202963013012050020031130132563340705403411050354013620150613750040381050210540392401407040306141106404213010010140543150441303054522030463001010477030104011304024002003130104130700105055056167050713050361085004091070646501030401115056112705051361040050136501421301500401561307046150166407090104001713020060630186170011931106202081062021240122304023108102024252513030526610100630650278010281508060540293063013010707002501311303053224013350100630348602540353550403610903065051378021060381304090102001101211051313070010504140506151700164005013104004078030184004005013619213015004010613070461501164070901040012130200606301364005013611421302200156130400100610166140010061171303051813070010191301052040083002006501150401213050361034050413030010915053010875061307001050714050618630106092800120054010300101011113011221700501313030514670301015130305168030104006203017130406405065011012110513130700105041405061517001610010307302040840080608619801010130403130601180180608611210806081313030514302040156170011610010301715030076118801503007611910200807020130305211307001050221405061234050204024613070010502516400612613070304027420031400286130305292401304007040306503160021020011012110513130700105041405061517001650131040040713020060630880100440619210501010410115036120401290410051370030201460010200153020401661952001780150183040194003461208015021130305221000806200232008104011130080100400402150340010044061421050510410650361204079041001400880170093040104008070306111640012121303051370301020401480110010406115130903015166140061171307201518619107061191303052062006063052161303052260021020023240124400704030650113040240020031301041307001050540063061610064017100080028130305970301054010401115401240502040136301144050540156108308065016703010171302070021865401910703040650117042130305330540470700121530041041615054076011084019201506110107040306501140060070061211040150540335054809046157050660210307130305880305409707001210405105013050240010005010370505404140613054056301616301454074050813030593001010110163010201119081212130501200135401480105115600130465011064021027050054031303054340107015801083080650630572040181083080650930204010610860265011150540127030101330010101413011515054016540171302017002650116040086700270301054031303001091504801506015405700202006130305716301020887291303001091501013011115012872131303001091501454015130600160200650115021307001050310814650413030556200606305616301020780108130170030105012040022130305330110003025041501562006030106150713030581006109707107130124003431006401410640506505213030566130106407130160020081061465094050108141113030512620060630513630614201506115121105401616171250110540181619160061505402016217030010200400540221630102023204002248010251003062540261301104015027611045402822006829405053061046003054031350140032400320010334050344008400513513015051200366001304105037801051382008001039130305407050540416200800614270505431630102044872451303054613014715048872491303055054051130408030865012604021303053130200840504130200810401602823030534014801051306040161400664017801081301200800965610130707107111308201040156213070010316002003413070010505208020061640507153081302040012940501041012005401130163012130830020013401149005050400401515016106002003611769005061181505401940150704005402089065054021405022130305238014001540241303052540502681050027304028108400602612961007008030801031100306254032130200702331060020026503421064005403521104105403661104103713040640501050388017040022006139101401630104113012901200163063012150320400241303055703010540613033011073070700254088010913045010110630540118010121301600200513707001214130501200170030202215054033001100614130305562006063056640507103001100813030598015010130305113004104121307010012140121009704004034050430105055166400200204004065171001104058703010919063051108021700501113030512630106007101313080160100105016401218011031303054703010520060630564050540780401816380400409703010510405011600103012630113200201214630205015130305161060309172006030518703010194050201030011021613030522703010232030243001010251004102001401218011031303054703010520060630564050715308130100200109803030510630302006063011630700101213010020021013613010400140101461304060120105015612501613060210301720101830119102065020463052121050221301100050101102340502040246401251400120402613020060630278060070065286401295051204030705053180150400561326140010061331303053415035130305363004104371307010012130308010020011021304051320010503130700105041600200361540506410120054076140613054081024001000650980800301104050111303051262008006150113610509020065014130305156200606305161630102017540181309014100650161307001050240026106131304120046130110401505405061002305407108265084050951320010130105401163011210346501380101490462005401581351640401171640061186106500200650197030102015080605402163062220150232540246009019052564050261061002730082850806052980163010203054031130408030865016130700105023110613405042704540510100630650620025017110008020083050196301600615050110130700105011602100650112213011040150136301144003703015801016100306250117100030118303070010501914050612020025012115020222001068023200810401130402400200313010413070010505501801006161010063065073016006150540813070010509208020061104050111530121302040012133010501416002003400401530506002003501640702040176301185091070198010204020184121124122615023100640030400402430505090200502040256130305261030054271505402830201700265013010502160020036133014106002003650540705406630105071006400306183019105090200650540106301050115090200654012301063050131301421200145004015301161050902006501301504004021300432005254801059046200540640507130305870030209215054010100640113011210801005650130121010014003065020403340107014130158010610020010740890505816940501062001101134200122160540132105054014300410415400860254016340107011761003062540183004001019700302020215054021100640223012310701003065012040500302130700105034050410023054051002001021670011006176213081402005409630540107070012111301040120405003021303001091503170041001305303015060150612080200780304018208020091001301015010112200101012405020131501014160018015130305162002171307013040105018020150270110024005401315054014801051305012006600130410507801051867003020937110101309001304010501101211051313070010504140506151400100616130305763040050900200850806094011010044040011301000412614001006113130305141501513030516600210200172401184007040306501630124002065061320130700105045060615130305680150601540715080605408163010209540101308016010065013012106040061031908124130501200561908126130350571908128130350595401013080110765013062150730501357001413010020015057030106323073020011040058600130070194040090470110405011600300105121303051364003020141301405001301550800200251163030501601730703054018104008020200650156213030531307001043015130561301756870130409130100010210613030051451156121302008405013130200810401562130305313070010430151305613017568130403020913010046601013060301401113040640501213040510405013130707107141303212001513040400202200166028150171303051870401191030020020650156213030531306001301004130212001051304090620063057130160401108130860501091060281030511401128010131306040161400146130120080015656161307071071713082010401260402130305313020084050413020081040110121105131307001050414050615301640040060070061770461086704620409163010110104003010065011130105401221304064513610041420802006115240116311020401740501813081001910600200365020130200606302161101204022150234006405061242130305252002204026150272050400402860020034004029351413080103160210301032612400100011033402008001400103440060200650351301054036213040645376150138170304039240140160080104004041640142170305040040436405044108070305454050204046801004478003048606110491306021030115021050010080620403102065061430204051704110661026096171301020408110410540961306050400540102130606101166461123061340020802006501305024005080702040312008140204046301516301420406106407130100101405810809030921050204010613030511240112400704030650132901020011004220150400330204041606558605056801071220015104086130700105094070510170011100130611230100640540131501142200110154050204016640401174007024650184050194650201303052120802005012222040236241242105050125621050204026130704165276130210008001102812412984001030400640506131213030532684533130134100630351220015104036301210537301604001000802005038302039640140140302041302042405043130305444050453001010462002501477030102048400620305014961301020501502501516130102052130409010200120025012301340037030501480400505530307001050620802006176110008020083050192002501101502011150400121307071071313082010401301004220150330204048010540516065686050573040508201509102003610130305116130106401213016002001364050141040063015801501613030517561813010005010191308401041706010213030531504103703052105020406621050713070010508701410400409405054010406451161303051210041020013613030514100080620015200810401301210505120403130305470505130700105063040710100140030620408801091304105010630401110600200362040124050134101200204014150154002200654016640010060961171301054018150191303052010822113040100609105011504012105051204031303054705051307001050610014003062040780108130410509616002003620401040501141012002040126900152006113703010141600200132040151501640063065401764050181040063054019801630102020540211309001304065011012110513130700105041405061517001631102040713040640501400840513200140098014040085065501013030511170304012211040150550138015014703040400406550154064050140016803011740020037065501813010191302080120020301215502283023305402463012554026108306502730550286140065402940130150801006131630132350183370301020403415035400502086550361700137140010400406550381362005503963014040040602061412709040421302061802004361601306144401451508010040040466301060130614740148150801006149700302040508204051130305521082040532105020405461303055570301040568201040161502801400204033001010440505176132040613010713020801200880701100240040980140061101307001050117005240012176135401340500301440115150801006116614001006117130305181307001019150400402025214064050650110121105131305021041700153110206130406405014007102110705020870301091501030111103002002050122130305133001010114630115106020010050166301171075010501863011910100400305020163014550216301221014001050232254001502410804002001050525210502611041055027612003305502863012910709010502030801031407020068032802110705503361604001000802003430550351303053615037130305381000806200392008104011012110513130700105041405061530164004006306171006401810008002913030510703010540111004121010606113405014130160020051520401161010601713020801200184050191908122013010026200126040213030531302008405041302008104016028230305340148010513060401614006640178010813012008009656101307071071113082010401101211051313070010504140506153040640010063065074018301940080703065012022002401004001370504413030551506400100630617401830194008070306501150213030531082413070010505101001400306506801076021030589080192015054010250101501140200906901617002100130340660104301006405510161006407304084006700650501096100410400703040650111501012200606301313030514130102040158030401167110006117171100018130305191003062540206130305213012210541023130100640241308016010010501617002100130370106010412505402001040610172501081602001101030915010102006063011130305121301020401340904100114304011521050161041017405018130400620015196402300200120220060630211014001022405023270410241604052518404268030401273110540282130210501400291001306130570013160820032402105016405021900304034040504180400200105703010613030571302070028656910470101013010111301603014012613030513301141054101513010064016130900130401050110200104650230109801061350620041303055218061554066130305740400408506200596306102020051113020180200650156213070010312006030420060630552130541066410507130810083010900520059703010101304105011203051263061320200514130403002002065011012110513130700105041405061553061430204077030108400312005940050310204010405011707001212130104014006405065022130305362006063054640031546505801066021030713030582140613020409615080602040107003020401160010200123020401315014205040040154007030406501101000802002302040370050622040461046003020405350140064003200107405084008400519130150512001064060120501191025128010133501400147045015700302016130806717130709001040161600200102400826505135090200440505130305668040087100200102862300200913040640501050110121105131307001050414050615206506161509012007130305820401910013010701060101112501240200104013303086120010105014405015150901200101613010171303051810013019130861200106502050850211509012002213030523801405040024911080525405026250102716020011010302862080200400299110805308011045013113070010503214050613370301034704654035801902861369001520010501260402130305313020084050413020081040110602823030534014801051306040161400664017801081301200800913040302010130100466011130707107121308201040156213070010327050048010513014010105062006063017405054081040030697030105401011014005116107201054012610703040540131302040012146130820405156150162015061174050181002301930801020800301302140210501616002001050240505403304014103081006152540665671307071078130820104017003020280800303130305410640010554050610300110761303058700691308080030101307090010401405003021307001050384030614130400620015550040630407108403065182040500309130840120010108403011160801200112210601340500301413010064015130700105016207002611721101400181303051961303052030121105410221301006402313090013040105011003021013110514130700105055146161507770404004081502040916301011010303051140501246501313050160148040040506115130406400161501720504004018901410010501630121040040506505312414240151004404006110410540761303058703010409213090013040105011003021503130406400413070010540080200650640505780150584030110010204095004010400200465011130101270130401313010001021461303005145158010502102040162401172050400401840070403065011012110513130700105041405061517001650641073030903015840509106401013034070511801607061121301013700202001413030515670020061161302107017700302040186001020019302040201502120504004022400703040650180170012100800104003130903015480150400300200615801061301200800761240010006184050980800301013030511617002020061121303051320500102001143070302040154008030865016170012200161340031200541653056161508080061713010518640020020620910011040110100301140112705041313030514600102001540501613030561764050181304003120051961303052060010200211302001710010501260402130305313020084050413020081040117001231102031304050180100650410013061550300546150207302006063081303059613030510107030401115020123020060630513613030514103005415150161304050180100105017302017002650114006007006121104015054033505480904615705066021030713030581505409601101040111201506112107040306501700302022150540314050614500405208020061680927077030108100306254098054010301111080100565016170012200110400540340070322041360140540561506101006306174006040708301006305409201505401060030021140605045121086026501320301490108515703010540165401713070461880187002005401910014003054020130305211501022106802065016170012100103033054044007013061510604001000802006302040720060630813030593066110200106605401162001104005401210904650136540144060400202200650160611027030105403160400100080200400430540514063040740060400100080200830540930501010100080200111303051230540131501413030515301161054101713010064018130801601001050154021307001050310100630650430154005080100616703010740508705049200606301013030511840010121050808006113630305146007110501513060401614001661301200800176302050181304050180100105019301201080100565011010063065023010503200370501413010513040410505630106002003507130170784050519130170030106303051113070751263020060630513630304064050105014630205015130405018010010501630117107030406501101211051313070010504140506153016400305204071406130204086301916301420401070501170020200121303051364050141080703015700302016801630102017540181306001602006501615080100612405034014200710050120405405061002307150810140010918420401013040640011801010063012200213306301141600200400501015130101613301710020010218801904100196120502040502113090130810501630502106600200313030545080601517001631107133051861303059600210200102401114007040306501260402130305313020084050413020081040110602823030534014801051306040161400664017801081301200800930510130403020116305121308404136561470301015203016300101017100410200156213070010360030100204048040502040520180200664050204074064050861303059240110400704030650112901020016003010021306040161400361301200800421308100569062002040680186050790620020408613010591304090102001107030402401380104130604016140056130120080066107030407401840060200650964011040070305065011613030512703010401327001400141309046200113040210140020403502141307001050520802006164050710023088070011006196213010140200540116305401270700121313010401700302022150532015040044001400105405200603054062130210501400780100130618123002009105465050110802080200611164006306112616040010005010131303051461303051510005010168401041770402130700105032080200614150530506102705006171003082301096200210103040027050050115004012304005026501324011470403040040156700302016703010171303051810601020018014050612213030536200606305461305062005130700106150730501761303058240194007040306501060021020011064021034070204033010640413034070570030206106407130400100012508640509106405010213030511610704030129013081131020802001470505156010101400516610460030517350140018400320010194050204008400512113015051200226001304105023801051241241257003020261308067271307090010401613070010502208020061362070026142110140050151630102061908127130501200860013041050980105110621060111304090102001401219012340504409010255130162170050713030586405091064050102130305111054121003025136130305142203015300101016703010401619107061213030536191070614130200606305801506400630104004078015040187030109200606305011013023011000111304021050113030523013130541301556667030107130305880301040062030913040640506501101211051313070010504140506151506405071761320408616301420409704611030204011801870020065401261501340070806114640090808611564001000802006116801501713030518100080620019200810401150401214061302040361630142040480400505561303056705045713200870900104018014001006121303053401416040097040040561604070616619107061761508010061860010200193015080602040106405011106100123008135080605148016301020155401613040803086501150240010020080061313030541002008001586050161080017080573020408610100080200930204010613030511300206200128301040170130402130100010236130300514541307071075130820104012604021303053130200840504130200810401101211051313050210417001593010040040613050601107809301006550830704400550961890611013070451161400100611213030513200220401430115400600200365501640501721064005501863011910600200350201301211502210140010502328018300524402105052564003020268464271303052864050291040070430846431130305328010043390030403450806053530136400420010373070303813030539108450040270441700302042140200118017001223010005031330550480140602065505240702006806167801200100655082407020068096130054611070061011704301240502040136110010406114130300514515303051670030204017106709001825194050202015021106405022213030523613010640241301600200256405026104001002713030528103703029305304060020031161020071005240503810500430151084006026640507104006203087030109130305108056118602512150131303051421301000151402005161004173703018130305193020302030010102110042001161303011010210106050340504130408108005405065060110204071508120040024004098070440055010500301500511130052001261303011010133040141088005015616301400161301840130171330550181501910800705020840305502164050221040010023130305241037030253052640502714020052810602001170030202140200313030541507305513010204066405071040010081303059102080200107050511601010140051261070900401330514132001116020506550240503810500460205040040540506634204076301840080012006550930400800101006110703010550116150122050131630140014840301580150801006116703010550178400101810800705019840305502080150211200800705022302040238014006550241362005502561400402006126210502040272407020068028615029400701602004004030806040020080070313053216002001013010508010027006360705440505607040056640507100420087030105920071005108030105080100114040112140015131303051430115102030801613030517508060118130119401201400151216010370302213030523270424706020025106020011620110502405031002001054704004005705061402007200251862006030598081602501511086012111300410411267070025015113707001211450202001180700110040026213031402005146201505701100256140200517600602001117042130305330540470700121530041041680140010061713030581019163010101301302121113070010501214050611310041415073015130305161301020401770020200112006063012104003063703010204041101400513030564021050140073010600200381307001050914050611067040306111130901308140012405013130900304014001413010151305062001664050171064050182130305196107040302090130812110460030522350140023400320010244050254008400512613015051200276001304105028801051291241301004311860503213030533305342007100111303052130700103600301004602705604016140066405071301200800840500305509104005073010130140200112105055012304007030406113150141303051570301016203017300101018100410200196150201303052110042218192322030243001010257030401126040213030531302008405041302008104011012110513130502104304054008200406401718308130305930201040024001000101140200800140012176132013613030514100080620015200810401100428020080031303054302040540083056110401502040761303058406301204096561013070301040111308201040161700216020031305021041301052708006176135784105001880304019502140010251161900520051213030513703010514702008015270800516617020080017705018270800198030401205021512125221001304002340502415021202557001261001302750215010281307030104029130600210200115024004006213130104130305580100469010004007100306220401861509400900152001107030105118015012130305135614406301515632200103016690130817130406405010501861304030110205192704207003020219005102001706010220025315049301002050515061024305717613186001020019405020501040603040140011406405014001210015040014001340011021400147012414001560110814001650010214001761220120011101211051313070010504140506151006161508060204076153010204085012001961006451101305016011613083120051270301051134030110205141000301900153004141630117107090650181303051940120140200540216108070306502240123106402006501101211051313070010504208020061530164007040070020061713010640815040194003765010401112050400401240070403065011012110513130700105041405061540062616130107130305840062595090681107060101120022040121501310208020014705020401560101014002040166104600302040173501400184003200101940502040084005121130150512002210640233012410600710251303052613050210276130700105028140506129407053050620054031106070103221050331104105403462110401505403510100630650362002501371400404038305013950620050140611000802004130501421502043703010442030453001010461004102001101211051313050210431545130208012006613040501801001050761100030900870301054096401615401035504011621060121304090102001800200221303053405003014303070010505208020061614020014007506886140200140093069102015040011140084001270241050134050147021450115901308105016806001504001540117803040181010005010119705054012040502113030522300101012361001030241460030125130501200264070271304160030105016800200221303053405003014303070010505140506161402001400780200706508170091001304001020021112501230101370504201421040011580101613035051765035010184050198020070650206704030521650350102240502313010064024130900130401050164020010402125040037040200150413040010518905040068020035178050806005018801059405010200685011169041004001222030401400132002511462040025156201504001640501713010015040010501260402130305313020084050413020081040140021200202130700103210454130403020565667030107203083001010910041020011307001026003010031304064004613081015530102306204061102040718605087040301965610130707107111301000806200113070010260030100360270460401614005921100164017400200108801096003010010130200840501140501240080164001380120037014130290200155301640020010174050188096200150040212003703130290200420200400105051050100302613010207130290200860016010196561086010200163010042710501313060401104130450101524090121086637030501517200364018303030010191050961704004501103054011707001212130607010200163030700105022080200613220025404707001253550406621060713040901020011700121301006138010514604070615305163005101001765108400806200140020142400401073405041301000109005203040161301001078010518806396013054010600750400511113040121014002040135070010200110013061223010310044311050155070010200680207002501761003050184019507301013030511405012300101013150141504004015130116801017800301301820210200161001306123063205014506040705166507010030740182050198010101908121113060701020018017040020080612270050254038060810014301908125130607010200115021307001050310600300650420025405213010001026305407401000802005861320092021020016160200612100630204031641352006152561505770301040827001400913090462001130121070304034050460030100565661303091080713060021020015621307001033703043020405130120080067003063017801403006188010940501202511062030611140501220071005136130105141305030062001114050400402405038010413060401105150610600608072204081301200800980170011051011400406200114021405040040340504801051306040110615071020060308703010204098190211080604007030406501120108012507001020016301004220700231307001050440505100230540680201080720150850201020011630402102006131301041309102005806100540690180140076101002800508401910406020550101301111302008405012150513220301430010101529010200114050257001313070010456535046302040710509020020408405094650101302008405011150121302018020065013130114801015100020062001140502570013130700104102007100204051506140602072007100582309303611080101170400612650806200118040502104030010340202147030105635561541071405081040300109606101107030101190200191240604001001040110030256313070010415030012040563703063020407130604070861301290120096130180104510100301030111401124003002020065011003025631307001047002001204058010613012008007613010584008300200650161010063065024040010357001413067045150620504004079014100105011003021504013130703040470504513030566150401715018507001020094021050180304012200165373080546010104005636561307001050720802006186100103095700110130700101120504004012251340047065011003021200110400403150415302050105130305664050740701081692008405011080405011103102001213020180200105013405014707001215130104011003025631302008405041405015256670301057400620305018806040070304065094050105611801012800301301340210501100302120011040040315041902854016204061000620017804050810140010204092401101040701050126040213030531302008405041302008104015026130100304036401410609200650140121504003250704054200220524035065016150230203301320014100010200540405065016150202307030103600301004709001040180604002902002610290200650121101020402130408040065011502200220356417030405240506800307705086021030596561017030401121304054004105018030124009703130402070021050164612306340045504801045506501630124009703203048301805405105015401724030011032504010401405017023030600102003407040044150010401704003022704370030204750104011502201503700144013056250105011700124004003010370301054110140050151001306160191020071301630105016050604052703010313060020096401150122306501540320401423065015190812613035057170081100604061930109020040505110409028105016301210604005005065018091802703010513911080440505200220665407501104065018019028400220130902001040180400501461240902810501150211000461370301048200500204051506205040040790120040105018015093010061265403104006001804006501150230131046003050514130106405703010204064060201050161000461270301038200441001420010501803040122001651310013061415015308001306501230250850340820064065011001302166095403130404110030530204063063017400602865011001306126028150320025014150152050169001304010501801100230227080054037030104270800510400301640650110013061210136103050141501520501691100010501706010220025013150410243050156001020016405051715018130109200250110200110002650120700302021307070012363070700124130160020055120220063067201506181070304065011502303040400100105037050442002540535014006130507010401180503703021304060304010503201304032004010501401230204032010804400820406501140230204032040012480105540042006065011502302040380105430401540060010200650114023020403110401504703010501521301000561301071064081301001014059150103020401130401124008204065016030540211054032700302047701040114023054033002002011048030101400615230020020110540615072015061890141001050110640210203008037050460110056104706506130107130603648803019106040091070650160013007052129012005403400200510054047003055610046201506171047065081301091306036410654011601304065018070020050102640503102070024257001513084105006605060400420035407405088105009301101070304065016140301023054031504201041054040010501140240060130540313200148054054050640100020040740500100306501140270504540313010001024805405102040026501801902200230820403200220463015400205062090182713086400817009501410106561140209006401306301215034004120020545070405540506200257305027008213070200110965610407004064018013400215220025380370305440505130901308105016150210201431307001050420802006153010730100650206212901200540730401860407061913070020200106101006306501115051230403506501640125631301470020200530307013040105012604021303053130200840504130200810401130811005140121308110051640121420012034014130811005120700240025004064367014421301001200705180140125004064380153020614213091100010516140127014380153020614220010859020090200670140010516060020051270301054036027043010130565004015010561101407860640188040020010913010064010801051119020070101220150540131703171450600301560016105180530240020010330540440505211001051631102802007065036405041002305561304064008020140062130600191051807090612200606303200254048016007005405160070056200121051150123040139100010413040110584030501204068010713031200105130503703051230204034007002020054640070105151700506617010518017001250806003801041309062005508060056618451684030400213012008003613032130480420400154205661845180106401070026100704003130611007051615030010040021306040110380510410640107005615105161304030202703010312003110514610840305702003006200220780610054081064010700950040150105110640107002400702008006503301440060080105405020406600180105180140124050316400104204001255210401050568010100630751640811002001061920400121051150102900505040031501044030110058601210518056280103701030054200180010518010235053701301051100968051241501051203061261300200261355010101424015160308040040680107130110140813060013010516140124050316400104204001255230040130568010100630710183010400501093040101640011204001210516304021420034014860121051101230104005132015040041301001800105140121100050103705010440130105153020270501036030915010516007006528010003065150040213038104039030651500402801036030603054700200705156027065067002001701780160302065115052201503301410640505213030561307090010401630121088003703010497014051304060201050180301060230531301064045155015840104016301297014031301440505100060301050130121012030531301413060019106501803012110060403240144002902006501640123013400290200650115052301006303200606304202001040164012563210063043001702005100301030164017400640506501630122100630320155041003010301540164007002020065014005071030240503200241307013040105016306240010063037030105014270800513011001610301301600700501240505321301040105015004023010097050134050541306400105018040124050204034050418457050568137105016150523040070020200533030404001001050161501230507030403150440502040540207002105016150523086020053703010413020180200105016150523081003130101001050180602822160403200220413070900104012604021303053130200840504130200810401601302601103032707001246110070130302018020010502301060330544180701405021303053700104130407012003140070200321304030110205361302006841301055801061064072015084010041200596004060105010130801160505180190220029022001334010301115054021020065053270104116502001521002001021110640240020650313060401104201304053016400206502130321303201307055016301210601303840104048401040111029020065054021064313040320040430651080400410640507707001281064010700922501051690182400526160010516809010304005213040010340066105164050280103130120080043401070155004061050310512030121505133090010150717052303030061014004706240503142200464006301016340702801670101150213015060150360030100453067011170012406053130300200437670116170012406053130600102004405067011130121304090301050113070010502540370301049030140054054110406501613070010502801031406130540481005407030640130306011030261304082006401613070010502109041006503210640413041050161307001050254034050470700125200254064030080100650115027070012320025404100010200540140650161307001050254033080200635404818090065011301270301031761354041654016403020400711040150540880150540910001020010403064010501804050212400100010362001104700302058016301020654071307014650161307001050254033014015014005404670545405200170650161307001050254032300514140054041001104065016130700105025403703010490301400540510818090065011630102028010335014004402020040650180401302130700105032080200614100230205405970105017050213010401050367050413030040130570710501110940702203031402001044050540515061046003073505850701040120301215013600301005015404404015107030406501803012110060403220024130403001200100561304010001200261501730100142006501703010215035024304600102001540505406640175085082406026100105018070020054021060068006136103070261484001051030110061610640540713070010810670465011064021060020036503405041301341500560200170162015054071301085090291068080065016001300705212901200540340020051005404700305570030206130106407130700108201506191067046501260402130305313020084050413020081040115012120060305013506814130105100640561507150700200810064020940501010023011150121014001054013707001214130104011001302101310064041501053020406507001020074021050115021702461313030546140010065561910706501101000802002302040340504700506220405610660020020406130107133084060401091501013301113030512170011331101430115106600200163061720504004018400703040650110013022002315010447064005100640106301030176505120011803040210745403470110104130158020012001161501022030401347064005404304001000802005305406370306171901270540880109170015054010616040010003006111500101254012619020061136160400202200611416040020212001150040215010347064005404351200115004021501031703050400430540561602002004006305407160200120011801003040021604001000802006132002204041505520150610008012001110200603021306040110370301020404404200120011610404420402214061303625010504610370305302040635014007610370308302040915051200114012302040330144002003650530305661001200116100426003010020403196120011130402400200613201080460030100513030566027076040161400892110011637030213010040200380105504506200156370306130300406076020013116130305215024002040340504130120080055021400115004021070104204038010514610600200320405160020013116130305237030330204041301200800526019113040060302061240505136023014803131110013025068320024150540570906501066140027061740508304091074510401305116630451213011360060120011640202006124020200132021200116100130612301340070020050413054002040563016400700200507641863019606170110630111101000650012610706100136506020011610042180030613205001020014630154007461309001304010507130188003013011404012600910101400540311000200100614801460030615501200168030407103461830540940501046501113030512150901200116100130250683200243015400700200670301071301200800840509130201802001050104101200111502021503400700200540410800306157021420663017103046181301980132001102080120011200221100080200330104630613041056304050646003072104001084064050196303040640501050106130406405014001163011240074131309001304010501413011540021200112604021303053130200840504130200810401100302168103130104150551604004070650802007405081303509801001306110150111604070501121002001501137032111054102130103130200300448014050152566305075030020020822002501918411615052400701301033442002501540161400600700790182586301963041161505220150310100630460801055015703010613030573009911615012900505013150430505400100630613015060761303508703010913030510207002116150522015032003130440505130150606107067006507220031308405091303501080714654011200510011615054029005061320401490050504004051506305071027050081303059184116150123040605013130604011048063450151540301040068200601730041041863005211615012205013501007044405051540100170463030604070780405081060400407091301501010341130512300512113200904116150123013504200104130020051200104624050780108130120080091401012001411254012200254013200300411615012405013130901308650464050154650670030207205018920011010091004411615012900505013150430505507037613030578010813012008009630501050703751152002116150123040136040705014130541051405016257804050810640509220025108030111106001801226006011363011420051001161501240501313040603040650464050151301001609650680405071603040880163010209400820061102003004116140121301001609650380201506143035504058921161502306316040010014061470301051309200101005630160100105015407401108100041001130508040050540280105364050410702008005705067002020072002581060302059707001211090704116150213040601343303054803015400470616407071303058184116150523040131001404702451303056104706572014618102065065097030105103024111003021504013147064200210563016130020020725818411100302150103301414030205302040680020017630182003004111003021501033050410310200501054050613030571848630509134104050114650512403040084111301223011000134050413030556200601301400566405071070908130305962006063051080150113051250120013355040146001304105015801051161241184001021700132001614401510670465068060107030406507405081800708095019020011061100301170441110030215031420010411002001025401640067046507140810370309305102002101114041170130402130100010238030141090052005703010610001025718411130124050312004008001044050520060630680150571060302084050921050101041051164050126003080513200904113010703040215031004412301000615200601301400620025407618198240193041054010618901011203012300101013704411260402130305313020084050413020081040110121105131304074030110040213030103031301410030103011509080521631501009044050551003010301116274370301054620040030513010020015064002004001030111501260503010010370301020410063015500100103011150250130010531303010304510513004669101761100640810010301115023020380104130505120056028169610301161700202002160403200220464002400305130105640024001030112002213040300200100361304010002002430151305613017568801400600700596201030116190220027030103401410100630650561532005406532001734010301167002005010261304020700210503163010413050704055640530540610030103011150230410501315020130146381040116970140127001310009054670700121513010401110640240020038031301200800461303213056201504006130321307205001021840510301115012120060305013130102040420060630153001541670301020407204018120060305019130101080200706501120060630118070901028020070650313020060630480160070050155160070016621030118020108024004001006503150420802004004051064016103703071306304150830010211130604011024050809200325420150567045640807063011150257005340070020200548040505300110614006007007130108200259602103011150220022031070304041502054001006406145010740508500305001091303010301065090805116500305005126911080513405014130700105015407020166130305171010042001813030103019613050512002070304021150223050234008906524804001225703010204026801100200106127401284001060200294050301301002001503170304032150336010206503440502040354020080010366160020065037108002002650388010391301200800401024001000650414050428080030431303054461600200650451010014003065046801047602103048130305498011002001061504015140010602005240505536110010406154130903015556140061561307201557611002008006158130305591002008001608605016164016240010044061633015080602040644050656001020066400346567705046813030569567060010200171617090040721320017361604001000802006174130305751507613030577100080620078200810401260402130305313020084050413020081040110121105131304045002001100402801507002001620022028020220016500101220280952001613020037280153200163012400405050340060400205002001630200220280190220018017001250100200380104130501100620018070030202106401070031064047060102001703010213020180200105031000102004106010200170020050102640503600301004004681041163703040023053401301440404641162501050230056411640544002305340040510411500402109407031504171041203012150532015043011014005015705010411601200510052907064111505280202003610042001801004003022010803100420015004021004003032010804100420015004025090020015004027026036260200150040214220036160400202200180100130215035700141301560820061065002001150257001313014100630513023002001601903010526010020016401214200120340146010020013012400210010363014400700200130618523030230020017030105124006070537030020016401237030501319081241305012005130164030110205764018370305019704400540101301118040050512303070010501320802006114301060400101005015130700105016164006117130204001218610741419130700105020140506121110401501226301231020040012241307001050251640061261302040012276130406405065028630101006302913070010503080103110030625403240200800336130201802006503440170013512001436130305372570013840500301392070030204010800304113030542405043103001104461054104540504610300110476401481070304049350645020022051130152565364015451055130156700202001057303023002001203012613010040200161303010302170031422001613090282170013160802001150512301841031302022001507001020012303023002001304050230011034050204041505104001004406167104001600200120302508060324014206024005200510505113012190812313010401050180102350140031040060110306501705021304032004010501401260302020403801046010020011001306123040350204405051304090301050163040250203509704041304060201050162050125060068003407041306001108001050162050125020700232106404130410501840010214001501313010100105018040124005080705403300801705413030018070105018040123054037050413040070020200554070200800105012015054028402003406040050802005180200400240503100606200512302102001043203041402001054050540615071064001089088019405030020051203012230330141060018065051301600200512030121505340070020200518040502300110370020200516401210700202006503130141505103001106130305756815309130400100610106153011130401000802005126040213030531302008405041302008104013012110060403210640413010010140516301211006040321305080604130306140511108602213015060150313050450340705709001405123010210014200105037030104150550606106250150512302102001043130150601504301080320051401405110601302110150310640413010010140518017001222001003130290200166006080213010040200163407021303004060361301004020011010063021301506015031064010700411050513040802001203012301367200113010220022031064010700413040604001002001105021213015060150310640107004240151004406616002001230213015060150370301045080605529010200516306213010010340701700102005130124008200203254306015020530400703306251150270301050133407054610020015051801700121002001501538014002704100200150515004021503703010501421015051203012230340082650413070133051640070020065021301600200516365210640107003501800200511301022002513501900200516636521064010700321602005140090050215031080703042515801100200512030121700132301000400413040020011001016100103024050320011001690050215053130802001100161304008040021306011003213060110011301022002203106401070041304060110018030129041003630149030101630205022070023640063010150040270052313010415305510400409101163010230203801630101500402163010330204801630101110860221301506015031504104002002056041011304021020350980544050540501061040501015004022015037030100548060030100580606101803703024050531307631050413070020200561301505001011301060270030203210014200470301051506108101071304064001012604021303053130200840504130200810401530214001037030104130150601505810506405071304520083040910205010300101011140700206200111501260030100501313015060150440505509805614030013750240030105880370305015960401070110290102001115012541050153130602103041401530012020016614017208062001115012170400450133030201802001050460301603056110003013016660701020011150213012200120031030020026504405052016062015074071351820180620011701050121030020023251470214513030561080320065051740080310200111068065022130507002003610600180650410640152015063002005740604009102001161097040650213097014037030104825540602010501661040010401761601020011150401250970402040330635413030553016502001047405020408371109630110300206200111501250600180340504200250151064016702660171004092001020011806100154021303053300200470030205130106406630100154075080020058660200620011637154022401390220061435055682001020011404002010105028010513703010413012001102053016102006507801051830040601963011074052001020011641501052703010540390030130514670030304005100968051640070030103011610918027030105403215010544050580800566120612720150400810061200102001110061200102002405038080054100420065154001004102001161060100650280105132016014201505407135167503210301170105012801051340060401046030602103011610968027030105403630415044060030465051700162001104005407860240054083063061940505006200116170012200110400350040420011040055070104016640302017202102001170130105402500101236050460460080020056160400220010066830617160162008405098080051066010015401120025401230020012113956200111502570013201504302040537110662015076070102040840300206200111501250850350730501470301020513010020015064005071030118019022002308204032002204630154009706405054071500401816920806200116170020200216040320022042202005561901030116405021303010303801603443055660285630103017961030111502563011031082650413070133055610700200650662001105407106401850010010301150850260030100501540363004450141602005405617001630010501724305018140500130540940024103011150257005340070020200548040505300110614006007007130108200259602103011640124003001106503130141505103001106130305715081303059201501070301040111820104011104600302405031030011048010520084040056613090013040105071704830540970700121101301040112604021303053130200840504130200810401613040200603014002702008011801307019080140027090801161305013002001400250300200118013080120010014002802001001180130403010010140027002020011707002001216350700200111504012400670465033061100701801700121305036403940604001617001213060401103802003400161700121303213035060804001617001213020060303110040040013011021064031330400130106402130809030164012142001203401410640513080903016103021064010700330304020700210501130402505302031301630105015004025040027054031301600200105012070030202508070303213040320040105016103021064010700330304020700210501130402506003010020403405044011054051050180370305015280103100200120044020105011301021004200340703064018010042005012805070403130100142006501610302106401070033030402070021050113040250370303130120080042080140011181011026140614001163703050128010513200616010430014060014005616010010501204064011078020014001161030210640107003303040207002105011509301006121301034014205040040525640020700265011509301006121301039003047001055003015006300702130129003010303630141010005010540506130305211505124002004010323002002004201301009020012015052340130400390802001610302106401070033030402070021050157001210640330141050910065016301210670050330540480107040070020065016103021064010700330304020700210501570012106403130809030434070501204056130163010501801502201503302040420104580201046501610302106401070033030402070021050115021304040010010503801049003013056701065016806120524040131030040056501203061261300200261355010101424015205040040640070403065011501220700302035037104130408605010501610302106401070033030402070021050120306126400404007061310030103014150204054032004065016103021064010700330304020700210501617001210010303305404120020706153016102002070650161030210640107003303040207002105018021102841050032704541064050650126040213030531302008405041302008104017040210400601103065017050213050213130709001040113070010254038010544060040030806501203012601070304065015004022030136010703040650113040250370303130120080044051411613032130216400141166003010050120402176131163703050125064020403602140011637030501213030103033021601163703050121305051200340701300116250105012806100204036027014300414116370305012602001313651311615073050124050313040709020014004401105500313113050600200322538214650214001163501400213080180111502106403130809030420150540101001400111064021050806003801041309062005804001400650618061311680400840021306040110380201504004126121166010200400213032130380201504004602001211150235504032015040044020090141130309110001050240121130125001050280105131810012113012107006100650380105142200415630163002001211130128401040136100060110011371102680110011150540220150613301410200365058601211620700261221101400501320700121162030230010103189010501542040012118070061006128030503507104204041301570700121115023030404001001050340801711841101002617050121162061702214002001211620160124511001130121060407065038010514301000615630162070012113711024050320022047091105860121120022130604016140036130120080046401521050540161302008405073018104030206509405051060091211106402101006403130200684613040301102055908016301710400203040650813019405010170050113051213020084050136100130149061211700302021301064031308100480405053001106140060070071301082002594012111501215070020050120403707001214100200102151064061050900200713040200108401910044040010104151161010063012130201802001310114301040050101520504001640020012112604021303053130200840504130200810401613050177014002100020010011613050130091400250300911613060128140026028118013060121001400260210011801304042200140021402001110640240020038031302001380514004002705121302001480511003062210640107003613805112901200512600130070511010063065021150133040200464650480105130818020051117001220501370900140145060020051100130612400302031700142020055600160200518015040125103732005461845180170012540321306015200515302140012038410500440660101170025014153200254213061451304010046069610117005221301038020070650415055910001018010030253033020413010515064007201016154102021301032002204804006003001018012001521301105313020220010180207002267090101500402142200310607010180830020028050141018010013021501320022040413017030101801600700521303053502013041301600200556130163010115028010370030204307022005530405061060030010111504004021300436003010014140513060401106250151120080702604020513806061511611000930023010305136160020034800815116130120080022704370030204481511160020032405051340110514640200701511613032130212006015114040017012302040363015070140204018017001231104003130914054130202200101106402104007002020031301506015044015607010162200740021303810403304050410200101801401240503910001016150020021308101531304501011801502130381040351041304016101614012405036001804401001405200256650510713050806087050913056101801502130350535104130401610110601306502027050313060170541101505402006015118010402150400340504700202001511130102200220340504005151115040121504003405070020044050510600300151120150540210640310200650514304051030250061613017703001058169800815112604021303053130200840504130200810401702602640063010115023110531301704010164012104200102033070305410720101162107002020038040050807054130700202001011401240503160400100050101801504002305340090410164012703010203130141072010161401240503311020410607010165621060030010180150400270505340030510120301215051340070020200518040502300110370020200518010290880340202004051402008067052409520051211041026080200512020014022200200511004003021301506015034014120802005140502110330010104600301005140502509805360030100548010042005150040213060210303106020051500402140140053801100220051500402170013300110415030020051203012304013101008004401514020051803010509002002130150601503130104970140511501290225013130401104902115004023001001005013130120080043001001180150240050128010513821167050212610080021167104006501265060030116841101002100030211680120552612114040017012302040363015070140204018017001231104003130901600511064021080200313040200104405051600105161405261210516901824005262501051302030214020010340505404106401070053001506101000501051636521064010700340608020051800182052406040023002005166365210640107003703010514100022005140020051005121004002005116301020254031302080200541308032005126040213030531302008405041302008104011700121303004060320620040016170012130503640315020420040016170012130321303601020040016170012130703001200370930400161700121306863003830020040016170012130281200360320040016170012130508066037634001617001213040610645360103040012110270050231004003040016170012130908803503002004001617001213060401103203009400161700121303810403607020040016170012130350531730804001703040400250806034014188002004001803012110060403213060050601130361200213020506016130301030217001370607060161309028217001340050806011505230100630320060630420200104017001021006537050447001051307020030064020105014091702500403140105016401290182204032403506501630100422001532130180100413040210501640125637030104130100010252800501050164012563210063043001091505200310401801105024007005265011502563130147002020053030701304010501304050230011034050204041505106040010010401640124003001106503130141505103001106130305720028130701304010501260402130305313020084050413020081040117001213060401103150809200400161700121302061202315040050020040016170012130281200380320040016170012130100262003270500200400170304040025080603401410044040056160020040011012110513130150601504401510002002062200220713020200104011307001026003010020380606120480704302018010211039062005440153001106200202201203012230340020700265042130410501615027030102040330818090010501202001401220140021050110703040650240134008070306501150213012200120033080104507010401615021308031200330801043810401109030650512106403130410501640125403705051421000110210501640121420012034014106405130410501500402401314200120440151064061304105011064023013400403020450806053050806063001010176130140200810640107009303051260402130305313020084050413020081040161030230304098080105011307001050217001312040013061470301051305016061060400680650161700122013065403164675065405106006020065011301210900503163010204150540540270650065013010640270900104011064021010064031305016043020025130701304010501203012150320400124130803120053080106603105016401214200120340146031050120400122402001006401610302106401070033030402070021050113070010502102070026503210640413041050164012102070023254130152030640704004715001040117001240040030103703010541101400501510013061601910200713016301050120301223032001504703010510030625406401720150618102060265012030121505403705042002540510640107006304083626501500402150540330901306413038104015004021010013035700141307001052050400406257400207002650120301215032040012413012200120053080106703010105016401214200120340147030106501204001224020010064011030054521304010020026501150213012200120033080104507010401703010213012001102031050900200650140070200802801036365540450800200551305070104011060100650240503200810100440600400640160040014052406020368010470030205803010400501806061304040050180606501640713524050340060501040170105012103002002325141304010020026501150213070010503132004061420150615405061307001050714050618108008206501617001240200613254041040010001407650161700121501003026131301041530540515010030261680205105016170012200165403100130614150556301106308001306501640121200603061370301054048180900105018013010640213070010503140506144050513020801200610800820650170301021301200110203105090020065015302500623130208012004401520150616108070306501260402130305313020084050413020081040117001213060401103150300100400161700504002302002513681004001617001213012008003404400161301004002401380105146400600304001617005040023020025136810040011012110513130150601504150205201486130107200220820481980403011001051801401240503164001042040012552104010505180606802108160238601214106010200116105010030221301031530544060200620011614012405031640010420400125562001106900520051806068021047063500262001161090301026070102001115052201503801041530554060200620011150529005031504305051086200123010215032002542015052562901020011803012110060403213030080100161303010302640136601001613010040200217001314006010013040020020250292100137050492100180401230540330141064050650161700121002001037030105404130100200150530161060346501230213070010503208020061410207002650161303052170304032401410670650180230020054022707001231301040113012130700105031405061467040306151309013081400630540713200810001020094040506501260402130305313020084050413020081040161306040110270014003130220063161301064021304067064163001542640300564110040030219081231301600464113050120027001400313061006411700254037030105141007064165402703010340141080703065052130406405010506300564164012501004061340505404130151506106405061721303058130707107913084010411307001023053403020413060401614005613012008006613030577030108203093001010103005104115021307001050380400506141304064050105056130406405014006500407304081040062619803054010707001211355040126305401370700121413082001010011502130700105031405061467040306151309013081400630540735014008400320010940501040084005111130150512001270030201313080671413020210200115022930032002204303004104115052563102410461070104165621301000806200313064641700621307020030031304031041807013023040131020010415302140012038410500413035064180200706502650040641230213070010503208020061480105400207001021613030524050362001105404408109123025631002001504403104180102306834088069001260402130305313020084050413020081040161306040110261309120010016401214200120340141309120010011305034021305001100211502203035080604304015703010516818090018030105090020021301506015034040460030100160030100240503401104418010011060020032405032105041309030256130400200110211505270301032003705430100142001106402400230103130602001102001804012305340504100655630165019020016130604011027001400313020037016130120080027001400313090470115052301006303809030164012563213057301150540210201046503201041161201042201041180405302130201802001050314053054042006104112604021303053130200840504130200810401602821604032002204130170301011307001026003010038060610161307001021004200380541016130700102160020033130402007010180370305210005001103186101605010020010202803013400506010113012401330011041303055150561070304071303520086401910600801016501060200202303010602001018070020200215035080704004130700202001016010700202002405031060030010161040035025121301300100101130700102109030103130501200413020220010150040230131040640048010515630161081010110042180308340504400720101670020200216040320025480903010123024006500200650313081015413045010116130160020052600102003612100101150257001330801041309088051301630101908802122001510403640660101260402130305313020084050413020081040153021400120384105004130100013001051636521064010700360013007051701403052501902514009030102501200138140105140060100102405037010504150105130106023054039701404130154050680020010701301210604050363014101000501054050636701636521064010700350170405130607010512200180010518010235053701301051301240060407038010514301100010518010512701050331200105180105126020020034020080670516120612240680067051650401200100240908068051672001210240250065005118030121050900200650313010413012305201080660030100400161301021306040110320108042008070400161301021303213032010804509024001613010213012008003201080460984001807002020021504013150400440700202001306040027030105403240901092001130124050340063010462080200180107070025213030531307070012413012022001150213010501311012540150040215037030105014860125401260402130305313020084050413020081040161308032001630101302703002001613030080702613064002001613030103021700131060200153028010370030204100604053070010683200113040240020032010804807030520022062701411200402700140031307040141130400102304031060030100440500305158010613023014165004064213070010503312614130906002005213061416802007065027001031301640014113070010502910006138010413023014180120500200612801051313080601418090227030105403200220460695707001211502200220330213040200901418014012130150601503170014401512400301562002578012020040586507040598010100630102002101112020040501614012170013401412400301558010042006703010572007100588010100630920021010151505012030122303301440020200406505130104001040163012400818006503703010497014051304060201050164001203065021304002001500312030143040116400826502130401303821434011203012170013420400413012008005420164201163110220022036130403020490801590801163101021064010700323550404106401070051040070020200613015060150761501083059130700202001011010063021013301040050104100440400530810140010180106401070023013107070024707001255184163012106500100365001100541841101211040051313050806041304094010505112003701021301032002204200180010554020080010518014600301028010370214101614600301023504001012604021303053130200840504130200810401301211006040325700141302304161504002830325700141302304166130426401363041301004260030100501313015060150480105202411108602215033050410100420057030105618411010063021530204003401301430241111086022150330404102005518411304025037030330547010501050163060150126300804001050165410501521305034105018030121100400840313070100251640121420012034014130701002518020220010025116219701403801041064057001064060100025110400104012700134010020025116240602010501370014404002002515004022015034050413070010505140506166400619061721309022008640061906192130402008405116301020219081231304010405051613070010502208020061321101400501454051908126130403001405170301054025012003406904512604021303053130200840504130200810401613030040602680081511613010040200217001340030151161305051200217001333015116130301030217001310100030015116130604011026401325015116130120080026401398151165080602640136061511801305405128036200513640010061511100421803083405047201511610042600123405044601511207002400250040643291000615111700215027050031300100151180100130230540320060630413030555011005613030576601001015118020700265280701002006513804404404703010540520025406270050254078060615116301210600180370100215112604021303053130200840504130200810401613030103021700131010003001016130505120021700134003301016401260030100313070020200461301505001011502607010204033030040010180140124050317091046140010010169041002213086050101806050106020052303010602001016140124050326003046160400100050101620700222130860501018060501060200523030706020010164012101000501037050544013055170016400200410115027030105013303054101615023050133030160020054613016301018015070020040020402501200134003090010130121090301513130141301300100101130700102207002364006301016601035025121301400100101130700102106400103401305410400720101640123018437050454405055070405640037101130121240010001103635420025513017030101630606802102008001012604021303053130200840504130200810401613080081016130301030217001360310140126470203200220464015100301016303016002005260010200330204405051301630101630606802107091020320022048040020080010113040210342031040010401480161016634202800130138054101663420270110301380110005010180140121301040010403803014400100520016140121306011030380301440050520016140122507040532002204808450012604021303053130200840504130200810401130402503002008330204904200201668007050127050203672002011307001021501008003900520020162008070501230203700202002018015024070313070602004106020011150240703130706020041060200118017001280200100040038015090216130102200220380120010002126040213030531302008405041302008104016130400105026130710400650169620026010501050165700121302304313014010501301004260030100501313015060150480105186050640010061040150040220044501531608030460180301050113012130700105031405061467040306151309013081400680305407132008100010200940405065018040121020700220327044213041050113010602130305321820404130812040105012604021303053130200840504130200810401110020012216040320022041307001056003010016003010021301506015034050470301001110020012620022031301202004011307001027030403213010030401703040213015060150340143040510703040120301215031301506015043010910001011502200153160400100050101150213010320022041302003701011200110400213070010310505101702412170013903010112001104002150320150470301051305410116214020032130400100610112001104002150320700246400630101130402107030403215041303055102001012030123010503304041050400553050608070162130501901051501901052201700253600191051803010470250141051605047021307215010512030123013400970546160345611004002002126040213030531302008405041302008104011501215073050153801043010305513010042001640121420012034014301030551301004200130103052130100420036001020044050513080630052001400507302130403011020536130200684801051521700506200254074050820309140200160301402510384001044093070513080320012604021303053130200840504130200810401304021020503130700105042080200615405061530713020400128613040300200201050940508020105010840010114001400105401213021050512006063024050313030541040030659088016409520051801051220400231001040516401240080200100313070010504164006151302040012613017405082704940110311040054011130210505164012140200613130143010702461513030564060030901050730581304105098508011010610100104061111309030151261064006113130720151467003020154105016130100104051150213070010503208020061440505153061302040012761304030020020105088010950120010355040116001304105012801051131630102014540153002001613022001051150213070010503140506146704030615130901308140061630102075408600102009130220010513716540270504320025404350140057045064003200107405084008400519130150512001060013041050118010511212411320080010141303051570505401662008006117705051870030201930405020600300102120025126040213030531302008405041302008104011700127307304003130120080047307130511616002003400213012008003150010013051161001302130150601503401430511106401070024008450031600212005112150220022031681043051110640107002109042003130501604130040014001530102006161704013054018040502107040303405001001304700200556001020016102005164050210704030340500100130470020055300200161020051260402130305313020084050413020081040161307014101400280028118013040620010140021004811801304010001020014002902811801500200502253501007011806609502253340701115021301506015033020025430205064161505270301037003020430300510416150523082313060010200430300410411803012107030403170014270500200540168010713010026200168903024013801041309046200115022002540325404106401070053060021020012604021303053130200840504130200810401130100120070514012130100120070516401214200120340141301001200705110640210206503130501604201308020013005130402500650016400206502130321303201307055041304050806300180140124050350010030400440617105051805628010370103005420018001051614012405036008040044061710505180140525161051640121420012034014510515012002814010512604021303053130200840504130200810401130512040213040020150020018400102720040040313040100122001203012606803400703040650150040220301360680440070304065012030123063400703040650470304051301010010501304002006502130381040150040230400200650513701050413010100105015004023040060130503106401070047050513050701040126040213030531302008405041302008104016130709020011502130150601503308010460060200113012130700105031405061467040306151309013081400664006190617213081008640061906192130902200126040213030531302008405041302008104016103023020303540754304075113070010234070340130146704451108602215034013054160030451203012301050270050380104130894051640121420012034014130894051501200213030531304061004511304001024009307037030104130180104511505127030105403406904518010270404340404451260402130305313020084050413020081040113040240020032010804807030520022062190812713080103011304021037030320104540480105400800301030161200603027030105403910200141212103014002004010540228312005340504603103018037030540220709080340120630126040213030531302008405041302008104013011030180210020010300111030180540220083053130300400110461309010801803010702461220023570014130210400113070010219704054034050436705614050540640507600680126040213030531302008405041302008104011200110400213070010310207002421304105018070030202130700103104704130104001040163012108800370301049701405130406020105018061030230304090301050113070010502540370504903014005405601565011307001050254031020011065016104050706502130401706501260402130305313020084050413020081040115012170910501203130206500200180903023020022036150820011502300150102035641301240020012604021303053130200840504130200810401100302101311051413020180200650130121702434014400702465016301215040040370124650440151702416301215013701244401570244004016301215040040370124650440151702413020402410502040363010441050126040213030531302008405041302008104011700123110350902004130305561308040081620011040021305016031046003065048010541050613030571806131180602822840432002204616040010008020055150562015074006121126040213030531302008405041302008104014002400210413121043052564002140121100050103705054401305564016206021601090301025012001370014004305216140200140052840130531308921801023104513823044050540604126040213030531302008405041302008104011003025631303054184113030521309040413040210304363040410630416304021020503305420806151841260402130305313020084050413020081040110030217067003220024130803010014050230020034014600301001640502300200310001601004170015610021640502300200313050801500140048010513070100416405023002003816044170015860412604021303053130200840504130200810401100302170670032200241305016014030202130501601130521305016014050230020031306606160413060050160113070010210660660380104904620051305016014050213035053613050160”

6.2.2 Codes as facts on the Basmala verse

In the subchapters of this chapter, I will present the codes that I found myself but I could not see strong rule based patterns and thus present them as facts in this chapter.

Based on the number of words of Basmala and number of its letters, I will present reproducible codes just over the special Basmala verse. In Chapter 6.2.2.2 and Chapter 6.2.2.1, I will test the total number of words of Basmala. There are two numbers with respect to the sum of the number of all the 4 words of Basmala, which are 2235 and 2683. 2235 is for the sum of the number of the 4 words on the 6236 numbered verses of Quran and 2683 is for the numbered and unnumbered 6348 verses together in the full text of Quran. Considering the pairing coding pattern, we combine numbers of both category by concatenating. Since there are only two numbers in this case, the only combinations of pairings are 22352683 and 26832235. So, in total, there are four numbers to be tested (2235, 2683, 22352683, 26832235). The reason I take the sum of the numbers of the 4 words of Basmala is because I am testing evidences on Basmala that consists of the 4 words. Considering individual words from the 4 words of Basmala is not that meaningful because what makes Basmala is the combination of the 4 words together. Also the 4 words of Basmala do not only appear in the Basmala verse but also in the other verses independently from each other. This approach would show the integrity and harmony of Basmala within the full text of Quran.

6.2.2.1 Fact on Basmala words with pairing

\[22352683\]

The total number of the words of Basmala in the numbered verses of Quran is 2235 and in the unnumbered and numbered verses (whole Quran) is 2683 as counted in Chapter 6.2. There are two concatenation combinations of these numbers as discussed in Chapter 6.2, one of which is 22352683. This number, 22352683, that combines the total frequencies of the words of the Basmala in both types of the text of Quran, is multiple of 19 as shown below:

as.numeric(as.bigz(22352683) %% 19)
## [1] 0

Regarding the proof, I already generated these two numbers from Table 6.1 in the previous chapter, Chapter 6.2. One can visit and reproduce these numbers if wished.

6.2.2.2 Fact on Basmala words with digit sum

\[2683\] The sum number of all the words of Basmala is 2683 and the digit sum of this number is exactly equal to 19. This number represents the total number of all the 4 words in the whole Quran, including numbered and unnumbered verses. Regarding the proof, I already generated this number 2683 from Table 6.1 in the previous chapter, Chapter 6.2. One can visit and reproduce this number if wished.

6.2.3 Fact on individual Basmala words in the full text of Quran

\[3215345341152265157146\]

When we concatenate all the frequencies of each words of Basmala in numbered verses and also all the verses of Quran, we get this 20 digit length number. You can manually perform it yourself from the Basmala table given above, where you need to concatenate the 4 numbers of the column count and the other 4 numbers of the countW. In this fact, we observe that the digit sum of this large number is multiple of 19. Therefore the order of numbers does not matter. The digit sum of this large number is exactly 76, which is 19x4. This is even more interesting as Basmala verse has 4 words and 19 letters and this coding decomposes as 19x4. We observed that all the words of the special verse Basmala not only in harmony together but also in harmony with a single Basmala that has 19 letters and 4 words. Here is the proof for the digit sum of this large number.

tmp1 <- paste0(BasmalaTable$count, collapse = "")
tmp2 <- paste0(BasmalaTable$countW, collapse = "")
tmp <- paste0(tmp1,tmp2)
digitsum(tmp)
## [1] 76

6.2.3.1 Facts on individual Basmala words

As we have studied so far, there are 4 words in Basmala. I also looked at its words individually to see if they have meaningful relation to 19 system and I observed this code.

Before starting explaining this fact, let me give this information first. Out of those 4 words, Allah and Al-Rahman can be used uniquely for God as names and can be used interchangeably as stated in the following verse. The verse 17:110, which specifically mentions the other name of God, Al-Rahman (The Most Compassionate/The All-Merciful), along with Allah word, which suggests this conclusion.

“Say to them (O Prophet!):”Call upon Him as Allah or call upon Him as al-Rahman; call Him by whichever name you will, all His names are beautiful. …“, (17:110), Quran.

So, considering this verse, we might expect a similar coding pattern between Allah and Al-Rahman but not with others.

Although there are some disputes, the word Raheem in the Al-Raheem of the Basmala verse is considered permissible to be used for humans as well. I am not an expert on this topic but aware of this dispute. Feel free to do your own research on this topic if you wish. The last word “Bism” is already not a name of God and not considered in these trials.

Back to the main point, in this code I will present the identical 19 based coding pattern that we observe on the two special words of Basmala, Allah and Al-Rahman. In this pattern, for each word, I concatenate their total word counts of these words and their number of letters. The digit sum of each of these resulting numbers are exactly 19. The rationale behind this approach is that, the number of letters in a word keeps a unique additional information for the word of interest. Therefore, testing a word count along with its number or letters might also be a meaningful approach. Here are the numbers for each word.

The word Allah has been used in the Basmala verse in this form

الله

for exactly 2265 times and it has 4 letters. We first concatenate the word count and the number of letters of that word and get the number to be tested as follows:

For the word, Allah, the digit sum of this representation number is exactly 19:

2+2+6+5+4 = 19.

If this was a single observation, I might have not considered this observation as much interesting. However, the second exclusive word of the Basmala verse, Al-Rahman ( الرحمن ), has also the exact same coding pattern, which suggests that it might be a common pattern of a code system.The word, Al-Rahman, has been used 157 times and it has 6 letters, which yields the number to be tested as 1576. Then we have the digit sum of it again as exactly 19.

1576 = 1+5+6+7 = 19.

Since these two words are exclusive names for God only, it appears to be meaningful to witness such a common pattern.

I will still not add these codes into the global counters of the evidences of this book that are used for the global probability of the 19 based system presented in this book. However, let’s calculate the probability of this particular evidence alone. For each names, we applied two tests. Therefore, overall, we have 2 successes out of 4 tests, considering the two text types, which results the following probability:

tmp <-binom.test(2, 4, p = (1/19),
                 alternative = c("greater"))
tmp <- formatC(tmp$p.value, format = "e", digits = 2)
cat(paste("The probability of 2 success out of
            4 tests (with p=1/19) is:", tmp))
## The probability of 2 success out of
##             4 tests (with p=1/19) is: 1.55e-02

6.2.3.2 Known codes on Basmala letters

Basmala verse itself alone is apparently aligned with the verse on the 19 that is “74:30. Over it is Nineteen”. I presented the number of letters of each of the 4 words of Basmala in the fourth column (column name “u.lengths”) of Table 6.1 in Chapter 6.2. As it can be counted manually from the table, the total number of letters of Basmala is 19 and thus Basmala alone has a strong relation to the 19 based coding system of the text of Quran. This also means that the total number of letters of all the 2683 Basmala words is also multiple of 19 since there ar 114 total Basmala verses in Quran.

This fact was known from the beginning of the revelation of Quran and there is no need to reference it. However, it is worth mentioning that along with the number of chapters, 114, and the number of letters of Basmala, it might be left so apparent as clues of the 19 based coding system so that Muslims can imagine researching on this direction and reveal the 19 based coding system of the text of Quran.

6.2.3.3 Known codes on the number of Basmala verses

There are in total 114 Basmala verses in Quran and it is multiple of 19. This may be considered as self-evident fact by Muslims but it is not easy to test manually if you are not keep reading Quran in Arabic. Because, there are 113 Basmalas at the beginning of each chapter but there is no Basmala at the beginning of Chapter 9. So, where is the last Basmala to get the number 114? As an ordinary Muslim, I was not even aware of this situation until I was investigating on number 19. While reading on this topic, I learned that there is one other Basmala within Chapter 27, verse 30. But, Chapter 27 consists of 93 verses and it is not that easy to find that Basmala verse within it as a slow reader in Arabic manually. Further, we have to check that there is no other Basmala verse as well in other chapters of the whole Quran. So, this is not easily testable information manually by someone who is not a good Arabic reader who does not frequently reads Quran in Arabic. Therefore, in the following I provide the reproducible proof of this fact that there are, in total, 114 Basmala verses in Quran, which is multiple of 19. In Chapter 3.1, I had assigned the special Basmala verse into R programming object ‘Basmala’. I will search this text in the R object quran that keeps the text of whole Quran as follows:

#See verse 1 and 8 in the head of quran table for Basmala.
quran[1:9,]
##    VerseI chapter verse                                                 text
## 1:      1       1     1                               بسم الله الرحمن الرحيم
## 2:      2       1     2                                الحمد لله رب العالمين
## 3:      3       1     3                                        الرحمن الرحيم
## 4:      4       1     4                                       مالك يوم الدين
## 5:      5       1     5                               إياك نعبد وإياك نستعين
## 6:      6       1     6                                اهدنا الصراط المستقيم
## 7:      7       1     7 صراط الذين أنعمت عليهم غير المغضوب عليهم ولا الضالين
## 8:      8       2     1                           بسم الله الرحمن الرحيم الم
## 9:      9       2     2                    ذلك الكتاب لا ريب فيه هدى للمتقين
#Get the indexes of Basmalas in each verse.
i<- grep(Basmala, quran$text)
# See the length of indexes of Basmalas in the table.
length(i)
## [1] 114

As we witnessed, there are really only 114 Basmala verses in whole Quran. This was a well known fact but here, a reproducible computational test to prove this fact is provided to the literature.

6.3 Overall probability of all the evidences so far

Below I will calculate the probability of all the evidences so far in this book using the global counters I have been counting.

tmp <-binom.test(global_success_nums, 
                 global_tested_nums, p = (1/19),
                 alternative = c("greater"))
tmp <- formatC(tmp$p.value, format = "e", digits = 2)
print(paste("The probability of", global_success_nums,
            "success out of", global_tested_nums ,
            "(with p=1/19) is:", tmp))
## [1] "The probability of 45 success out of 103 (with p=1/19) is: 4.70e-30"

Again, If some cautious people think that we should have used more tests, although we tried all of them regarding the rules, I will not even look at the possible further successes in that case and keep the success number same but double the number of trials and see what would then be the overall probability so far. This should calm down those skeptical people.

tmp <-binom.test(global_success_nums, 
                 global_tested_nums*2,
                 p = (1/19),
                 alternative = c("greater"))
tmp <- formatC(tmp$p.value, format = "e", digits = 2)
cat(paste("The probability of all the ", global_success_nums,
          "success out of all the", global_tested_nums*2, 
          " tests (with p=1/19) is:", tmp))
## The probability of all the  45 success out of all the 206  tests (with p=1/19) is: 3.62e-16

If still not convinced, for extremely cautious people, let’s also increase the trials by 4 fold and keep the successes the same!

tmp <-binom.test(global_success_nums, 
                 global_tested_nums*4,
                 p = (1/19),
                 alternative = c("greater"))
tmp <- formatC(tmp$p.value, format = "e", digits = 2)
cat(paste("The probability of all the ", global_success_nums,
          "success out of all the", global_tested_nums*4, 
          " tests (with p=1/19) is:", tmp))
## The probability of all the  45 success out of all the 412  tests (with p=1/19) is: 3.95e-06

6.4 Fact: The unique numbers

This code shows that the number of all the unique words and their letters used in Quran has an interesting 19 based code in it. As a reminder, these unique words refer to the written version of the words without any haraka marks, ‘rasm’ in Arabic, and therefore it does not mean unique number of words when it is read. Because the text is written without the haraka marks and the computer can only count the written version of the text.

\[u, U\]

\[14870-80068\]

In Chapter 3.1.5, I provided reproducible open source codes that allow easily to reproduce and generate the 7 main descriptive numbers of the text of Quran and also provided the two unique numbers that are distilled from all the used words of Quran. Those two numbers are unique number of words (denoted by u) and also the number of letters of the unique words (denoted by U) of Quran. In total, all the 9 different descriptive numbers about the text of Quran can be reproduced in Chapter 3.1.5 from the text of Quran. The unique numbers u and U are not independent categories of the text of Quran but they are derived from all the used words and letters in Quran. In a sense, they are offspring of the words and letters categories, respectively, as they are dependent of the main descriptive numbers of the text of Quran. Thus, they are treated as a separate category. These unique numbers are also important and that must be considered because it reflects the richness of the word set used in the book of God. I expected them to be coded under the 19 based coding system of the text of Quran and also designed together with all the 7 main descriptive numbers of the text of Quran and thus developed hypothesis and tested them as such.

Regarding the coding rule, I concatenate them in the natural order as well, which is first words and then the letters. This is the most basic universal rule I keep using while concatenating numbers, which is “the concatenation of the natural numbers in the natural order”. Both types of the text of Quran, with unnumbered verses and with only numbered verses, has the same number of unique words, as the unnumbered Basmala verses are just repetitions of the numbered Basmala (chapter 1, verse 1). However, this is just a coincidence and this did not have to be so. Because, for example, one of unnumbered verses could be different and there is no reason why it is not so. For example, there is no numbered or unnumbered Basmala verse in the beginning of the Chapter 9 and this shows there is no standard in that respect. Therefore, the same concatenated number to be tested, which is uU for both text types of Quran. In summary, in this code, I will show that the unique number of words (\(14870\)) and their number of letters (\(80068\)) together, which is \(1487080068\), have an interesting 19 based code as follows:

suppressWarnings(require(gmp)) 
tmp <- paste0(u,U, collapse = '')
tmp
## [1] "1487080068"
cat("The mod 19 of the unique numbers combination is  ", 
    as.numeric(as.bigz(tmp) %% 19))
## The mod 19 of the unique numbers combination is   0
cat("The precise result of the division is found as follows:") 
## The precise result of the division is found as follows:
cat(as.character(div.bigz(tmp, 19)))
## 78267372
cat("The mod 114 of it is also 0:  ", 
    as.numeric(as.bigz(tmp) %% 114))
## The mod 114 of it is also 0:   0

There is only one combination of the unique numbers according to the general rules as described in Chapter 3.2 and I showed that both of the descriptive unique numbers can together be coded by a 19 based codeç

As I discussed in detail in Chapters 3.1.7, I argue that it is practically impossible to count the number of unique words manually by the people of that time that is 1387 years ago. Therefore, I conclude that this and any other code that includes unique descriptive numbers are beyond the ability of the people of that time to do.

For the reference, to the best of my knowledge, code 6.4 is first time presented to the literature in this book, and it has been hypothesized, tested and discovered by myself. In case if I find out code 6.4 had been available in another article, then, in such a case, I surely add a citation and update the online version of this book.

6.5 Totals

All the codes with the sum coding pattern is gathered under this main section. Considering the rules in Chapter 3.2.1 on the total of all the descriptive numbers at the three text levels, we get 6 different numbers to be tested overall. In the following, I will present the two codes out of those 6 potential coding numbers that come out of the set rules.

For the reference, to the best of my knowledge, the codes of this sections, code 6.5.1, and code 6.5.2 are first time presented to the literature in this book. In case if I find out that they had been available in another article, then, in such a case, I surely add a citation and update the online version of this book.

6.5.1 Fact: Totals of the main descriptive numbers

In this chapter we will see two different codes that show the the sums of the numbers of the chapters, verses, words and letters has a relation with 19 as well.

Let’s remember the table with which we will compute, in chapter resolution, the sums of the numbers of the chapters, verses, words and letters.

x<- dfVCWL
knitr::kable(head(x), booktabs = TRUE,
  caption = 'Table head of the numbers at chapters in Quran considerin 6348 verses.')
Table 6.3: Table head of the numbers at chapters in Quran considerin 6348 verses.
Chapter_index Verse_sum cWords cLetters
1 7 29 143
2 287 6144 26268
3 201 3505 15004
4 177 3767 16351
5 121 2841 12225
6 166 3060 12745

Basically, sum of all the numbers in the above table is tested. In this code, the total number at chapter level text resolution, based on the all 6348 verses, observed to be multiple of 19 as shown in the following:

x<- dfVCWL
tmp <- sum(x)# sum all numbers at CHAPTER resolution
# The sum should be 423985
cat("The sum of all numbers 
    at CHAPTER resolution is", tmp, ".")
## The sum of all numbers 
##     at CHAPTER resolution is 423985 .
cat("The modulo of it by 19 is ")
## The modulo of it by 19 is
as.bigz(tmp) %% 19
## Big Integer ('bigz') :
## [1] 0

We will see another interesting coding over the same chapter level numbers. I wanted to try another meaningful, but mathematically unrelated, hypothesis on the same table that includes all the numbers at the chapter resolution. Then, I hypothesized that if I count the multiple of 19 numbers in each column and get a new number by concatenating those 4 numbers, each represent the total count of multiple of 19 entries in its column, I end up with a meaningful but mathematically unrelated number than the totals of all the table itself. As you see in the proof below, this unrelated coding number of the table is also multiple of 19.

# mod 19 of all the numbers at the chapter resolution 
y <- dfVCWL %% 19
knitr::kable(head(y), booktabs = TRUE,
caption = 'Table head of the mod 19 of all the numbers at the chapter resolution.')
Table 6.4: Table head of the mod 19 of all the numbers at the chapter resolution.
Chapter_index Verse_sum cWords cLetters
1 7 10 10
2 2 7 10
3 11 9 13
4 6 5 11
5 7 10 8
6 14 1 15
tmp <- paste0(
length(which(y$Chapter_index == 0)), 
length(which(y$Verse_sum == 0)), 
length(which(y$cWords == 0)),
length(which(y$cLetters == 0))
)

cat("Concatenation of each column's mod 19 counts is ", tmp)
## Concatenation of each column's mod 19 counts is  6783
cat("The modulo of it by 19 is ", (as.numeric(tmp) %% 19) )
## The modulo of it by 19 is  0

This stands as a further supporting fact for the previous simple all sum code, where those same numbers used. As we observed, the table that keeps all the numbers at the chapter resolution has an additional and independent 19 based relation in it.

Interesting enough, just the opposite of this test is also successful in the second text type of Quran, which is only the numbered 6236 verses. In that text type, the counts of each of the columns, which are not multiple of 19, yields a number that is multiple 19. Here is the proof.

# mod 19 of all the numbers at the chapter resolution 
y <- dfVCwl %% 19
knitr::kable(head(y), booktabs = TRUE,
caption = 'Table head of the mod 19 of all the numbers at the chapter resolution of the numbered verses.')
Table 6.5: Table head of the mod 19 of all the numbers at the chapter resolution of the numbered verses.
Chapter_index Verse_sum cwords cletters
1 7 10 10
2 1 3 10
3 10 5 13
4 5 1 11
5 6 6 8
6 13 16 15
tmp <- paste0(
  length(which(y$Chapter_index != 0)) ,
  length(which(y$Verse_sum != 0)), 
  length(which(y$cWords != 0)), 
  length(which(y$cLetters != 0))
)

cat("Concatenation of each column's NOT mod 19 counts is ", tmp)
## Concatenation of each column's NOT mod 19 counts is  10811000
cat("The modulo of it by 19 is ", (as.numeric(tmp) %% 19))
## The modulo of it by 19 is  0

Since I do not set general rules for the facts, I only present these just as the supporting facts to the code of this section. They are not counted in the probability calculations of the system.

6.5.2 Fact: Totals in verse resolution

This code of this fact answers a very simple question:

Is the total of all the 4 main descriptive numbers in the verse resolution level of the text also has relation to number 19 or not?

Let’s remember the table with which we will compute, in verse resolution, the sums of the numbers of the chapters, verses, words and letters.

x<- nQuran
x$text <- NULL #removes this column
x$VerseI <- NULL #removes this column
knitr::kable(head(x), booktabs = TRUE,
  caption = 'Table head of the numbered verses of Quran.')
Table 6.6: Table head of the numbered verses of Quran.
chapter verse vwords vletters
1 1 4 19
1 2 4 18
1 3 2 12
1 4 3 12
1 5 4 19
1 6 3 19

Basically, sum of all the numbers in the above table is tested. In this fact, the total number at verse resolution, based on the numbered verses, observed to have 19 based relation as shown in the following where the digit sum of the big representation number is multiple of 19. Since it is digit sum, I considered this coding as a fact rather than code following the universal rules I set in the beginning.

tmp <- sum(x) # sum of all numbers at verse resolution
#951202
cat("The sum of all numbers 
    at verse resolution is", tmp, ".")
## The sum of all numbers 
##     at verse resolution is 951202 .
cat("The digit sum of it is ", digitsum(tmp))
## The digit sum of it is  19

6.5.3 Fact: Totals per chapter numbers

This coding answers this question:

Is the total of all the 4 main descriptive numbers per chapter, have also 19 based coding?

In this fact, we first get the representation numbers per chapter and then get the sum that represents the sum of numbers per chapters.

Let’s remember the table with which we will compute, in chapter resolution, the sums of the numbers of the chapters, verses, words and letters.

x<- dfVCWL # 6348 verse at chapter level data
knitr::kable(head(x), booktabs = TRUE,
  caption = 'Table head of the numbers at chapters in Quran.')
Table 6.7: Table head of the numbers at chapters in Quran.
Chapter_index Verse_sum cWords cLetters
1 7 29 143
2 287 6144 26268
3 201 3505 15004
4 177 3767 16351
5 121 2841 12225
6 166 3060 12745

Basically, the digit sum of the sum of all the numbers in the above table is tested. In this fact, the total numbers at chapter resolution, based on the all 6348 verses, observed to have 19 based relation as shown in the following:

tmp <- paste0(dfVCWL$Chapter_index,dfVCWL$Verse_sum,
               dfVCWL$cWords, dfVCWL$cLetters)
head(tmp)
## [1] "1729143"       "2287614426268" "3201350515004" "4177376716351"
## [5] "5121284112225" "6166306012745"
tail(tmp)
## [1] "109731118" "11042399"  "111627100" "11251966"  "11362792"  "11472499"
tmp <- sum(as.numeric(tmp))
as.character(tmp)
## [1] "59738069267437"
digitsum(tmp)
## [1] 76
digitsum(tmp) %% 19
## [1] 0

6.5.4 Fact: Totals per verse numbers

This fact answers this question: Is the total of all the 4 main descriptive numbers per verse, have 19 based relation?

This fact is similar to the Fact 6.5.3 but shows there is this pattern exist also in the verse resolution. Again, we first get the representation numbers per verse and then get the sum that represents the sum of numbers per verse.

Let’s remember the table with which we will compute, in verse resolution level, the sums of the numbers of the chapters, verses, words and letters.

x<- nQuran # 6236 numbered verses
x$text <- NULL #removes this column
x$VerseI <- NULL #removes this column
knitr::kable(head(x), booktabs = TRUE,
  caption = 'Table head of the numbers at chapters in Quran.')
Table 6.8: Table head of the numbers at chapters in Quran.
chapter verse vwords vletters
1 1 4 19
1 2 4 18
1 3 2 12
1 4 3 12
1 5 4 19
1 6 3 19

In this fact, the total numbers at verse resolution, based on the the representation number of each verses, observed to have 19 based relation as shown in the following:

tmp <- paste0(x$chapter, x$verse,
              x$vwords, x$vletters)
head(tmp)
## [1] "11419" "12418" "13212" "14312" "15419" "16319"
tail(tmp)
## [1] "1141414" "114228"  "114328"  "1144417" "1145520" "1146313"
tmp <- sum(as.numeric(tmp))
cat("The total number: ",tmp)
## The total number:  272053930879
as.integer(as.bigz(tmp) %% 19)
## [1] 0

In this code, we first concatenate the chapter index, verse index, word and letters contents and get the representation number ofr each verse. We then sum them all and get the final code.

When we consider this fact along with the code 6.5.1, then we can see that this fact further assures the conclusion of code 6.5.1 and suggests that there is 19 based design in the full text of Quran when we consider the sum of the descriptive numbers of the full text of it.

6.6 Facts on Chapters with multiple of 19 content

In this code, I tested whether there is any 19 based design in indexes of chapters of which its content, the words or letters, is multiple of 19.

You can test the numbers from these dynamic tables easily:

require(data.table, quietly = T)
require(DT, quietly = T)
datatable(dfVCWL,
          caption = 'Total numbers of each category in all 6348 verses per chapter',
          extensions = c('Buttons'),
          options = list(pageLength = 5, autoWidth = TRUE, 
                         dom = 'Blfrtip', buttons = c('excel', 'csv')
                         ), rownames= FALSE)
#
datatable(dfVCwl, 
          caption = 'Total numbers of each category in the 6236 numbered verses per chapter',
          extensions = c('Buttons'),
          options = list(pageLength = 5, autoWidth = TRUE, 
                         dom = 'Blfrtip', buttons = c('excel', 'csv')
                         ), rownames= FALSE)
#Get the indexes of chapter with multiple of 19
tmp <- dfVCWL$cWords #in 6348 verses
i1 <- which( (as.numeric(tmp) %% 19) == 0)
#10  21  41  76  87  95  96 112
tmp <- dfVCwl$cwords #in 6236 verses
i2 <- which( (as.numeric(tmp) %% 19) == 0)
#17  27  30  43  54  58  80 110
tmp <- dfVCWL$cLetters
i3 <- which( (as.numeric(tmp) %% 19) == 0)
#9  90 107

The way we get the coding number to be tested as follows: Firstly, from chapters of all the 6348 verse, I obtain the chapters whose number of words are multiple of 19. These 8 chapters have words with multiple of 19 in total:

“10, 21, 41, 76, 87, 95, 96, 112”

And, these 8 chapters have words with multiple of 19 in total from the 6236 numbered verses text type of Quran:

“17, 27, 30, 43, 54, 58, 80, 110”

And, these 3 chapters have letters with multiple of 19 in total from the both text types of Quran. Since the Basmala verse has 19 letters, it does not make differences between numbered or all verses types of the text:

“9, 90, 107”

There are two different 19 based codes in these indexes.

First 19 based code: The total number of unique indexes is exactly 19. Here is the proof:

i <- unique(c(i1,i2,i3))
i <- sort(i)
cat(i)
## 9 10 17 21 27 30 41 43 54 58 76 80 87 90 95 96 107 110 112
cat("The total number of unique indexes is ", length(i) )
## The total number of unique indexes is  19

Second 19 based code: When we concatenate those 19 indexes in their natural order, namely, from first chapter to the end in ascending order, We get a long number and it is also multiple of 19. Here is the proof that it is multiple of 19:

tmp <- paste0(i,collapse = "")
cat("The representative number to be tested:")
## The representative number to be tested:
tmp
## [1] "9101721273041435458768087909596107110112"
as.bigz(tmp) %% 19 #mod 19 must be zero
## Big Integer ('bigz') :
## [1] 0
cat("The length of the number is ", nchar(tmp) )
## The length of the number is  40

For the reference, to the best of my knowledge, code 6.6 is first time presented to the literature in this book, and it has been hypothesized, tested and discovered by myself. In case if I find out code 6.6 had been available in another article, then, in such a case, I surely add a citation and update the online version of this book.

6.7 Facts with Abjad numbers

The used Abjad numbers and functions can be seein in the introduction section at Chapter 3.2.5. So far, the finest text resolution I could try is with the number of letters per verse or per words to get a verse number representation. But, if correct, now we might have the utility to test the sequence of each words and letters within each word of the text of Quran. I tested exactly this and observed some codes that I present as facts only for now as it requires a long research to see if there is rule based over all system. I will present the initial interesting codes I observed so far as subsections of this section. In the following subsections, I will present codes of the text of the full text of Quran at the word and even letter level by replacing their corresponding Abjad numbers (Wikipedia 2019).

Since Abjad numbers are not from within the text of Quran, I cannot rely on them at the same level as I do in the natural numbers of the text. Information of Abjad numbers are from historical resources and they may not be as reliable as the text of Quran. Therefore, some people are very skeptical on them. The codes of this book so far are always based on the natural numbers of the text of Quran and no Abjad numbers were used other than this particular section, section 6.7. I want this book to be recalled mostly with that aspect. Already, I presented the codes with Abjad numbers as facts only, with an exception. Therefore, I will not include them mostly in the probabilities that might come with the many codes of this section. The best way to make sure, it does not cast any shadow in the reliability of this book is by not merging with the overall probabilities of the general 19 based system of this book. However, the codes of this section are also quite strong and they might help discovering additional 19 based system in the future with the abjad numbers upon the currently presented codes.

To clear up the point I just raised, the only way we can test whether the sequence of the words and letters have any 19 based code or not is using Abjad numbers. Otherwise with natural numbers of the text, we could test the number of words and letters of each verse or words regarding number 19. The following codes with Abjad numbers suggest that even the position of each letter and words have interesting 19 codes that might be part of a system yet to be discovered. It also shows that, the natural numbers and abjad numbers have an interesting 19 based code together. I had already presented interesting abjad based codes as evidences in Evidence 4.2.1.1 and Evidence 4.2.4.2. Here, I will present other interesting abjad based codes as fact.

For the reference, to the best of my knowledge, All the codes and facts of the main section, code 6.7 are first time presented to the literature in this book, and they have been hypothesized, tested and discovered by myself.

6.7.1 Fact: Replacing each word by its Abjad and indexes to rewrite the full text of Quran

In this code, code 6.7.1, the text of Quran will be re-written using abjad numbers. Basically, each word will be replaced by its corresponding abjad number and labelled by its chapter index and verse index. It is important to note that each word is assigned its own chapter and verse index. We will replace this representation numbers with the words in the text of Quran and concatenate them all. The resulting big number is multiple of 19. Even more, this number is not only multiple if 19 but it is multiple of 19x19 (361), which makes is it more interesting in this regard. This suggests strongly that it might be part of the 19 based system

require(tokenizers)
x<- nQuran
tv <-c()
for(j in 1:nrow(x)) {
  #for all the numbered verses
  tmplett <- AbjadSeqofaWordSumValue(x$text[j])
  tmp <- paste0(x$chapter[j],x$verse[j],tmplett)
  tv <- c(tv,tmp)
}
tmpr <- rev(tv) # matches the coding from right to left as in Arabic.
#Each number represents a word as this:
#[Chapter index|Verse index|Abjad number of the word]
tail(tmpr) # tail of the vector. 
## [1] "1265"  "1283"  "11289" "11329" "1166"  "11102"
tmpr <- paste0(tmpr, collapse = "")  
as.bigz(tmpr) %% 19 #test if mod 19 is zero
## Big Integer ('bigz') :
## [1] 0
cat("Number of digits of this big number is", nchar(tmpr))
## Number of digits of this big number is 497719

As we see in the above code that when we replace the words with their corresponding abjad numbers along with their chapter and verse indices in their exact position in the text of Quran and then concatenate them, we witness that this big number is also multiple of 19. Moreover, this number is not only multiple if 19 but it is multiple of 19x19, which makes is it more interesting in this regard.

You can access this “497719” digits length big number from the following link:

https://github.com/quran2019/Quran19/blob/master/6.2.1_code_bignumber.txt

One can just copy the big number and paste it into a web based big number calculator and test it herself.

It may be helpful to understand what is going on in the coding if I print out the outputs of a few steps using the first verse, Basmala, of Quran as follows:

x<- unQuran 
j<-1 # FIRST VERSE, BASMALA is input
tmplett <- AbjadSeqofaWordSumValue(x$text[j])
cat("Abjad number for each words of Basmala in Arabic order: ", rev(tmplett))
## Abjad number for each words of Basmala in Arabic order:  289 329 66 102
paste0(x$chapter[j],x$verse[j],tmplett)
## [1] "11102" "1166"  "11329" "11289"
# "11102" "1166"  "11329" "11289"

cat("Chapter index and verse index is concatenated 
     to each word of the Basmala: ", rev(paste0(x$chapter[j],x$verse[j],tmplett)))
## Chapter index and verse index is concatenated 
##      to each word of the Basmala:  11289 11329 1166 11102
print("Now lets seee the abjad number representation of the first word of Basmala: ")
## [1] "Now lets seee the abjad number representation of the first word of Basmala: "
print(AbjadSeqofaWordSumValue("بسم") )
## [1] "102"
# should be: "102"
print("Lets see the abjad number of each letters in the first word: ")
## [1] "Lets see the abjad number of each letters in the first word: "
AbjadSeqofaWordSumValue("ب")
## [1] "2"
# "2"
AbjadSeqofaWordSumValue("س")
## [1] "60"
# "60"
 AbjadSeqofaWordSumValue("م")
## [1] "40"
# "40"

Also, below is the “6, 6, 7” digits length big number of this interesting code.

“114690, 114689, 1146148”

6.7.2 Fact: Pairing verses with Abjad of both text types of Quran with chapter and verse indices

This code is similar to the code 4.2.1.1, but this one includes chapter and verse indices information per verse as well. Its the coding patter is also similar to code 4.2.4.2 and code 4.2.4.1, where we pair representation numbers of verses of both text types of Quran between 6348 and 6236 verses. Basically we first replace each word in a verse with its corresponding abjad number. We then concatenate each abjad representation number of verse with its chapter index and verse index. For example, for Chapter 1 and Verse 2, we concatenate them as “12a” where a is the abjad number of the verse. We then concatenate them per verse that gives us representation numbers of each verse using abjad numbers and its descriptive indices. We do this for both text types of Quran (6348 and 6236 verses). We then pair the two vector that contains the representation numbers of each verse. As you will remember, the longer vector, wraps the shorter vector as if a circle from its beginning. The resulting big number is multiple of 19. I consider this as a fact rather than as evidence as it does not have general verse index as we had observed in the natural numbers based similar coding in Chapter 4.2.4.2. Here is the proof.

x<- nQuran
tv <-c()
for(j in 1:nrow(x)) {
 #for all the numbered verses
  tmplett <- AbjadSeqofaWordSumValue(x$text[j])
  tmplett <- paste0(rev(tmplett), collapse = "" )
  tmp <- paste0(x$chapter[j],x$verse[j],tmplett)
  tv <- c(tv,tmp)}
tmp1 <- tv
#now for unQuran
x<- unQuran
tv <-c()
for(j in 1:nrow(x)) {
  if(x$verse[j] != 0){#for all the numbered verses
    tmplett <- AbjadSeqofaWordSumValue(x$text[j])
    tmplett <- paste0(rev(tmplett), collapse = "" )
    tmp <- paste0(x$chapter[j],x$verse[j],tmplett)
  }else{#For unnumbered Basmala verses
    tmplett <- AbjadSeqofaWordSumValue(x$text[j])
    tmplett <- paste0(rev(tmplett), collapse = "" )
    tmp <- paste0(x$chapter[j],tmplett)}
  tv <- c(tv,tmp)}
tmp <- paste0(tv, collapse = "")  
# PAIRING both
tmp <- paste0(tv,tmp1)
tmp <- paste0(tmp, collapse = "") 
as.bigz(tmp) %% 19 #mod 19 of big number
## Big Integer ('bigz') :
## [1] 0
cat("Number of digits of this big number is", nchar(tmp))
## Number of digits of this big number is 467765

As we observed the big number is multiple of 19. You can access this “467765” digits length big number from the following link:

https://github.com/quran2019/Quran19/blob/master/6.2.3_code_bignumber.txt

One can just copy the big number and paste it into a web based big number calculator and test it herself.

It may be helpful to understand what is going on in the coding if I print out the outputs of a few steps using the first verse, Basmala, of Quran as follows:

x<- unQuran 
j<-1 # FIRST VERSE, BASMALA is input
tmplett <- AbjadSeqofaWordSumValue(x$text[j])
cat("Abjad number for each words of Basmala: ", rev(tmplett))
## Abjad number for each words of Basmala:  289 329 66 102
tmplett <- paste0(rev(tmplett), collapse = "" )
cat("Basmala verse is represented as a single number
     from Abjad numbers as follows: ", tmplett)
## Basmala verse is represented as a single number
##      from Abjad numbers as follows:  28932966102
tmp <- paste0(x$chapter[j],x$verse[j],tmplett)
cat("Chapter index and verse index is concatenated 
     to this verse: ", tmp)
## Chapter index and verse index is concatenated 
##      to this verse:  1128932966102

6.7.3 Fact: Pairing verses with Abjad of both text types of Quran with general indices

This code is similar to the code, code 4.2.1.1, but this one includes general verse indices information per verse. This coding pattern is also similar to code 4.2.4.2 and code 4.2.4.1, where we pair representation numbers of words of both text types of Quran between 6348 and 6236 verses. Basically we first replace each word with its corresponding abjad sequence number. By, abjad sequence number, I mean that each letter in the word is replaced by its corresponding abjad number. We then concatenate each abjad representation number of verse with its general verse index. We do this for both text types of Quran (6348 and 6236 verses). We then pair the two vector that contains the representation numbers of each verse. As you will remember, the longer vector, wraps the shorter vector as if a circle from its beginning. The resulting big number is multiple of 19. Here is the proof. First let’s get the big number for all the 6348 verse that itself as multiple of 19 already before pairing with the 6236 numbered verses.

x<- unQuran 
tv <-c()
for(j in 1:nrow(x)) {
  if(x$verse[j] != 0){#for all the numbered verses
    # two write in Arabic way from right to left
    tmplett <- rev(AbjadSeqofwordsperVerse(x$text[j])) 
    tmp <- paste0(x$VerseI[j],tmplett)
  }else{#For unnumbered Basmala verses
    tmplett <- rev(AbjadSeqofwordsperVerse(x$text[j]) )
    tmp <- paste0(x$VerseI[j],tmplett)}
  tv <- c(tv,tmp)}
tmp1 <- tv
#
tmp <- paste0(tv, collapse = "")  
as.bigz(tmp) %% 19 #mod 19
## Big Integer ('bigz') :
## [1] 0
cat("Number of digits of this big number is", nchar(tmp))
## Number of digits of this big number is 872681

In the above code, we also observed an additional fact before pairing. Basically, when the letters of each of the 6348 verses are replaced by their corresponding abjad numbers and labelled by their corresponding general verse indices, the resulting big number is multiple of 19. However, the order is the normal order but not as in Arabic, which is why I did not consider this as a separate code. Anyways, lets continue to the main code and get the second vector over the 6236 numbered verses in the same way as follows:

x<- nQuran 
tv <-c()
for(j in 1:nrow(x)) {
  #for all the numbered verses
  tmplett <- rev(AbjadSeqofwordsperVerse(x$text[j])) # two write in Arabic way from right to left
  tmp <- paste0(x$VerseI[j],tmplett)
  tv <- c(tv,tmp)}
#
tmp <- paste0(tmp1,tv)
tmp <- paste0(tmp, collapse = "") 
as.bigz(tmp) %% 19 #mod 19
## Big Integer ('bigz') :
## [1] 0
digitsum(tmp) %% 19 #mod 19
## [1] 0
cat("Number of digits of this big number is", nchar(tmp))
## Number of digits of this big number is 1743997

As we witnessed, not only the big number is multiple of 19 but also its digit sum is. You can access this “1743997” digits length big number from the following link:

https://github.com/quran2019/Quran19/blob/master/6.2.4_code_bignumber.txt

One can just copy the big number and paste it into a web based big number calculator and test it herself.

It may be helpful to understand what is going on in the coding if I print out the outputs of a few steps using the first verse, Basmala, of Quran as follows:

x<- unQuran 
j<-1 # FIRST VERSE, BASMALA is input
tmplett <- rev(AbjadSeqofwordsperVerse(x$text[j])) 
cat("Abjad sequence for each letters of Basmala words: ", tmplett)
## Abjad sequence for each letters of Basmala words:  40108200301 50408200301 530301 40602
tmp <- paste0(x$VerseI[j],tmplett)
cat("The general verse index and 
    the Abjad sequence of the words: ", tmp)
## The general verse index and 
##     the Abjad sequence of the words:  140108200301 150408200301 1530301 140602

6.7.4 Fact: All the numbers: Natural and Abjad

In the two codes of this section, I will use all the natural numbers and abjad numbers together and show they have a coding relation to 19.

First code: I will concatenate all the natural numbers of a verse (chapter and verse index, number of words and letters) and the corresponding Abjad sequence number of that verse. By Abjad sequence number, we replaced each letter with its corresponding Abjad number in the verse. When we concatenate each of the 6236 numbered verses, we observe that the digit sum of this big number, namely digit sum of all the numbers used in this book is also multiple of 19. Here is the proof:

x<- nQuran # 6236 verses
tv <-c()
for(j in 1:nrow(x)) {
 #for all the numbered verses
  tmplett <- rev(AbjadSeqofwordsperVerse(x$text[j]))
  # rev is to write in Arabic way from right to left
  tmplett <- paste0(tmplett, collapse = "" )
  tmp <- paste0(x$chapter[j],x$verse[j],x$vwords[j],x$vletters[j],tmplett)
  tv <- c(tv,tmp)}
tmp <- paste0(tv, collapse = "")  
digitsum(tmp) %% 19 # mod 19 of the bif number
## [1] 0
cat("Number of digits of this big number is", nchar(tmp),
    " and it is also multiple of 19 as follows: ", nchar(tmp) %% 19)
## Number of digits of this big number is 623884  and it is also multiple of 19 as follows:  0

As we observed, not only the digit sum of the big number is multiple of 19 but also its length is multiple of 19. You can access this “623884” digits length big number from the following link:

https://github.com/quran2019/Quran19/blob/master/6.2.5.1_code_bignumber.txt

One can just copy the big number and paste it into a web based big number calculator and test it herself.

It may be helpful to understand what is going on in the coding if I print out the outputs of a few steps using the first verse, Basmala, of Quran as follows:

x<- unQuran 
j<-1 # FIRST VERSE, BASMALA is input
tmplett <- rev(AbjadSeqofwordsperVerse(x$text[j])) 
cat("Abjad sequence for each letters of Basmala words: ", tmplett)
## Abjad sequence for each letters of Basmala words:  40108200301 50408200301 530301 40602
tmp <- paste0(x$chapter[j],x$verse[j],
              x$vwords[j],x$vletters[j],tmplett)
cat("Concatenate all the natural numbers and 
    the Abjad sequence of the words  per verse: ", tmp)
## Concatenate all the natural numbers and 
##     the Abjad sequence of the words  per verse:  1141940108200301 1141950408200301 11419530301 1141940602

The Second code: Similar to the previous one but this time, we use the other Abjad representation function, where we represent each word by its corresponding Abjad number. Basically, this is the sum of abjad numbers of its letters for each word. We generate the big number to be tested in the exact same approach as above. The only difference is, this time we represent each word by its corresponding Abjad number. Since the final big number that we use is obtained with the same approach as the first code, I consider them to have a similar coding pattern and merged these codes in the same section. In summary, this code also use all the natural numbers and abjad numbers together and show that all those numbers have 19 based relation. The way I concatenate the numbers as always is the natural order that yields a single big number with no other combination.

x<- nQuran #6236 verses
tv <-c()
for(j in 1:nrow(x)) {
  tmplett <- AbjadSeqofaWordSumValue(x$text[j])
  tmplett <- paste0(rev(tmplett), collapse = "" )
  tmp <- paste0(x$chapter[j],x$verse[j],x$vwords[j],x$vletters[j],tmplett)
  tv <- c(tv,tmp)}
tmp <- paste0(tv, collapse = "")  
as.bigz(tmp) %% 19 #mod 19
## Big Integer ('bigz') :
## [1] 0
cat("Number of digits of this big number is", nchar(tmp))
## Number of digits of this big number is 253185

As we observed, the big number is multiple of 19. You can access this “253185” digits length big number from the following link:

https://github.com/quran2019/Quran19/blob/master/6.2.5.2_code_bignumber.txt

One can just copy the big number and paste it into a web based big number calculator and test it herself.

It may be helpful to understand what is going on in the coding if I print out the outputs of a few steps using the first verse, Basmala, of Quran as follows:

x<- unQuran 
j<-1 # First verse, BASMALA is input
tmplett <- AbjadSeqofaWordSumValue(x$text[j])
tmplett <- paste0(rev(tmplett), collapse = "" )
cat("Concatenating Abjad numbers of each Basmala words: ", tmplett)
## Concatenating Abjad numbers of each Basmala words:  28932966102
tmp <- paste0(x$chapter[j],x$verse[j],
              x$vwords[j],x$vletters[j],tmplett)
cat("Concatenate all the natural numbers and 
    the Abjad number the words per verse: ", tmp)
## Concatenate all the natural numbers and 
##     the Abjad number the words per verse:  1141928932966102

6.8 Fact: Only letters based codings

In the sub-sections of this main chapter, I will present some other codings that are based on only the letters information.

6.8.1 Fact: Words paired with digit sum at verse level

The same pairing and concatenating of digit sums coding pattern of the code 4.2.1.2, exist also with words when we look at the chapter level data. Basically we pair the digit sum of the number of words in each chapter between 6348 and 6236 verses, then the resulting big number is also multiple of 19 as shown below:

tmp1 <- dfVCWL$cWords 
tmp2 <- dfVCwl$cwords
tmp <- paste0( sapply(tmp1, digitsum),  sapply(tmp2, digitsum))
head(tmp)
## [1] "1111" "1511" "139"  "2319" "1520" "914"
tail(tmp)
## [1] "49"  "510" "95"  "106" "95"  "62"
tmp <- paste0(tmp, collapse = '')

as.bigz(tmp) %% 19  #0
## Big Integer ('bigz') :
## [1] 0
cat("number of digits on this big number is", nchar(tmp))
## number of digits on this big number is 383

Here is the 383 digits length big number:

“11111511139231915209141511139121216211520262220161511131821171419211721171612171314191289149231061116111619241116141016121172420172214102319191511166112420181412178131520191515111511151117131391061391391410141921172016101514105101015141012814191511139841285106111116628131511139141016121217117951391116495101171391511813141013912884491171397317134984495109510695381175149510951069562”

6.9 Facts with chapter and words numbers

We already observed evidences among chapters, verses and words in Chapter 4.1.2. In this chapter, Chapter 6.9, I will present codings as facts that shows the 19 based relation between chapters and words only. It may or may not be random but I assume it as random and thus am not considering it as evidence yet. We basically rewrite Quran at the verse level numbers of chapters and words only in Fact 6.9.1.1. However, since the rules of this book is only allowing letters based numbers to be used with rewriting coding pattern, I do not consider it as an evidence but present just as a fact here. As we always do per rule for all the evidences, we want to see the same coding pattern exist in the other level of the text as well, which is chapter level in this case. As I present in Fact 6.9.1.2, we observe that we can rewrite Quran with the same pattern using the chapter level data of chapters and words too.

Following the rewriting coding patterns, we observe that the default coding pattern also exist at the chapter level data of chapters and words, which I present in Fact 6.9.2. I also present further facts as subsections in this main chapter but I think those are the three important coding patterns I designated as facts rather than evidences, though I think they might potentially be reevaluated in the future though they are weaker than the other evidences. Anyways, I preferred to be on the cautious side and designated them as facts but if I can further analyze them in the future and see more clear rules suggesting evidences then I may update the book accordingly.

6.9.1 Rewriting Quran with chapter and words

In the Ultimate Evidence, Evidence 4.2.2.1 and Evidence 4.2.3.1 and also Evidence 4.2.2.2, we had rewritten the text of Quran utilizing the natural numbers of the text of Quran considering chapter, verse, words and letters. Anyways, I hypothesized that there might be other similar evidences without the number of letters. I therefore tested only words focused potential codings and found the code to re-write Quran utilizing only the numbers of chapters and words. I consider it is as interesting because the same coding pattern exist in both levels of the text, which are chapter and verse levels. I provide those codings as subsections to be able to refer them precisely in the book. I will first present the fact at the verse level and then in the following subsection, we will witness the same pattern exist in the chapter level too. Lastly, both of the facts are based on the second type of the text of Quran with the 6236 numbered verses.

6.9.1.1 Fact: Rewriting Quran based on words and chapters at verse level numbers

In this fact, Fact 6.9.1.1, the text of Quran will be rewritten with respect to chapter indexes and number of words per verse.

Basically, for each of the 6236 verses, we first sum the chapter index and the number of words of each verse, which gives us the representation number of each of the 6236 verses. Since this is rewriting evidence, as usual, we place the representation numbers in place of each verse in the text of Quran. Since Arabic is written from right to left, the representation number of the first verse will be at the most right position. As the main approach of this book, we then concatenate these 6236 representation numbers and get the single meaningful representation number of the text of Quran. Remember this approach, because we will observe that as the same approach will be present at the chapter level too in the next chapter after this one. Thus, they together contain this specific pattern.

Let me first remind the numbers by presenting the head and tail of the table of the numbered verses.

tmp <- nQuran
tmp$VerseI <- NULL
tmp$vletters <- NULL
tmp$text <- NULL
knitr::kable(head(tmp), booktabs = TRUE,
  caption = 'Table head of numbered verses of Quran.')
Table 6.9: Table head of numbered verses of Quran.
chapter verse vwords
1 1 4
1 2 4
1 3 2
1 4 3
1 5 4
1 6 3
knitr::kable(tail(tmp), booktabs = TRUE,
  caption = 'Table tail of numbered verses of Quran.')
Table 6.9: Table tail of numbered verses of Quran.
chapter verse vwords
114 1 4
114 2 2
114 3 2
114 4 4
114 5 5
114 6 3

And, here is the proof.

x<-nQuran
tmp <- x$chapter + x$vwords
tmpr <- rev(tmp)
head(tmpr)
## [1] 117 119 118 116 116 118
tail(tmpr)
## [1] 4 5 4 3 5 5
tmpr <- paste0(tmpr, collapse = "") 
as.bigz(tmpr) %% 19
## Big Integer ('bigz') :
## [1] 0
cat("number of digits on this big number is", nchar(tmpr))
## number of digits on this big number is 12579

As we see the remainder is 0.

You can access this big number from the following link:

https://github.com/quran2019/Quran19/blob/master/6.3.1_Bignumber

One can just copy the big number and paste it into a web based big number calculator and test it herself.

Also, here is the “12579” digits length big number:

“117119118116116118118118118117117117116114116116114115117116117117115113114114114113113112111111109110112109112111111113110110108108109109110112107107108107108108108108108112107104107106104107106105105104103105103105105105105106105103102105104107104104104103103102102102105105105103102103102103119107114114109101104110102106103102102101989899102101100991019999100991001019999100101999910499101989797979798989797979897979796969797989896949497989694959695969598949496949496959695959498989494959594949494949494939396939994939692949392929495949695939494919294939394949894959393949499100929492939294959295959291919092919292919292929294909090919192919091949492919091929092909191919391899091899690909090909190888989898989928990919090928890888889899087898888888989999995949189888887878893878888908888878787908989868790888889938788878787898689878989879187868987888687858587899087899190908786858789888588888985918887868586868584858688868987858585858986868386868584848785848483848584848484848484848484848484848284828386828285838382828282838484848584838384848482828283838383828484838384848382888482838483888382828384838281838383828585848381828182838584858382838483848182818281818181819487928883848080808183828183808184818082828284838082838182818181808082818082818081808380828081838082808282808181808081838383808479818080808182808080808082798080808080808079797979798687858584838185828489838580828184828681848386838383848283868782808081807978807879797878787980787878777979797981788081797880787778798081807979857777798377777978777878787978767777798176777777761317776787876798077777678777776797877767878787878767776767676771518279817984817877798082797981787978777685857983838884808082808280778286838185858081838279818185868181837984748475767676787974778075777875857678897678857979787877757875757475747577807475767472757572747474727472737673727974737472737381747474737273747275737274737576737273737474747576727172737373807771727374787578747275757576757574847573737371707380737879737573787977767280737372717476787473747571737274717570707570787175737272717372717970707273737277808280767475797979828275797881747676727885807574797785787683909378112788983879577819099827279909779938695107697680728373758075917482807778737581748481808381778574758083778480718085727083749770787673757277938572707072809981116818175797311273731097678727769697769767082717587829077968472717310070109676673757368687782818975789610573768479817679799671856972788296776970857277847969947472726965936668666061585962616260616061635960606060605959616060616260626360595862615962656361596060596059616161605865616160595961595958585859586058585858596160626059586059616160595959595958586161595959605859596159615961595959585959595859565958596059585964596459605958595759605960615961596359615963597259595965596159596159595959585959596160595960586159595858575757566059585960605963596058596361596157596359616358616258586261596364576158606360615860605963595963626262596160615856555657595558575655625657575757575857575757575958566058565684696964696271565778575756565958585656575758585856565656585758565762626159616159575957615959605858605859606158595759605771595860576458585857555556565654545455545358605860575656576462595855565958595960585857595858575556575659606056576057605655555654576056585655565355555454545353535363595657575562636365565557565559585860605456566256565958586460595457585560556162595957615359686567767081895979567767615866726510262767688676060626655677576796257688573565356696767526353775360596258685559585754626354545759746162537191606169586355535751508565655573646864616664635678606459587173556374649155596265707071605564756152475353615956675758565955636166695862526058695856596159566456594957655451514647495154494849474950495149464846475254495251564952475150515152484847495049504950535352505050515049504954525150495246454951515656545151515448505249494949505848485250535452605053515357524749505454615055565055564951504954525550545548606853525250485250576454515855525550524763545554535051495150494544576964535769635869625057515648535259514957485652585559545464716664645164536076728055615758616454615252434353605854735253695259715854506763536052525854455760575551526652506159534946556066645060575655504957584848454257525565465249725448515747464649505270605461475260535153526352444850515653525953505262555063524963506370564754516779535859474653705546555355564854555355525667506153544641565559487348546156455346504850534951485455526054545061506456575053655747497551545147475446435846505149527359705949525156584548444861637370756255724945424348454242424242444443485344424747464741424549444448494948424242434543424543444643434652484449444542424653474449444547515469477053614544434549464845454644484553485046484844424140434041433940414140424141434040404342414041414742413941414142434241434241434241414241404140414141414141414140424242414141414140404142424742414040414042444141654042434244414140414143404041414243424140414142414142424142414241414244434143414341424340434242414441444240414440424040404141434142434741424143474243424141404444444344413944434141404944414642434440393939444650474647474543434242484448434645474141444150404142434347464946434443604747424542445143444549444646424748444943444041514443474548414251474450484448464443393939383760656154546859456053494648565143515257424847395139393969404146536363695952604848504657545949444344504241515848456852474454435747424868496644414646454351566055445351425054615361464763505050454466525148514742504141454140484539525545474763441035868955645413941414636415046558157634758534750474946494949515150566847574846475946394955415062616139454737433949504342464541534440454347464848434646404238495650403358625350475642524146384646526142474956604846494558393947493940343532403849395042544441394940584847413946444552524645454036484139524657483846514443504144383641393539353843625240413842383231384644354544514342413446363842354148444543424854503937414857424536463641524544355243474156494246374842425642354540473560365041394139403930474443474642544544495654574536414947433542393534414636454348455341434043363451415446484641443837384057464543423753484855435739544355393847614437416638454438454641504040473732293842444038454542354038434138343531393735373634363639364141464743485439333442383532383634413740404055394139654338404335403940323536383435414438413639514736464238354638473441433437373630334531332930313230293030333229353031303033323130283031333132313530293130303134363135353131352932372930323031343229302931313537303729303330313629333537313230293130293137293033293136293135322829312930303137293033293134303235313531303332312937293033303134332930303032302930333229293232303231323234303030303229313230313232303134293129393234283029302929303134373347293029343533323833313130333433323233313435333131353134373233363133333234323034313437343737323027373034383534344133473629363037383638423839303937403232343538363041403442364132333834343633403635363237343232343544454046413538333434334234424137344147443446516310047437435326247413442403135393555346231455746384338723772411023941464340353337505933443133384039383652333335334135434250333041343132313031313728303131293329333931283032302929294728283728312831353129333033353134312832393330332732303137353033282830303028323135342927303031423029312828353327323048372930313855283349402738323636332828442930292628283033272728282666343233315151404031293932493437393738294030343843384930303133364536332631395732354249374233314346304236384731443426283959443144393236473137353435923334443231292934322627333732303028303241312833272932403229442728373133353135353333273736292926292830323028302829282929283428292632302829294133323935343431372829383131322934393436272936432734282634343228292731283129293035293531363228313933323840293732282832382635342627332931373431293032332623273226282728333248362540242829373232354729292629373525283832303334394628362625323230332535262834282628293931252925304127302825282255422625262422232323222522242325252431272524332530303125292538242827322426242521332928242329252328232328242526282527242826273244283527282729272927313728303031304822272830262629283333293231293335272731303027352828253027293130372729332434302827302928252527303233333227323324242042362428273229233229232933263730383121243321313143202827532728353042312734282633302826242930273830293126374836373228313144463429314127293826333726343030312932463046483341263525515031564052373637292725342824292934242133293839222535262631263336314031442831324329282731362630312829302631293128302926302832343932353126362732304238353530323133264222262636362938233027283524303328343925302930292627292942262829293530313824304025263328402834302629382430283833282523273531213838292540313423272940272832293325262434313135334836324029263527302322414134313545432631373836402931333230333339283525232822262827282330332423322831213426273430444826382831362435373731252927232622262320273729313229262530232424233425202122231821181819192030222029211821202020202018202318202120192119242919221920212121202322232224192021232518202319262019251919212120262422192427222322222127262326222022232422202322222423242223222221272420202425262840232722232732402927292339352618263227262931584819283630211924303143475127254035333028302831292621343238322752266441212432293620283226202840555824403222482718282833384037392835314129261923221826335926212132182424232135223433252425302330492528364523182424172728424036382929261822292119292026272441342327263423203730324422383839232229314430222522313531352144212930311629212520242826271937282828181727142028262119371825282321293129262021162723352020202117212931273020344732222638192341222438242616222524202926231929222934333928232532291827272925293030303526303431223721302228232921254221343140222022251820352234502725272938212422334227301936202121333426193720252424253118182032342417372139261520233217272016262120243227264423193525352025142052293020251526312123212232172225302021212522292632273927202137262028372621533651322627392428492027372824251625243338393615242330252127263127611840362627312925462436323321252525263134362525232739283235262223202725273417363429202418215521333335412528252226252135312825201926312131232524252624232322322452253840452838232432323837212732422917192533322733202029272219222532273531412318302621532133191828343517282020411622182018252625172126442521212728434118242426292129202725242718202721291918162032142928201421313026191531191919142526182315301419171419171633211914141936354417291812151421371716372012223326174721261825263424275015395037482221221846252920432722483025161731361818302019291729232823121526101110111318181812181114141613131825162316302617161625252023201319492926314515142018202213231530324220322434141821232120181816282436221539451726272221202517354322173021474418261836332323232938271419193512322419221411122024231818161313191721208273514152222254341201423234148331443193445462922372628322637251324151634144216153435213026183616172417291829281927311919142115222421501922182335552850222322151413272017283118242421152030144551182911153316231823283720282712332131233414212029152620171821232825163428201933251522231738161818201943132315153015311619151922371817182020162916345022272027186920273157252926143121161432255629291825215017231219212631202415222921301330392424253630291752181821322617291618432033281538562131364620317324191817291918394531141821291918222623202834354723293037502912153224674836665829541916302258281516151719182930181818123810262341211226181815221522202340371810243342181614361526334416212024251111251215242430371815172325181119262466273514163112374420643640322621192626341728162240522435252321151122710312327202019343329242415221415241418243342131853181619192219362644233116172812171862465821152139282418261722927517191723412018322033143324101046172314241412232427261531122533392015251418201814221619361223281116242133101740247828432291613222427301516927129161826161488161915122018161315142431342621121817381426141413201717371620182316281314142718271714121221163217103616313230123911352014121616172319359182810181014163491223112248826102423111623202318382721101414172925302428181823142129292191427273212171916184916142114104512930341311716191621134719323022171815323729411326264169452626522454112917623245561811309829171037274927663547324842915161618294128281859272432512222191418131416192710162614283275162417827152919671946341718151811405316133127172024131925143345111115132226111214151381933192191634364723173216122133171729191120181916322421201417331226131614323319201935201921271514762412121420271119291332292812301551173112152526131125213913122619202522111415172662302022209172991014122021141010129102016121913212115251417302115224136152225142721819139182191314121314131014109310454355”

6.9.1.2 Fact: Rewriting Quran based on words and chapters at chapter level numbers

In this fact, Code 6.9.1.2, the text of Quran will be rewritten with respect to chapter indexes and number of words per chapter. Note that we already observed the same rewriting coding patterns exist in the verse level data in Fact 6.9.1.1. In this section, we observe that the same coding pattern exist in the chapter level data too.

Basically, for each of the 114 chapter considering the text type of 6236 numbered verse of Quran, we first sum the chapter index and the number of words of each chapter, which gives us the representation number of each of the 114 chapters. Since this is rewriting code, as usual, we place the representation numbers in place of each chapter in the text of Quran. Since Arabic is written from right to left, the representation number of the first chapter will be at the most right position. As the main approach of this book, we then concatenate these 114 representation numbers and get the single representation number of the text of Quran. As you will remember, this approach was also used and had worked at verse level in Fact 6.9.1.1. Therefore, it might show a particular pattern and be potentially interesting.

Let me first remind the numbers by presenting the head and tail of the table of the numbers at the chapter level.

tmp <- dfVCwl
tmp$cletters <- NULL
knitr::kable(head(tmp), booktabs = TRUE,
  caption = 'Table head of the chapters regarding numbered verses of Quran.')
Table 6.10: Table head of the chapters regarding numbered verses of Quran.
Chapter_index Verse_sum cwords
1 7 29
2 286 6140
3 200 3501
4 176 3763
5 120 2837
6 165 3056
knitr::kable(tail(tmp), booktabs = TRUE,
  caption = 'Table tail of the chapters regarding numbered verses of Quran.')
Table 6.10: Table tail of the chapters regarding numbered verses of Quran.
Chapter_index Verse_sum cwords
109 6 27
110 3 19
111 5 23
112 4 15
113 5 23
114 6 20

And, here is the proof.

x<-dfVCwl
tmp <- x$Chapter_index + x$cwords
tmpr <- rev(tmp)
head(tmpr)
## [1] 134 136 127 134 129 136
tail(tmpr)
## [1] 3062 2842 3767 3504 6142   30
tmpr <- paste0(tmpr, collapse = "") 
as.bigz(tmpr) %% 19
## Big Integer ('bigz') :
## [1] 0
cat("number of digits on this big number is", nchar(tmpr))
## number of digits on this big number is 367

As we see the remainder is 0 and thus the number is multiple of 19.

Here is the “367” digits length number of this evidence:

“1341361271341291361181321231281371171301371401351921271681291211331631451722281801591471941922521631852132582522583192393302733582982873293694003203543062442392874125065336324354073964133644114234026085896915333908799028351266121677390276681391813364045818471007146611861346921134310751301119513739901601157518606728448661807195718492514125033483062284237673504614230”

6.9.1.2.1 Fact: Rewriting Quran with words and chapters numbers at chapter level with digit sum

In the previous fact, we observed rewriting of Quran when chapter and word numbers at the chapter level data is summed over the 6236 numbered verses. The same coding pattern exist in all the 6348 verses as well with a single difference. Instead of using sum operation, if we use digit sum operation we observe the similar rewriting with 19 based coding as follows:

x<- dfVCWL
tmp <- paste0(x$Chapter_index , x$cWords)
tmp <- sapply(tmp, digitsum)
tmpr <- rev(tmp)
head(tmpr)
## 11424 11327 11219 11127 11023 10931 
##    12    14    14    12     7    14
tail(tmpr)
## 63060 52841 43767 33505 26144   129 
##    15    20    27    16    17    12
tmpr <- paste0(tmpr, collapse = '')
as.bigz(tmpr) %% 19 
## Big Integer ('bigz') :
## [1] 0
cat("Number of digits on this big number is", nchar(tmpr))
## Number of digits on this big number is 224

Here is the “224” digits length number of this evidence:

“12141412714141910151513869223423282517202323232531282518162223181928312826271916201412272226272522231812202433332524222117192228272629241619242910233033232531172118143021201816151718201831302228192024291717212122152027161712”

Further fact:

In the end of the related two codes, Code 4.1.2.3 and Code 4.1.2.6, we had observed a fact, Fact 4.1.2.7.2, between the digits length of these two codes that share the same pattern. I tested whether a similar fact exist between the current two related codes, Code 6.9.1.1 and Code 6.9.1.2. I observed a similar 19 based coding fact between the two as well.

As I mentioned before, these two codes, Code 6.9.1.2 and Code 6.9.1.1, share the same pattern and thus might be related. The relation between both of the numbers of the two codes is as follows. The tested number of Code 6.9.1.2 is 367 digits in length. The tested number of Code 6.9.1.1 is 12579 digits in length.

The fact is that, when we concatenate both of the digit lengths of these numbers, we get 36712579 and it is also multiple of 19 as if they complement each other.

6.9.2 Fact among Chapters and Words

Following the observation of Evidence 4.1.2.3, I decided to revisit the relation of the words separately with chapters and verses as well. I observed that there is also similar code pattern to Evidence 4.1.2.3 between chapter indexes and number of words in each chapter. All the technical descriptions is same as in Evidence 4.1.2.3, except in this code, we remove the verse sums and only look at the code between the chapter indexes and the number of words in each chapter. We basically used the default coding pattern, where we concatenate the natural numbers in the natural order.

Let me give the natural numbers of Quran at the chapter level to remind you the numbers we will use in this evidence.

x<- dfVCWL
knitr::kable(head(x), booktabs = TRUE,
  caption = 'Table head of the numbers at chapters in Quran.')
Table 6.11: Table head of the numbers at chapters in Quran.
Chapter_index Verse_sum cWords cLetters
1 7 29 143
2 287 6144 26268
3 201 3505 15004
4 177 3767 16351
5 121 2841 12225
6 166 3060 12745

Again, for each of the 114 chapters, I first concatenated the chapter index and number of words in that chapter and obtained the representation number of each chapter. I then concatenate them from first chapter till 114. This concatenation approach is similar to what we observed in Evidence 5.5.1 and Evidence 4.1.2.3. I will print out this 571 digits length big number in the end of this chapter for your tests. This number includes all the verses, including the unnumbered Basmala verses of Quran. See below for the proof of this code.

# With 6348 verses chapter level data dfVCWL.
tmp2 <- paste0(dfVCWL$Chapter_index,
          dfVCWL$cWords)

head(tmp2)
## [1] "129"   "26144" "33505" "43767" "52841" "63060"
tail(tmp2)
## [1] "10931" "11023" "11127" "11219" "11327" "11424"
tmp <- paste0(tmp2, collapse = "")

as.bigz(tmp) %% 19 #Test if remaining is 0
## Big Integer ('bigz') :
## [1] 0
cat("number of digits on this big number is", nchar(tmp))
## number of digits on this big number is 571

This fact shows that chapters and words of Quran has a 19 based relation too.

Finally, here is the 571 digits length big number:

“1292614433505437675284163060733458124692505101843111950121799138571483415661161848171562181587199752013572111782212832310562413232590026132427116328144229982308213155432376331307348883578236734378693873939118140123041798428644384044350454924664947546485644935750377513645231653364543465535656383575795847959451603566123062181631856424665293662586733768305692647022171231722907320474260751687624777185781787918380137811088285831738411285113866587768896891439086915892759344943195389676973498989940100441014010232103181043710527106211072910814109311102311127112191132711424”

6.9.3 Fact: Pairing pattern with Chapters and Words

We already observed many codings exist at the chapter level data between chapters and words as in Fact 6.9.1.1, Fact 6.9.1.2, Fact 6.9.2 and Fact 6.9.1.2.1. Especially in Fact 6.9.1.2.1, we observed that we can also rewrite the text of Quran when digit sum operation is used per chapter level representation number. In this subsection, Fact 6.9.3, I will present a fact, which shows that the pairing coding pattern along with the digit sum operation exist at the chapter level data. It shows further 19 based relation between all the 6348 verses and the numbered 6236 verses of Quran as presented below:

tmp1 <- paste0(dfVCWL$Chapter_index,dfVCWL$cWords)
head(tmp1)
## [1] "129"   "26144" "33505" "43767" "52841" "63060"
tmp2 <- paste0(dfVCwl$Chapter_index,dfVCwl$cwords)
head(tmp2)
## [1] "129"   "26140" "33501" "43763" "52837" "63056"
tmp <- paste0(tmp1,tmp2)
head(tmp)
## [1] "129129"     "2614426140" "3350533501" "4376743763" "5284152837"
## [6] "6306063056"
tail(tmp)
## [1] "1093110927" "1102311019" "1112711123" "1121911215" "1132711323"
## [6] "1142411420"
tmp <- paste0(tmp, collapse = '')
head(tmp)
## [1] "12912926144261403350533501437674376352841528376306063056733457334181246812429250592505101843101839111950111946121799121795138571385314834148301566115657161848161844171562171558181587181583199751997120135720135321117821117422128322127923105623105224132324131925900258962613242613202711632711592814422814382998229978308213081731554315503237632372331307331303348883488435782357783673436730378693786538739387353911813911774012304012264179841794428644286043840438364435044346454924548846649466454754647542485644856049357493535037750373513645136052316523125336453360543465434255356553525638356379575795757558479584755945159447603566035261230612266218162177631856318164246642426529365289662586625467337673336830568301692646926070221702177123171227722907228673204732007426074256751687516476247762437718577181781787817479183791798013780133811088110482858281831738316984112841088511385109866586618776877288968892891438913990869082915891549275927193449340943194279538953496769672973497309898989499409936100441004010140101361023210228103181031410437104331052710523106211061710729107251081410810109311092711023110191112711123112191121511327113231142411420"
tail(tmp)
## [1] "12912926144261403350533501437674376352841528376306063056733457334181246812429250592505101843101839111950111946121799121795138571385314834148301566115657161848161844171562171558181587181583199751997120135720135321117821117422128322127923105623105224132324131925900258962613242613202711632711592814422814382998229978308213081731554315503237632372331307331303348883488435782357783673436730378693786538739387353911813911774012304012264179841794428644286043840438364435044346454924548846649466454754647542485644856049357493535037750373513645136052316523125336453360543465434255356553525638356379575795757558479584755945159447603566035261230612266218162177631856318164246642426529365289662586625467337673336830568301692646926070221702177123171227722907228673204732007426074256751687516476247762437718577181781787817479183791798013780133811088110482858281831738316984112841088511385109866586618776877288968892891438913990869082915891549275927193449340943194279538953496769672973497309898989499409936100441004010140101361023210228103181031410437104331052710523106211061710729107251081410810109311092711023110191112711123112191121511327113231142411420"
as.bigz(tmp) %% 19 #Test if remaining is 0
## Big Integer ('bigz') :
## [1] 8
cat("number of digits on this big number is", nchar(tmp))
## number of digits on this big number is 1142

Finally, here is the 1142 digits length big number:

“12912926144261403350533501437674376352841528376306063056733457334181246812429250592505101843101839111950111946121799121795138571385314834148301566115657161848161844171562171558181587181583199751997120135720135321117821117422128322127923105623105224132324131925900258962613242613202711632711592814422814382998229978308213081731554315503237632372331307331303348883488435782357783673436730378693786538739387353911813911774012304012264179841794428644286043840438364435044346454924548846649466454754647542485644856049357493535037750373513645136052316523125336453360543465434255356553525638356379575795757558479584755945159447603566035261230612266218162177631856318164246642426529365289662586625467337673336830568301692646926070221702177123171227722907228673204732007426074256751687516476247762437718577181781787817479183791798013780133811088110482858281831738316984112841088511385109866586618776877288968892891438913990869082915891549275927193449340943194279538953496769672973497309898989499409936100441004010140101361023210228103181031410437104331052710523106211061710729107251081410810109311092711023110191112711123112191121511327113231142411420”

6.9.3.1 Fact: Key Coding between Chapters and Words at the total level

There is also this coding exist between chapters and words at the total level. It may or may not be coincidence but I show it here as a fact.

There are 114 chapters and 77797 words considering 6236 verse or 114 chapters and 78245 words considering all the 6348 verses. We observe the pairing coding on these numbers as 1147779711478245 is multiple of 19.

This code stands as a potential key coding pattern of Code 6.9.3. Because, we observe this pairing coding pattern at the total numbers level and observe the same coding pattern on the chapter level data. However, as I do not consider any code with only chapter and words information as evidence, based on the defined rules of this book, I do not consider it as evidence. But, these codes stand as strong coding facts for future research.

6.10 Fact on the order of each words with letters

For the code of this fact, I will use the numbers of the below tables that keep all the descriptor numbers for each and every verse in order:

knitr::kable(head(unQuran), booktabs = TRUE,
  caption = 'Table head of all verses of Quran.')
Table 6.12: Table head of all verses of Quran.
VerseI chapter verse vwords vletters text
1 1 1 4 19 بسم الله الرحمن الرحيم
2 1 2 4 18 الحمد لله رب العالمين
3 1 3 2 12 الرحمن الرحيم
4 1 4 3 12 مالك يوم الدين
5 1 5 4 19 إياك نعبد وإياك نستعين
6 1 6 3 19 اهدنا الصراط المستقيم
knitr::kable(head(nQuran), booktabs = TRUE,
  caption = 'Table head of numbered verses of Quran.')
Table 6.12: Table head of numbered verses of Quran.
VerseI chapter verse vwords vletters text
1 1 1 4 19 بسم الله الرحمن الرحيم
2 1 2 4 18 الحمد لله رب العالمين
3 1 3 2 12 الرحمن الرحيم
4 1 4 3 12 مالك يوم الدين
5 1 5 4 19 إياك نعبد وإياك نستعين
6 1 6 3 19 اهدنا الصراط المستقيم

I will now perform the test with only words and letters together. Additionally, since we respect the order while concatenating, the verse and chapter orders information are also implicitly considered in this test. Here, we do not use the verse indexes per chapter directly and thus we can use both types of the text of Quran. In this code, we basically concatenate number of words and letters in the natural order. However, since the coding pattern is not within the rules described in this book, I do not consider this code as an evidence. Because, with the current rules, I do never test words and letters alone for potential evidence tests and also since there is letters information, I only test such cases in reverse order as I consider them as rewriting codes. However, this code is worth keeping in the records and should be known to exist as is. This test works on the text type that incorporates unnumbered and numbered 6348 verses as follows:

x<- data.table(unQuran)
tmp <- paste0(x$vwords, x$vletters) 
head(tmp)
## [1] "419" "418" "212" "312" "419" "319"
tmp <- paste0(tmp, collapse = '')
as.integer(as.bigz(tmp) %% 19)
## [1] 0

Finally, here is the 22999 digits length big number:

“4194182123124193199444191372784712528331147125311471049125111437291977167373411571772619198625102125323992078136634145391552082136019702811115701248231011363198019861143176810511469187984274110558478381258196918841050125383073727121156073018902095187728118602572410815701354125494520832380187117622497104511573714119772310193611452410223911354105229150157149231136328138104626108271073011911512713117679442510218721255104410442289743081249136525981961175918733312317761872175831141301131252145611472410310463111215701258186719832211530122146517761681187493317702711415541563311351979103714633012715542189451963414632130147372719751766311381787632115313501266104594224892091115713649379354318731123125723961768115022891866156225932912211611458512663816393916771354165515613212344185177765286178727120135925130624156522107146673290301212611012492497145783525103176514591252114916671249177220742093492143012722104259357247167226123261183918227122168114661465135472940177461933011445203331476428825122472002511135140844156527116634731281069381669542174316530114602401577271229415220822875018924102241184316967249391482497249211443917427123351483012513681665155720892811230134177945186114519871454177214521554129551321382810327118491964191372411531874113713504619715541347166614689432911624125241071150654187226107261221888115020811565155325922186271132279269614621147114872718662410935138155220921763208013608372081219173323795354518719808342086946630311321360115973215477252511415546283212916702075146113661354939115217793211583436144936271162912028120136733146729146229126135218839479371143146224911556249911441147104225991350207715691774135434157147014651781104311491144231131148351521459158494018772398311252812721881149125710471360156917689431245166113625275291155137123104157013546299412410563313601251271072499218819871050136462619844016625106752912189371571453728301211875216813538322510720739473315116741354197811471569177715641154228712531774361463012222959372812012552399241082199208693811572110011452095145843188729730218530121115741929125168228115145816793718619911370157113637127188299187913552210714702090241063515717831149176354265421855826414611360834249913531256271081988401922292321581578188515681555124314614920514649443817729121206914541040209411431037188011382095201002510229132301251565167316652310519772710762732118927281149176319752193311392098482043614318731249241011356301352287227715571761228828128361683216260235167040170331728372712812641040311222396622812010622941567730145421821979135011461454331352697208120671143836211097357322195207216661773124540178291262210211433212910401249146238163291302078628147133137361611991165818851145189211481453144922100843177837162199022103631341288321457146014732613625131145815661361114312501144249954216188726129125015735019141924975324261278311374320162281198627117104774024107452073214125119249218804215730134291072392157018752110017691352146224991664135693826106401623414013521468248812491364144919716828126113156841195311402611716665122833136104523104281161580381581368114824109125421772711016681363136747218126224104259431129209219891978341392596840259816582490177110421978157026128218916631467740186912524520516822092137224116241045119620862711993711451673261009342185241002086522132612822991559642801361228615662297177045153291081147241021142419146914491252114212533113816661353944135610412510093724929299361756732371371368145412571243104132133114717681660939197627111136014662290281141050196722821771156212461157146320799422390145615648432810317652510515712710863521742277145931113229517711248177310362710593252123103124745175391608382410614589501554186918651253259222931152145821100734844956165917811666441712210249201291281769126216691359441871568186516539431559844134413532510321901360221002395126223105114818631139104030116125920962410015692911828110941104136151838281341038937187172719753112820962611722952083311451670231064016739128281221351371428362711842180351491775177584414613514437138197716641666939832291042186419141350145710431246636627945115611481673175713505214167361566125417702510552628130125412487342083311382294166916781664261112911011471974115837157401611462231041042157036150281101048188713621472156820871995104538146321458351565291231772217693211391144135914711657145811397302711317712510713663513225113239683716666331563135311461354736840381562410719832293421591253633135916641359188218859409381044197923102941167193418651136624626932730734416114652211401155114162542531742031219778415221666211001676228810472294124713802390114311602913924991036940188523109411651565208936153136322891874391721146156914591563411703012943222321418324320020931773271181981187911411980147740172105219792610415645271364301329471042301221469731840518114022881040371532810429125125572873312561464269993910471252732104412507312389841166911484191889178263411471147115123101733115218672299231031358630125420812186626249712548361039114921951358199512611048198216741769197212522193135821981881165916661046331503514920881988136113671776361401874136793717741868178210381244104314558353313412501253207693727115261072078103911462594135445209135718852295941146432135229826133187423105167713561039136818792093115911452410218832399241101680104483120973317023961883124028113291232310723102156414602913919843616031134291221670431761571231131352147714701571178616641563166514562293124722951781104511441662198222118261141255166417731364166719105167932168261252413224107126246190125293715671147209325103271188432511218711674188211461476135617802610323901986301321888145916691671271132512822991774166516671685125424117238627101156137174161092084228818611761271093112794152199187722102177818821254165621791460155441952226992911328126231011462157163015741466188627104178710423913818651454291231771166822844116626113431981145167227118188910461663271141148103917632997176022831666198112451560114711451042208715631249730228112531139135211432184165852215631044207319764214110364211565104225901561259693513593413616601787229314691038114816776261039176473322851352104852616832913111512711872814612410922851044830833219415601453146015641045271009381655248523871145419103693525988281985166431127229311471356104827951875166414621665391462310011502410094172714671161935114029113208123921038311231459103818661252175811551973104226941148207323861984155624761963197219751863145218821661166572818652181146112501768281112283238518701147187384112441563186894813481460114852215541348271091343113030118125783127110157411422182361372378937197916652082188610376311044946942936249412441657520103693715571875207718721043124617661468729261108351042156117699413181673419522631166416631663251067301557145916681243834135493817764201980187317779423213894323911976238919681036134310421873321311984176810411138271152611226104104632127208618702510584111502296145715531139229229110124715541461833177273593917721035629147417711766261142488281113011016621565527124412486251145331232484166313503713918721153187013511249134721812210110392384939114612561247627207293993514554716921105145762610361149730145917672912319792394419156026115241012711125112209015561558530145435121942198627107115545188421822711815587341354191011572730239416741967115283828106511931355391391453198925101197421828321358166818711564419167214541676197521862611711481350371573314329112177816781043523725166222901456518341384418717831559125513491884125042112532186251079431561135515582611418611354939839136094526109146412511142105063263110361360419625730739831727937834939729728833523726939836737521729115283411421263629742725833728124593642272793111395206246244174181046420519114142083052031710408306265224189377288357328295236266246295204167294231462940422623418523625524319841521315519524528525530630319624146951973615635214214203193146273198347286245224199421868736830840731145994810441347167115711349211001149422727103962510417321155134994015692186219819828442090156712642291104332118281221446187311531037187852515611263166772883117671458732125111481243103863412577349371965125823961771177214631661176915651354249320742292219815621042271032910919711575186825119251106297391451114519911043135924103168120893213117681983155715641876840104194117671356166912481152249413621156727186515512410794413572284229452015661971114373594212491775229112531451832419219512579311360177611572311011491671942843231161359731218214681353187112521245115093625108125112531045948125013551248135983422901771115616571348724186711591044134863021871258198219769429455192510094416711455156813521884187421922511313581564104119969351454187315572287178115701139136393712481360114214601246145693613571253114014541350930197614531037114512532692155814601147271141471239214631978166794014619469451870835530229021724191142156931362716581146114462710421661730939114819781875198034127221093817313563214233151725175883723811554301292812912482812314701150135012411250165782819631562830207911399372310213671152166328122261111359136510511454198318923011819758431349114912492085934125111376218241036124315658271038166492913462410312481776105194035148938103429259113461350310155362331013512078124919778351549114852711471465525114914669421048625186824924191551951714521352830134514521443134511468346256269341042115183093211381557524145710388351876114112401038834114962993693416538351147114812468348351650145010401246135410351455146093710417367291148941833316291291152125111461146933186112568311038843103682993483616749352598136283972893152283363394172562752493742041494441662410384175239431045144641912523415631419124473082941518685199375231144103910375181348414520732114041951851531041621051828310312312211414620519620229335130213831519830103572721871035517929521113519749398416288341460833623155953013671042123912495196211659837261151976146113421046124918698375191575176593562093393627105157512481244176893782841820715171662281041239134483173083662712477323156201356124410389351142146217651136942134972262114521565623187012478288381250176793520851875125913531979115041973111421572104414588351459942845837104472910486248377351142135313575267271352622228215538386291559135118801357839114710401049177283773016611045135613501455188211461247208384383773393711455258317311355735837834732835732939737936114293473583352984283915831675629125112611461147210451465125110411669734631238384011431992115783363012497321037207511429357269389381157166612526235251142135083282910434191040228612441144702621346124313451561935251011448104117722285938221023714417696234151252229893825108167614512094846241002181936114320891576271282089134410453514817859364181151146123971460114593184184127106167421891664125984118777351656156017601555124527101104317677299411860186329136291229311145104112634419941931452152142042110427305285253156297286222110451852210411356135694015664211763261041030519321381562837725624145525111732942419104212415195228486257271985839737738424630114812528339395197287277255235211045733124914478367289414211042727104216759375248381145844124410487301047622840124782952283352114485225262480632620626727936726517830166510436301047628834837731522146184383672483493484011421863729419951261221873199411431781937115093793828102125914651563167014569387312085938351502612113689471149169919852287177015667835017834821713614820314551987145822993310821837353814010443110611471570114872816671883104517762310238173848115350219198723103763153918027120228641994419732292166694712511670176594217628399379428381350104016682187156520961985105193873473994412497281148104111491569837114894294913698377331669114417689371555165752211491355104694372673315641247145552414441352177213611148135012615271147420114722858361669935942104513649445261245419134196271145114383811398295218324166208356237337325201038732625114683252194052052373093983751972362462672683573441652452273212516257269488313174203122196727114383552541931531542031442321483862013573165233158295214196236285204176285223196234174194164188316266235226244176196203183186227284213164196214194194143117268295214187244143171140317526624725419516936516940628418829521315724414317114052142342031752431621062393651831310445213167254143171140521311418526317420627522113893173132010415214187244143171140423114193552152031841831463182952142262041431711406293219425295229359375191041829521420416522313417935523625524729522418217419520623727416418522419934319628726420415316417625517423321722521199241962431694710451043728166514567282074113519728361158156919779432085241061244945144711421777146282772811479338345231350125313618391669136011471655381361247145912432811013581361135110421468731943114452883911471558739631124927104218916702082197814571444944124794093273093210388311037124742183472811451456167011421357833156418661871114013521763156111514191341993819851259125522921363186717671037166417651049381481346936167233119197610421144271081550261061148291101559271092082207325100933145715751773186929108125210519441048167513521881207718862610613492392629834155512651574135025971773208215661775840188413646337351142145872815581978218713628401770291092610528102217816701765261131467187519661559166019634191310401156104312451042127021907433112063718861161166964013562711813521347197283217591360207627117124418871457231036271570166723901250730177473916771369281241988124384210452189251121989135214591662156419911265638135694072817865251253136414502284156516646361573176594741913298311246833114210442298321521360832526943526943115862883914601140208313671464218516658311879271131660229294811451871634104315621557167222872285156714571656939115117831887281151037197194111461455248112552086942197683210394191341931694783318721667839835271051454187015541776291122582186916541145301112187156615647301565104021781141259716581968229231122271004191383118662492176363210368251460145511421675166614641566115613468311259219594913511459105211451869177573011445264191461124362628127281262914317808422298167663613582610514601355155724801468351552310217651885187516721674167713611679146417691464208125122145630223249248196227513611766835316136583583862983312582310362267351372585702941139301261463146312672299198763412431562729833125584683717719401459189215934191767186832123105011461666166116662910513531251271071987271092074167583517821987104521702693228517629351146124812547301041321431569341601454839134923100945207310511358187734130114714592489175272682916571035936103815574192410019682285114315631358136225911776241083411528127281151881114762351834138421418416166241212481367727229417781676837166521991357114514551872251081044241003313219761983261113012025974191221331431331773083010451251836125414588381157155562852312559381146729831155851741983072713478301247114562310501044837135693783973715588356239336221145114224927308357331039135310391142728732623516425145052383652152411579461049730124383312506336297317309361142114110371144146310348354192112132133127356315189374177281246313417419621735215416728624727738729317414417524628521103662542052542010386335224226234194163143123145193167244203135247234197344155215196263136285194216234226234216327235204204185224205244195265254204195204194193154185166255224184163113156264134203164184197325296235163162810041941973152031541931431641952710485215294243233234214174194214195185285243184194194144194194184194183144223174185204194195216224215226264205296295214194204142104145241047417419314417516620315316315622420418529316419414317217630414315623316419419415622103710448321251103815507311048624834736722103583211447365206337302393156032137933311221670136695073362911426309391549833420421728622114662610461454848526528838623522735422521721519421420415103811451140103863062111407374113139338279329364226281554103452062362441741842342041773110365184174196291045331261663231053613831126341222410522959315239296211985176112601367103820803112020773413213611040125911447281981416730155883483312581557124136148104083218772610714541148187617762597114322831143156815592185135216641551932124210451465115092811577341462624178622771574932341519452094167317774191262914561352219810422712816761253156713651562145383716631559134715676281562301191363631734198718691348391462710111411455727165230105239310402394937124823881041156122861250104213611982124513531673115310468414201253239312531369114313622082124173321981453207630118124410399446326237231760114684214583212394312596282510415671251177041912419733733177516748369401462156716671989940239425102198914745278341256187820849461148259911521055146116791993167041413511771114211501988125522912610193913461753301291872114628107124011433213013561751197312394191213104310381990125322901971166015591989135638152301143414918711152229693822752284241072911822911251126417681352166310411448629155572693617741050116462914579351566828207227123165621682711515621147227727109155641912213630727835623832732105211451250114920844199377311246934126615538331146218314607369405227329399361042251111777530125311387381249940114062673483662613531255731135512477301867113411467366364249331448104283610457291779936114710407349345295291569735627626622629937734522114883183684211441363135283782762641912213834517623726837103951462852062672862562962983593193562452162352462751831442042283773372862972931483252412507378365231034829312210418210524725520619519311527419522104872552931741912629631934208912534141457114519721142146316601461114413742410213551564732178513562494217816681870105214541147136212592278114314611676837842419126291572291061864945145925992474249519761675135294345193188128113176694327129259512541355187514603213810471773188020781560186522851879271074198351881188138167317420104663083516751144221081454134844172241046321565147327117124810457377331663156574110481140126685021861155155512581365635301294195191561419199419932111684052784925105371512085943146131141281242711019867371889145212521241197740179281302812014605424941916642398177794112481879281277283014410534015932129219327116189116651976104541931411447279369321253115152010455228377304199361036145783782693462362312456216214171041103783483193352562272952462515541341135412495257297326279361353419213213213213315313315415412211518418519732520937625319526420419523937628938623522938939832523626520419626728736834625734730932827837732831529425729829113913466215195256279307279437314191621039213213213414410417315317518621625622125352083862973319845288337325247276289318317286278316236298277317289405207275217339339397329331042104152541931251641451431331131531051851851641741531431451851662131831841841425994153171865947165111411654167331129314315519720315518621413419416415415526413419415414418312932213311417520210620419315211317419422731631728520828840835943521526938522624623416729623936627416729314104193252373583242241684172941693872452994352231572951973693552042162952093551862662651841751962141916292102103173184234176343175254204195246204194214193174184194234196314194126274191035419418419177841983441963141982741964041962652141951941921041931641951941994141993741932041952341931441918419317419419419313419418419622419626419627419314315210414313314316527527217213312312314312319420523521316416273194186254175253102928292114172103162142102123123135253113104135215259472154195245255173174193154164213145257329356323155256292103124227336284216305284174195203123114174174224224193167285204205194186225206263102105164174199391143940361348371252157415691769371531243221092713220991564281181355125720105391802510821691558125628138147439191229422854191873231032190261151881156447163381672010517823113923922411519731040104315641773157283793451221419114341185146012511360259037166189831134231062812916731245239411471768105018721051104818841351198717784194922013681362522211356197315632191211015625821943917320804191143934932114624101321291668115414601247157217759413616441912522192837103923105187194518792288157221884191782125111442210414661870209017901875218511444191759114794914621353168218691051271221159165811599371987839167912505294194217330132217328118145432146259014647321772341532596419155711492911421921782231071251461941262271212497177941993311531865104212687348321353186311395319389387271459114012488301562155412421247125583173093413521558134910404194165195184152132131139314417516313417413515733315105021072721321372731962641752331272862652462310398396263234145185171247416838938115210445187275211142104052512625194191628416420423627156851663462873062962363031752594362694252041431021184011444144184143132931273162352052051741841631141572662441752331641762131752142031341741941641741511473143142104193174169402123166223102104152941741541721052252221442162451842110427305284235244175245218285227358318429409444191451722525186572652114794167286274219446203148317315235255214201349315135383512541037104115714191349935933728103711469338411351134493711391452104952783910398311041826824124016641145113672713441352419312415518624521830621626936732635419522840115163183562693178329419312272821021131321041641641841641721031341252121131031041125393136195162941341221031257250293123133142107245173143142104125184164184173144225213153109315193113101144419417420524623523418312293155243841862652131462041742041441721231431231551741739312317417412312517311413521618517526727419114010497326358357337357371040729836523104463483752363041994772913598306279335217298409479311141104241921321321321321331031531431431431331029518316314315317316518417311318316417212738316624621620418312316414418316526518316520315629419316526316624316418419210313416210312417213214316316317420316525416211519626422421416211316624314295213184185233142122122106245181047145893216694192132132132132133142133142125274165194163144146255186164173162831029417526619625314420417420213317420520417393164179324165254143135199364192831241641831131041441427311312310310211292841741141531231341351542141641531421021221021031731451729212624314212419210419419312316314314314314314316310313314314314414313211313313415619310315419518518210518518832419315317314315518728418617417315211314416416315416518619934419211630524522285236224142931642072273383062641772562441529213416316522416632313419836419631627420630316624419314314312416314937521419419623313210518513618313312313415414626418417315941419316213211315314413627940104014651465413414315313311416210519417412310419214416211619418412522415314617315314310311314294234194153113123153133139312124163112144196194124144203155193154194173142103134136196183142113104153123132122122126254174174164153144134223134154191628212312616618312623526315417317518314114910405195234204176205199435215204154205213132104194154153115206204175154142122143144162661931241594531763231341921231431531531531431232041341331531373073931341931331441831141521121341621121362131241931641731221441762152129419163125155204184163133154174174164194133133123124144133133124192142931562641894241742141951841531431351841731141431331051831241551762631521021252041952151962093751841912566233111145167816669422183419420318416316413632622621419213213213311311418415417725414519419172941752642441741441629413284192133143124145202114185214191641595241941441641541741631441831431041972551942041831541921042341872641941941752021152031321441931631241541941641451951751941441951973173041951561941531751541941129412515419414495155205154194142828417520313”

6.11 Fact: Code among verse, words and letters

Regarding the general rules, we do not look at this particular combination of the text numbers. Therefore, I present this successful test as a fact for a record of information. We will not include this and any other facts in the probability calculations.
We will perform similar approach to Code 5.5.1 but with special verses, words and letters by concatenating them in the natural order with the verse level data of the text type of 6236 numbered verses as follows.

x<- nQuran #6236 verses
tmp <- paste0(x$verse, x$vwords, x$vletters)
head(tmp)
## [1] "1419" "2418" "3212" "4312" "5419" "6319"
tmp <- paste0(tmp, collapse = '')
as.character(as.bigz(tmp) %% 19)
## [1] "0"
cat("number of digits on this big number is", nchar(tmp))
## number of digits on this big number is 35134

There is also additional fact that complement the previous fact. The above fact exist in the 6236 numbered verses. The similar pattern also exist in all the 6348 verses. This time, we also compute the digit sum of each representative numbers of each verses before concatenating them as follows.

x<- unQuran #6348 verses
tmp <- paste0(x$verse, x$vwords, x$vletters)
head(tmp)
## [1] "1419" "2418" "3212" "4312" "5419" "6319"
tmp <- sapply(tmp, digitsum) # digit sum of each verse
tmp <- paste0(tmp, collapse = "")  
digitsum(tmp) %% 19
## [1] 0
cat("number of digits on this big number is", nchar(tmp))
## number of digits on this big number is 12517

As we observed, in both of the text category of Quran, we observe 19 based codes as facts among verse indexes, number of words and letters.

6.12 Facts: on individual categories

In this section, I will present some interesting individual examples as facts but not as evidences of the general system.

6.12.1 Fact: The Chapters

\[c\]

\[114\]

The number of chapters in Quran is 114 and it is multiple of 19. Among all the others, Fact 6.12.1 looks like the most obvious one and easiest to count even manually. However, it is still an interesting fact of the text of Quran regarding 19 based coding system. Because it stands as an important clue that leads to the 19 system of the text.

Regarding the reference, the number of chapters and the divisibility of it by 19 were already known by all Muslims and there is no need to give a specific reference for it. God knows best, but in my humble opinion, when considered with the verse, “74:30. Over it is Nineteen”, this so apparent multiple of 19 number 114 might be left so obvious as a clue (along with the 19 letters Basmala verse), so that Muslims get curious about the other numbers of the text of Quran and discover the 19 based coding system of the text of Quran in the end.

6.12.2 Fact: The Verses

\[v, V\]

\[6236-6348\]

The number of numbered verses in Quran was counted from the text computationally and shown to be equal to \(6236 (v)\) and the number of unnumbered and numbered verses together in Quran was shown to be equal to \(6348 (V)\) in Chapter 3.1.6.1. A reproducible test is provided in Chapter 3.1.3 for anyone who wish to reproduce these natural text numbers. When we combine them by concatenating in both directions to test, the sum of the digits of the two verse numbers v (6236) and V (6348) is equal to \(38\) and it is multiple of 19. It is easy to calculate but lets use the digitsum function again and save some time as follows:

tmp <- paste0(v, V, collapse = '')
tmp
## [1] "62366348"
tmp1 <- digitsum(tmp)
cat("The sum of the digits is:", tmp1) 
## The sum of the digits is: 38

Fact 6.12.2 incorporates both of the verse numbers and show their potential relation to each other regarding 19.

6.13 Fact: Others

In this section, I present some other interesting codes that are not within the general rules but presented as facts.

If I do not observe a systematic pattern and can not set rules, I do not take individual interesting examples as evidence. But, I will still report some interesting numbers as a separate facts rather than evidence. In order to claim a number to be evidence, I always consider the set rules and accordingly count the number of potential combinations to be tested so that we can calculate whether the code is statistically significant or not. Another reason I record some interesting tested numbers as a fact is that, they might still be part of another coding system that I might not have realized yet but people might investigate further around them and might find a new pattern later and include them as evidence too. Thus, in this current fact, I will present an 19 divisible tested number as an interesting fact.

6.13.1 Fact: Totals

This fact is about combining sums of the totals of the main descriptive numbers per chapter.

Let’s remember the tables with which we will compute the sums of chapters, verses, words and letters.

require(data.table, quietly = T)
require(DT, quietly = T)
knitr::kable(head(nQuran), booktabs = TRUE,
  caption = 'Table head of the numbered verses of Quran.')
Table 6.13: Table head of the numbered verses of Quran.
VerseI chapter verse vwords vletters text
1 1 1 4 19 بسم الله الرحمن الرحيم
2 1 2 4 18 الحمد لله رب العالمين
3 1 3 2 12 الرحمن الرحيم
4 1 4 3 12 مالك يوم الدين
5 1 5 4 19 إياك نعبد وإياك نستعين
6 1 6 3 19 اهدنا الصراط المستقيم
knitr::kable(head(unQuran), booktabs = TRUE,
  caption = 'Table head of the all verses of Quran.')
Table 6.13: Table head of the all verses of Quran.
VerseI chapter verse vwords vletters text
1 1 1 4 19 بسم الله الرحمن الرحيم
2 1 2 4 18 الحمد لله رب العالمين
3 1 3 2 12 الرحمن الرحيم
4 1 4 3 12 مالك يوم الدين
5 1 5 4 19 إياك نعبد وإياك نستعين
6 1 6 3 19 اهدنا الصراط المستقيم

From these tables we can compute sum of each columns of chapters and verses and combine them by concatenation and test them as below:

# Get the number in the text type 1, all 6348 verses 
tmp <- dfVCWL
# Compute the sums of the numbers of each of the 4 categories
tmp <- apply(tmp,2,sum)

# Compute the sum of the 4 descriptor numbers 
tmps<- sum(tmp) 

#Compute the concatenation of the 4 descriptor numbers
tmp2 <- paste0(tmp, collapse = "")

#Compute the concatenation of the 4 descriptor numbers and the sum together
tmp2 <- paste0(tmp2,tmps) # 6555634878245332837423985

# Get the number in the text type 2, the 6236 numbered verses 
tmp <- dfVCwl
tmp <- apply(tmp,2,sum)
tmps<- sum(tmp)
tmp <- paste0(tmp, collapse = "")
tmp #"6555623677797330709"
## [1] "6555623677797330709"
tmp <- paste0(tmp,tmps)
tmp #"6555623677797330709421297"
## [1] "6555623677797330709421297"
# combine the obtained numbers of both text types by concatenating 
x<- paste0(tmp,tmp2)
# should be: "65556236777973307094212976555634878245332837423985"
x 
## [1] "65556236777973307094212976555634878245332837423985"
#Tests
as.bigz(x) %% 19  # Test if 0
## Big Integer ('bigz') :
## [1] 0
digitsum(x) %% 19 # Test if 0
## [1] 0
#represent 2/3 successes considering both ways

The fist column (Chapter_index) in the table is for the indexes of chapters (1 to 114) and the sum of these indexes, as another fact is 6555, which itself is multiple of 19 and also one of the three numbers of interest for this fact. The second column contains the verse sum of each chapter and the sum of it, as we know from before, is 6236.

Further Fact: Code between chapters and Verses:

This fact is about the code between the chapter indexes and their corresponding total verses. The sum of chapter indexes (from 1 to 114) is 6555 and the sum of verses in these chapters are 6236. When concatenated, it provides 62366555 as the number to be tested. The digit sum of this number is 38, which is 2x19.

6.13.2 Fact: Code between general verse indexes and letters

In this fact, I present the code between the general verse indexes and letters. This code again mimics the rewriting approach and concatenates from right to left. This code uses the digit sum test and not aligned with the rules of the evidences and presented just as a fact. This code shows that when the general verse indexes and letters are concatenated, the digit sum of the resulting number is multiple of 19, when tested in all the 6348 verses.

## General verse indexes and letters
# 2 possible numbers; one test
x<- data.table(unQuran)
#The order of both is not matter as digit sum test has passed
tmp <- paste0(x$VerseI,x$vletters)
tmpr <- rev(tmp) # The reverse and other way both works as digit sum test has passed.
tmpr <- paste0(tmpr, collapse = '')
as.integer(digitsum(tmpr) %% 19)
## [1] 0
cat("number of digits on this big number is", nchar(tmpr))
## number of digits on this big number is 37592

6.13.3 Fact: Code on letters digit sum at chapter level

This code shows that the digit sum of the digits of the numbers of letters per chapter in all the 6848 verses text type is multiple of 19.

tmp <- dfVCWL$cLetters
tmp <- paste0(tmp, collapse = '')
digitsum(tmp) %% 19 
## [1] 0
cat("number of digits on this big number is", nchar(tmp))
## number of digits on this big number is 410

6.13.4 Fact: Relation between words and letters along with chapter indexes

This code shows that the digit sum of the digits of the number of words and letters in each verse along with chapter indexes in all the text of Quran is multiple of 19.

#Chapters, words and letters
x<- unQuran
tmp <- paste0(x$chapter,x$vwords,x$vletters)
head(tmp) # head of the big number
## [1] "1419" "1418" "1212" "1312" "1419" "1319"
tail(tmp) # tail of the big number
## [1] "114414" "11428"  "11428"  "114417" "114520" "114313"
tmp <- paste0(tmp, collapse = "")
as.character(digitsum(tmp) %% 19)
## [1] "0"
cat("number of digits on this big number is", nchar(tmp))
## number of digits on this big number is 34429

6.14 Further facts on Allah and Al-Rahman word positions

In the following subsections, I will presents some interesting coding examples as facts with respect to Allah and Al-Rahman word positions.

I already presented evidences on Allah and Al-Rahman word positions in Evidence 4.2.4.1 and Evidence 4.2.4.2. This chapter provides some additional interesting codes as facts.

6.14.1 Fact on Allah and Al-Rahman word positions when paired

In this fact, I will show that the chapter and the special verse indexes of the verses which includes Allah words and the verses which includes Al-Rahman words are together also have 19 based coding. Basically, we will pair those indexes between Allah and Al-Rahman words positions. The pattern of this fact is similar to what I presented in Evidence 4.2.4.1 and Evidence 4.2.4.2. In this sub-chapter, we will observe that the same coding pattern exist between the indexes of Allah and also Al-Rahman words.

# yunQ is for Allah word from all 6348 verses
# yunQ2 is for Al-Rahman word from all 6348 verses
tmpdf1 <- yunQ
tmpdf2 <- yunQ2 
x<- tmpdf1
tv <-c()
for(j in 1:nrow(x)) {
  if(x$verse[j] != 0){#for all the numbered verses
    tmp <- paste0(x$Chapter[j], x$verse[j])
  }else{#For unnumbered Basmala verses
    tmp <- paste0(x$Chapter[j] )}
  tv <- c(tv,tmp) }
length(tv)
## [1] 1678
tmpa <- tv
#
x<- tmpdf2
tv <-c()
for(j in 1:nrow(x)) {
  if(x$verse[j] != 0){#for all the numbered verses
    tmp <- paste0(x$Chapter[j], x$verse[j])
  }else{#For unnumbered Basmala verses
    tmp <- paste0(x$Chapter[j] )}
  tv <- c(tv,tmp)}
length(tv)
## [1] 157
#Pair both vectors
tmp <- paste0(tmpa,tv)
#concatenate all the numbers
tmp <- paste0(tmp, collapse = "")

as.bigz(tmp) %% 19 #test for 19
## Big Integer ('bigz') :
## [1] 0
nchar(tmp)
## [1] 10313

You can access this 10313 digits length big number from the following link:

https://github.com/quran2019/Quran19/blob/master/Fact_7.3.3.txt

One can just copy the big number and paste it into a web based big number calculator and test it herself.

Finally, here is the 10313 digits length big number:

“11112132722921632103215421752206223722682271025511260122611326414267152701627317274171102751827619277194527919582801961283196928519752881978289198529019872911988294199329719962982021012052102209021032010921062121072126210921362110214221142111221152221162321182421202521322559213725602138256321392621402652143272144273021482821492921533021543121583221593321613421643521653621673611216936152170362321733652217437217638218139218240218541218741221894221904321924319219443202195433621964345219744219845219946220047220348220449220650220750332209512210522211532213542214552215551221756221857221958222059222259222223602224612225622226632227642228652229662230672231673223367192235672022376729223968224269224370224471224572224673224774224975225176225277225378225578372257783822587922598022608122618222628322658422668522678622708722728822738922759022769122789222799322819422829522839622849722869839932100341013510237103391043101053111063131073151083181093191103211113231123281133291143301133113332233321633373339434053426345734783491035011351123521335414355153591636117362171103631836419370194537319583751961376196937719753781978379198538119873831988386199338719963892039220539420903952010939721398212639921363101214231022111231032231072331082431092531122559311325603116256331172631192653120273122273031232831262931303031323131353231403331413431423531443631453611314636153148362331503652315237315438315539315640315741315841231594231604331624319316343203164433631654345316644316745316946317047317148317349317450317650333177513179523180533181543182553183551318756319157319558319859319959223200604614162456349644116541266413674146734156719416672041767294196842369424704267142872429734307443275433764347743578436783743778384397944080442814438244683447844488544986450874528845489456904589145992461934639446495469964709747298473994741004751014761024771034781044791054801064811074821084831094841104851114861124871134881144891149013492249321634943495449654976499741008410210410311410412410513410614410715410816410917411017110411118411319411419454116195841181961411919694122197541231978412519854126198741271988412819934129199641302041312054133209041342010941352141372126414021364141214241422111241432241462341472441482541492559415025604152256341532641552654157274158273041602841642941653041663141673241683341693441703541713641733611417636155362351365252375338543956405741584125942511435124319513432051443365154345516445174551846520475214852349527505285033531515335253453535545385553955154056541575425854359544592254560547615486254963550645516555266554675556735566719557672056067295646856769571705727157372574735767458075585765877758878589783759178385927959480595815968259783598845100855101865103875104885105895106905108915109925110935112945115955116965117975119986996310061410161710261910362110463110563310663410763510863610963711063911164011264611364711465011653136562662216366436704671568066887690869110693116951261021361071461081561091661111761141711061161861181961191945612119586124196161251969612819756136197861371985613819876140198861421993614419966145206148205615020906151201096152216157212661592136616421427211127262272823730247322573325597372560743256374426745265749277502730754287562975930762317653276933770347713577336774361178536157863623787365278937799387101397105407131417140412715842716443716943197178432071854336718643457187447188457189467190477194487196498508150338251875281053813548165581755181856819578205882259823592282460825618276282863829648306583366834678366738376719839672084067298426884369844708457184672847738487484975851768527785378855783785878388607986180862818638286483866848688586986870878718887289874908759191929293939494959596969797989999914100915101916102917103918104919105920106922107924108925109926110927111928112929113930114931119321393429362163937393849405941694379468948109511195212955139591496015961169631796417110967189681997019459711958972196197419699751975977197897819859791987980198898119939831996985209892059902090993201099942199621269972136999214291002111291022291042391052491062591072559910925609111256391122691152659116279117273091182891192991203091213191233291273391293410351033610436111053615106362310113652101637101738101839102140102241102741210304210314310324319103443201035433610364345103744103845104446104547104648104949105550105850331059511060521062531064541066551068551106956107157107258108159108259221085601095611010062101046310106641010765101096611671126731146719116672011136729111468111869111970112071112672112973113074113175113376113477114178114378371150783811547911568011618111638211648311738411788511848611868711928811101891111390111159112921223931238941239951240961252971266981267991268100127610112791021280103128310412861051287106128810712901081291109129211012961111299112121071131210811413111321313821311216313133131641317513206132171325813261013271113281213311313331413341513361613371713381711013391814191421945143195814419611451969146197514819781491985141019871411198814121993141919961420201421205142220901424201091425211427212614282136143221421434211121438221442231446241447251451255915256015692563159626162651612716927301618281620291623301626311628321631331633341635351636361637361116383615164136231645365216483716513816523916534016614116704121671421672431673431916744320167543361676434516774416794516834616874716884816904916915016925033169351169452169553169654161045516105551161065616107571610858161125916114592216115601611661161286217631722641733651739661794671797673179967191711067201867291846818156918167018177118217218247318267418387518397618437718457818697837197838193079193680194881194982195883197684198185208620887201488206189209890201149121922122932166942167952198962297222982239922610022710122810222910322101042211105221210622141072215108221610922171102218111222311222251132228114223011223213223422235216322363223742238522396224072247822521022541122581222591322601422611522621622631722641711022651822681922691945227019582271196122721969227319752274197822751985227619872278198823199323141996232320232420523322090233820109239121231162126231172136242142242211122452224723249242410252413255924142560241525632417262418265242027242127302422282425292430302431312432322433332435342436352437362438361124393615244036232441365224423724433824443924454024484124504122451422452432453431924544320245543362458434524594424614524624624634725482517492541502555503325685125705225715326542689552693551261085626110572612658261315926144592226150602616361261796226213632622764276527866279672724673272667192730672027366729274368274569274670274771276072276173276274276375276476276577277978278778372788783828792813802827812830822849832850842856852860862868872870882871892872902876912877922878932880942881952882962887972888982999293100295101296102291010329111042916105291710629191072920108292210929231102924111292511229291132936114294011294113294222944216329453295042960529616296272963829651029671129681229691330143051530616308173091711030101830111930171945302919583030196130371969303819753039197830401985304319873048198830501993305419963056203059205306020903120109316213192126311121363112214231162111231182231202331212431222531232559312525603126256331272631282653129273130273031312831322931333031343132323243333343313533236333361133436153353623336365233937331238331539331740331841331941233214233224333234319332443203325433633274345332944333045333346333447333548333649333750333850333339513340523341533346543347553348551335056335157335258335359335459223355603356613357623359633362643363653364663366673369673337067193371672033736729346834869342270342471342772344773357435175352763537735478355783735878383511793513803515813517823518833522843527853528863529873531883532893538903540913541923543933544943545953696364797367498379937231003735101374010237741033786104371021053712610637128107371521083715910937160110371691113811238261133865114391139113392239321633943396439753910639117391483916103917113918123920133921143922153923163926173929171103932183935193936194539371958393819613942196939431975394519783947198539521987395319883956199339571996396020396120539622090396320109396421396621263967213639682142402111240222404234010244012254014255940162560401725634020264021265402227402827304029284031294033304034314035324043334044344045354048364055361140563615406136234062365240633740643840663940694040744140774124078424079434081431940854320414336411443454115444119454121464122474128484130494133504152503342514235242553426544285542105514213564215574216584217594219592242216042236142246242276342316442366542406642446742466734247671942516720425367294368436369436470438771447244187344197444427545764527745578456783745878384510794512804514814519824522834523844526854532864535874688462894649046591468924610934613944617954621964623974626984628994631100463210146331024710347110447310547410647710747910847101094711110471211147161124719113472111447231147261347282472921634732347334473454738648748284831048411485124861348714481015481116481417481517110481618481719481819454819195848201961482119694823197548241978482519854826198748271988482919934919964912049320549720904982010949921491021264912213649132142491421112491522491623491724491825502559502625605125635150265151265515827522730522728524329533053233153263253583354345535563657361157536155793623571036525711375714385716395717405718415720412572142572243572443195725432057274336572843455729445845581465824758448585495865058750335885158952581053581154581255581355158145658155758165858175958185922581960582061582162582263596459265593665946759567359667195976720598672959136859166959187059197159217259227359237459247560766047760678607783760878386097960108060118160128260138361846138561486615876168861789618906111916113926114936294624956259662997621098621199631006311016321026341036351046361056371066391076311108641096461106471116411112641211364131146414116416136417265216365136524653565466557657865101065111165121266136611466215663166641766617110668186610196611194567195867919616726196967281975681978691985701987703198871199371319967142071152057125209072201097242172521267272136721221427218211127219227222237223247325732025597425607431256374562675265762776627307692876112976303077317832793379253480358136812936118236158336238436528537863887398774088418824412894290439143199113432092433693434594449545958469647961448974998509825033985519885299531005410155102551103561045710465810559106592210760108611096211063110164110265111661126711216731122671911367201146729”

6.14.2 Fact on Allah word positions and frequencies with concatenation

In this fact, I will show that the general verse indexes, the chapter indexes, the verse indexes and Allah word counts have also 19 based coding in the numbered verses of Quran with respect to their concatenations as follows.

In this fact, we concatenate the general verse index, the chapter index and the number of Allah words in that verse. For example, the first Allah word in the numbered verse of Basmala verse in the first chapter (Al-Fatiha), which has also the first general verse index. Thus, we get this representative number for it after concatenating in the natural order: 111. Similarly, the following verse with Allah word is at the general verse index 14 and in the second chapter with one Allah word. Thus, we get this 1421 as the representative number for it by concatenating in the natural order. This is done for all the verses with Allah words in it. Then we concatenate all of these representative numbers with each other in the normal order of the table. Then we get 9742 digits length big number and it is multiple of 19. Here is the proof of this test:

y <- ynQ #ynQ is from 6236 verses
head(y)
##    Gen_verseI Chapter verse countW
## 1:          1       1     1      1
## 2:         14       2     7      1
## 3:         16       2     9      1
## 4:         17       2    10      1
## 5:         22       2    15      1
## 6:         24       2    17      1
tmp<- paste0(y$Gen_verseI, y$Chapter,
             y$countW)
# head side of numbers of each verse
head(tmp)
## [1] "111"  "1421" "1621" "1721" "2221" "2421"
tmp <- paste0(tmp, collapse = "")
as.bigz(tmp) %% 19 #mod 19 must be zero
## Big Integer ('bigz') :
## [1] 0

You can access this 9742 digits length big number from the following link:

https://github.com/quran2019/Quran19/blob/master/Fact_7.7.4.txt

One can just copy the big number and paste it into a web based big number calculator and test it herself.

Finally, here is the 9742 digits length big number:

“1111421162117212221242127223021332234226221672168227121742177218021812282218321842186218723902192219521962297229822101211042110521108221092111021113211142211622117221212112222123211252112722139211442114522146211472315023151211552215621160211612116522166211682117121172231742117621177211802218122183211882118921192221942419621197221992120122202222032220421205212062220721210222112121321214212162121722218222202222122222212242222522226212272222922230212312123221233212342123521236242372223824240222422324421246212492125022251222522125322254222562325824259212602426221264212652226623267212682126921272212732127421277212792228022282222832128521286212882128925290212912129321295312973129831300313023130331304313063130831311313123331431316313213332231323313243232532326313303233232333313353133831340313423234331344313453234731348313523135431355323563135732363313663236831369313703237133372323743137631379313803138231385313873138831390313913139232394313953139633400314013240231405334063140931410314123141331415314163241932423314253142832433314343143531437324383143931441314433144531447314483244931450324513145233453324553245631457314583145931460314623146331464324663146732469324703147233473314743247531476314803148431488314913249232493314944249841502415044350541506425074150841509415104351241516415174251941521415224152341525435264152743528425294253041532425334153541536415394154041541415424154341545425474154941551435524255441556415574356242563415654156641567425684156941570415714257241573415744157541576415774257841579415804258142582415834258542586415874458844589415904159242593445954159641597425984159942600416014260241603426044160643607416094161141612426154261641618416194162042621416224162342624426264162742628416304163342634426354263641639416404264142642416434164541646416484265041651426534165741658426594166041661416624166341664436664166942670516715367252673546755167653677526785168053681536825168351684516855168652687516895169051692526965169751700517025170351704517075170852709517105371151712517135271451716527175371853719517205172151723537245172552726517295273352736517405174153742517435174551749517545175652757527585276051761517635276452765517665376752769517705177252773517745177551777517785177951781517845178552786517885279261803618066180862810618206182261823618246182561826618286182962835628366183961842628456185161853618596186063869618776187961880638826388462891618966189762898619006190361905619076190861910619136391462917619256192661927619296293161933639346193761939619406194161946619486195361980719827298471986719877199172997719987199971100371100472100872101071101371101671101971102371102471102571102773102871103971104071104171104374105372105571105971108571109471111271111871112371113271113971114071114171114271114371114471114871115071116182116281116782117083117383117681117783117881117981118081118281118381118481118581118781118881118981119081119382119481119681119781119981120081120282120382120482120581120682120781120881120982121181121283121382121581121881122083122181122281122381122481122682122881122982123081123181123281123481123582123691123792123893123991124091124191124292124491124991125091125192125291125392125492125592125791125992126091126191126291126392126491126593126691126792126992127193127292127391127594127691127891128191128391128692128791129091129494129592129691129891129991130291130392130591130693130792130992131091131291131392131491131591131692131891132091132491132591132891132992133191133291133493133591133792133992134091134191134291134491134693134791135092135192135291135392135491135593135691135891136291136491136710213681011369101137010113751011380101138110113821031385101138610113911011394101139510113961011398101139910114001011401101140210114081011409101141010114131011419101142210114231021424102142610114281011430101143210214331011435102143610114451021446101144910114591011464101146810214701011471101147310114751111477111147911114861111487111149111214921111493111149911115021111503111150411315061111507111151411115161111523111152711115291111534111153611115371121546112155111115571111559111156511115741111586111158811116191211634121163512116361211648121166212216631211664121167212116751211676122167912116821221683122168412116861221687121168812116921211695121170312117041221709131171513117181331720131172313217241321727131172813117321321733131173413117351321738133174013117411311743131174413117451311746131175214117531411754141175514117561411758141175914117601411761143176214217691411770141177114217721411774141177514117771431778141178214117841411788141179214117961411797142180114218711511898151190216119101611919162192116119241611927161192916119321611934161193616119371621938161193916119421611946161194916119521611953161195416119621611971161197216119731611974161197516119761611977161197816119801611984161198816119891611991161199216319931611994161199516119961621997161200516220061612007161200816120091612013163201516220161622017162202916120511712062171206817121231712126171212817121391712144181215518121561812157182216118121641812166181217818121791812183181218518122091812280191228619122981912299191230819123261912331191235620123622012409201244620124622012505212254921125502112581211259722125982212601221260222126032212604221260522126062212607221260922226102212611221261222226132232618221262022126232212625221262722126292212630221263122226322222633222263422126352252642221264722226492212653223265422126552222656222265722226582222659221266022226632212664221266522226662212667221266822126692222670222267122126732212687231269623126972312705231271123127642322789231279023127932412796241279824128002412801242280424128052412806241280824128092412811242281224228132422816242282124128222412823241282424328262432827241282824128292412830241283124128322412833241283424128352412836242283924128412412842241284324228442412845241284624128492412850241285224228532422854241287225128962512910251292325229252522926251302126130252613040261304226130582613063261307626130822613095261311126131452613159261316727131682713183271318527131892713195271320227132042713205271320627132192713220271322127132222723223271322427132382713246271324727132652813279281328228133012813302282330828133122813320281332228133232823324282332828133292833330281333228133332813334282333928133402813343291334529233462913350293335129133562913357293335929233602923362291336329133642913365291336929133762913380291338129133822913384291338529133902913400291340129134022923403291340529134072913408291340929134143013415302341730134183013419301342030134263013438301343930234463013447301344830234493013452301345730134593013463301346530134683013469301347531134783113480311348131134853123487311348931234903113491312349231134943113495311349631234973113498312349931235003113501311350231135033123507321353433235353313536331353733135383323539331354233235453313548332355033235513313552332355433335553323556331355733235583333560331356233235633313566332356733235683323569332357033435713333572332357333235743313579331358033135813313583332358433135853313586332358733135883323589331359033235923313595332359633135973313599331360233236033313604331360633336143413628341363034136333413653341366135136623513663352366435136653513668352367135136733513675351367735136783513682351368735136883523689351369135136923513698351370035137013513703352370435137053523752362377936138113713823371382837138623713874371389037139143713916371394037139473713948371395737139963824035381405939140603914061393406239240643914065391406839140693914072391407439140753914076391407839240793914080392408139440843914087391409039140933914094392409539240963944100391410139141033914105391411039141113924114391411539141183914119391412039141213914122391412439141253914126391413540141374014143401414540141474014149401415040141534014154402415540141614024162401416440141664024167402416840341764014177402417840141814014188401418940141944024195401419640141974034199401420240142074024210401421140242124014214401421840142324114233411423741142394114240411424641142484114251411427041142754214277421427842142804214282422428542142874234288421428942142914214293421429542242964234299421430342143084214312421431642143184224319421432342143254224388431438943144124314432441443344144564414475451447845144794524481451448345144854514487451449245144954514496452449945145054514508451451246145144614515461451846145204624523461452746245314614533461453646145384614541461454246145434614546471454847145494724552471455447145554714556471455747145614714564471456647145684714571471457347145744714577472457847145794724583471458548145864814587481458848145894814590481459348345944824597481459848245994814600481460148146024814603481460448246064824607481460848146094824610482461248346134934615492461949246204914621492462249146244924625492462649246274914628491462949146304914656501472551147265114733511476252147785224807531481053148425315080571508457150855725086571508957150915715092571509357150955715096571509757150995715100572510257151035715104572510558351065815108581510958151105825111582511258251135815114582511558251165815117582511858151195815120581512158151225815123581512458151255825126584512859251295915130593513159151325925133593513459251395915142591514459351455915147591514859151495925150591515460251566025157601515860251596015160602516160151626025163601516661151676115168612516961151706115171611517461151766115177613518162151826215186621518762251886215189631519063151926315193631519463251956315197631519963152056415206641521064152116415212642521364152156415216641521865452196515220653522165152226525224653522765352286525229653523066152316615232661523366252356615237662523966252406615250671526767152696715378701542271154237115434711544471154517215452721545472154597215465721546672154697215470722549573655267425551741559776156007615602761562176257377915829811595587159918816056912610695161209616132981613598161389816185104162141101621511016222112162231121”

6.14.3 Fact: General verse indexes, Chapter and Special verse indexes

In this fact, I will show that the general verse indexes, the chapter indexes and the special verse indexes in each chapter with Allah words in it have also 19 based coding in all the verses.

This fact concatenates each general verse index, chapter index and special verse index that have Allah words in it considering all the 6348 verses. We then concatenate each of these representation numbers in its natural order. The resulting 12126 digits length big number is multiple of 19.

x<- yunQ #all 6348 verses
tv <-c()
for(j in 1:nrow(x)) {
  if(x$verse[j] != 0){#for all the numbered verses
    tmp <- paste0(x$Gen_verseI[j], x$Chapter[j], x$verse[j])
  }else{#For unnumbered Basmala verses
    tmp <- paste0(x$Gen_verseI[j],x$Chapter[j])
  }
  tv <- c(tv,tmp)
}

# head side of numbers of each verse
head(tv)
## [1] "111"   "82"    "1527"  "1729"  "18210" "23215"
tail(tv)
## [1] "6325111"  "6331112"  "63321121" "63331122" "6336113"  "6342114"
tmp <- paste0(tv, collapse = "") 
as.bigz(tmp) %% 19 # mod 19 must be zero 
## Big Integer ('bigz') :
## [1] 0
cat("number of digits on this 
    big number is", nchar(tmp))
## number of digits on this 
##     big number is 12126

You can access this 12126 digits length big number from the following link:

https://github.com/quran2019/Quran19/blob/master/Fact_7.7.5.txt

One can just copy the big number and paste it into a web based big number calculator and test it herself.

Finally, here is the 12126 digits length big number:

“111821527172918210232152521728220312233422635227632556826069261722647526778270812738227483275842768527787279882809128393285962889728998290992911022941052971062981092101110210211121031142106115210711721091182110122211412321151242116126211812821201402132145213714621381472139148214015121431522144156214815721491612153162215416621581672159169216117221641732165175216717721691782170181217318221741842176189218119021821932185195218719721891982190200219220221942032195204219620521972062198207219920822002112203212220421422062152207217220921822102192211221221322222142232215225221722622182272219228222023022222312223232222423322252342226235222723622282372229238223023922312412233243223524522372472239250224225122432522244253224525422462552247257224925922512602252261225326322552652257266225826722592682260269226127022622732265274226627522672782270280227228122732832275284227628622782872279289228129022822912283292228429422862953297322993430035302373043930531030631130831331031531331831431931632131832332332832432932533032633132733232833333233733433933534033734234034534234734434934535034635134735234935435035535435935636135736235836335936436537036837337037537137637237737337837437937638137838338138638238738438938739238939439039539239739339839439939631013973102398310340231074033108404310940731124083113411311641231174143119415312041731224183123421312642531304273132430313543531404363141437314243931444403145441314644331484453150447315244931544503155451315645231574533158454315945531604573162458316345931644603165461316646231674643169465317046631714683173469317447131764723177474317947531804763181477318247831834823187486319149031954933198494319949532004964497415014550549507411508412509413510414511415512416513417515419519423520424522426524428525429526430528432529433530434531435532436533437535439536440538442539443542446543447544448545449546450548452550454552456554458555459557461559463560464565469566470568472569473570474571475572476573477574478575479576480577481578482579483580484581485582486583487584488585489586490588492589493590494591495592496593497595499596410059841025994103600410460141056024106603410760441086054109606411060741116094113610411461241166144118615411961841226194123621412562241266234127624412862541296264130627413162941336304134631413563341376364140637414163841426394143642414664341476444148645414964641506484152649415365141556534157654415865641606604164661416566241666634167664416866541696664170667417166941736724176673567451675526765367754679566805768158682596845116855126865136875146885156895166905176915186935206945216965237005277015287045317065337075347085357115387125397135407145417155427165437175447185457205477215487225497235507245517255527275547285557295567305577335607375647405677445717455727465737475747495767535807585857605877615887625897645917655927675947685957695967705977715987735100774510177651037775104778510577951067815108782510978351107855112788511578951167905117792511979467976380861481161781361981562182563182763382863482963583063683163783363983464084064684164784465084765385065685666285866486467086567187468088268888469088569188769388969589661029016107902610890361099056111908611491061169126118913611991561219186124919612592261289306136931613793261389346140936614293861449396145942614894461509456151946615295161579536159958616496079867269887289907309927329937339977371003743100474410057451009749101075010147541016756101975910227621025765102976910307701031771103377310347741045785104678610477871049789105979910617101106571051091713111007140111871581124716411297169113871781145718511467186114771871148718811497189115071901154719411567196116781168811169821174871177810118081311838161184817118581811868191187820118982211908231191824119282511948271195828119682911978301200833120183412038361204837120683912078401209842121084312118441212845121384612148471215848121684912188511219852122085312228551225858122786012288611229862123086312318641233866123586812368691237870123887112398721241874124287512439112449212459312469412479512489612499712519912569141257915125891612599171260918126191912629201264922126692412679251268926126992712709281271929127293012739311274932127693412789361279937128093812829401283941128594312889461290948129395112949521297955130195913029601303961130596313069641309967131096813129701313971131497213169741317975131997713209781321979132298013239811325983132798513319891332990133599313369941338996133999713419991342910013449102134691041347910513489106134991071351910913539111135491121357911513589116135991171360911813619119136291201363912113659123136991271371912913721013751031376104137710513781061383101113881016138910171390101813931021139410221399102714021030140310311404103214061034140710351408103614091037141010381416104414171045141810461421104914271055143010581431105914321060143410621436106414381066144010681441106914431071144410721453108114541082145710851467109514721010014761010414781010614791010714811010914821114841121486114148811614951113149611141500111815011119150211201508112615111129151211301513113115151133151611341523114115251143153211501536115415381156154311611545116315461164155511731560117815661184156811861574119215831110115951111315971111516061216291223164412381645123916461240165812521672126616731267167412681682127616851279168612801689128316921286169312871694128816961290169712911698129217021296170512991713121071714121081718131720132172613817291311173113131734131617351317173813201739132117431325174413261745132717461328174913311751133317521334175413361755133717561338175713391762141764142176514317661441767145176814617701481771149177214101773141117741412178114191782142017831421178414221786142417871425178914271790142817941432179614341800143818041442180814461809144718131451181515188415691911159619151619161611924169193316181935162019381623194116261943162819461631194816331950163519511636195216371953163819561641196016451963164819661651196716521968165319761661198516701986167119871672198816731989167419901675199116761992167719941679199816832002168720031688200516902006169120071692200816932009169420101695201116962019161042020161052021161062022161072023161082027161122029161142030161152031161162043161282044172066172220771733208317392138179421411797214317992154171102156182160184217118152172181621731817217718212180182421821826219418382195183921991843220118452225186922671922971930230319362315194823161949232519582343197623481981236620237420823802014242720612464209824802011425022125242122256821662569216726002198261522261722226182232621226262222726232282624229262522102626221126272212262922142630221526312216263222172633221826382223264022252643222826452230264722322649223426502235265122362652223726532238265422392655224026622247266722522669225426732258267422592675226026762261267722622678226326792264268022652683226826842269268522702686227126872272268822732689227426902275269122762693227826942327082314271723232718232427262332273223382785239128102311628112311728132428152422818245282024728222492823241028262413282724142828241528302417283124182833242028342421283524222838242528432430284424312845243228462433284824352849243628502437285124382852243928532440285424412855244228562443285724442858244528612448286324502864245128652452286624532867245428682455287124582872245928742461287524622876246328782528952517291925412933255529462568294825702949257129562630452689304926933064261083066261103082261263087261313100261443106261503119261633135261793169262133183262273184273192278319327932082724321027263214273032202736322727433229274532302746323127473244276032452761324627623247276332482764324927653263277932712787327227883278283291281333052827330828303327284933282850333428563338286033462868334828703349287133502872335428763355287733562878335828803359288133602882336528873366288833672933702933372295337329633772910337829113383291633842917338629193387292033892922339029233391292433922925339629293403293634072940340829413409294234112944341229453417295034272960342829613429296234302963343229653434296734352968343629693437303442305344330634453083446309344730103448301134543017346630293467303034743037347530383476303934773040348030433485304834873050349130543493305634963059349730603498313504316350731935093111351031123514311635163118351831203519312135203122352131233523312535243126352531273526312835273129352831303529313135303132353131333532313435333235373243564333565331356633235673333568334356933535703363573339357633123579331535813317358233183583331935853321358633223587332335883324358933253591332735933329359433303597333335983334359933353600333636013337360233383603333936043340360533413610334636113347361233483614335036153351361633523617335336183354361933553620335636213357362333593626336236273363362833643630336636333369363433703635337136373373363834364634836603422366234243665342736853447369335369435136953523696353369735436983553701358370435113706351337083515371035173711351837153522372035273721352837223529372435313725353237313538373335403734354137363543373735443738354537393637863647381336743823373846372338583735386337403897377439093786392537102394937126395137128397537152398237159398337160399237169400638403238264071386540953940963914097392409839340993944101396410239741053910410639114109391441113916411239174113391841153920411639214117392241183923412139264124392941273932413039354131393641323937413339384137394241383943414039454142394741473952414839534151395641523957415539604156396141573962415839634159396441613966416239674163396841714041734024175404418140104183401241854014418740164188401741914020419240214193402241994028420040294202403142044033420540344206403542144043421540444216404542194048422640554227405642324061423340624234406342354064423740664240406942454074424840774249407842504079425240814256408542574142714114427241154276411942784121427941224285412842874130429041334309415243124243154234317425431842643204284322421043254213432742154328421643294217433142194333422143354223433642244339422743434231434842364352424043564244435842464359424743634251436542534366434429436344304364445343874456444474441844754419449844424516454518452452145545224564524458452645104528451245304514453545194538452245394523454245264548453245514535455446455646245584644559465456246845644610456746134571461745754621457746234580462645824628458546314586463245874633459047459147145934734594474459747745994794600471046014711460247124606471646094719461147214613472346164726461847284619472946224732462347334624473446284738462948463148246324834633484463448546354864636487463948104640481146434814464448154645481646464817464748184648481946494820465048214652482346534824465448254655482646564827465848294659494660491466249346664974667498466849946694910467149124672491346734914467449154675491646764917467749184678504704502647245147745150477551514782515847855248125227482852434835534858532348615326489353584898544954555033565130575135575513957951405710514157115144571451465716514757175148571851505720515157215152572251545724515557255157572751585728515957295160585161581516258251645845165585516658651675875168588516958951705810517158115172581251735813517458145175581551765816517758175178581851795819518058205181582151825822518359518559251865935187594518859551895965190597519159851965913519959165201591852025919520459215205592252065923520759245208605212604521460652156075216608521760952186010521960115220601252216013522261522561352266145227615522861652296175230618523361115235611352366114523762524162452426255246629524762105248621152496352506315251632525363452546355255636525663752586395260631152616452676465268647527264115273641252746413527564145277641652786417528065528165152826525283653528465452856555287657529065105291651152926512529366529466152956625296663529766452996665301668530366105304661153066753156795332672653346728533768539069544370544670354887154917135492714550371155513712555177255217245522725552472755297212553572185536721955397222554072235546735566732055677455987431562374565624755665765671766567476956767611569576305697775748785789795814792558368058798159088129590982592983596684599285601586603387604087760538860778824608089611190613291614591136148926170936182946191956199958620096621496146220976226986228982623198562349886235996244100625610162681026277103628110462871046629110562971066302107631010863141096321110632211016323110263251116331112633211216333112263361136342114”

References

Wikipedia. 2019. “Abjad Numerals.” 2019. https://en.wikipedia.org/wiki/Abjad_numerals.