589237954879366812922388123711322963662189443918804553167843627479421448237290639453242760541336031039443272524602825524509832414582280814010278282014811569047008154748421413642217136273623784221202240954421943464623266033772274255296544774115986463498215443013695109448919105980763358384081396520722033254524228208933540196982750199415892975729206227402662676693122579976246045917660413699532082619526244240833836615985886905716359788789550184062753779905494759139538190310415005879912962132867835140473169697230454591667674832419213654877536507888254802526635566179191425761735842730859553436878962481446444034027120540699993603738955053316036573128436946149579373814277265478358227647984061028670219829863326423150424825669729762541341853733419392760231477690198948798245038812683929697843454074281910513659573378554166073927660699624285781599361356041976351750175974884550744108609214961050623139243626712894445146185222912021927649895794358923350562628289562308707393448856176459379738420393417580737333367746385646418134816580841317988940798891903413563830621728445817281634675198746688570728464479911221443546819250614672187643794849652332682095197873219706673183652323887200289787934160889385804586506871425616127158484647601996518099182678452259498250049583846827411427630731887162913742406196253584344981317330034467672117459287829628542274884559079299872279191382354928125475712293177671348455870574056405537977413228850181246656174423809928664376597349247333940389242355546139493108399113240252892987733517887319516036239905791298162617989257106795573660917799483038609426275457377681927347224450987732146426538713949139913833485239795776507151596788323116868776625328815088373392769890776384036389398615830218418096226529570106385765537687695485278821209708410094075244876451587408054688201223728032818600356419417992298191852541757334794673136335407996760843748806842722868574429260469802892894825257466061075816601339807353693845734525973900545731545109082885530278849095312924219158027511611039520448627206628658951862375991778924383375066218458854663371024414976186173259473232414560382737436945944491459507978621438103649297570084607997486391327277622366087382536185328986642842835797623726689271127578929339606071706171196137758649593435962928572188485424534999306999949455692579352475313235832587947204615881928368442238310151181898917990277471241281941832869094492673492222640545437177571094449710824238626795854682763280755081030862852062084981295736268542368229059573272781696319431422716000918504766672434460903257636033613739885816744340390206613446489863666266040052248011759711264288624271095392960419424837517428018262484165864485551966324399653413338968170320669156697564517387722037819269623045949770223048458299031172750231261373187622821566346340784688652843159648132450778882035414734419488180580658368567466751391333957371465587595240159885637027326434256182299500702099481202572540099647220244211671249592046102535259437088759891212856151142752742783771587277101275111196862840037373332845131921286413492899856718163779062124612268471592169292087634812839450486486418775993254296094124144547287112909445644684368691721192299885860325173339631281980839775325633147615305322790856385424988879398688248270886192616791744135551858065725915382522168766464051590733666896098551818031051196191657607235733732874833403598115517258209065095316645821023206645280189462779869546756044991188595994187547891944446018199502462447421406711026202395143562787786143535206982203249637288588858532162435413866580522256779284212021498441230969391192976028474889285677591032531970490714278771134834819117564269550632037231337422518880373665451728561019813046772448461684315237834165175211235747746650443904820153748603231993271811677590194327248159319262537668253039122972159025486831938404488116163259103236873425545274463609735175404368053644129815172374874900233008709744681973660622973276499691858922604121221180315471748222932611230672738783197752274256112405441296086887880040399360438163544310661392125062889552761977402841874941503577809686209769446981389991109785549655013183315344164614546520289994933589587920220317619661783802828394788697578098594544654746656162282498368352775058141396791531072773254665602409134882843048856784385509030592494556457113762860437392017159201864402462119418634385232374179206984177164907402752063520342665922236892112858637607291552947500383593423546480569506728284343724288985868999539698054772956744029781532071273038148785576830124943468936731022025252863312075335171238472350185816385480898497933181819984208895203430666277545738406474742892912690832682736353891978117584329549239741664567551889730068053193312715518091714131648588330681114117343305287097809290624001937598744934845836225773437228959597071622746525934664786466843581938589807854293228671952381314219066913757507044247288118267890968875715337760671533936546670945023210419832042748928825346381419131512889591361831288814409768664035269672643914384358683783991918324324902820317271028442204092246708104181159621567764749379153944401329396987592263631365003007976106492319054262876527912940242858301607376234374857857968595569377745885905320679719130267851686173131199983589326218798138528500831762381616840964320778349683225635168396168801011794017890464169701410537755607813281614911363818512600394547087892307189025585207817202538246283408859831693652771292659911361116719831551289377855906977161828478180843372962297484034008580837552250681167950685712391399546370766626374569913389093016662171292150282402465197034318436357446994448265291211462793302236954737272558664357229203424412709933394582897075319239744351499525687214594037416591212621337561707235674986013102391585409724326185161366461569227012924146252782066154138772255809863607954817517041921649487168349253269233187735473420068451877061784780