[877830750344312050049334161525186857028271125860057809075458982484745840869400603920337199076916784384840593140574558757329688495720941535229389019463759564263267392329480986962457990880452643355650852273740689567211040516421751800321422138240603197861672240403124776302258445497942434812301252178652569164998906229466260508267009160352003153755812754266324343749951772499581133491311352853579605142282398891377980026944688920424172862565206926308846576413626995247345048873878387770173785197133960274525375207193573527467529672424849345983156827532228215047460148382927108217307047523009374295548313830829465587239375151860888924357163263230659486178487149547007419917025098267965592192330957581674873282547876354315651834440825874089318005259960980295904321800146889129347516598000212560017359611611925744226135911219965652753406596746002267983087699162803336311789869982428635468313605266702547506358237149720042953759990968092183258390231370589304083194129306886269544471163142696369770582050175576503144992301152714397097448323663449531400013243990060131315687892892115426621113690851612949528363030170254676036235151619424271233897296557979657510908921472209252929801539491770085278229047319612510667049061752566275725897376237157360601456183391099931628378042812619153369526815032354292028765825239874876319450986902182552509265471509185482259064585800844080871348512489174715780887960425718688038084671804950137648771817481285784117733802390163334353749760279580362875857660314279633081539900398493522091132160088476714108489757020325868622189151757147480642174820313587018564804558166920628152373284139630496528399647583898605423779059534054622992657189421994355577365403741763447830272843626957339948812214114174439919510839549989395507463186654723110620047555128338780889749496985154238737824588648288494625415716866089436807177556229272211621052131103950606801404531546364250375782384185043648479225508219306859063057048000793072706750917581055364009449011929533431606504213808467136669303557774428257925655261743014926932320219849763970606731311574062691183746025482273277759237564483043497220177925235580500557188904695807296214499526437638878240505729951396488047723350462807333254976956004192258094480033953719873952373971276411152994572724905895010158364172454324602056536259235498691918424081675284518364700322374184015285551636233842006402492451224643738403515605836979195956747915316700718565920647330584978123640943131918342443163967971242550274544550543620957846529671322379494114457771194925790342467244941487488779426594503820492916053778592576835579753210131582872532765012376984065647108639234870646452474025531755885951652924735946982357446454982635730941373313811855781205724560492490541151576458829022464365561630984356406955733094575611589803991996117607100946280326111962273191163863315816133730341651714840296127563671766936310366532178225343396904148666261189213628886169057980948787594547530992724470455644673748098122510317401509549895743357069271502728921322020984049046688941903134330974860414833437323054762807158853086441101837185285073954091599634038319315270611237506860051759080965169051375752041278757160291153221785021089380788511832552561355487222525346130053829119683920759243079970909947353354688958088494317068839924367836555185673909580465790185620003182456337050302186954863049246863829833126092627219177611622977374096660437884817165731237806394702120400885033406722907181926790291280903761007899534226465975505159470638381117343650553170780346367611133334919549149780857242366970271615198135987886704264628932860858728964439009913496155748464389396322240933576054814724281324871723561145329625360090519960879943158323666925160527989291500781776742670728123276148947625172542487051172434509100224246397802738430015259464326435853698419122334774752858626170002801900548023853684021810927941821575096018159196355860240023002980753153067603310298330973345344513453591168802473939084989639468472326126891474783744202506103091295885017103715930420742994753647828770660435102243767201597788123279614504036377708759773283914175509793401610804841891721589911949742929367375588664563609406097493655769003269687149059908874101053999059866048259835377149585277093497769378599151709758162681664186107533767700674888311094092391417573216728152890645310001525310681412755090500375504167678201321227538624569571795478896208278839831683639448148790347032469803594377881245472346585085898400148189174553881545674558551580648485706949797040563288394269342466306351187468062097828479816534643219798801568774324893586482288980655687688622299796928254537351573828621031352494572041849867289046374099169925581777191023962696545275710759004444619966102835226185050391187845617923716207773241658859241243874033531822590940720608074444864226637985372362853711000390267887530284802339311875698474044907367863086294203654821602061688844216873534304324187187526049596742072672318305881151597745769857724976904593997004925817721856001129650390526912256810457363578551483422553473764425261142566982305361556663003696170221170170821946567282312778775544307675195693170097843635665966930348026999603577042546053311527968637913254700470610939979271991639743329070555956851104929522080549157540806606737277873158134894366003977149797029479330142634161857305950533964072710887693639731109204129808102280135653890355995020246574594553833126287996274783040769973626616428241394944527193061268036151247097748174074475456013877725222769171492231275456228132844511139605291565198056003703618261546536450250724375167753740484986294251358418072395388935338349127149942098350534038750700369184293976841288435614844815889837944139695016866012525119940306080045694999164550758174370004774535058235661717055962388300212844835765018251385838487345012962308175270142951359292641637980386278353635822862333251800624077705970881074652068192360691173797173654547880246845888582083415480995390064709740635386258624506905591463891105998195645409596078053093346307021835902747730742333812236860571011024772278260134041616296861303679100398921486227678236298713175237276789706572073176788871719262135543897129559232954481682740582841528601873588922648149162185953221398802198708053047738869855083923785464872797873303602342350249514976819935108540902388843517868526290786238049167206929886563230522993745588950065037180775135272715583521540055165614638206121570593847333874310096903443962958024297735224408657377616949216724743005444497203137374847032196643821904675668822590616748795630975137599038857962789136503953730528723327745566566809319804305936788502883351166934093833909825574597961960051282299489432149930118496336113636351331803912669374551769748179255571655235193242256635507563675842203678394760859001257942866270751138590831087125797172321068881001356983228774932487329243364729742033394700037828351343327817673935286177023893065327325241322830611485062251176967995939913422237250582257158380304054621092003916045246040766576751438964681921905166793837347458980992614638909184986832684037846588773914663988881130564676900081398121130083418064016249877984526988971787412594524908156490354917976011988958034777952656288376539007556265029505514364136705027361107803412530185487084322633511259728345237179879117829502535317830925583207803585150924940004026837045475051321402045796986297972679788192094955594604547010614679663872582255193703531313923385419444051956050177572038903740060716421611604825811808465809203454426966449521187918687411274088554277192300237068765099815021216388087376770548824308450181752523436660073516348422562165746799897336899243845191169545320929302447347366539080872358291315418365720929899721406844347988615542460425215814422805864928754151659859313635978724023259233295997796027318071251396493209815478261604551556831060920794442268492815656130229228090520409151338365092536333636661836321930975952141528879902967030045970361864558253060260638564827581415532781419480756541708770511624375208434731321597760419219516356786877173950505195543073367053319319598042566682303772647215319276233655521527944654104075673803125650660987878718569349866066780999706055848453251553745089693100407437890620774948384115562751298595283694929379616240108173596131010584416768891412302182248094501202526538988438721326439030346835586914367308726465732233948706234781344362797631412280690336763023689077526051429236597866852824867030643744256317512516098062577122680780363799070362986716957771639994251437300573029276069167650198728512091886171090662679103432850155291828266831546527803128539639108326023093464036104105841427079549360056442980395514493999208181791144940305725766236673156092877816898194724554101708750274324986933019886691979394294716981883761805848116268814259048651867972493610171863500828600921604705819601751117467798759333910967139529498449291276440944600178653499751699129373378994692950010466759452921556600813592498381997045903324012146357442729901669575145037124118918163258920508939625141809679074320902392340939667854396660143476799893761106456985649649448106186706734516133970442100349562959835702079415093482353986593303807670838388599856430609345528005904883013284422084651111016731975814438150844251786892529727596004524211938268254664901928143282979820182856577708537176061442846198097044797502874371259917638486476164881500347690721172936631278514512945599156598194316073995106915543905034274171006027160266552984454671872461845878531468223484089447470117682563882519655756494317854207141510650518550350541715306542624591969308162984727329502368005551763748825153002978766065842084753351219948676813499710631939845285355997676431413139544952753905120036746048194281416837251524931620887677505640416663183563012063042582445987195402848610629588190217900714761575511928942363631178956607399583438672870750311084720723363962451725722816159215530693772322931227785266070353767929823511616321270133421493941769631138296737997110772588600389119661662558630597459936430898106519200535812727422208575538184484605756168465286613213850295747080110804743788745066101694275562065220220595447538605654397859767258946783260552319867322277857207894243890702078725082095547044703721035074337222609925188769008852561513139886344663276141887072693669804916109648052941008452883751265556157580518626549418815487881508007519280215048140291334969356374842212953357171384531246427104502833338973297839220984331165148244326610148593195815681150511732273569861944051183292571240388542794174628248265094256259972371312224668379851471577029210895677747902195360541416981128019526791994920752187285189185234047162683992749466733774113542437956505092689831682417648137311055687308039001427160606802031368076297005623666330271180561294635911644684703034764878377021803464638159219723700968160233813444008865574052133995199508971955527500317099573233202576072597177562021779962338007170536195559604588500732546086208572710995997643554785839924171762576402165584899625828096491517639878821525420974921691420860462796393096943467536860112770832001293080542049455039803298946042943127942036635901778720165135424420293048084282730611101339775241924170799147364188085817445065520450874774588906749464285126316115500219015233257343807368664984454458387909419798807269173797589851943301770067380730628071715809115231825542649420070549133975421324243154328614745141036720213627912870435733157918034633683205614750499880175203637580531543166534436791741636649555047388483009672155507700050117194793786590141023669094659856271246964052295803645707800390352719981293832800815247326368580070520549245252836159284080670109077867383464296617410465017438411050467642247289634296308077754895597672077870726104849194411609752574517654597429119097215194308122576356283226676196863374574818941633722956845502372018166080329245016132614792178005387425175420828916914830868636124092377932561307500161237388424381085969354641677805885374101189814618325844874717937744226704437546304051365653607131413338088076704856754992162348279294542679593041267109484190036068771088522543436217319176259333876888120093238147941824272962258152732869582748112238066327414413258899570117950160327178730706473412062250147479164752627893800627474018204075510737780609259102649016554007791571516459875049369797051773502852605084308177056241881259518253300361559451075264281076509933294936346423568234475785938793990483253154246943492203765426446383266815595469549598072006645277521298022174446749598347684613861613586624613054630776211553303635988030734046749478687116765566727494465265110737675821345210844393802324622927189164906464156743261986989967393205182477537774809769145879934898440137683740404948276359474831968140087243902188851022738964261437854325453437433978863737471862659126221176641622128652854350379995666916587601992606541549381754949595402560265046130787877646604910421056069450910162939393676791413885746905480525290296141701970876131093553725240061613142146936752721731416052582195019657852507758914851741819604156579393838355931294404682979936962497136557980360861514640936296428735318848684868697493171774442970525177478407496952406669663916320947537248049722834928411378188184103292906836235694959336883149148273659934623841561629498222406778264068093076527341737551392323967467772122162520866413173919110708256829058682076097449920509274414319131232877062295314552427611616244902595677296246162464793454170574286414589588569991923326995180730431214949118938916933088729363399845549686521596948185239386034327948687165636682005944074636128056655440193561878875930343273644361527425622183283067661385732374459699632850953306427035655626948818335230045554927879920847179442220298848602245245737023819401655238417344417596685518205506775347735962172434700440462095096922981265390900448255493532289319390364020551260013780756428217147472528333261333540920531670443178921249579816335345511582916135811085911477282418972949568003966672339074835437354552395060901234946272468854344792718603974949732202350010628359541348268640072539319934639125156442410473272348122984119940092797260688448817182210541996613127536524167748518974154732734530602875699691281314921581417633602205856350710708391308399324459878327992932332932903634969606706969881835226099402715802858623571165028680408073648458831495967543536151952456763688072331605776992060223129704254695300237545955956080105844522388708651423672494837171672510311178061237498967375958854598067141397976840254002302326153736190104693402416252362031416917312323930956559264918680405302185809956383623669652200977939401678543117444631453275988387161153942995112481060397797612283756605848274898575454079872050203166955818900295746468330810346311959999343583710176874450743675425841064089512086085228278964460364354289175986480997862154985583812696660295050547705013070442854847682673896743031181580939290743193047221121978158299192107247333223445196509683775553566036402472010526505868979835619633973918140023026893645624049249717604227729994376069998111167013585153564447121665093074861763137992839370142164290559379820343120582948618573524483611189896164596360038558987059789360414240968216962267325711851022443505379327994557529993150876739826250310928374918162141305881265914088082103797319776652619198229275475745460756695618012507623032256584971501708655344687590495482534975353341767361870897627935781794586048995727814552586763428249581771340239459837568892811898858188590421731577222504577501922904134236435931109175739036354903691560203519149356738922516781120343214915711305606001005654318948299618406756078147154526500170621419049153216530208808065458243329912932434781965293646713903731376522359444546647819294338616045754506235143939097274730585990154828069765598155961710995777449460047056544056479738030505271847186111991629550519072675132014385250629057552323096486009328658753340772195168632066064577725312772209649191137943393127396055893057364673143460171995000078773302336045394058937105199780062850070160168096480704528540423194396523733668276057722805518687349365588002872805092804168259785238439261343720544429633236237987994393523523907541661855139561065097144409155039025810327667561345741204020418017266970848862119745113895888513575028753759273888639081853576307785787416613897708321438566268237066400720866418921910418772842575827897969014047052794059513939828475817565683104355554319962699488647847756645201967538070497710691247909688777662384575703559698912028402065737044356825005152148343130536719853323157979832363031281239720353310741285861869124678648084352193819745935643719425358102646778426251159489892709716531930160384511313428425414066321794525772261466204808834983479127403059875735310953818480591557193202998450664692840680865328623733715784124174747330779638426080626795772499105681220736357515023475968693688669867021082853437565428938794515357800268877170573502509005447125446477292280350130473618248294906564998522236880881263848540937412331201620148124718734930649719650241877298121712020808864051992279044988689483964067101538460693434905357923346156284108962185080228235763547712230210393978931993296873381845188300660636589429463543309098286771850824984510083679253891601309582789925429512994081238253877275520695721568462270198509841880500623475226638857441719459259133405167018253616541810984071843119457430429217019414454115700253010787751340863798866447278265530777133971828625332984375901164869192096363991008073361139513492886149090219564112262657171020722382218648730353548791182183896183499660098241415481551560299148494685677553259988401908414511028015768978100306304792249321691564155510098393635303812874831777365021817345791005259216425252002268785671000282448814097159250058409198731153615594252221424478837658020927361792518278874690431342781244364729258443099211973907974495107111976093942483444147082780833997407211540705301074960044405764220922840910501556173895237843195970922348222730130921408144323337746104383617371759065404322104774385568431413792047724277383588736298763759595009256323762808224931111573427356548756409868850163274090713932998115308914512484270236551397637881554961420249072778887470450990351948006052614928982503635482632264527196520360975550620634986304459136275691138348457433434155729763829177108168263361196337920998219939122575100201190557189816679821940504158148816571954239825356873190773995828956117375010319873115716614025827389662972632331472494381991925240989957290121204528492479323862586445990407824306185072074359695967958775378773554797582185476167349691677595714381057511551937014682373949657101563801024146263771316041118353962384692356951428295408418538108399881505865912233260529082600530899414157073762058016408112624827395394604721068320771833173170191783112295639841732274710159758713058024632449491713001472347272202981759193744132527488289530890902863944315096549079222927371264304062124290097668483023425944689221146247533207982410120687385115086409384315855386069998822122583899121787412301522745403916140040346413919407478480530167794760593019200064289034978170024600989709128181378510983516068400474906791842049415945270600833916781041302611238424428619955762514068285171778436871714845512245577981888444285601564421068257437465413755817096252778904755651159470025333620332200183820956428168806738711933011953769633822265014196566090581353064132552964912102467595626095783502077144535533267546389189068319095773914688523089761526033280647377695303644055220691742706117652365948948484517432668471719454062460813269840480099511239681773415438431980564517103089359372821371063488462376996826904375960807223475675125678138219994199205534920583805055258114666236738063723442170151224410430443509436858351259167644975564694860256086120061809093788326669361736574005796399694970925450305960590943518282698443635631959511881311054223962938594171017707416737013777407834683308101488593754871396999582150154102545845244462190224349370803506098609315116902366558469244789352950682244229196959676209068305766816665241132526406473949375301374318205385078916497276858474484105106313710002566188454585240100580148145127415237666153616949999539169972702133492937769583148852164280972355624620146902968491418462514662390936235728736365404954790136961841808552115880161389686482390242639857899192635359715990347013637427677677353794696730723577158773868722960980666926295704841615607685395641290552703307168938699523746418611133102017498361430344683295425228065920292452411093540544313743955554035011135852234092251682895322354773171129554618106152916462053832643783711645879357743808592871934826799246462528931134452269457978789193055923236576915788563726186026483682406629969760010947992763511969252937737576373338162152232000516875133915462344769429133500946709581001471332451839083063851599165933756220812512602360284108779491856850704489916508560938528165122423770981792096477965024741511051974172419392350865967691560660432038674412330762831230980400519305960801686692656376596145597644974769969805050158051428266255804612175033981001042854043862130963567956148635084573531003230713927469618022350157564132147137096581404330325285268249037208499843060131578538015535782681986745702273380200451193480787210317695218799819627714506695142861443036431979442724676321346921655251192811068501257776529439372512625351543424386560835097364810716504382395927134638972970245549159009406870715900419336705830294447281795339148422144097724335972542483610257552071531697792428828624693000669192887839531939970103918714769080740080354801022475521084108334291895014259578733121886884358530926422567661462107633805372903245563324763574936080121747195476794035533959711013574532616682716057895617348361403729776526073353287768471862370386499460482745270487908877560111621272674408590188210470253704231574217243209225767723629503239302062730767650121582620818050021473798242454957566237953668888649834401222089179662498891256551290654442691840050329964450102779974537479830384537537345348441445656542486667609467389022625938057692347169236563524697123232846349260302882979839642898316790615553316231213232540324803019395701723355844484090622401461535248673448953737399971573926740812140202134550810830631744660708949664418605638414342075313306538693191673198542726100592253534917564817772636426025991431890766735515786520093736613963112417634093615110615989508365051011120616190900872788180874321240688619333306493711457951068124298224720247516177030552826981714311048365012656168964895640882846243047716350680377083230911711315505331179821837468301422187098122197778979337738916698830282815043855166542233285859827888476081139948175969224643534443253917759235483409150564471333289734683874426646442255058999392063706149081758383100916285119671220188067873183886237111672572668328884786966230097102294321116045785821602185531166043285352465771674884364698516869264772049683709702578419365251454549650788596168190254033232947148684610059758920973010151798023281965804230857087299785197462058118807437800789567599799526762483109699830056940300215536227628469928098019941166201205179142614812287568678211798046885789497199534634325649629137935938433732689429488530092127169453853552185531743365972008859951174651393172058900957564353528690486306730594802460395707845074536669925912772539587886845316218961121773402751447670548969511868760758112617894717645208204202045937775137076212135276563203879668333831872485178770311311751683658760249098979832550822467878743060711212319145007245013104945744958150338418784973440885777880629316042073475236779248365580694957828963034248280123324341401602828992707817876280384624379541328767047968675537916235224126346628968049411049425401413564979522347320396149765024012943934586364467916888827749655731650150205544105680986380208030157424177098471989866518865445734539383937901740300541754679976970120077362879809261241189842548486189045655632914257192941034535588325193652034497406963667029456494747571304865642088837128582520481604186524945388480854381019839630414183021925893883646552354246848750022425086206139924534681276605159887863963324120097087419942898218605931336970859384867885434003469861314400126136422291756816361360094884552551085126514202454024822200100645232989551547866400827781485295341774367979489788191554348043777497977420815220935842263582235380238888261884799321259340561636154076870943996681833401727032542885127915132491527666653082773569842236667606594192751367207303876179017339433568718894816980578258684019709312743217131247673790540242606655942172155166626727849417314106740288554215368544547063189594326385286495852694671655394893408380090431807855438473585836554782672038026243225100070508057223400101175068886701248012064985138834242730861926237170391588995756999489134417149902104424193555674797708370174670963071817959282355487147154667197438356969221810661939551614335332479424141281923569150129348258715074889434930221773844105525596315503243745850703273785237436478580347908803053648280809159035822393446811077059422215767721411386154766006999676837154658629451309645025070434004484474692407183136980546584269351870316845629846224717518221736470107135928701566187703026397733898317093796430848492472636474027064985346055538514343264586593703181497091687385304321463796585220722938389735373798731444610259947655814961538507990452734922142122694332333068915878392567912615318426919939965267580225721431244625325398121480432452664541755882859810674566676422757225618152010917709775090177296260101441486526613337996363427872119181759325778839392765513751409022525217949695860241081254032129344296355664472630063442624387742344975355632416459912245487720701106498640798743836192604219773566731664380613830582164613062341121588308547713408142501006911318701510132256682884619290534283052600024822525883727773990977461735455871998968352684907441133771012845049085119290080445881749822103699698981157655588783854988931094792475907263052132940106525972915280718365476920179723202401493971575214583661613748937451545516380539549520584800747015536235882058731088149134185747673432261112484851541349637064670491539561152409605450485181838165576105557572573065960595740326618047655004366208898962914746162285137710157289912438913163023610346003396568969480631326097851528859319713653863498732622978145621320242072051931478669444361713561960874038319258018035005079464480386712371156750426989599426077303378013766926616980565892681365320335942271231648209624059899861341413982611039400980231062214568524458081292142801373963045193891528391312303495822923712033392818335373268851610022033579746330738402547623088822565940525611234450986637647827514719387694748335576173589976586143871752971450957095197988070685178236112490189612612467984270580888151540737657814756212823060579095257187322278704235426106463455165483706086478911203038971347713406621487795772020649600199360999312132987870172929910493455716387325952853663559533998773349501225426499201500743643406259781002325642168606911243976971451500813811040530314406569409643026297090392727505777415198767862982553973851956092648777806605642739644385212161133335788097156639982052592474252228636250473688443462118336813490022246145839172667354491980701982777865303755711167776989863416175797626898589959669678334735001750312493122078747318664827016424751232635815766145239606368409302029686058281288878216216477819844742569753414831556159168588916373731669197220282785490395893220386858519377186791896330616147414166758143438178626461128942463513409789924181821434279197223130562898931274337972299754425283161253071339560324588503015183722082157802477010893200997512907709354011496432936177397401201469765566067070986795588542149638445567678033518614547692678817587350820062914504052736488379803999529427355563333568758817032887527020637169069782195855501169861523560120862444533005843462606142614744632672273290284950281215843891717406228243010269957022144763921468347341396604912440163445602862533093326164598690408920877344244882223159977209955969863047674032717158657341973302498452912298957203361540203756031268283022393829718115951506353113906026835311506565644818741466880107030500233616943185315526232572925814381735061083048741975956199013041768933482382534705498084012069745877659530761272950622821194023039363098466971186314710745488756609730853134126031440977911581044473547071613523855594666958044470484674517809109135727412272947600127173038518203217040238106124520590726813917544651302922626554238997212616001864869691243349863894862512562416606401743189553914740787171218735841528595363415418338016674544179204420372810879679768298868342690486732802200389613554299107169203228959946920106145789920227842621203873619086007288391801135814174921372804273160741388219896292844108216519461474974230984333660090616135486360815067282658460464713373368499236356944622584500635315699747192330568643675981345593703473069952661045735234099103633069392428506951207311411493838157519885628818931667573205155655184556221700854130534322787752185328503047925024135782304802281567803721610727077408346213674478872158748526801719186476449467506907748668120226844776126966869110541532196351958215880191985607116027655717648060301242215194079761258851936306520031904511921352759393228199797062586154805546688088062242512262259481267024053395643645354106474322615962102822259959410389053182998670213722984038958385318191801302004971375315961865044648811742727755110004935400580458056105393962391976595783084066636514205284620316674562030388983199053128860498593863896639198562031668380710967309671891898080327324324415669511400389082317300305988205984431368447007490923883378247833220207477908465784150878452293216953803427170533276118017131790277846869778441121869167422496080873475530142582087544871100633811032307733165102789770967670574719980011116560033837889896057183272644055176127243088879200080582747921422810638084826318119100022696172408864480870715559160780378964105369862405488575693592205530824152542963606771159161072028722187914985874158154315213564305435944534657375770431187115594353865180926403614654055928148026575932932891894165004535935840472939249468930199480633870494425068147849418343160571845291062810556734515334097505784128395976695313138978499009182657535160669503919504832954661477963864933343614827536519617691007718917188990182988105153890570321812429631843443206254310915299183019186225540558254810261583485158947264893211253268736187765792620754919335878321708831541316061178100952176294922711465395516611922334457869358632515037175961079498824088468001027043211187209375697519610543804566854460789796029073842002074187954217449014330959209143517750980878185494901491084417838470674575905962827540462730393370834203332029210397462151753012226484797675483897420606156467103747324170087099672898415121453355409975229119407520138913232650565096228683199450018351633098936500420290831600730740086559447350507482864651614082990375446784984097844699875175248019568933815372859464923827651091744646244240154996549011014013785652081776215322380420125694174337682364812973608970420569840047814410045343950667633648168676831519046592583731365167076625708614188281941300792973902858943170815215371216152423981983541138300870550310799137362991400772143132558842611566648526124586309720519327767041275541830514272693795030458405443023084644746629351628444995648659074480840538992661900495599050169264021020000159142513721584992158262201951493781957971775952771758035736639314117295018443429828928749051975905044238067585148958648887909629592106219310499176720259119323691519659249429919398431896434202964277069208765484379412750879042917346404835750209263388325789617446096400902547450883970737145713657473970489720891362320833832176527962207837657883015322434102824082296756515875993904615889199151390757130542996009922917242888930621064905859322874955513078121209501776962310769327349892824310461666794778644217340974986582846780218161901364112831087507924232970396719411931645760756353962482883727485311038242976853513775403094435380596252659717590655302079880739191063629165473812518923140518247349738903590128239076190005106071248270619032093600468141764764049332045680474230273164871546454749666095481996092324511601841755228235206492463826179510282210012171336309510660694303630479049397236991230219735620507850633515518004055901945162521613812880618079417869623054142279960147666949469123587936022471190433757817025090870419583048287449103639402471714024521637386010349479001097305932223222783887329714511104958602379511040822405550243108869226630209174534215338250189431371128234507216160741814216552589694551859708538917484160991333364657290894327786573497876498647376142354033201182546612044140246919154711645728711413043621887186609729368179531760561480493840196165581825673937198147382193375103697707410435830867256742303543214073852779886323372475433658958198023166120670883412658246662272140223210850278535204003793077485435539830079983779113895110999317478727984670090178062474970573684374685645737341573510145028231943798458391801864567903512956387597055935958007312818893950621527818281701764178389776950626934849494933385757340670165984202565601770662921662110056854779225889349584344892171909300953166965367607007925155985902780300996391349742931612633433683091166139406495891994044728890929187329027342467704220710457224522998561151347996399340630681534156177957659720207443742785927781806998824871349282968994949489009658128719519505884216787147952250515406974184320395688729657173041904222381023862778780219579722472706379472181889568021292048034912126547006344525713754481152765540267542335791372934225338596490748943761128962679834362589552076273660358346472279958187619420248644640658807330594366809141949137148800818052697083080486203738219093268557092094481128748896860810914115614699221013501399658781862621942184849994018457992595272423894278267358443283090134996683292955348971735669934843743364023165812018384335043800803277732815478458774955094822801706261836641926263801980387746135345451311280377705291614925295668211140517459911957632623114449014591311411342206019315179572010318975190125748331460410385551140063424481505848935373847067514922014367099678857684708208026103841036284211151605448564383186086981596708426941420935389489317343966363608762997801363069124465042813756107722649557799911570996315566399987384254576391099058847091785560151292279905460680374440016293097971144352747728834836717741331445262264895546163320010894026361003750436912175913925187127814137427081434949621462986527275657163265728758548712347404969787367939662711270639079557928593369112262174315630033645732023499016394861500665816664654069171970083646122737208073317863868847221026362426659326251839903633959189062192057633445632387844724468003856116217384131990509976613712551165367199289542944134003849629717670113843901174896436059330509078213587237925207544923050567032941159361348845108761259254382382288121959324270162715232956581144976522322132074805622227755903642960831501560367238661566376174113340182307081027056296881105404144521553383343872558806641130670337020439925272105127916092748496100306886166090313847611991450763337330777516098836626530227611358971977548283291311818531925439735732083662684445851762643914418700394811576911126530434192700393156457330232471983307853863046410825120476442444281974882200906010024822427912552913204197535064055839786009275597440776284059950166195041035251819249966063658029357742767068506519842359170353345223542842440311391404511429870650534311359328722563037151680489003187523523788575700666858826132900619164914127201700435356002270152683865811314718800589411969262104746543370962977884282169871148770681262604753854139273830659436497604043350455330638873977838368920845600305085631833150585094886603101632191086356335224615472432163693660588780253476748137664194251568394592623336379426787032894944140555484502651055812571538150345746011326250437212810123555052387512387775432075901607974778268435670796401983248577104497568532648217342881213052654341014356870047218135101355180277964421735923486960117121896631854585656144834173848043060951042679380710368788362882344913416294746635358691147454819648102013193046426914184410588809993146051025533830452494611891728168392744551439602600408165149743823787554797631993416512027382173208860832203896453705720341749064165055337202761475726584683401725695406698469144892122377903609444233037411764406095057524396905165087899110439492614027843635024987982011476789009430773884846759048126180982672197998640970117825665356518788621262790732457395937945622078946387624453532073967106894757376045461466503844311918880318905922833261324848989522072041515373929006841401653214757206939763904363865205756102669317623816273920940693643122513607266634066613855626843449409826519162326948634352587286924419538139312447530992671506063769134425668566319935100173990214136105623409016674504082186123545344266851709791963118685094539522838868531838807585833032347319958883543583431954781729716631160032133384888780808919984289473127838921606829950050369173062259609129805337372241209635421713493306660575693665270728457278962181683156298748383517818414579269721021514404110800049473637391667430562190157875719860341550272432120104916638164074871546178863337546483554567472512115164830246056326359141482555225107375159188903054685305789066193061400177359114692592073296115434711820253354277881754754321122186884982143314647082145068809536130482430673845617043135065901476236817122742050797629170215930550080895022904138386286680642476756867847119110346670178530517099649222105738640579843411525744456559893813723990815216133695947876700418782086002242218682365969801024550671375059879509471293710315778218477657775716649429633141589828682110374591755758676464075661095803546984324096143235755116634274441239492422297200036413592572274344540281375586740852588803924379164010780652536338592023626322432992355034303878659122865983574426819794839582911228190923228864048569678858781460605253982945671455621298820752162889195249411780159971678797168475591911761728365040844056993704608237442030154880501312750919131224618635107395504709881007675301625805277453167322076732488882362876629468405723829821181404589692729559949501057335105237827723394479060006671182855209440934208929154704255000909141677500125199576789847782566603762711575081611408549848316990864771601554276054007545806210502574004301925380583325777438771545789546331467940766957023233772167016411367219486357621333711168685364435320784543915157700290582848581162258804323136715953933757986316946569436212354559984466347359243350724525770733786574380651154425485247370574647189705942838570891796506756760810503407802320589828874695464567603866735193013064527672799189275912270491863465599063899135483870250478365045512381713306585229351224914350755224921563916414989211807706237938827208480791381486017749616034139885250779303457983810207088885134620075640593080800179112679847828721407948383909631819710570212636559001420806746496315866019804552189082119685941239202762013266535389787510163135553352662879532738785660755170194042545767688621555541669584313778454175986286668583863500106668490936505141539049507400839946598434041164383474981541998303306110921256885844669359675995253557088223499921350529676308206441100168243461430747989764652777555625858992843981862872149405713390243472167098493102482809190958553015360540619375829082537622426624841694883787093646115589417175362950076810937999047782482163649130721952356572610306981543519773942451767804540726636162917316391889320597617015987611629496944249945103109245862116979098100787414976964040524041714077025749722725982221537231037473733063341271428734568896093956956942813317332099436339503087849428578227982552387039054104331240233368206396423708461092188340973933346473702762065097434005759609274137932550907861505894622942358338222448488164017572508534637425142422511526422664977561541110564912135455867711372918606524741872089910303954220325683890695595278318398617293908483971857782502603646584402064450100392825474117750422262884789417849125938138529591314437079079179732592943152912631188738391158791115392910365349771601062399483532430098685732128713587885892333550794313134960175005091410558715427518171526793772244939259107416161899849003092249369002802559591024967557956645233470683767793684733082341731806228258459985577139095900831406691527945955451265491175628554106721249208932351464483076514419186756502045582634704444242634329013383952073520410483039473069800754817261635609639549550843894098655262297742514811281975144922209279334507996351473442789049415589982640757156199146496928369087101199195305976643212483533986781804878069210459817059669550717054506986696588599081721050793940605735085399175244924643120691734714289456297244198716018594106818628662107896790928640930645649713315931539187689625433214348175807280127414176046309386191547512984338563895296728507644650229211904953946200190346263935457856169566496725366149584826290200449568251505926826563764534144154577515636718989288084797807163246294946112092838211649070360471720707833733904500540753187225886548642164574324051482585374461401434165184074755815431299611888022235229463522751808592424072695116266328411756695355285888284150986203274950661410395244537690052560590357756112751437396201068283379443595456265808943090452568045576953123733642364933588645338313855793041519559906562866663177879810434180266055990233416393992602949842967084919216538225058090670442727655636844404686775156015066142151410583391299692834737249227846366541182133875408513023387356649351755998840721779844880009123803039866562316970742861923151201570795098236810820685398726754867035450321270165162313208862166875155287912598265268353874145815018283533955498352427440097130738185244192228889535068842304311027111134122348856113931982206139062096161898365626508642319945891855165372166824444819911004539437051830025846387862907829683829562065645056306679174558987093918598533128532958995435587410067673209040884298241874585013008484153511839799664949637893923389339176062522900673007866732110800262702606550835009221248469590244399117528388869621216792009752831606114579243850381956949862377023215154261851447889303515450711739922027021604697564963880873750144992898453135487482010457278035280423206487767785789843276712817531379971154350051201741628231857919002080284722399645842685983069457214385280303779597140101116444834317853359962052346926100853417134920716812382472990198629961281559979689432895932600189607182537180862520666804101685385309546751782860538277689663373530735929674923331074814083749966431447193314255224003138375082261693466553289648138837297604971285470997690500703216266397692440029647387430224368369549254124881836176076688879916904666595501184889430614980304621396632334715390959531780078913538089525959016896216188983026973341757627110675488995215587280064709079526317479369910835672532189304777439932626471688141450524010017113056780681718770390173250083590013827350927313161953197859025133405878329262177176511691745507376581926201927700475449206226851122113976216352913819363154423163277871777051424136865124515834381294434956431336344265546383659247518729272982873988337856510727775154068669368592223396644691714901470725848105086707750610343319314589206817106139434865744539165792763089918350881019039968926692913983787902314074099285148733699642285258852015917005711891105785591258684785690340652666390347087630288952187849772588433552102761966668011527742331216195749701400276525764929830665637515330512180106624779081042708796032730109833971195938028971339016839593698700469919297889659179037068909539420725825813409839570695200454358652566606814194942475697819165261071278016312120149179039894149583466365338183877318263039321013783595643189763001641090610529342466701808601108605416903498148951502099900617900366849203010463568005014773659924516922376246900208628721194949827857364064692384141928167029730567455173844159400000841740354574142962057868989485093272968758217020921691828561318428590255694181110601620135845576220490764166412784385084500895410491836644574148081672143489501293654474778742459544052351920657096093205011800998187538591147229620072076008320782207134418289893149020626292992858035032031847239405287998895103448473118828411000245841134945750613877923328558086345119474232928175358351027071782751126132986746884608936717126058203215298275906146537729927198483248573382732916249834396621469834996812101847587671723037410116020451213960015076593333244756013428528154388720396819252991333352331371239213398594402540198899724846584602618964180550766140531730210121186470388236035691336524397126881518595556099956283056316217880190380157901649426953368875587909296806128816192290182808976527234352186456804699774422386387620577647307537600555283165888091339534799862459423988603294369828736356355154292098126696972374792743057886009272660685383021570211703387397857205046748672859442553467625738503326667419204465301529887976191210127520493903776407060645580502956278432961809765544521611702387594007867035712386228871844881278132062349274603068992054498359587143590730348131333272399101162892501761262942011275546758301343410177857513101231986778506633393548209607824709419925995868973820187443676797379514976481181871958405623728337093641333267883964294881632355512030771901569244017593222144538522218753101637679924297139445709798085864492543303207804391328421291178098524415213460909294680368675864170534447966597692586354458464004974697444928281766233908384838066108233079394177247234235583314005100421565373711450497043479493206461313615866567622571171011631322133751937665815702744853094336990860082497510478501346344256811426924543484313184118341775282958661896714077749064403943257007549623097073068864590056616538164025463588529350420288767399344053401070295925654051459354509135263873131849038797706583373499111960199985391924879691056853175936930446888202083597144840388693799219066997299541364362191038208954113837717902367353746785553776344889862460041215823161998147098363230585091899028009615441347751081080798757650664580630249074685031525809100449144709074003747595221244485076060588096995003691897601196944700479388519344143259898343784940857855584222696233949031781521268866588562999940334069355114071991181645226857400741685268370656692466074193792542905786910300919890279983233064322640390335545173832037505726384447295394592537727633726024743329465967604862921927082871515442395074675596915161768608837323756373414685630577384698880959196221112402582797992729924611986111036804855314214739708617550488732542265003007956645558073647130585006295458474748619678219849353851679053494599255503403030162261552413507655816778325719131294437499181061674309777260973669085847997627746087024116303023036837572584656656125188745385939774648283787091408254796500384105608430067641803558621071419632761769776100715993829564811330534200206791458599792357769844812108944854955375429908201317011350168543471541457686982381716877746865528681337816642894329307789719506408147179921393437150459630076052541793727876741132396110522171430847304834255499420386912933825538081245374023796871463620197857583323333229151560219447253973456601364015587393726314215347671667409623015489191860322636617134154214188082264604898919124007154673710315759887969373956330829811003520585943409702861892392224852073998773464379885040003761613461720252885400843612694684729642968930248743488302914578042901110100112231115193909158197496770441173536991436391675864438965558973600605642019049221099628100822001596022772503758132296341775783844069648293108967185483190068891306393435045367452851375771894187129265112114507150121978777067781199995570052189846869042271617685300856648375578602238831255875599632378005624469730512819027314248008809555124337027018249624250949840404769650930946181705281283833759848756603817785235836709609836541471828431485437359345192491612159845142854206991209998000276485756495408792837595882947900898445426818002309477483603436712883972666114274079563518440038074655739022538195953472015218805439216601990485747240226341821827329124601133945533137584634336505935301911304668005360272191407420760899609286506804077570217330570505543761493313028911062411483765206402876086130463091047614932641244731310658097125253683904523927446557672206755675112967102195896344013583280932526313389432163316893554427018662287529446188482298561027856315067732713161521984299513745672834720386283589579745248532094474777984976007947043040535006944455941967501155281018445400528931218080677945169715292405564782139276055626199433814625236247499381535563274748280194678873605578417614075070730771864623652992922663692248098298768479060810993120978596799021897615108639300893040913913900665999655994890020730748279629034585373327002685541349716619187295337745621970830184341392951546566422816110843044027498948697612029154494931853324135323741174920154895221274703052937167406461970575597916724542175811646449782037813095595432356754845384034838367117428638516411672606279071743592193979691692087792035994684201437117925284819412548891965611399585355623784761707936366506770400995894397587315824461194859540598726738912531722936477617073075315616668246624040172629895868642149075940639538666128703718423948541024059560826090646525740578554593577262315303202930194322733296331749378721960118296139815677705165535906970851003090730425022474069921349457481724582568196934152375524612919404701468909928935214324438332517802512090871842184752566416991072321823411295553998517662253698662464241885456477646427570770795548183733578467484784627441208807329927397779106268881443938094251122172787777768256496229696486353410585983525281444221162744765012589576270977534756828064668700178908939503033494202011477402702410068198344918835841494656727640114826017128751232179877570808219406922235531231521232469806562523545941032157003691820069274396759379507743392963253856777977175748208078457172876948528218947866422262554874709478294011760404561832769237980504324742440482609544113661982479074218451119087760322159427177629719084032409744049930434760265429836948797501935118219538708301334191765274635386000748088997208581303130247874346261583648545003058217411590129576189882367727426656244709288146928283049097892898761423306362895954059204717749171952451346801060563903003895389490240528966577901880389541191697002510885783082141600178371099386805995067008739220707925971293047706261650551535821225865318784023872172890427664225473765308429353751739643166659951024278837717622350430695751035782552297120895753801841395390223148588072409751723965183205564898817710396021081712725521178745251081950667897581164019844423179089685087543374279467591997050139446610917981276514175033453411321184816716465818703914151827175922443253789137421571350432482029252406226155001980039471382664713209146060123984051736089945977553992131886746757840919089763473186368095494659893329456486324535138322100707869443338424755427642975638351459063523623080838975724449434316758910217596956442036476510609762385451090011322796921035176213677177796536509402580725094398694881232974959467187348613795142088053498368440510127124624653696281383482060939003429521706438779244307271941416993537402914683993331593216834157431642833005809495296384249189076851184913683150756143702139363285412309234051955769057215415628789084816352518542998895376994428637457829711763532405188279405081899541144164799567933638936124776656975644677749327648260096354835302013491800923696203276116859616022139689271477773210206291215046967984894515003842487028366678941763772824389566405961822095383899716521633887872316437860875016882775474203708527139825424203886821919912702653165293167026549877945916582960293977390716511268092819215048912431512975711579698429495999426844204152818669138668918570440574099066707009847073447892296315715187835652515371620385159209942803369671872119524165904745748170001935821896799216289093448556933302365566821423059401658989631753025254715811478379190058611388598499381604162423043065476545592813044120139009910849388421572191249693417540229231116576452850879543081652607867680316545203663978325026323671920997021882279533669879504848425051876551102201497619285282664813963448474451175468906043924632338023660355758171225778321099256262429218581138310740835285386796456573522727572925083426594773928457709538098959798286757664251818179164953737220749214053445829284615426792915268500989538202005304371287706991114995177927926319746878514274936338156355853764687237075979589362281875858312643039032459711794447388773513820600204297245410145051762699290418852833090612514475381269976929567327882295669981085139528132186516284824317222920861258802403949931044600078446695671756274081486998202461841639911753657246737983498407757387158884956021715768247709029891901063407697620623533214574105312571937123508715348074213139680054042804740633107432137989193987798271169337142894988146153833187624851835025928619293074193639982150966812154186046071159974303698127992831966932936639325344623267450662476867773486986416200675265381036570094863200043093553638427825610288005320157523547990773571040426700321028143757837881439329110235653756902988530785037697330259308696946329540226038961186908908549952270631878106122023306063152534299117051074514369337737002226315208822450527287291956804409097230698199153917992109424821974492198300549721042542884558765260562640062311677616498719556389546308489624145503111637529966306329150396558556627289582806434438907210988514072249758996254979953632870060854370321494283658651857195297817178215859520397815883235733677317955102268408593862572216809220003223445826638398225049374621474735728386823265430109560476247854877156461538154224465117745119602462269223217564044156876953387870129879412481202139735558911366039761980459500117406384334474738096900645916338963400558482073988640727011418297897565862442908307239118774543570266724133287893493594949192022784798595812733423382709548142102340550907790314511230227128503561945939841378093741014650252446379253893582620985106965545146312600873270621230790114366733828799783980307791854941583966235325739985897566417084366453472720876589678311999431250319681921177899872367226188157355360774988328737621785559021100367267771409768222591324657941613690334582487436244435545715415145103439936514688136568806150023405395925194962865269021892732811010337245691616410274668048777723852424740652916696596678681064838591738082563491258583761018255372039233563953495729790761395817706742027445749021960523046401240370437256696463272800212578420165392995679713731035764380374851397936754422513025588124979487633802084702796193060490494958036867469331901506265422891179394350922081619947960065867368764254637381416596020830784219023164301696250255008381590086740143066219505596731363203023263867992687657698301889442023742295851063302663389602406307255757676347704576591736653076885543637993480932456669354785874020139856067098561211074322974364032840941882900085362991950950429662282446274761814590383650633586820271196542584993304589647364355752830989909634701429155975033264739648368379019400120259463734892841854334165061915914179704848035249774637717424728812471189175685133384070533346575921462225530074965086289436451545056580243466971091568483994877287984869087727411073696158935170093758214309582806514611548258136105427927735845689917067716441052183889872760484878739369700025133334984936586610852823532547285433961912830371493931293143561308704267321353370184779024962070587633401254445084223718460393703402617343828947235914870523627021630196668860461847709323430080366028771919234030301277816888520886041390159172263182552228704713638504166406443597185073406343926603177904874990403825157317599487731855858822536239856395016894817459296030838061471412420989240795304726601686169269094615798523620848467075625043971112523919151674326648600513027684142310648628121416918330528430825208835200572224927994542318794666125147967242404350666160024355016017272139424922952085213801547575226863116406608254886030078362772477190396965291871026882112239088480657807552471016222847386100331287836826566603656464222928373171332643210565764075066369611886428074740556041730759709356823122463753927684690492841519491157115134477369438861478154631890347390100090033809172780868829161318447962560784570724779472390109501566272711278946127226071331411548021426748390119050544603559314479386455090630694210796664515430114195926249613686502946651089201889184285634517607025273057545479919489305677956683798888300773072947959031918670425914655160665620863629773258460676330041947412229859008970579688520932556613360190840494019920220660887777366481144294802649826981483279805235105630026921332660244108249472849953289241566678175540332520259652859809904003435243929160026197919749785587143930299037698253875137849350028897006698942960710487362624192063750337578588688156455986233862264346784874536482643324595703358948479975626496749956561277074060677476069223148618027654362585387389666219500800995628481777047208141105934568048644285365555090403118219054197650998304526352895003148639066060235754081102212467355501374437191083437337556214615907965320015916418900984350486741449166989621442753874301586952366976534426533506700464159352061945674322466120210191480928875491840715739241240616238034375474431358252725013797229364731652195298064632398398386663341212672753324243795416485904737206559118584437625963673955181555657019284873343128930248143554617861545345175673124944300506812862243738083785372603616579985446231167208287021745265121699119100046439905397908404163089790497026849887683393354671698617946916553640804359694525638477530938861988760515187565880938259459404786290664409135574129050424034978938438852712621333228610712371498116442328519857828872171285820381031637741764276060861342595995390698248884290151150386809104964579115058707343402028217326225884549001782839398665267493638068720770395782533750403196597680991621926211656489092179492033696912536838687494256119850151344491412645226559888916914589553909560389119389976304162867337000465381781740206602461102024628821338899406653306607789241661570724467489749048429911619981634869419820933531450941431882379013853398412519501590217978334681408283596826024107959450743667485919378233006427833907475307919776772782398893510910197211631629723425020371283612897412492661747939070563515473706570404477057167881732179688721307646928595838338917146140463613514063092754864267026137008149462868367198595845090498064026434230537984388052265725718702869492001671241979626990912908842731117970397588001638619021090492640593593191555146619370289679311945097374207013473165546617922237890786052930373565650856085416253256551800999160432521903822761534367655973591605530858763997704574131324598026367637619782962475903823403542624957013480066544569548101561195277857639374190638893431509854617662114881564847086929537113054380214383560345037600515632892337111709977994662668275980269034748590938924864111417635311294466436702339468008121683536006254176015533295457289948332368591982975420433419290286589178542319188422502668972508207683639925028449341266457596856776190598706194647919941054107059543646141373067143298144719952321541114088640373152130612414519768975431789779286588165294790762032920177414480945743078920065214097754984507491691925315631401960930476787837386908173622340096106495195083933177658247077955038384022746007663357055350031672128111785813757826807935099411062327222036100293295622007361322810032125254978971196279050045850458973585199582967656033398487036675699949989423005664920663878565941281186135605065382387982494903718362684739665272836941415865756557988736164636700557701835170475520994505195003254958453223637544591500321140014342374289672115852713618134129384664362346662114248551711354278125103086428526932562019123496014946675649159336763823989937462423559474173401205341557465832806907934793975109369762507056238766966346115620849679958058021692677108424834863185745335017474530468991550420178513654541755645050330368903798673815256587786891762816893009329564804137059717156211887747027477438495633386316960698431011018191274906804650017917079247098119578206168484720794964654875141439944194475543919336175942301015076450614110328552760738393282987562370840937064778022084154048967459255385272704039832145599117702126148875951070044999295362415024833365634760554603559717793204151004098428321686220855121708218159375298903712473976685589690898002693040720481300833258700715503938154618107711955951950843093081384661769667381913981533816331027877888531010919124402867921965372334800029338429892926499847197947735451614930215111231243380663624733973952434843326500751669689956667569390980650284032509101231486067577276241903290328885153080905021115205304576850187475457744908796129441114385378331876193663156790535741863483038357013348445908349345971134596010705253236715737773014574436929818718919484889142988005975891763058380370482267910537483649508150072336064200148185449409912101663056521360986060686810574928148150087972246516377204834489981014634533236290317249944555787671132445869557728258927003893628313988516664345736831183297140001023376774557618297006445647686568652291194518539588076975917613657850413632417186307629777594109851427092497514804739333026357990982452526767260101365049180549105421618528839528790913653603346848705518532760908711555489668049627162501354408779306043370665584665437044463814444290532795411717279163755459088235451877648281467497320962940800886856935913088941288072134379608262834835843927812527387575363658600890303499326964857295428074494954775931053627457652076726610884794444226092168921070442540950226306037070212846304852196778636206420794410577948384774603208608761793185425551897427516354259512777402893641862419877588374474547804741365315767829900875678525720716809414709343048850068416018999938397732899149475257555234340709919289065726080406940436569143004153123391242407811571347054496110249692928408536941716084546904850917750179381039203754182960179853572437828212235913269528541211652465077490225873689704902259237739156218462455889961339671142179181683131142987372277070140666036398157336334130213570628094928377849171321625831503811595326358262019904703324303770597472958343670912972803056181747432888912874178713671151827532490247113252504019064581759422723465004069383032693163066500347470105553068812223978342094277042487718638255921542548424843693054229546381148504194627540896893177746255269606507242281252066427579217433815866104895331651728525278070124406903889244312658324453191460928841443860489055307223692996935479199477594495306864578166845082948810569172816358761301077331816521536511456479848825846181453821735288322115339956574420381172674177791695201971606406121739615234582168827648384007356761713248925585778181155380917633796396537573561864179523338444258023048475549277678604732752893240682033104133780410473228650536650642233316883954790240609978181597892380538634968399764640159801826970254132331891535573434271292890278812389636270449276146455666683266335569211635204532747122275240174125966205972835858508074276823105345180431171706017140305570436264098190968609990107272191891643326117913595828820324509667078015587588106544995744534769367536777265479873790861328473679973281779219251043412244128474585825919286112624221780762601389666619253166624451835812794836493465499539971457228078756416564406200946745991182636785076304693485256525973163673995287380578194304587961987912808315356696176865220110214095106390999652002460965139146326617274353109065924291903124201729149169204110461597536346758476917235249891600658996159497049172697800075394879191064919461933564835600663410386691365629574154239011796619237756726929060529047536054123721750573361486658926606287623078566548858195731591046859618338824420555991457976203744139611480601932253315734392198813454663547396151537403802848865766425077499130763867687159354869450963350092609857140009440642220312195753068780732642257218643370265411635455444310384926859659888421697963339585382679208766143723051959226933866909549790133149987953039648759044719276403430494368889608482782594762791723412132253060873340290456144739728628778410730070117588293692694271811312563453149515301115111410153878177524398019117888439865161611008604047727476108190643514079706313788667820738352723771685787160767582525478903521022413138560167872194864079344284616093874005653052456212431165657095259443919452828803088285285377742021550201168753009967998763908076692120513383497363838635759994360046189248913288884916989207160098816266141320658319339770628844477378556864554542573977265993806600641567041795092001365578835165582076024254750879166946461130359796660533605579905864415970395717684096381944461416050222313174953188044577586469052436471456178669510390877786339776508586758075221762420199425296790792214180467686648495885363286686259057190999869264669345109976382150897128053404017344594235309249612406162398922109468019082457164364617495089110423860333429943426083893866110386025504697784642355270303841243936243794541148180681081093280955599230902467063748000330433321646489730432952578392948270097590436551086735198350795743150754002168529623110480017986785031325272271598511876533786665743844998289177407591657208206036556940171028162064024039173110194326195901669111405017088294197571015992708619805463826275563791053319648504656411342363173731360837153102257667924949585259693972812708653862866079058604844336836674099927495536834500940079326934641556623117286830797991733347765623192575184531839537114331146653978315395393128631082494193980148107991621954038785555580661115952325861385386612217961702468187304605299609303180316110185962923377959133266401933676515611820721295753765684383403685094829055515942504230068258141487366760371612451161232995350660130728974995676080143311980385279969647140888996320000034448001255081164371517714294543355855375659019794280916393321106499402151261174125510948725133026234339298348418389493779394571668804463236437851248501878642413320484389184326965484922837168907728301139844905421318883986652675305139605144376852110582385951654128343495324667354704332963699738394172606664428769809829583950601561476133373650464202682541693240665439228505316010181617051754865667590321998893409409988446272260787179572482426418803144172450066380609899156876275325099601853129500091042091000600207018783942129458797990056688405720491017212054644888331611821435984291394141645857926310562713782735510437050657943440451454416007894641808737051292887953889355617217944285145737833329999407467119875925213918086078104830526883415537754064967104719714672492842688400424716210458543772755413446495185003491754281622004309357431282529124814982230868020137465018352152759364714858009887103963342612886517649562743487311794587929147429725287076907454399466462119627094134947232162206024731504532443607511913215264021229093082320838378579854918607914598900698347347142576751695131955281797234103162145600792094589425206291059592624280686376474129002633280491884013195600386344130411177935695304507529563791233960271559784101321570428208894790916329772127238795321387024080450377538825022250513681036175062927143989403282579071244201793928231908569635403328736573143077159271156429691563777517581357240955887688313632525242061251319171895500161135752612143431104632178319770936915560942683812325890010045144687843504557105695782167502615449546483636454914152291979102877680212578956863746874655963533396754178650739896779590402164461696815642563357255823536643115857379032799309534636640320308575346324506256264833782794841134604489595710265443283628324513045848438248028709894973620831728445672153846666046334387249502001307416879908011965392727974225558472492558815925800745832223616596678114481399430131621060223478148650745090106184936871971143567442863718245018022746799546194471044645367994544767346948594404712946796346904089622889675167314371481571985100405265027657808213407350907686344778232088150816016596023281357272080309350354565652082446337829229239440813446126916096120303214148916640912407272747245516583248090353400001790082681527775207709354189534718463495795934657119457995516983927432025618951328735714092727119753169298121432813313028390983985112108562774643092542149040984996582909370979743000088345454896315635308723902815664886722278768455171549027074753172112218823308862185061075289989074746377952237390802506476834513057533973843903869134211345175693722326187688441499262947159976331530531704313063343565611812164941383083222183212685824501079149833864582863343571357249091447721798930107003308286739683365216707842588412060536054031670699311673809432670539152189550157719087531675888702187727725722861079529359351315655063421487385619060313504660349351601081736494682983246783818416898118846418121078321888963750445518856524062342357460630334323867447711254889820822917543855983332611076930553797559126687176156493924551686038387115733899323681602393480599231100630901517388270463860031286368496258733455953530242435570270418385138632239490306217147246506253922727469873341808341370692867538733730774549704483039684203085537694329944842323586959670459905884507359030412807378726248845395336494311589081092618798696032080063984368288017219040287899285651590122917264420202925487060694610720957959837145130165619604427584324245287515208786541202484083790432117883182787841679322104291824877486570194855320450753515901952601544022925412025469960711120144761672009693560435916956842626641450122449008131802923750827663094773273035914214777296789589754263303009902281647573180199773403011444200926961766431137687224324513955894884003725849571861171166117382018105567518048640230969896698165088017885056063849673948873488467905998345780544043796565544416793397320003817665689567856095892100115172112388974336111528848316812085824999864862186230245836341583338725383719386251334781703721603496437187083618505258180185885433381790191053280229964758715744137355167965095982221646510319141265599422392073893136951229738224953511409161588361373188600846875980113911254137104852661332015572012896828821268826045873287011420343111837734028332543625841669031490790115514803983562373083652037295343279866900485687969449226287654319509724500351000309594574898999184852232662330169624560269304344209352998972343982525919809196566810852010589209575973311313185311487775641223646726825220609206818869684994742060696995183719308113081998187124385426644230784245968295044307593375874635907981309063219627360890478240073590595437083951438794418968621913723697221846191989909331061112051663121411092958967369055857024819432757896618307307152545907967099876212962358315831150913398796291754696892304255363349622903895726009988094297425514326319593871969088907234050423463539794599794745235957357313677380981404886088976302215253153994630357499561651246877757727595898884717015283000617618112004734013342935999841871351446072331581034028227548858928006649271608171911873562523161980179460547661541831222164044045441788372786420889493203741877764780577995080893466289753946972750872961651554866389702564180395547541553336020922437813826979467553071782402138087681137661229176743630546227552404864443027692092400912161901593463680435212751087708438119658398253264872098594437824603098664921629341617251772862336778011461905471132404295164992998641993941560116378959894312209475566982356859981873177831850529888844965005847779973046194317423903147670080748325092208793007610885291994201683257681414816005273243839188283882158698502066946263966548399791374125274510387668275181165242097104636402523909937506273522483323855278056105940659635777431944119916894368482719636971938809275602548181100408399449029307080097324630073406583079018651520719181270489704398591387562803323721593630507887359118846788877653714816167169037538423511260508369086335623576395421133616787866647454294307670424526705227094932976055634480449055715523176087752079222148518608963370193315284525057159460512190887938202167961434602657774565042044463633949428831469645714858342948013540319731857333496315297842783140085838614229579737138523477813628687382019124898036819915691517828670222779265910468987201942053958104347805614746583374395065490302197198884537604356339426635071419263447166779519299253865542149198077097356271232822930974570747798594525238717389134388408297194771065216572864381876041307751969804888757123616239441079017273850300164964879564483325974089235312402542516898435923929985614522688289110175205007089068799911817120520599488990164401213214281788319555069744769462889711965910177047210991727305130050486731612262321834942950168495567435502063624447375515102431871666229330825279742718646615346966195036649310062781765309706707281560393817982363986319577916451580793360756599499496770573527563288792240113789244179660478643206371315987778541713664570039753957814251353039297598326110454316695340524275364709736412386791764193703161491160523612636425153330757161535567038986775141600154465333675433267945272217956904921162595140773061111824834969594688728992276488411125990633430642983797035174160801372492194743763174596962687625797472165455259092273636210984614858824883629767287324884910618859827358943211066129090553085640211757142809571360955635883071329264174417142937501759147774642798805313467292537985885729782872651961550399491343110496097077859930147882053058303854382703768291963687218092452619347477109121230868782676360277249793911233155270186675582064248878389612838106029438632840526310776013893291260461693190824423757340664023044888240428304033800732074297148375426400877302152954191458398722584653032683655603243576975529877405258140501900298636465582029933326284507529498916244813760064208235050156620172676418085626369929908285073157664327378051378470653080168199933554889766743127302291218013901728260514530382685446437873294770751824237952327919991257863675766062565656318282144584738882781337741785088977152113715796249215945146749969271040417217021714547012794930484905871723943599643644418551183070725200689812543759532021058245150452702241532232764354285304515973116317641372481480105983204068380024368717368828960423519531870646173605993328080964430312681844405882942389684307478274619450064736045451124821283614395044837745946290755140236849116279631000303514471098434250172085714378431583908504319345447885483595534560427603925110392901630667938387888468729966147237001322325399170770952329152565263362743273036265215456857093969100041193005018616286039899645473234004229849504283354896591481174371307237627152958143964673041032585382725406189030869474817566872474581815259853269543800040789396974410071303507452769326987157841131199346087366989150791370035902265578436734242726733497414144414422900391540309476828289540735513426517566967683749952499519983418352788988768432575794750183571273664364207972086925355068951715119555934707016248472274150614574408588947397844714737350762470138252976140104667778533488200499275665299907537709801624593960344529685670607100422554034892451715483281717442063313362535010337427401642847709443957383363242874823272723556915018824940775819332557405750642409457859827839156020434133980204603325707668713273795909154849307506776658894946385672968352816575846091212174655606372606774153357659541687015307379872172642162014731269865753113608596717237880828399596422563079954049508913373524407094410465101553128090180166429526028345706097733434848606241914398421561618253379276196259450956341788501469544781759080557660005577204336132458687532654405585618064670775165799582504060382591104754411794051554402250983862273811750046744232303383387330210837942504620728477666818234465120360392479402435712599384401354614579233971424544822882821814769161843898364710669751332169586379281892883531766035988805498714858776403647448523929640337901519641298036669443715036097314401780803088263152979555866219301470950322422651618813555396793033985658935146918598793331255670972750614092653719594660353882749806096163689680807973781809232181889478648794071097414305598258527521865652221053336618615419651680891535714809468259699990443188032770269998424076595412314644044563444318635628519894192210120810931090662068161739719577192386897878262965817980806926766852803225750406422053122079000806055645532727939604186866594684151493433601785718087437699435281742875874190059188139905968062583821962153596660268008565472089802692782454127169241412665926736855562372712603781542345803960646908900336470607671352886023791227772879256358708381481223478746874569199047513064323011513750689550408557736189188298018869471252670197099025106738568907627954097996766521258426203638662110868535633804822354924541913510520325927595025195863318256019987170571594089830605958801265775029292673451226317068013225714587116742429777606462119649172683734191674646819262944767581157484567522117992966558204354216746755116355584322068842844146727294268323901509918289891889352226933125654792949023120016439933071396127307622901263956548912705794150282442838607884380664059859064565766176482970952664340824584717136134255319982055286290242358066261630843212242660497804078314823667158040917142873378708312568937032000905027833078969633115526984794728251945124012105868213023162154690872362834349016941440146835591856210023809518715834468518892581713492036667393105616144927377425485016977006239679288314545743994264158861837712229962042845317447910274676070616014352202677361344643758982001867128481403240925875849117661618636056882396976082402685515991492614617607639538811139322143065566433335853076063471106907880498539788555966406410697986808112161188656740210658190627489673601152761659539355305769786661725990153067904177524667043660884277108609722332557561494536724712427300438390122323185233215680920546056768949798223026529772730869202522724720407333440783398914140591621202053262844131240937946730535116392934209449602643963252602046714346469259740911112297448937014539053997890599976336634147423739329886834527132511289166477678210737899004217361608405745204712678606894429823513625159524012223754127409028458518642290096269905109761263348056594410793533520745114185413656816011056777060815163377063460274716160956570524730363539293239575962782530184558833570763734771403702796722247901875233354946440721014435823621224656017477806275233461463079621343184024811478893795086204838961636287973265973152549186977416173126065436309426038173747936689638236226239234184928206066819028473825858083364681464292094626267656267978147539160159849245572152756217772017284079820387821473395990306494809297443054269528441274805015120657686971104694718599550057289052427195832766558091654271439738721063457571959757658680849288282944155537826840585624922725484097214841328770142466876557501749530707850540073173959621618426109762153783934108302883647823601876668511779883069355172727986996436472185015967092268755689630544905810458834350126893471998953687998036750624252956438040173396936392121268468229418017916360188757264205867667467556269548844591289545845282736298452563325633897979775652119285028838733281100216021346336680007379260099541704587656676569650405944920112338358361484086995541445921257768878127372256768581392649880880311046741844296529971125157125662402567767669578377827786815615350106534265496621589421509195743900585088681565220722073516774067842124062508020532968739003340202442173789049849577373876761730866869632238742551113811032256561236767208695269106135455487144869236347336919836867408133810302762588921143284523694928463931702569901217860001780977976227306487508981568829116948983033529633050185971529609301132967601207192850296134209661736528380547492004773319579267137068424585060799087942481393797739500996348624394143494977690481310116138522568981238931673081128289213265178712840606111719391018946381957901409170477070173666661392232123066361681301261041160741906741625565791455205253873829954439188965882221725124657859236702014388229986711281457699386171177108121265062327145667222643033779708150457063180943256136564379614035729533533366339468487553249879006914201511319260084198907281829883617848008977638346134508112846160181815553655459561856541136731185979987170477171965769442678739569718419351498136783569054353867030384088638517654276568783672971303055315524156819634833522918736197567528064683124428228630233244415884879606880162717984303568651516549560525685268453060035570269829758908675040900348121356542126865575194753106117028093572840302371864869397055538039564458185636259747158757378002361825430381979506871047260813201224341800938783782150534625157846437896694976932031880730798046727716440009962848276662402644972230197132196269126636028768198749799186104359702697314242488390752114922039157199694342727447387839794618116722991820117671736046852428326913567831317929528050328027415189997798750044623280685911278995640194643411991195820110507537711115940593402145401298903360285007646523917474373104122817886539366306942826522598546739676703651871490321973905796155305555729904915719112805887225828391693527495516160221752508641787877096281453312913098948022069721286365718183596764217740673774428780328999300700619935447770165505321138706463935603530039041774102248126452543705695732904706062180607528141757058832149205866173354269304718795432920060509591261314382781152988054785579235773908278281372320384172839244949547124364157479515795474322704088493300574609569648825912013021198348019471426076332781344743130409118673826420089774324305720045280243687574196034081491801048190835263082205034986268433096228713353583287165450619681392920426883690513061774221531702898095288040292443486577682735671574584167071825820094812094971349330533534392976798679706331164310847364211943451269671533024140870504922045713402624901770826818536681985146764318500934723083178198458988072393177743103163997987281574617645729613055025331733966386926353256602602328459793620114593138401005707681571875152172866591052336633241952792023942708275404248568032771341597103005995729406402017948944404038808542315823715489198966173118331341090797424910788372690607288757610511976245743251247745332886866611332007209414532703578007403156426024400068673036767451004133499790918175471046629775931113883308938351337623136979589005736736713753499666901129097136987520503938967055545594563982523597527159743888055703266813458256935880734688874106755841937054273783875502640235180107095046883391291955190866312500380542590370339743461220996660724886868747259194292380091656027788520658338541879239945021073219464741355457370497478946079954768573019435655978703867137494640908233919458922486181991534211439051284358317262935571246208066312963896350514209071231412579503320697976854171338647557594058131485578592511812926187886510832519862282670091666306177966669178688274240885243760067734562630786085343101891487329488785564957715058809540284851248271390747055471659618495396136387466723055156949409199972993148575162007695245478366044534836279382339690943847009030238360735505664703651231451497783884525106728277550226970669186161832312589975342956939390220709660284455329465423360952101304378213635385260044710994550512808010836289813531508109753705516297868206771868765508778223659480753592075530394220801865775389127468103600731809979749791589336905180261016353855514913864028566960789651373004027394309902811817787397023080015367029585478654084054023685728073473078506913123833027633656980405751673916991416122972844613916163611857933209512688378113943555636719736869272110508973790437066280610428341216140544668614590861012115730035215099582942862469957915608991386605605749625472559822703857717560656804307230764189140833024594270931386241818017840567144317302155991191797587875224800337420610516336525739819258435043932122791770468730511427115557263302885915596901575150053036418021193563239589666713006416479742915479267999545468821253365830418972494430126793992725478426942006162268807385600922870827926456740054646385544709738432256763613981799896795333511603777008064533186191846266355661642821192311955158143606231826161561429335696287947270933411961843234146406768486842223059967107059219677150585824066006018914800132688179483834217473459120988622026285211583080982784261633298063280322723208654345293046042354643408528999750753405860396705966082901492361067722229390096269122686399571733887540633435431156005490642185957465302010291535758997410786223516384455496430746410459611673478399644484671290692376383629100437329011904901130742858194949298094453492021431531793271457677641660138806804837186666524144036220271749576907577211765772791812061286370165486595266916266163227672715480776482281668578261916060906729661679116935374531748210229508366499969149108053184785698667216848777685985015608937928325260526839685512214043050799763049646828094263990038879502843429619791799024023465271227403658255261768059528972989878058148805855910544986122748606645429374728361092116381129926327107916087136271436069545830264445534665437414256617824907725418542308562444861808641541405517962839348329066517251295953552985510729502739347602710924255063002091215606525386828682037071074758828243831830621831154246182855570968285028425891756241649084361276837756981867923595395842499473126895332828837992190917009165158837056432250776858246950833950111127313632808045827695089156151163342811221525862894986139252966816843575650808161530502113341276754846447979852361581267986035673383581281669560880335008374004916559169140213691418130129802795873476143627067200088242773278849613715237653254824783085771898752022473460746217120549661822197072441544909731821732406145483713899103938887334158950119195250198475537610081276541336328428373168730649612032713625848930388983963296201768067573237427014345670011686706619299322096628194349408459232683198052474246153062746928289156706392575271413866380004300753124549671277084597335863196081559113938473648525591935226113974136017805018778905638146099671971650118693211428240859422248211152166763751766429680475684695875403 : 3018380481444006300234544265968690049603033190897548321167799601808176994770615541527182235767363180222211361142886318246960577697464271469128066851800653638013330364644275779255998574096072588806000161414196592997552434902492382945910883188500414178469896725721824297920705279307383884823677047985544351922724601689505021895878389724219426280784460646734522455800316260949960770649531533433598322970585328331052134207961790634273329955606436749791733609126649630005238238204593613171572880691321479194782762318197668835524152827854051027193938545716263946148175017306835287120414509537439620746735855028556550058432592631433434088642042357008523998025790010990523259361472402717950317940696729732147518285608203366865510153478527638597797988866737831385401496170043293254988580966662173357847055954379572463328460551196052032959655173457101291374788489158559197820746494019024151574632653321189384473387487405664945603907956295334629358552182496138084232075977350409949456017504396918094947167637560421420942151255936021275314717606237144422037515983564737670062134466124226334819678834746079173164657426366459317203750670198505274641004457188828282572198251406015257341536695054251418203689483348720705941201153585096260073084812199805556261058586139788261455244205454491039826676272746755885206767828643643401171501066894700704555702802181757575989056462169764116836120637569965165759357410754844152763544029757670062666334171000465541698193465494869672512833321249567766423112004109867175628696666004308878179538328606241898824805227611068023641367946883680472804324067944067226503076432494185831390818554047225648166010872638637321858430637993152462947233694622505656166674278283324281474910160759979443661510357259536570182656850496729930684098633266235788598382149677432770947986096395943635436378224657349333675602439050680075340763322586375688992652700738308813238331467802147003687084857118198908787742237998368538713583416884211501401544429825437778443032068999839029190846235471627992433972731382470197745771467480352149476463881484262162990113661294756641593791049836691539810746941306013113089869678351127896631544512184984220372066357345269854619838579107041991851434948232392142737006424417496865177431636077180805564528116065601818574966372799356504816674848893616093232840226662582650528638471720956806616503763323885335137386503714799669597047842351127484423364419457896155572928157501986244644290331418078940181498040963705172148866664825680672332614305338849519500312857452281454096965955530655276799097381323844654044703814030956192250264426717684552050900050452877442707796832644859645141704924902872214084089715367482087498084634457894121439644172771289881601297079405792618650926507555438270197370033768464748991197442186076303922546065114979436657142429231830254934244535801858438626997820177970485326679764415075720702502143349023951637500861056717737495987904005183735155105879378651411196459403721952452611533755200795784911109642783013213213541669301335989455628756837980464667177165359409900952715794387211349208635641880436069309265320216352132531315492632494407915368152812687283100027737625709259809028713027570057241620394156919417005243838350500840506719704745313623516834819419351644266801710537140902640055962448527330024613721693299786846491982421267764463142831986784995937385835305347827381563710382221120867132092525925720436868940190071333207217402970698988315687606898330073726416279306492313780802004181537581265816276861180724233923274356452276868257702823798851266558822549951144533448399515458769745612052268471479038963524208308972922400197644499314476181005623499796732290383021117929333191527280281224773060867534941038090709482057688794665687535919958447726507802089621872456844392400931487648458850122122616059684311421365400716664649649403026442083960891667347570610119994549559659392177242046081733859907773194280327003496531487121459141843742371947451164847696442918463845423618511100103425350121966271124970445754340637224418966417808897436576276450643687432432273154130903512155835489690979887217636316751118149381320189578814956578072563845770034174536390912972922894564303776750593154179191410433832307725203216645818838304639355334940664597148166303560178859737187700272570836472690348586713176234161020387585573916730886048042858506490155464527247642752792971706712169137860515292454077812108384028522635569348577389474074282851210245141031540314850503831692322823559639159108123574703446271857598710008252223224364692359763487886580071115679982193539729002473305530020109578612092548916393621563415825569633855060625699655310112707057126455547078281900800954349419630766594212661242506825794834473448698176374214616366026079031871829484754333740120951105324026014950957513031485916583615343130297662859093041174857620832773492021473159681385245550209925507194971259631473147015679588508691674803082768421007455553010703349923825225846631588515720096764649143619925942370793675941756435091734510740299084196172243141654343384884198072290971092779532031798707374468429844465620777271705005547986434581056001966602870774195470957286043204616905798742428038618499120352184574810121234711682511104026937264345572266561503359512970654513802111627001912298101848514512618425508397578820456582206973876129197138811989263427842264226100554207607418341658217622731878430793774912994773709356988074547822950219762281814610211979891562590738098504526263680480474359016275079846933184074023352761733470193812364517805161108669265244786136632719563400326676620702814968910670232363999530956600311806809711469355049311862616376047110806827156623821619535675259602579223285453574543100123648607040951425418893701461836589852131831910834524354007781806295948547495027872861407022061515107543909711915094514153462280072936385928752219426864238620249632158410066193537574884441551514906696338736842422818183803094287422429282751024905274140172783088587462386085005879564168791675666321332967063178306988035418446418029286662285940844521920647281230155864452377879382553223026576149178820037637269042246251974812070887142620811631799167565881683098409497653502868686721479480934045215604965217492781373914892644692392290080000070591627559892278049734229964034913234070255307132218986723453438518575423203112536251139395014052920493852326988794202926616926786794580183704941758427895310978685241395778422955656860979154001588846324797217930621619067278976235181858688573177652393965417287586092424392416149962096526710324127319764786384937899652667253988843285769202746821325060758720061825959564258812385700296939766659105258791101375933742230722318906493530377673725652315391607571176374536034185762066974735356159211931243667084801293010542759687820613520855402579726843236549579915746319316080239415137078658282922020906459758277103648440313132527522510604261208506019253850802906555706269102755707161921296663692025005037171843028445590136487252645189416152095296132334037538108687441985184587812847027370682165787360399973129087785886602915000996040518243383093489673289960253079518722659942691956730434419521641399358498971620753303255622433500520113737947667080935031236200253122706433296414610731460530594150677201649868351539462571122500777857621695637791359261852490902923385447103110639972736463166566258861543897320497127307758770975987259512324978066223418619629732057347905297431215868091698048741025000561504387595209620977911769839185413884310771138366090489317520523915214119539400216710609540649659822135064250223196685738903236983111697253238707315599674659319486194315283875050465468426079026056406004109592532356251781033855774991008206222369905336388088054120870611718667728277810432130364666194241439654365475634435355606016987377216532402477165242676504629485197849156020230190030266697273304084141162629088630429528512749570758109188122173220369390548370276017795574630936047858561165102843954152142713544920745708944015169759666187135455977196581151144568314651633578604369964950548821130226108941468096547200612181682705121764289428160159374292463594321839618442163089141975350909928421516575085903277095186432957882427533488701551601626144814122989234061306984323516473413125115498717631599632716220100305357981751270293159766109532855199828877959856964562290232596286532341379378814833206568282721347677594841058552554761042863884882060884064075259987513838364926121966174658091980355288610355166436503220526528744968167035118823365884906220129262055076105543725159713279367768320842100180911544441352396077259767943585700570193320010321260672076792492854307868477956818328497655076201443681803827486013866442739127812215398576590237939680585884026415716610283647515162058808410721510542611261864162095075340108093171193952546421025389833003601819247603030187825724565047507228501367036425158015569530397212629204760817806668685188725661833391113691734953909927359537930422939923205146136369809048018569230847689457489080698509622880118152162388581854088742219993300947368960399706769159546427163307916643842443369702341364014630591260389059392514873185413086950574661740616038041876268730777132917025403330447303985584345673136912672648946804146043620522865043453989489063492317655159826796296356317375278245829694427217273830576251165691094435788291041220998524486885908122031146382037842103355490411064902066744717406206733144764257361836410382527083743216578949620724092758236597900815655825379372749069264910559558609802699915076507319121771107706131825869380274657173751259974924185235590686609075186832590233976494150575168247518715378005452708192534879260008543586209631195978994561514534651624280149051791178494329018668534140694521462709979376940735609646354923196807760130029932694846028399991621009483714033112727005737567352626305880529439122260294974106434599690264357173173162715991532785975188038919519178148054957019440014817486683809341513279433964780957365204324773434007346236010667997371063304784612002514415994207915134642037992169707848860896797475637811741644553060172875696934923502241272026131403452858358468908462217361658049566481459636462948233815793792535552759173522480776788404055447778940398455418893683649482951212548984501609071021579539275615292014041732374098852381485000751268780164053638502518185784344051982778399413982682100054116161095127092981166447138764451581112914503073695223372206986422752069467189430635680052602523261580678613599132842248189912522167358329364804639620426882932505391737080566443545231733463976581061536168595249408246904310722875166558361323348784846910091019421627054491444242734280750024137023641515428733522220254271046119445647782853720054979872415967071599353724606288773847439272668186748219611907681188289183872347909315606457568907633813893374013103090244482956816901824712609674964915352306528273183768488266365231720241521196183870334899202634363554979577350258596827552359182165959413233643324799415257405396205616352559053297428615113874233941903517825789257607195449065018387669446853359390823922768043447648481909643318276644948354687462383897227594036676322746462586905218974641575005675213065506330804988187730472815728783573577981274863105121559989031718127723389657568368331315799531576685791404160764322702072278875211871533264793437647295623324265737996290617605674061011024381393579143268114364923712241586456251032646011285190472728594307895001267254101225136727245703638490423302764004522200577847636480559582597116421484090018502420040622191417267544173487318513983834936627955521170350106623184999217020881595419115762256810720707605881502231611250708183250102680081489205679118329583780022445547602453735999851615245898485539498344558889688303227298565904172070835732842655275490090389639457498278901327415702808254059977638589820123888858139266701830193650496079272047158769307282247722603468005985980562347251967456818124444019271998423238409627596237124804996768383747165409534838421095365985496160100581075969474749830483941445287688115728738363554175384274130113824187976632360896422976876759303798197678172152730549145963670972271707807448397621491339110769139876043937276784929246515505970635508410572586424785201362015063255132391255644419809441642482657343554482341018954510767931105742505761049437117592621660306755608198708407021902830018590028798614561139241331818833429410717825609146722696928789049059457254264699066816475553958768662146947856841901002899991503494512614840565646801773584842796293768668507147778828681689576752521729707927806295126332873376287289509045171022613969701973407622809287013459116599729122397191316225871332545951680726801534790884382988936205260571402635581474659518200140810643320287790514858452674062523635146865925113637293608670146132761197271167915919390301982643889312930668519873319156478324534264536991435583095208326449700293702110492143561990090003437952710673681254526086949780286030887952058438114054600504813277102822964363096717183718837524742941905479367173039493545549934886664268449983819053608362307498528711288660220670241464888062555378783095833767434891701041709251142848694560491463161721823183731156073651235228479763420974313644201895936023550677185745559099192452394402376773576105327740022996030606543398757454437000523723337740615969077935240579604840551152993529997881948696173405497272481718844579580603756828059626968264272713164983219899159792709711345034769525066540190611058739629225459108068778490214529805455297969590155324336560528987708087875607101774853729610246461967256493224721855266797850522154375399599716598473114334256886868418401897717795208408699997351799534523530931707799728825774996123966365393813128365853236656694533188439640432433019197644611576259152311364854028940908357034459583881299372158971409434517916335676085662974623099338820876188601579798265666800726193641346529201126863170293272505705389699318762928899639038195945055561450441295444497466393517100827574877737012917721026673588157039076573300710171209806775223550397737060371404358417366975205857405961395251712309425360961936600901462332507418640255704571284884129754562763012024355506118248301335272490241327458009586027497520489379222945025211778261265234716516322745480056463694520988561645858703059296767362596217342164806271919672976608519760418100288910806562374899816923830842288806273454333273623692707758453030533285082020414297545701381930871737925009389367973986528263342575157833511968409217456821830295033304789438150800158904635837993242985237467911737654729964353608396425312040272391484931540724849747550886920918562423984114062253461215860652711125173812580462975332493215312712020716814083007498113679150190609918283982743232065401016112414010300134982571495550725873764859755943712397858869106976310094754895205785680131661897300959017130861726836386236599564124543500546845341413027449592955267089017693802850326303306113505342155397378040124893448058126675151995522228077983911182923217158321887191134307435850153110287038796531619742847064275889752249359618941218190842188896158851424316620513336015434601831962950353524708620624003664599157192228868506725828246822770037225134221904889915322273294259042301688703223721096047520122939774440078177024011427584547242683293021912623443732036157590807695049717193620706096373061753926266508094494047680600333121200639565393296230306876539047612643403355797193369953552538761551534577148261263510006355616937925560250490279119525346594429731742718071674547984766663011457525963159243177313177926395455373914714116957363593627041967874019039667539341779717978408973102584154688585590318267015193679311366845817168218682952994896065604942392619122762608138155452198382803728512880834375736145067480889050882139372739153617434363181050061086604103669105831233690482724399038687674621824618203603083537880631183884106530950277267746164014564885798930323702838207525396879337628998111912966649327936916615045170727002564817284590229805663042124316365844841501188034752040134708392724104359088902789712388269141033952213304493461458424681300414398776230293087931539171443704676692753773473295871807501624204153836609957067945655230126656119003778684997616652292265678456427956493069246259279471380702878834750681941097017455786729056822464495545039331591311923990460312980741309902623703594138580169133575027075393439071364691225660766784753740575547194323776522426804997763443716487035860136099222741261877333230697556039804875288268093322162371426055146336343630865975074799274816373505459083214755661731059679390319434773783698702458835338686020507983596834563818790704455305334163956030579313762507863924018056236701883894710987450817456332473113882660468492011621086639951407274204658632426903656466189629488736518751058044214407878680914621193125372198239471738872079069612224075493861426259933787896505274744668630075205828340397924003512193067037196432617498969923034058928142242320301445658594599239438152312303581982655491960130013722991762123046506834426768066124002568517228932880235275770389663970170235380602677848743094245569741444274692361920819285949665504697324679337793854542623956536098936284251165604471205569030439044134169871534740712995094871697916734237019161533263872702256066116907065863959790215349898587185291560053613411146735921886366088638373724127411761740895592969967143628866480295475041509254014591919371585343486055740040809219492723704165052998467725506222703404228139786045507026989232622278563762556386700121982805114887064477854977352439468999860704324633596973109877691314911920252990125757023091246726816478369750851666785388667434579817076794204111907117737970916101830469259052092152007741507795653919439653495102192202548449550950443215615801844224985089303953652984262496055948960487884591815151451561603326793915325173660623586700957791887606794292961444188833401890481811665083837165689066438389531540453372543480954709318919144463021134210486648408257434087840662072302600986794516420513667763197621773937315837739439082579281540071905411016626340720091714454093647760879784326642290735155312510447611656183025758270795257980491347377666309323088619087582679178751494228836871685166553447798088778536374406027015771151024694946290537435066196624019978327623910250331669295927416679241293481707552650965104885021885718796100792379547626257353766670655143153052187343788863796887056274433496036062342999491714488811557079334834834095472886039095431759625110196383874171214847532937316082165315092871389046184814996784201652366475924316054372908456462607374257957342484123112110086166240563320626142093171233450032579514345833245043584744546774377398730611037867288953103558955174187684439786264991903401701512885418812351704474513647067599551196187251943119696034471709102783320429506930716253908221078695678102047129118858239049446696033408623456800879505525288795479937413580962799475430768902341100924008753409326663898412804210144262373988588587722160534022604693999532109688517081473464295334932628098544421878917672799390610233251819199659081065108945793393367568220739575187465239327299398472363065500115053825127476300304087953184454182395076372858225820190489821384168251186343076145699499052600259384555862214713262835287504678317082162115870515232387245955410046270156629029685473372773391595262728457364116537607043661484396357495083513901756318850186249285538181856047059508764741418812964553465213668613580149851372472163049794964880862391599814173208867734630161231177362477014126210294204904350759782221326883011843581250391569592148568636367485349743665124239441171197095802088739562125320268706277462485346228958821610407435974240541455684495491505332477644372486747079757848423207253220012335467988871876516038496791649844013759481540690983261565468500565378654598759263344939255040800674655228558700093754347805534055285991003868242744376729275478931216943438615673856914518576035150604416724371960899244361456883033244680553724572916900020548851749536627245326644151311972865798178258086675541486498270411359478110453882260286364306562264395158660784460037006449430973209529471070934372453831575527388969268388362238275846843544832884655606593309831792185842974224527702458116346536623183879284989898912483857002315084574139333898606078411860231540226250107857147117545755570822038027610907012003930852266413909447154141407276036763822814803972092343566031750018877688004538818665426161855948881863618243859468732281504444402877560461434057564204470910821673874850598309617888278380835319854200012955581984540975931048705570171741828407654348617094042425290422074125094581292278953923359838395474637526740554261730387258698719236107434036197513320057034406945986325306146508507203941406162254434824333910580826514594434434202457086641278875066682139621025878186247491620058505084771621595737276501283487473125129768776460086252383403415981724746289083062332698417016703667220831303333972383204219758978622323956064250157161980513675537886518382286191554398026314192225729914217730614009590498316438960494604983264070382992881104648671908739457281901789720833093084803537050543239684973729014177155142285170680387455996699575573325138273130620818061613748195766992019366492254502393351268778619390651139435996532087492210697622338011708827355287670077590076943909371174820600859492631433363050615539738283439166129382989881983946108825654748963914599732675885565546678248396845311067219913677547035474700367110544674224898372373872295694905671358313598791496095461941318204959632803624093223810724854746986716798044118921938214308250464648221183825086745547574675003983045657303367877809980070992847137770834212911780989027276984025722874801055235418526526680885925615203288170114919744771168340043093306560358615535604923603487892468281290167974208620199798677910320075244617426176980627201790103884334380894042492781209458663266013874778653351980465955759650125771746538622377295023798987355321125792278399358408938859167985717464261294464811900403184612960316682185531003055205271575603089685225556741371202991072603351957898884101895421098608800121872943073110425374525501586673183196891912162310360417366681581177660728020600278440490726532162487427811829678421689271275190409307250622951727885304656348282709958989676742838761330377591942273167583192275177796305375282438629558823411418384293160163395314145361382779447855518038362755179863346603180534506374055513691568102258726102043658915754626201725306212449984907675438199917869590612869340456796441861820530801139990046535220738614655496359918143757876315496535612816085280161176363025242747529053396142552026429955682563911834986857618896277149933046991443828099218343417793591171983168916578374934317561696469213278102202400776020887578010613295767930045246662347887020309181832665845761025401522637453800506759798175150443856404536435827831849868434120253312431313748981117294391429721303480134575780765632217778417853661723888469839366691289045283650590708578370302761810626970558461526318742085667301720396962832679045024206930729653904938045286857725215729770782320426007039629967430284364426308580298971926426662727461769019585925540165771107809044414167735360430836069933145351474425340336993414630382581840289624341403375829826519735163836873913300494733601488587174713521117653959473427252772479556945254157441882825669083914120457348853876526212107000142313903161652346585000384250509565220810291066925855585217849614437711000943561832264028301078302014801906013971483005422262118942652392874996769524103771193314741812162468990408033215096880735350576655677693209817873077650119131754046994873171201624903027480018518875835639651196280145491986907837527385470232240871897564976652191032779576593994540309624635869892116717979674098369996717978336214106188268178706470498083001428381824591003287829433654278111959573041113540923787683099833622655191300675925636997340755721859825415369047620954139928254531282010038835429284261587119370536887604707684119547585950276478080775887181951142414165980007553993242113190741272078127040071442291987213399957451344766380404438983445357279424357023036733955808377522401146759461062996150022337964154869925615139362901580434770736032325963448280793169865791723096466622333181535320300038019096774250253989987702710579982191334094775078127823280462347254672573292706988957727941229731033445201937890590367107548253987895355821747793815861286306711422822446453777211394795107953702407743202936166833716342323144652460341709808902385495575623143320846410217763632774659198684284140042644605182501291570191973597340823105120211992457028300890954016829827958844003119754587537171203077446179970175926877337190202892148297585901637082502257833058667859953091587942675949363081694444406245599713134944141569681446611465225157508181746216177647762075382904681579806886117111723096839854953535432960710174870707573598225914767701941737697258940254368019890793088026941667650127725311220740799769641754745288738655540187330449359684048787445611584037229166691736179920567734102767299464797064211533574623306250636877154560164394284633735344809796238339937765993947759916277248974847891346326002714877817100923190347567912689940439286624922316670421563563716936641335315725758244194749967615582849964266297888133452066944828927400938109067450228008149958096022136777868696040459978522442362455134525051103467296229124414019932559551964375086391855039826367395901412910662140680041067902331771165292889524564675291887162671759943780099783890004219690153288375333474391239622809915309933051260567590589331414051424345813459446375670429563134057953867131915526548668771110467020683955025053453322236745748426312482026901551705334498940420394893247945171834762348620947057941494548249098320936879783149690617825205914041487536757132641904747392865503656501274560689208469203756579283954163527419121032245777978731706607723689940421743433921094081017010793696029714483805993166017649144873990472705992396568848897569545185243893890179878219116372624743435621845589684633369621928378235074987502202086023623195147997900962691713305060615196695370922452392842914961202666775699305315103237459022826319475494689521543403681710929024067431153007666246636317991564041649556646899861828749068648166641721960608251661062197370504040297613220027612192449444171177223425878674360186950237549032486243739943806550799761574369915619691303415554449159947085432973272023747945103748191742867832122461720926000955389269360037561892354347512401488870625023002179414618431671083780098572845827618849922311157632640976028479095852768579759965413781370066965470578899731790564719276092749887090958364887032793162076815676546837203075472201665555683505780206272150769896439135246054071758287038682196759413995377534131094761147768077336639643244307454470320711808504704376230457744392419823745692325477398900518006039625166361732550861487697840161963802021652142349507869791093193165434856134438731056842748589370472753561606577053871171485163217406960717897760349848054163208105577536763006086186879889334885346420669536994780216238930866189737088284552343443073518932171650864681919059130982498697246332843868421803227421320010281678726509636072239509391444183084170660492740015332652545006493940873859206411610776950198542209231075184924952465369848536076697447763219044143175063289501093111936976465256210493866410117106003382819668887467539182607862306660876359012548042161696731861033942748693530405065969127466928167335202228540795024593685534529411082037094779043339973307426576030852255324128661450571768244112177506443347140151477245633439999190127072750221902743172960170035124644639262564960839460686208168594691676477861341937990527035162243029855907608010561710940504347170490587480796296435296991618158949443308520806988601786825234513592787724007168542861361438226599248107573708004464890121272686480453342238593486746760060698040680105038454981706346521596978121881190577466142698037486164488524717938156371783269269408198034947563397188974971975327483532166521220100069568427251647722167198009190488021711256614848973553312140937258937807523094830930462137608879933270597171476817769004982397493086033310098736477013155188942163439330971113107292513673925402160867457883284081647936490404464147935364056268227621986505137584204991419304063500716757947878244226099765228106280087055906751175702098335528130453760740774605015990138847294326958949087219255944601948626707799747922375986672908185067907894834366981770048164343909717859141147157061698557221023227140085468676431792663499829817832527588219615111538920332818366119889335135759495376618446578844240107742740666812259006313543467241622569011115158122924957962905797074453791255779710874274260340705185476575977043706825094019532226720401444449844787662711529190078965607120418969903178412817986062509936156898704926902909564776278497608225228576631609257790287615967587768565811786654021258057372306146307864639131857644398962032496649850682698700603313289898369652453068252415485068861360470648485820317729746674743518525770228769864835489599107495495506925243517703553265585615031873489756284469905404980297567004347851321390084404910930325847571299257780045536210585115046496489525614874250217191654801731539760434089816135345184447975835567581330090160490890237746773161045428951259439595166615880020045400770490746044123784118943788962651348162370155199820001433169974048647420429991506820784893546687913080173249792013071761853366104028044551190091090070737472631718672878581789592881381216526947088992888328245362908319928740671253291671528526223958457691217029380389973105536420531068649493900171092451843417379326099624782151439836091701437831184555040509552235102271212853815237573085459836517946890197524406093372755143725801222166478645890246627334738218535160733136523536875588601031158031058716817581864452223971464098135096289771760263499115913677260953693589137419174851028527645103225868769356947728290898710572131152836972300945166188132987889689557601502846549201536305761243370389999013689514152231462325419856317528788562252738817550060204561816034264325371535857337125522411336872193923218747019984331968686205591328550140419237041262251300615276672004167933512853146091467355755426800287637961394592196417713625632411379632638426212522658978776448485918751998938729731558085512715850377328459761899474597714236021171397786206002223328996452766367344256939468299720643828125129387287330116452933663951562306582715720761488359851449453443538411836214935801905916821394404154864775944084033384617175530540259615580836107747142062217996007246137351790069637783207548141819903037058138425119258291156622621038676382860831988645135657577414693578989595269212790586661292600719519448132449453155028108470730071214924909648635319012156903005366250516489151702384958822664841541723173990028821548042762946318649742695720810165171412932254641918262630843741440322992515089597468804419964898487140243609386222217762094871031317556636600849444189335150070146101698171855972205696565846077903801277283121040018904354890404877097612020569320948431744656250854464686959219582438935477183298106142327364317469396144978755721297722121954940252628352067098016164895124900768063750034933663468453339646836332212266440486586343988549873302230737457663374045727697673616964618151069652022089107240277407462992420608195398531122451150952937318776288676737426891545982915056231327000705637488984430126172532366040179637110406140423057754069602839797508240544506622659622660192952483051410470894391742221793067071107255793716173176541389378480813625608229808217174231174270469978665789684144394364924011487935103625213503913813065255858110142176890136717800383341644065524410006344919683478415204683225457284118767896577969502013655328192593554363903287751158925191166552272204320081372205029413249637327617273323080640610847383123533969201946685225019266961117728062427166601718625102236230290977971511034258557542481082912163814054738004564822832673855376557835690263002907917076107804660703999090134320683913814653398713887425761864690319728510104066443971433628883784158186320859517656589700609999077692863063192025101523959815478877940620879099565802793141723425743270258380069872905893428697363385661785398663012434021543888824802113238687459997787323334403639753827862819648838277849983392467985791868453564943898112576387941635181856941760388575198511833711728704989869495154397356126031557739161676041099748026212215223764616665228211191341566346277413874783546927799934109787469129041525542189326254343164669198659114594392254187860253918094184303587226944034546493099648607096193759992686903123689628789666263523436941485379954355075424425639471532255651282094320402500008757893986186864610244577171189591369825203074902102018495093943526421440161883918610009650584757203666169301699038195842065423023375239736470611261954425776100676226129836516831315271723692053858789707284434117807491722033018940226563273658980957586945535657417197284938168010667733739437971552520164707669115528595722147489849514115396946214401680489564834545176414287695176804520798089938320184732945513137757801484212330372536209336086920841507215960801008008745003666699307422936680857156227037223239551494526811149782960288973405010116686318990233517497200570186633858389775468838391662169535891671170839371854441997701270061623541956692538274682599093467140882072765111250457619493120499769379901194873495058881227458729470718461171833391236245799428585191657592430191052309159577003143027337768327447739272991078026528556747234061653492065297928947000447961186264408167585829636759837210666117466593096444759846916118313549127486408388480088407615915724194742961439489575761846324738869812429646847130249228668798771046784198727603393175299285797070409010246431339512934901320437690767719297395437198054254432964587083430126953099763510738682314704831898184854139770952004525014850907901996168511866668005312012515549966402692503100554067411568191899873023348321564788323372757960211669687948797889726540899081655730452500732007678765423730398346158001701788445618414654903603867573836576007654728665416624586371888965125880812756184242411964283308580208317357281315168248749991889333551096739232985324108704132836566470287393497602809643710200912124816659242809558544365310595219185554668531998149809786969634049483478678165577180392332464253479513436669809938955877262352254934789668981929643786679609716949858973434451802572362361132200776458920645416534913752541935241476507287863140400262889495962431980047523924851731117983211145077147216222066442620184180842258743476727339026813335075530698499998524216789079048564918686320990724337407952696771867485811107816515900439228795463059379892478975107950779229231769041204097157957842330190638346969215091639945181018523703938584539858099187318240079605348863584818013940956435465908951813234299942934805848397531459678288163152538428053852716626589388662780908198026464840453671867938661801692651416281017976040432331480851040241362182343943905069957521498835461942687606864791893521088743098399530165371158208008640171183229107262704226937600465541545569997911161193786411289147781061304685710470347741067255292131003327323519640037984632982715677974503911730419476101870801591925747138485246728523894697374108678647214160179448354333302390248125774288758185052341828699502603911117086712632030150883871146960980080671912640093415423061883672744683019106860927259411236378510756675732682537661074695792969723424088977894465999497402708183660216583603182040083216902603647952086324486925612227945425149138101406519826646274187323788142988180885371831521396065197803675748770017127115371275556353184773540524365850492735805893059337880541994305648979486043382741959923420178444380396301444317176290367392977425884557016839304896248351319939258829348372219025711822946641347411098747441251131252049823684607514710362839811117500317668279823910436343079338732759537136743886774350239700457405946221778809810293138564206438056749344481047652650124211118837935105307223705418817205853157280905229065001523274631557175508542596566577386140996733168069723836684249692712220666885167527197605556128396688136662106539480653437714241101697018704773771739137664684486553490781930794001056104211457848629256675847210121766861776988111876889904844971208001268299201469534069338041095811239973606879637300474760184673096286046005730652480575861189699396751419763841644759965886303262483465729131089701139948274802779349994891132274810846738328105340216022313840530977657727617055442674972350041153737048234839181787734083743074359775901508762622129970716234437199436525815308261962840818660757911073225211526668118006283437281081731801263629325723959334156943271187106475499666723306027483435481072410378051700939517973894303593344126903884456336345498266886249713512282126436198043881189234507602127931232872359169934783438017584423703842973524994034703418209339276556147653558243397346888157790845790422058335746568277089662657165152212036899892947326475084068544460561056753183850649709299361975878595810564303620176727565129888331422947368493225593501322784470172246157550665285570953340179326415866140693815086520631798513794856202659781087256879596875073063452859580017274120418518929159795253785743594461917232109981232887047984311110119226984234674357330175395318489298571334426953606489260074220131630971453470172492916507024200560148228594278482879833203531253417129523980560641611058091854803072347335808710913551716974058549506710634419890616977329671049145080477688563074193465988248285884277622944692781973854661602210864812835610647773200979648429452262080709301016579302169156059880390059998843430043870256404834551783055797191635866936079446219828192257526365808746857789328881941598024141024181082955105439515218009225371424820609831978000052891265785948177863066663206773953585204514400880233424108461099738354860613804335397707919261919762509240358741169660214176643390101410241526126425849118667613776226864411727626062887159095505351656670844830763381473027740020439988935245791843117579639240954335125683436122968514482984196180647848176133552381485177232489158421545392527293254145517057245038707549835126553249848370968684797384585632215382007372667606577902869761429305935081539801134957165247681902441636679741575779793065178998383875026886483546073838326372305640687876499605860550341874237055257087230887320655897955346031830776616460485712504543700974388827533539918905530551810799531283437921781073118616785299115266018439239233263327147960528702328650150188777548910420333130750104641032458942912111631488237823362242712868420764480249969142885044316297169612488076153194008341741285843706403072446950553262571966841805115833025632213626335657040837317589639285202785639485250051095069099144733178267925710576297036934549134573192997496228910185638914945986390891376010416638269435156350595829547405043909466759963200647719223323889085253210532781643612909914761353033636201051088090625666510878150849720450911957521026922960507749972568658154772125480374646271541377500490312030096173443080481403150263188059248640845721825627265146061811704015845939277628159436412139066456165633851515549880331140455704178205527948895751921488597421390866491961530667259118260073504682934932475910972908095835311920070649842889309647124834570477527241782771640891159772039873081135116325858038545495372222533847503763855673899651593426881400217515023101182003469208712051149704902097264133697130835529046451949660285411597444962801399215549673086517219461080903622483485373812576803472751922061009670208622696709370460995619926848398437943111492617972387847714776628620118775633031012070451430251534270894259201514060456122196995655410835300157565248517600795270401470469329208402130525309031807229666677413192393095029832583846411773048467567246627322567446824017056143378861661249722060033500474321531705707413257186630304690748349359146824165805721643664238636751439353726775280946442287370117935983724632993921113944736004531162738981482214906478638756523985191215887394009601703864260699114607861999216085814100592891213869468514895990880358991773621673522556285925985608551298686279710185717287445885096154151864898753906446171835046029867415311858221230606406448730153556140092438850317878948275280615478885214947931843727431499607188170452747154577648191012435234112624557842834835107312430414678654618796518747510501789986994636144850367336230774937002703329306828920124788731391899562146188412385324169329309369339579273078535705586798511745744391970672340118352861203319672412596098372586764166424668350438945079149881711030461804673823307761955659358711629735595506739644693736257802482069331425660559615168952064256179967172753233625000392267123506635157216485961287811009080970920013288997799847516784296427111786817472405414658319250441098051821403061595562836701092253847110305114224846080089933707159930876064969121816355064655326624220097515999848071343465556165229908794960050350269789715552754089059467955973772365555676330249012283850814430961764986748497121263224719606853554322261636032654508737511909024807364726493838947609393099967402815412081807667019395617636050874765982364913780203118692857470821798479245406075433402243768788801626249288395048661697694937638028208328183742342027910646934930890782812793148392376798111361780125334278465494787094678655779372553948493738995903564897019291436554357976495258789080207943746305797286425127928179471001436127329166946071868104742487178526383104762309960669133701742901174266355368083531484958423294351277444611927181964409414674250329381633334617184061742428854621115998228351666096911435653190708110539555638036812426009026334999797880027377984563855687091826972943241691389235915785262628904307024635980657496734330992992755181565217398235054293382330170850544769276417382929226647590791361021691639222181223069574569083488764948810116829245897075778645224770923424546969932963726136816192464465941987847740715179900503952126494413449491258725140096105483315488315873801489734766937269416640300865582346540800870448748806646207670853372041986220419637968622866592856755321253239305799274951603530159756755483999825651042839743548212337197776922693699968757247319397467292166611282732430708767769531708246362293498203683821515004164535341369055031692063029995340890392943860153544655332214327873597358693376457587068023986053015305078325216617411838052158089711224880192490984906022458073257391664400636238060263039281943141846927437785027406727413065631953186654329019532249424466345110622463185960579176227313394683131516164070716967089758547678198919048888202879104571622209169939680384479924547818376926221606057695833183022951996330389722287407108901409360942736758517650266002381402384567948591006959225939777701091422552277235539910358960392982551787152393414045647155014648351226745295785377773014977087805932602148246091656052555987281171457796569338464571907073017935978830022735491706475718391795487857553338349008126079916859501359711190788439263372257919511558469798959343560391761341049027146062239677291481591446149161223734141467663591677612621461582901811538024663323360290866409788797777076166866724007038266715804800227226106841237815048810690344190610795806272744030813868458939707710377562265341925134985284587661721979570332905490937262903873094689317128960956323082516024802831542814809507621356142638069258544774653657253298956563265069216338588667952866779207440374652167204600913259772879344756361020030624849558869350767160916469508308782198390642468758941697286262242617282746285221363516992150437046224539957525472186732908966998271681090461004905852319362629208702388823354745640234527757567601447951519388454381089113073246088948976301542022728639331239928519350258534998908425157896255386619605600902207554273384309353890579154818917367405386025677106644986353771704620036232429646186180396502515233898331397470668670675839848451267608364920954638813276905328687988186904885710510585781348027750317448325290764757053045009604652258529739438577038107725361762941314227044257155392721751904671541412228875401901118285048823567502572420165308137537608161680168961154293846525538254721689423887230526449111539475331120000025012690642651356025217790390304713148091044055272459550806419534299038122049266564260499530997788369200238530477705907382059845334506881527622530751293347783764760499593277222006516609290795128572407788094791329609678250092474634337069295226716838103792426900685323975778696792944623242431195789557225748700356222333471017942690337077899265549464546554315167828206059874148299465981718370051920235265500269185882384592492996218311862011554190025485706355207734740239099116373523345210194435753315693880965588149474794789093291158639050301600417530373799487754158484083784106115679965724503057170604127141799720920673034730031802694146030630935196736816131749718388094273344087355949181135510473617732015800270576421540716784891724881052172579872181738633851865655750247463391178906224062754611323395818189695481927489082919662170918675986192977888158031114898554469730310853244371723863819493680619275995344458477458457170629639439685394886608918963488375515755529555957142244947712108599541642436809208825369975070627915799751157354810783074126101428707903122320399563255192686755507916983556449983729532186538075851246752913454134539534259654202184737524683175515677213279745360390512108105873849529643697523843493157736261878992211352054505042168617128412361941888509960542103375996848971009590627095339575203438780256143838005114205175819641290275753130368760856098475016439298521119699334313591911071866099934479955167740533284377394721714461793113752454562869940881017869059433792589301484130136928424361540134961808225954601428338235164373281045126632558316719815124468129225074781772671777237979746204764355211653430037780719932145414801201046700674917496346699040297114985094919487417773330947134470700985094691343969789314911721447980678629912998127758421551534034997940225406534613911950174016442743313113163736670344451923345216733718696736334974329891342423377770371486109677546556132096242546728187142725395807130871447940079411211800485989779232771688254623800640841489325842378874171998855437927572818949923892986543798636251410794208137724995591833014108648347746138436372950297395599819534254514184455380052220787919284438639138435902291332797435055342062878821742773991901089251854115025137784583336122615311545732508686721185817193704932488132734034274287963254962943639104775918794380367699721192532472031193153770138189028047313493889351970294503373991153469099468076473271686358549628173944724969399096323797901632236109808627492320801679732949220921983438123142986117206306341821436761952972847805797153302788772486762060259053291080653408239774078993138686540478108663247020770914800666384043613815792601150608467959527266955991414334474260280358314692480983982450351922178150467660596607642877533401204548225971338639861167645346968567248688455288831032014006609744857601417305707300504808856361638640655896605168145012487360457636712755228264764609528399848139930713805663366731732943864399452618181868067907799871381279947296547505929568342586164845962341803234763087993299934427272559416818974467585357675646620147071205408914787766389259051546957161734923419882896299202907301375147590100753406202026564324272364269537849366913171629156609615744005519571040723244014991850078716585592526216026917714793809716908912058267170954804672177032583828821271698517853490985030124250835468810534284699177372511971294737145949339741233210335187762760209765404984341062740680277003260470775805617523639160743219852178044325094100095883504074206809241058610098513006561858816669779454131776566381257849774930891070595061947605087596853806401122585664565322919084810427129312080932481817633474893601193435812088951692393265059722772807303994477176627168828408263446590928820486867336784403522866275680493096668176858395392289499651651383397911208372870225454076839255589559761881884893988754605429332798455829662352191361399758777311879510903327181001802041315031846965023755012428619486840480953135299888331961541503692646747028089824508795890810716796288026306897221493960578660300688537916853552271102069329662533855231509319334186969457234254250906323180136318603229820343452645036778615923914333342998304612815765207304295938835565440372052964419823821364462622468172914041326000630908829437131807254944444076129301195135036915060630794156373862107380525496038256514488184106923275124412984050349680186016349919262932916753570295443858565782939640875423483315464253580744268883908167796024003999732716735404261689937276390745579106088467359828505469468172644514479121023761453429297626650495070447067707354474393458911577405730248083828774951341106226724430135016788018274935486705538882160591068319467338838096684417450028332026698880430585114052965139290589440467266165148757011728032975024524051143670651076668629877805229170771561250892389149161260095840999310064165303836388395282898176031502722332339557009812124733661554257253216250236670701254469336334773244841639565959352209834525629404049567179619405921820573050983194226406560655062739520705443774194500714367744162984360790529070243639626644074710360145466932713898213967486519064989547693627574938788137733584494516148366762817851955006057550893189347802663757654428774958285070506312360558986460066979162024757319233381014388409169685139645727868946007083962973498826017176069415369729008452761595317615578934406666018344192379982753039974981552771468391509086299491007071160175623560938544795740446405641939559830382300107434214369230304974439427383719238762389524282134710546493501907498167740576021089669368059215314898895502251531918695741431432672661798956894708075773595329863191869721671417523791562231570530193016083138819771617018294857676550931391304417841237187276407531195467199032015635402198022934044453203712662009372644238318297861827166017216017447034200334693754071896258581515621081380708706345097487630450259809974756694227468204019416203232296510949803312390005250679265497041769215643244520771400724972943951628215926282305072935179225735123805529525745171914693470493201982471945266364859366676669812016187135252015141550755717623396155458110605221439435988044171056410806600672137841365775569776563200149641436906821465211358403482341193840468724363098883623154117976905036694615837098773293904069691788203028769599415522222943327882526939885508244463887212249679120761582263081364696457136705580784727196354217912949292501761858180021827820204645202880700095477288301564675936333986896670558696876098263559268417635354868915474388929415234405769701028790220015458796463778966855587216542120685608532180374150577426913300504923980905595874058920181758394526851225113363244079811287023620793059019254579309081443712755381270113618449745112191129224596554411839038510246144193607143647423575899165763500057921863206402329814797618374566101111509073989631769219799677584267652890491019487309005662550664049149040891146034657050350265723602514767487048821346658773141125417902757501229429224035318873560495081300393285733492472332786317760445861243424995785686110416623731861856665706790875253700407188965743309152773853572266357553904003941045599124970687473933783540570709717219235892975474550636438323349506795295423767051136815551641408824904129758099943208467829965248490925525805308386447221188019963099223167615112172795528299334767603711416314179985721089156261664419202450653399671891902731862457444250637506721266439358769087693906273935231335269112269318118390574315194291775152175282343645142258371739533701609408719682907317404788973371142092385570726848733286649923961499271865803291405260946207607209585769347487518476977756466617136581434586908640049081827710303116844944389028327377546246967206741115487716126456473243451392147670160869965634014873456633601878191448376314453569450093641782774791092038557602475752382499683694337684534206952182106106067049838615494721631170853946751882487693869375769143041225899736734269194224546293918904180139583803536269406624459886434746755216965988820598103988625688065657169142494703261117071254755371745873668926107380035103645426020063050818004534882293164925959156237654875659261356708385654504248330227546453240589619975242142194421601196124067429310340319132528818281023425185986242410428329821575269395981310758380440456516155569545979197068271942019619997722000283844268698056124990146480497898426802139905909924137552962450913487621231515854443151173437490690916631970356070095148604156735908617341998766142233518615244673057269991047679171083307543231885266498652013242920785846670636286047539687020467049344567983570879844579396426092417775060854649473808849357202374363098254919922807835196124632648796655097018864257304655800276543740822053896361098922286728852954147509948133449694912399484419736553789795438661739468285231553923786890963831980275062893488657894305109423275669580683832289172203949670782812625256754660972621416953568527887490642117906643691585105217210528494269367390646414957124036396457109150009612409395073391010599985885626125563294668023197218415827833086679138726012220237224734337718611859915475990286147309129145600753097968702339911078494118908801450876049479657074798178386387207906173405868016192134620373987724422629374595954434847140039794516011711041616806526956404472315183773782929832797365647967553401816043519218081600259471101339447396964953329298031036634758635442121751473441832485413470506048449718044924649364895180097565527923186153073039809832833228170521254630201547449686854596456825373534148319883224406138979518568742941176816151365293827233025587363791059261123048713208805071536710162813502198201462400170309663286970987779502688625790614673279619790143101329533332318659266756248078453672696796160642249674191865329428979492223782766644753336607027227438452966424811362913286465737023662916290361694154838631772401203016191636054597518106860265132200689909960627648318214655454591846291158261002060199306200653267412622989510061883781550246693958886194519518437726514222715135315672580900050330613459324316646140629410781583004406195150060932334605523921572804257264094618696222102727592366545994838010770251832133573299066042100917954480482184879418922661383581815176445014440042169751090142700952933713673862354101197950140641479637806424470537102348622849933004065547856663426463230712959171624961829264920006098593169567114603714105678082880560228119184839304288666742218896021061649041911331228894501825628870862403606762391107056181592764991732993356725656646164315205497256734837700309106791191792421335196269969092047252490610048721485701200739572057503958153863177769263039473834306634821328190252697895528654929845726081982947327060929117251945414958628290462533315722966495214683551613076978597529151101024441253192665232517928988619772817398278830139068145815357004012308517393916138615020338308800666833286961808912330034053013119179576338833852760218551195677693430673940270353887728269569454579331818869609556618692953138135128675752834734115230165115179004452976756968591634368066322597619919104866430672751413556338452243092396767463728056851919070451899942941376657478938143733261814728148598317723702834899849644192465473185466141740672822686017366438463205312989648154166451670504885853780058641109798403314641891818825548305051198003967249801700199238537215865055813579316215692232875396621703093796263593291908433072010305267438574760385411033932726086232938217938513721350441947956977689086341152994768502621803391606632045998215039191051419031303993824572934882780616825919232181533413466987564310808455117646886600142763748896107198671104183636243961978613410898460305798375132938811502813634213604398902447579822934454428041921211745413102135505186037068958026686574761043328083822269392808218474512354579587882618705865363773902095419681720162366248110035753548972139471407631730065726471076762414265208999862293228193120868049514117060855113671824363120146265760495173740680812121834806952996901073832331478201771739306072210577244319542086115212024338042879459246140347732908539114948769791658268210828409057191482723827886187182974991798538224041557132583532453610117912075955849747783468131810795559782859334890961949331877454910553440931545628532946327980887659828473297949402857231607250569543109737508206758129976653422130100274465626682840962511432486833763639365117854522023581322004828162719892272041075619643691822170175149734612546309009729540552262295527225747347537141423672030822912268853748931653851874402147198705348744197409017532141584735440443201629966771000517788314191765584229439269221747145739557115741891739330676761502573584792960220951809306360057001423449591199081362788513619883990489259282939769805234533475396952668786613444839555146950504970566602768098732580375990329448639414834501149971810701401794169920472840881396534239666293524834963727554154229834329992899792415748802150108125023289371932850357863408586894093095456764097332751179855037367987102525448127698942678208328849130973930180680525695861669093902150724393892195526973075822835239036258595239847853965342138729039486075134358673369263091104681703285180430327332799323623333856648855986797336872267738325208758747114498557880805080709464974416371663086138268895673148206340296557573586992636309602805764371540761260861570480645358629648416189824642317794782311354263653003154439810312814746164477432893365119340898303990949510771993392710205832803760229853757598880511066021057983403479591914905282613371033164720431204110333864779735023260500051079126265611785439149788402561845437536053068373526053830164222379966068438112891053317962068246636174067790927944209688691578550191125054084504039295564491107265227769000064312575301156904526659792554027929253095964872750748262247718038777378969057089638095098699026949499379151717047978221380881872681930984044369082859249027990379240861788192195990382486554485537870507766741840602656637473419261524646101047326403970373256632482720574804879781488447815852990256684452785396395810150537857555381897162083138028048289857744396927535420400844371821332625031633671343600760732964875118393955457697199102994221293236029673584300965666158842555421102442201560616885472435992299567740646205777570685495268012159990940129107621463364378374334092837704455678764100368783042728512831719382091354094813640026773027575442374117883197318481271845569206797695425695961515281818848165120564348454736524668841465381755603273399261356041487548144989489178123780814503564942130541923602872832542326064597676209151425578696923955894883794863566028874606446908134468499662964738496975699252196842997041524042880051727354372048415026387059045475525000528207203750015203711220354131210943504993412434577623065099776161083196669481867893282417475639837192892706621682475464844192388200266139981439826965164591890849444772210368065313038053427593223901684838206001047438375970211427365260984882542071087224220047736938310449414577164451495203567541193151469466844937076140611562582881599327356126069199423519172510575599084427202703056679589090186426362947553082767037254097280058870883156250618710791095730403737135052560485876865840275208330229930227744533536254231309209349435149765874025389343793555215186078657175534058814721657451146126328332828239290779350392422727036510840113570443735296126020359242771947704223975016130306446460108947437845714906092803013532286377108585522540305748847183514109408656263429659802225758903838295084970650967001686713920274634535245145653665933876755165742931220728576936248844893179089992419836461518685973477043743517195210791076302534733981934958226762046204210341385439557221041233477211909197747732435350687133170850943904954370698866850695237642103407714035332199468947479177265809100728204261391824266165100795838141415247291484143102000442193795784322920957804596209098997892969779552296898003810149305020812169891867168624110024762394887412032743750367421309047453545740872164669799567424483558907929803909304820222014358447072999786994551368578307469294777001253080957704145168321537215877608600306266006895967703891461772646025681803428767823090245060062107172344101508504095736149126240862440071735930745415880841309220576820360024944179010225399930142165288415710977279277691026516036697262890794754189448129338374763819601410134731612174596968926594732993279028720611555651398159306393281065950836099780731587283983058925167431113687307625526965796861651419748010958245322386150173616623641443385629515720655209594173054175498080279994596002413574286395079101656610952263308789865831651567371967700823881421130161098561606066525284741445828541571684948391285315092725922944707013722049517289507639356502607373090819703256248426262404087481119885596372523056609527150748479301262882672687774223450712234649744022053543259577068219085952827370705127209571899025984461548626057446825067852806858985034966208187083682698798697926608823984725557025402928252312048651252374184779473598094039734103604183230630118743972178554258048118359921325895701487381570483981409614502187974333168540754781183558576403355994128541754668833150783680681532999025480886134150953126899304313371791851715546780393389198558721647825715891264624597699707082223281368116079505715647323838877913782050834619094344747207517215818667271349766759038824498889730807045935325607135087428758747583006072942447172837827841499000165398649494048868508972388804157591293237331677225961268524100461789859917471560768836097203431799053157132600186114224714187850566565614339119819897752729640318790549402133558159193725274170793192000204414693679732361238025341612858014111994534942297878538071752130833683624400302874933693240516982771029097907730659674050780722713951809935178632023627882214583868803101329834890648486709106194470942658071098353523424963705239951492635747243645987678773815249399999280335337979425190331357745024664353110752374972720223472061553619611809731639538518718330271376731937227099704385689452617287090073804556383149067758289152283605080174900924991352668265457480205608400154349190747838212552484054582866207430513136682399926841183335460108477617356542517282171201034709210274665572388507982520426222991313706189923119412781196398421263347069663004300719982948639479633890267676333570437843660082327349750449525543775372358878797731470838608675333716381131673075384421244924107569209488173338053555574564885294053234427518974686717869597378442908478647328294520065559850094100027078820124390496531837576718351683797994511758786363026454429357298482660980843484865991810939973907234722839805945395354600186680698333941622013478405281629354542830257834399715476651398821078895742655776862869338594072149298583151540685293944194638618390778397435847469916889937895498741624199414373416327875340488907762221596711191735136881747545338450446891327309727769116994786635369830921103024252804627728332206794665867971639585073666787191346864759146749652197127802983033086691128880162177584836891205700162161119826922783116382094732260636977811526483452366516532159483005370356670206356550752949273991729464832743642078679142114947913521286427275296236321275637364939025395034838751606896618182819361749086823746776755419629725598782847147665013858644569466837766804874235811216258319915684205724965451144311900511535512980870962320954121621359166222566627255580300288250930106554940297893640934431280249354415515421865360950912458245308845917845277235300898007258223682355942564923116591496319919823711452924196574512109100911246380261154538713961821248195756564871373550083498800006076705577786031201237462903212700338244569667365680363256402814757263882341204156814409651631896937150204419548679195454803521266297505557694673387162028534867658904248134098346340673814276319420087611275703434689953545132862668263409422941424090700383565394648754980103921351494488898445181371911090376609209175195631806693103985250407340147930314651279824352168424967793011571601875387806899222358714947062304614946819759835903899139631928457311842346709202729811972074331009755949826675276595399610091787524241590661849970809889998778419014901108369890133764717070872342413973968583463174013182017044371395992876162059476689014787236926415014417528838578770075521721509128360828037910490887628275283897879003845764454223990963847416937062860449391344372325288808639615745571607540601517260192296675848314793039861435435189017350336348305047809119678282402930198392708499506128581592041843578009495183463346380826829477211548870222834138866500451667152546891889294689894738799486324475417022502435601319415376178879670669603092566285783419835978864504238580215434056871974003183298542327104369070865134587864727705932374171604525054467567150686435875510563098173313690279180875434902729880564159756911452698850132919558278873047813895678320971997331848900834934992013757880987170886340746561518659372891729980069725527077040222718884649816889111264820879987216285223892221732253742970402701925563856188692014048257963354908954002486327335919260249241894569122243172838885802648468634083858229076927712631307659545378308599408050778878772324505610272735565398381602346370796432803710866282858100455931662779847792409895031225168397245568424858799023478634380039384439944088345983671365611046329497631675270686469717486772739344841901001051559019473767324374793228188026457723504211084948506879744817393221508403856426753635113238878027948923373167425637712744971819683698230568415840797999355154761989251385687583621931463542455981360333664801429876727632354925139701304204216633577202557253435052950722864296739235226627795742929822345832654810753409748397443661191806129393436036016941847890609458044495707235553221843145572984631961881723197082038093306057077800587266206672200464677045025977756955956879612972652165592968567668599107657685621993515584757638686628228531491830019020586883141643158722557915693361418566776315753674035057394072997114676663914363217650825747162541813923549896743154978610208209862109713385026635392587282694453240677136636061375543335711185410209365248634381652717773125677711463127727790303342313704702911655466296164272128428840145180385921204984380561343662649388469586290490663201816846210288432121259087405845554746895014268303167333763362980108801498565859753409910047929759603110590851605220857111536729402700905497455092984787547521815996811695240556033473185180223548806617503385045784669345170367484591941493606851158073248907532387906084300185675471373709692181009581241042662944930621797740633430592663334072577158688145102929776166444312141095863802805372023354215974495000501115171309729812245860402736200334657029224176267977013348749633157373377947323540011968581648031212973639095209359659618431109756874946702366539238745454386678273874650009757829315699381100554686108651964165492578866345739290915316260359376987182405426906390863748047028204368608444304582043734846878322759496230499752334173776857395086422755709741452570947443875562412181237866584361175647359669056866417087503396307004517776940913348252994896440642224825904650160425479864375950712494244692771030812525350485464401947864445393541522425335606067272799179247258593907778857245803629104578898016603421022327301657183820850649696163306017166209206041333514387181946412702360444972106640470052821058792935358368249780154456011912877339665617408950641658796375792203768079041906077037305759656221645195077672980157902626549627430400516706100225267784509189684913869779575650716157859754915520865688650339782852577364180889032555794382881478726620251910648923427459287317033124574071296408948901806720349958393337256424053159326880936570270119825284269421980941643226363840638952789570432371749334473286183554312484767860007629575440285245435828212265505987229000934412840792065305391931772765666333142722195761927246818492292040966110784019976932264690132066969340465002801427507516068684529314016381793417747228219069836901817379874711453941052692327530402104627928154833349231093838404031084287428672677847340352204313942258598997620851655399260492803933232441342535761296332905133595320192211049642100009631789923531808821627288479313128987083118237557633660678290164362846405098866371307666335980865014637622984829876680996096062086097280864558591099778179127157584041791577623636695730635474793022693304847679339957208566813065602955052808689941368679115237637797965167361001072291094844489583610279614113382182132085531238437194785196356787376367121208110528100218705739863728861066744417527698711681486808024550331909382890045523914379336358785950058968810847227093184296803826470496596966034058629694565130264170662381261627691435313727299879452295543303209568211668683534203443140756554864256549787948559463289354256842337680726848605774860290763460249965671153536761873525610732120378732410132833098092572155296363607165434549781465673599374533958915871364016121731238034370706907620311909885631209169613835321607383271766210155592665420412732502273135157570682070270696841821756196785802874304673903312176942224430153943377538642159632847980172588159063870597620625308100311019450063315313745207044572530070698355484991907676529423650644498199691548086246888820781253834564670035601566704817402554350867711094225755889832286745437712634361952902654507070291405575171712324831793717775948795339774894907772660070322855991453606034182478524658313982867174339736917748674805339490078426460605003466422517699450496648038861663501186801784860749451183115265914427132152633390676255509557417037245474480849957513092989581142574995270473065194787565245142707826428359207357367542934176207222081295337603472765028370647666181845804081716516535708178087641746305093207031132821761619570194827614048756911094569357340986459857625588799726877599035236558081472498605645944880647657768567937445776764697698263189773050430323758762007561568727761862419761754201187003029425012527407380214483112386865381240337388894906956121583516296138254112480576127724392369381446303775476626383448150554123649182613684524448619250591587723836847282357213757707685595177485605573523340935493998392737612047724935612075539427320868696252508480412476073122739495020331278053857522861513166808622478123964689359660149380374682891469744490341125221069400903096113717658263238071423656505440527639000687595686381651126008302535263213591035417346686952210926743750225169994790165898430821030591308538512437401802239041797934450054736886451765267102147212290479710430253916621430662199082575037523060070093858573345933593416234923911045372780375903145734386863217072782065508437028206214227773446689289142062489893582384949875905937134175211933278616214337990692968666731005422027566933432899723274160305047035485453065700571996067114549428996296367120861783502408231212056106234559693899561287532217303932334512640897285944566224563159393752449085127804509245175769730736307182521509231464855797250937202186847567892103850690010437283122689139409624098272430340777325125707977158126378494453079363840725705675085410082769575218764672327912216181462390538355597903847940972306974629859165780105021108138296755470079293235426752563439529804412107543479303386069648296349864858936438112134794588800592614541527958912418441926589821261690309485150061707581693835303558725163020550771708231595903807426442126009101955633389849072444106574613613460963434091550908177167083843566928412592057497247781702221785405728473797154544413359250871382284570293549730233463026654971494341135803324095121632909632786377332100974738866340117986644027946113085690907649737756809026475928386640897707594027105252949480194012772327023674606787144938479976619778650872511460887672850990874968798688649141761513307927238034601214004800283732669373226167318378082679758869326113486203406744702540333994308553932440607994866886107553868449705777229958741745722322092986733866908321612880449025904451601362275488289391826551749371400627336583504985661522157533532177617727865791236422063334731088909441492027298531842151888299084033291872445500804666323069832342125628760377093046530926247835634208930010186907461776125159332149026688246711422700500889030427306156809950745233425699512148310254350279139362389334788749752767861573269439224417151880838440866539594264597071283458229197942924612723261787128206799855449279711329759872883709537615278303874423344506988549184334529748043829053470123049141545296457557966342830868863809758320212623963981603798612186673386861753521537466133080329467827238691665411619131229993573287837709849641470081201437276746405476537939099342140334023229627655117507605847636060701960165222512149848724541438031428687775480944374093719109350785231092632036693789654175081683407048813301696593374041330012563901184432919641499987067804646880053000168024807640271596882227580325035584832518384084290974547694214137168084639838429441221958702540303248681163748882419912360054878029160681863065995346083871030171138842231398038100220578995945688415238870785047245811740200309857138923101451984158553760769682365807245808659680527022676447223843838915114916713232363783678858187795609946112277276361878858705222495441038900123005378937666497904074735187837014505675190791722781226586045020287294721945633283484078633356222530763191687181444269633383519944634965791463259833224865927348436596201871997114336448446264379561015566674084347090095087547736808598303312755919967343122297448880580876172171366589723989478700330025228264706697546626575714948035656680877496224275976306700237741371682238510764088425914148148792014221536235982019659279289902240137644653936075662326133922650747054360660063141811462100026841641764034363830309429613743382890157404351896891701444887015651978235860643583871923808296957262462910259307892034034421405916427266283734544599608413161050179963773254757665122958973684761521490113999443270152438585506743044524282112668166317908676915100161822063647627607179989077319337308759873876496163097776784948878659808995211641173489986430837417878605683958395604312789791881305872580642815867465833851056127470384054792121185912413922572612532128614875877996293737845943299273422717584825226154872144343055130428094204134793917377639134452282151221942186240803575719565246005700127102606872200797962600097270603775655301448327799738235934999113545535104807141406719596295009184298112413203379887572239062130506182978358499659061544422126342872179709764870422824612785745646829654137842796071954497493771963095321105564794317872428249590732766523722064160633653367485848126925845685467890543316208287462277986504927166516814427918037263157179742465780102455863402905848587944663576692959452728575274577235686329118038566210806233017629651216533933230933410497809345484501564600196959738013425221703567616034882515346093647964920014434366674697390457687746296698797550161493884289256302676316773121962999962209467456657089470610540281964454561528987122433858374884348229737211587178259386113185859884955224890282553248909479879743903423121503038116633709261947629738515432278906318946495412209245033721875570820760507627725022085171681363556916903980960199357833729782846280935417638153706225895245351976450321542847688970225215547773782625931167109569014176805969370838157764096266364267578338955164595795429730531815466851976591977683571928998402559334524912913217964740020161112202844626713006627898190527290999488207530324496135039847951777011740850058226043723694656477764067296233703459018865177585944909145828685308104524276829333507997441260230352088443891173849737428744789513895258229260215761812695475672426156319220791180483772993605720174259844316458207920725199952448981615238021751126332557651350715307038594782927833192246759815343272179206308613876310027506071434330668588657443880171731996620467598517983082521001483972809366529796042652855035694886492563985132582013111224714825248015753260937684502236083511318716202990543853819028336360304678173452087645551286926148559983748029563530323337468024598403159478679177086899652307587918253858446852748193909697978338044519320105878555765573367988969761015222742208437498264101012227068827307973565574741515878434564348938192643794775401764728154811046675225927363105975288232980536403452233101512958494986661551796689014103387757741964787790268904982506159222848690772543273812776129139040804056425749277760216648441138477463139337701789452921957140638931402280046761464043448772679663843566922303368099726554811910065495848440952338697005835567008656222404064482999139545855294121529707497680438268154862110910065485017888178632292821247979890840629988326807054184077714065325822647331551804295210669970876786659280762242716065644890394887043788203242806162677131243847631601802904102571463465730286184600970631569799266346058589940390220865428501384030243453666498960874850783171440298608016974939366802721226048290603311833136882665935342093679436554931928636827825259353555350526774050204478469904507789132851430835084186424462207067307338107101175611305583090853572136115563660907198115304743134008063299583726664613537949312061125577421537533383952336866304309949870264658579633092170598259679710265774275351628085645410950902206783556175932099120547210966578736553869157716221965573302360187385589702054137178166805329966910445274049793805814175141887755885200205212890634949882282421254825479365479698247614437516848441939297940587532675219245946893713202261198989288490451781970567215563104280656404371752144389180445079299062897507257342780014491568064002097168067785910034384562525250793539914570817286194306388455554659811375392566079051169816512485768729342982769003067114110993468649674162907617663452882565059606815142485061496606262770546373891395607707743365609828606031225005937859344812091268660271107142740899724778696333617881294755912568585093677501119118469879837077537988286493496307991359330184068190300873229261838930139489374646596713031128427887434498343547941276641256402858892459864589019714677127587238120369717435849510435700846067412315997035138821765751007281046466953898544625937991849184741991693258498938981601298585023262635692184843012294871047258435674138490830275487589554461935587728026244718685752617721384155782435747024699452581452522639665480892621554613858629464451255958226236269653338349744878411060652141190525090477657895057771761471394322779440763046855951055238958774155215097260569037938240629267563282141829049324232939607469604061811414149644800118269907727536987368904951389737236001420361458970774125901484842769268967030594689679704689996631927141902206864616828428227959315513768597369543923175546949053708103719550114776633856037616344406121802131943348633914516766476225860511728591962968066105821138349457989297723539104163202791269326651003485233364786037012317103009065340889573717852552111820965102348630842867261103033134698809942834619837891896382720636460370819432397910580751874618576164506045977043255160236689467542539463310570807632466204540571219185855006363407616976769243312787298310533633260548466639981221255974508514165823733955236335203744397299908726594589135039470570504995914989462542012507236253199172661964751455772084488069953618638611620376030071786956751127091246928217027904892490295183279827570686398657414094907110943206434121376506373518582975454711695052637672993029426443135056121666610728544757725803600781469266095778130300420312471508423744097816711631762294091052851614904058779436218805289944609385206420560124278324762856211777854629053902184136198989536414961019537026489938400392246433860967867655716411947998519493276231952246302328986084659044863746439487759663334512944218291134161671678449083933689522613569589232557447509154826705595833886603274979224788734038505901698936318639285182871233925094767528868532496833997165586591647509295263514871213164519091034183227584283606982924089684641420446431231059276330224538201798233243644300892043687108060431372642935088483868558468288589479828175078717315916018245915527695006641361078820906451994015060329072263222595197129234498250875741668825088935521318889827921844747312260852892246717184110595311878609892916332811405604169596895371110880401976934956114920486107046573552301246128447469841178519080626897587605770845867860079175203956593677412361516710482144521459984970916667755805452431729713025829778815169815191072775928189810382019651185261896813395435383655924310306192880843985634943598244342519006277915410811196214810971665651299600223177697079491233716623683681397106398911292427854190034308183340069871068710312412403036352330281196552157024404315857959212609603711315509417111179580491261038081197048862390036315666027853265620864602368715941723519971399021744658197092864894950279352417307569769856067962073572684565082441048013137437638677704777804977482984502164430303825983748080661779981204498126798550069360702954411266958595631828713116288092294406310185093828787917954359978564823991212717531801829561192915897460336992651094351087643143345833348882003407409534383634388117376056452410311433879890828998036203625279504390437540579504155727437620637272907173356545420869681495354414195423391041142651660269284871759906886352908109248619786812045906536250860959752269515504774988751860034886595553906350758588671291046071441359647020255598088762337426934474078719384330338968783512079535267320953533702019698910823061533100542034130707085562553784788860512563982833279435483480899179967645767708347588740876252387550503719121218940498113242317666268055458482273475737270851506761383236643648986691455342894914601313893513394018346948688023232571628126339830478745088843047416745044365153339820681103215889066291743071600846894980747250075726697001131101010917476516514014457280382539721949934869382597411348242198095711827878966138346784293121461766696821479769920084667819588383357649024779190206092239312990711013028084672548400011633212054181573087389982332601887541545156849339790138788861695101220800093001465135817475031937576537325187878586161864783308235585069117954609215599516709736198313940843917694521202908259026471635087404160119757171870345201910436011687463402083086055078811915759008239074062716594223175851925319413576637577746636792841436522335257699824241317568400684883772244401598538358188327253789116109343432253101577070632358182382759687846047581432167705838905119134160427342738012496360154810967385384789150224326428177539926107946398616639162073728921637578086865701098224631777174551677483282393444544397690014977685421143457936473451198668986891927475914227128790542749180605955709930215756414512118756675515752093191913911474998619287154605022230931087383454069640470457190526519147001886199405740549060833738779015760329145804500284132908433747717450721677664409379265765588931304147615180664330719049043131116445411829918904455554469814960141189518361822734357657908106517671776747726359583159040932519907505324973277471660551133103944341536499615483622660162548622008899992672518250889788426293476561722539192668508785757234144058417173947435310755545358118556000526277941587202446472028150233830631982119256014498235446567817471085164607791685713524970174482257844868509573354640239935931717864202651432197689360794994216546777189579939223986885833430418793580411380978878072587308256164549206446414550578746964941197318850634080719201195963001953078909265548508425103137518635957654440489866936845200545577057627812428706450537400712060860771114713469131334519590465200522959573508263459901512081130862352044842192882235355160582389820984174254439581476745382498950999221862982352925631372187395186578286366749256803658379611315096275827224829107861199392149443779851487576459899648980290693401129449708067144562277815128542110826283307192077432934741413377720932241211367649322727249810962721782271025263823408672241457004212390932208860016990428068048222897352807547866182283205661100635909768806231334509847131067795685946830993726338445763996468685599291566314299879580063976486184176469030938339774108550708320183467002304088646318697427706655283878314735660223837341286016858348774926991301498732807601409357039856470642723362433418273228861748544330402221174764619807606152629573702504819858140672979363795779733207901702647669038556574343390936328975515047077754437808529826895386729629142654487628966532907941523111388095976572283478445679550876446291789025799011435970347166895439787632167788261269728118146312239600983525341969866447671131150641317264556156941977634512346417071411624165747072573602652010032326173728268163332079859087052636374366434112309832575050183886559990936516750242085297551401418737943336342555610902717214856581951611040471382227676170270034933635090484373425890283540610608633107015846632245971691090316088182113700134275312785729065783931491731871413983328394252993968892937460694868038759325227857532347506908458156352402379320220698954406959620771542641562549436558194762633092459243163037335181217339262372655487029677491361710597905986382435047868701688227209764205408890538267888203160544253167335651462694854412663512016168156339882814810023940143619445011835894298953074206986710888224355601241610662985010530495677641524555707889503168793937486915354755672516161057806745658802703741208379123253131128950097717282397981408393836733946026033282748338132494140465770013458601354105974289200952466004542903520532282329330954705308071830690693113862439409058892808030042512961345336298036687701481789944970874200886114447237229833668891428756691819663216000562360063270771984222764811853217354575247648817065799733421794627785932622715723760629507275050594874007834502538313838053629884819017898098365664903938164460359410886138437423374390516859778962249374170301491198797216833026115492911718020342682654990212238748687765401406237336145036184822652264575198345264737996643656239467895606073932974335106737230587372858046650294250536142475445862671839233264693032565274994717774815815112 : 6556649012462684975317927315210771983906818874759324831475372665320466071949971464443729825419448565818926819483282622257413637189958696301485236730838792581033123459722130440179460084623620993960344218990206411179707818397984584140125984073911454994452938144509829406778305936880264150733468191968882416220123617767929697561993919336691705127189350885317350067305105710365529387603777578944423151363504157943235213927896170514353505375550102688940177110473165439262477335495143502972635969111831991985319179626810207163288965956745139781191521269053218110060517820155641240215830969410229329311468304650965346375612730779368604551944974240218748965000677629876188118080007801513340783729968326312547333034551710805334201931328710009256054496646020165812801620972075118397050814910632792892836891661792557825821926049121825303328036367824471977555690588543118983532476840021619373666697214872108345482445125291533622063235220710003302641715666045434000771107286982145289619746207913804926250583794810356877711969445298962873836993502009260143888480895179793520599769473007814577108376751795447264492957424476650350624081421920624563162749637407293908770521171736231041547068487251560978454786273484887377455879910142963465703755766336946607213012433013113803593419064141680326959987634410436470890105358591057664755446449718869481406067983928606472008831240636846483398610364601745047994775607123031498424979231517692590091944177162194440080996554898328956972424477220382527308713138986436972051305526918168735995465496750401064085688613005794438961423925928653934242661973850310860144640818983851757150108069824726525816383333717132301650874731660141127070817319466454166099804415791267738422731414620100842894621590992101451370928903457842643039344668042677280143222573866964730151955575579311896624878012985382743907976019882832342835642862139694439787648764249459383671458373797139875594250085257674659860277193391643630771592780103288621345457330948676143849683788666035572660750305136364821162831904241385928862442379746724253257909505305768953773560257852161632090289841740436873560182680911601128235161249338328132917736354375004832813087549234715240685019211919297346276476321608032536815035402495843902572713963726655540280431940909183369691161704111390353087167246821425151787517009700464785637146996947668156483967139555928778772463581458461686090508641409407346986740904294224539286155816628853717113783747942285712675826575850179591011454767361606857622442794364360147494622350107553142739520635843561184925579570495053644616452551498001560967459532718461309354100233414281042548529147257233583486077245923969734437143676337813765236723381892068957100257938842018566363398202730822389767068870765632014451686677177562290250121801772355367607006883548528064946191667743417209001811959068092951231596138878100873878593932530319141785369031865826210484127333472070120456097968008845778756744488053099045074873862583479556366331086670307595477700825636558389586108943951860144404770474695784004929800626988338158809110452524016472890904822093435435752959917299686405096283436480816080393411354794880433046467240176221103135675702071118870652794639130437347908622863050651122372769846685411015513701066660789515853095156220304791005266155173595660209745584974230877444682887673034742259509675371336564544481791204934301881273186040008846002702411307153200148223432050996687925776684209987591233616118353069847854018230289667185419967291804926593005676959631215059744701642764901241440908460728010818384374603688760482384596561305094998007631446489478277146967150545978950651154070894838660486026267055013879779217761664435437266629389468886859390909533051346905187123593777003259117374202095983713441544709939617140381561955850889434770510848334716704641250590643346884749899730017429402029741429826131375928381734970706287842473539431768774223955761934601766762471801086473107429241537985250929699693720198676353063424521763714149757325200506363401386183411124944302774492580707941216512813071541653451139723843526779019420799991474766030962310603206388138737675666681466627465532918372648084743919905624391013216728513539620485923025657601395189003090308750061786132261899624291436845413842142724411936981014948229031444814894083259331913840956696959970557286650066053043521426517521711162154230680176497646483805559660883166355565188714820927837559776538776136680188442717151347430880077258972539189902415890929408955642557022006995130604373388801718242406237024709444048783668842265212131770261002484750055299213184062451395862621094486474909477584848225428265984579322532253624065549072156954074874360038273022046376962905398096116243782196987833479207805327816219289159502588947263188287978076003677664796010758440622716166993734366190647515099765530008653299447220364664182140749492748479675629216541351765935862783244773653629550364194357689800675621892713590435399130458294365801988487861886083385404129949345727658830115334266229930084028049982071271653779266597975083170056555859233136820808773045558006896980574994919060540937099299068513461461693562221240889675952729882217508767260299009817346303188382334956923473995494681079609037909284672904994314977330665707165497880023301571209166742054341351671350617148128081726839234646577583994023437578075097769490133673651238325363158228444491629486091468257832995149745802377104282529647826521714389371255254210760213594141231243780215644312986064335145949019082492003839482202439794249266843374890580789822837578005387967521826885152574949815367041627342672999641160327015022341539599010628835619344686684898451796717073014896750231541694656864820021904542660330781341607485955499752156213372318696909878822287801697777114352431771675560016014155008218095684635607809218889710575429583269438357244494858688029944361700256927746943619368394756525717390854824036529229919420554481742165375518665437149837558452336215208375474019115302668195053636703432670503454335053866688069909936426761314295663778464688749871598144628140725853238030075445916340275910316331811904218140051624050288434636523555210934542951576822285301610763954516582669105223149247521542579282218479021163450049697231057893009847242020103536079074031552735773938705749479069262315156982231712014468409737951045564860533498921210949885264449008211206380107774044228702740358641087269214631208884168045216242224359335367970387210418712608515498969601658930862718657753331628861187161917627945374091878461793563818802401386565202853760549429502606477259126112810700055693729781007281144418469814024842474742794111031746367160764055259531947968146554125038267561558522267361155812496520470386075046937014623374992280346978048707552119971578998948550886210179693366684453935430653531469450143995525337712014809991576190239499708938225810949902638624812762311613369430689989284364691674246612476021501006807704219653021485500098917745303037068259359393292672707282638375371298448410851329295852570410205355573551252436691450197024976728439720180315251675767942392809494650752275378183744352871409720278116671939424522525906523288310086092739676300357689442317988091459518772786856439398736353107833305401585095415957134828785860234988794464223523387946842540935481394629819535575406754493782674066854994925807969533459406596718228395379936275835967640996510039014489856291513977505645062569173373371329008454936626990422953813951925360817636308082815090401384069961209629316284032471625053279802627363560844777936618800404199645603069672653831937008814998867014034712850108096821248891301694211123387741682023601222769474670493842958984873484520959605725384261559485932927069074089754495258820103367079864001771401346712987743092728986897492168648058815649016733591701299362922898422379281825046836566833436668669628976830830291689326544528745401081170250720421448137013787851101694793530656746917117849826525005544993337639400517569244324823821139807710948128110657646002729871116639893578907873070142252358095938721237566445253922848652214203028178762415702056984272777639448975543026129098526940954690245989908651453596843812554100740951518603978627925704509475952521115422511662242672059254541840748328056431192134604917797971608560377617514500634354506932097086518924275129183093862054186467676714330449933987767961321436784621414981675345049176085555195785829360904298257762348589063793888527511540784676437830901046713331353311693139178938679929473495396454735109230391478106455753816734277549221626995924078621975340648096434797926031232673488957720186484048882792602048682441490407826663870833769043467202711107703061811883730194152903677527589952435666029619542066852044937599868343881643377829243580795978529097792800416664610541239252389878260924016058806644218103751420598473642023159170765386063490859521241731396017775493260208359049012884547147666096767792032359289101084669991893553697666113156590247608203135496600444669265621888264313979870419510754942617227155021503521165336130325289375236831200686970502233577687402092056635380744869573359254561584092246373112015795516774903692450814931311705324139625564562813345079965906555834114728480293788135803165806007971278862447731680221236350352651936916595440219004111050187832009989056825168990085846428000245637325722078094424009896844903668265343597489744075141951073852936796576765974374279392784164144583063306570571252655218962595463324495340295026595910160616888339558869745811406258581530864244593857295025718918872085986101882691314795617365074043818708164789042550255706983449763934252175516660568426949304208261301523066334521264613767320278591890470976395005535074372645182641312505175544083865519103087957980804224833746803908594793408839552744017513709406752687380716388925138492519808241608318682564987133808715138223195925074634077568581567519094199398895445976792328714917077694219417792728537764649466153133202029598703075393379545190664683347793165799800473206846992195329536477878921592743166065851416174134906998703733976677669908325418162338587488793195188144271088182418093231357955120245723927026557958504138215513524726095958112549868406927480844164691068886989750925895463467824766318553000665923752147622258560211956488854036656793240153560924571177382953787179618915997202084691810823195265321107188622664091544013700252589416622528865806319101059628526770325623547600871591359492098817952310587095003386813012300781981686589966206619102535272455460585686846171711199787925835151693658383215806775988073855469275391136900044148512228540016555708961410395318107805405597527420607049390699602880689255270350479314507285463167588270995298513700220937542516316795623517476351870168299603697402829388400810720181984318114612052174447772608157999153127459877352920749790886432333114034064037063370806984204671787282961447490054594114404533643764884828305474504002461330762334900624809956052196144823249592265335591119707790887456510909470857835354771689450330216940454441952839999964707908173726729092795324862280071717239309401599686588765562654735167982060642185519943307258853767296619814905590574307991769311723099619154542533247886181292463508959744621788671549380597594625089995065860638416123892861454827120723023920234480414594006617701854323695701238216988256069079762582871681533937118132513501488006978100722462389192053396359532721002577629805184497252405587016776077289778801061590559074206526672726484255168072772407355168865395292647790739011646635653137367293350471536595504434746757074187799960363872389253082489768804821062037731956103687388922581385088437030874563457041121163442889315741798250468466787785964106171788963898279073703195746425066614891224253396059214858228990756029422148010637404594768829425493027887180185489478849740963442351511295581676885389644378395750005963904106583726167860054681763796014509865259726629668914910584246305333320017399718440015533913639228029151919739687176823029511830940349270714635885230682167482816331030325450250066408987730845929148284574957561814732595935996102738862053086047561743774707130439535543817763227315951948155106589385999595531815795033044641378966557448582337899778178041397367464211240917009762900633145154542967628907512773896693211926023866888962176712613285763364730697874641414575746484136874538278359970452490390654520312441305392084862677431041528626795045021785735846420345198406342311256237721611655714647708352015704515234658868671011132418438758318303683536397931613793981086400209425436950666276700963456247857464914807867007275379578311470636346467230683437728685010438727809309897445366827108544319737365241840212346937099082544690661081207816750671439142005148048165032815363723603357062190254732492736732453433495988721454862236130888483730128463518598720055829716963812570084038900941241152767200676653702891677491874917283387681875261427297463365506203497440749959871675995161403222137698953897071261439723294651588906300806258293738905495986407422023334997694886494070930068436582308613920068469840661084358041336337299541275254948523290057040723553465506189967006390321823657528457661634935987718800257318104478008344831299895415951903399280888377062282879479780207669136660887928161162448599613040019143092580843195023601401458059384227774881804723324086002027345079270141659676824771376530336107935138836540185359161359203625139449737148495547261925931154376489605826045381190024658455184137537016382235090080376302423480234117551984240544217373195481707389947652083350128856121741210413506331142987122936770298864733392859219509366104669545177123986831349683746427676771476740173284712127060100632031622487535268461830000059822132816886937849558231317464825085139259394650863409532943497984947427648994453112113855689835245772184539902224589430482267003755386174640572428291742944693825158307039482781635397136810830900672073818029691371150553514546643098226997990976708588105555939578771402153244880880356445512840210819362332705803799196973314507481953385097874820291846143156973166482826989271581615713083409335882701630076446257188704073963095560695358168455456763571854774026742420479002840617367958121143741759896529378270868223987624888023671898248627342660208705905353286035476423395502402568612690962941668323789014740605571376232972711102877896288318321953125233167203355426385353397188696337324816071632932858776914954518171533807550053084895471623286715382528112169426741239961337209523028812889472698419667157028212320364413103111581813842716259306436670272296709312151137743700568364369659793630117552126586804440836078690218465444287583223759893080749177246212227462452209392563799270549796628927869467513900263170630593142946244113295970264742253823632062466034014005515874246563198668577621418428618428456890110412414950599759834925647922947616488743900970380378135163712791432744228984489017193740358008461659554005386402898248010568435660597691435190076796815666954043370592159555654079899822310923053965718657607329401916203825179983970666879538003198382254919652186268312187985473710285116224438212875038746198620252008720416961408009086826632092438662423437865526847872129263260519192485007331740397070133682099958828197356513967771315413361536493674523255219873489951340877904962053203917330924929086048540254190615408880229838551100241337016445915353545334612774487688532633647879514081653593715027676064437785769805354540132344230742616782551050581523371565934570078580537845686709158548333562282802668967913827573499621264359349130935517482159688002332111431060400049462990111182104196901558355257046817385960249388146062907343552291568233140413785168810636896793818621436909133494396847942448163697035042558584291036770584024922768288044307034437592898336515096373524219958491249076216779701816170689423880124224842936144441540156004585769236701899708343433878384472471187391589179701479833160129124475205069686839639679213990280366916198181311494511682505836738600546261799384809184311921752214285657185097358124850816897641836992781142417654395309894227274922314568472970423368682383657362965147990166255848393571520807164921270971167698429374944848333071760791993258632538269508721879297846560083136843837436780439345380267021045810726165704557847587834428221888256323174711203682260634991832246870490848326982071403271769647297764914261767128790007418162492519854559451610365685003166842297675847042884714121979642874475891759441289746938924776687735031488635459164063811398316879127005259303269576461950373158395955302751060860694280062001445061950047452680284732295597918636691463441551431901431101579438552745676862344060736619930613229239171743849681431612518728992386716829897473942770771673565227509892457430463148796960847993981670235563868907320286692225155127615422310179284131055279244414887247342106430464184532071024236587579986511524980700540702165822104466366364693587749122163363100505933344018295537913222660763007413513961896594973616812767700999395137110525219241172071270157972255868307669954913175604450577537439105328456850625618662632901201190479326687113614776171273247528904252787629718430914410487864386921380103919318377549606098137988616979317119207568971661360976171930117729575060741033887444478678108140110355113419579239490346731000204132978825506578983505138043359255743027753034292034028268565606876383006359605525503415348655737531953293793207359646269215033245235661143487786790663893668688544990981807547797732810794713601117583746321360112212762047039337946590080418027378133428083274475996599732262342903360362061059907582604748958501864414471507436071791115023566911247653691921601226960422911060702806922085727134980791008768914993481412500356763311975715283330437701432199305910771809219941650240387896985147038790373713556833684212072061462366941595201518974972898442972221293371547057627253840874301063175655284825613060963572899164384500748804323867756422875902560167682483012495104148624859232541656476187040304028762176375851951777871043477378493848141730662574255865325070477898422852868633243250022077908696254388530593370783526183915919692183004350837614537776328767494903690471122528023460567940180668410233011150033837646999117910503921404868383386112223724231696983028452226459349232092829023786205670756163802327761801653896499739191128491156809517275074463986317498737368749718947445336853288069382733191435373082914552620214327667226970520776861984344946031902307514901812023262566259852191716034978381222344692004548547370009790882134075614628110298583370044713200145525766478446518837164472016748054138460000768966296936541868367943478403007566856241327987770181125008870172201832844932924727842854824157537913548829175641303913307570201511717218524590081201700469792661124697884805666709662059365453523727289556812147381627210113068053612407336898991782649871539998415712709972713383992333706707990153990972248197162134754672433462740165420047101657460702021299948299336327802230137019543060193544923350426438119449055335624404583574136109805823016228903115255895970103043698468876301088428634193069441436764210644271769472508030667625982262890484244293489590208377873603825352248539210210363759296500632686188883699873259693683088492486545234848713502697996526161553993866989700787014067682367334751516440582761296347803890789731591179946043429786949794164746633945208562749505913911486593732055691139226745435056482749908053079892207084502302349746934635483716618065859504049749608181316608854743686366831026207392669790320542775730116201268538180881152575703543397298885938358030300070423061316839549978852848920089222875762656259713206913136937004911602598837041105554929598190183764617444870558973363952018606329816654429494650137269813182429375911217312072455949938816248034940573785286247975228269265410262775924227248132344503308820451715434339575050198691556920117963782675738560647871897725716548829116834521746997105259794773681981391685203072894987547092624708387033937878691537098775223231923873560551824726174676783699816662821600564689311900314381860350834256696620946687808371314712279277968918901344417523328125495305950510252210383161978613275437202184536260908353885244686812507459532085430492925766658364076660483849127077232014766605163594037379059513116150766825144024511401016206644698281693899137674485475375982892559519412913964430450180002552120492799771963851003005978771885729693857765771093272422229323815944433647602476120684768248245252630915823008617489364973485202285157054542071498704209539178971058897314932904292345343180228178898056849951704242816191850814556344103579453388497477281503904059803469402796980230412295946043042580789104479735180088261489317238161644133506856550278262843910314122225445889283798371380434192589853908130707325279614266664538372167046812517536364834409296021535448039117853533545244209362261282599833730985147454466690294852506916454030451718224909985864629028269083935036658596393244465578487702533034553431081726772368409550746714714772732771049677219191742416149164708080252408566612893693540961567158491010382114525256976644652072453901614259823311592702056414474364578049643307803131456335552292105872051191219037511258442415611586141229704420419361927331552817454306041639798312253428150231225680935006431349285491531704360238408344877361749041494541901008534168622953538479002754797192374892086299965343286931182278384140370616171658615389318833982763381698034219251825233917969457702035336319257155517657294085414488004230285810806697390440002325258692107857363883765186234970397744459192534796826505543129436475616033069103874960876901801311659309596262956367467090215627858335772763272191050363175406912836871302467753716554505938943913111206511841674840981088444739181463901726992822247697362986471429891461614550161616043039318932460709873399100310342352707133769283047939690028624496377793540289604990011941454399796093544115679759390549033139459874164378135804731947248400767869866851836533197978869045512009270481876795069414673960313924310411931319593583573299664330728147159607340781470037264204511725874692101111261774514704937132979745309050391029896978501089540701626619449994268377425815009085535636023920534339839755179761653238787727784026862253258841303597608414603682904366714072900952875387297447223416895750075787985604094096956373791384683386855498138838762033200719472827921331846904433542122946801238095662660332648847373503373551022296826195275437380169994605576267280984617106245885081886145337634511132327915718252041473126166295379957536386231319925117977627301402393789760591366913016627801498503877928001358375042896402477401657019488761801560120685393562315553546190006285343303656132804652822278961745334659611336389556893675057375856051011898261734339376457465166256180975815111172958807639506050533437445027983010917021092646737289599026548609982046469922954400742383756961403324322465809383727392184738023949528265950367382055339336479460859334939277512799391071988093526102276109169176450744947793654131099808353293069336464408375944360625565848259510603355178761772233086340427250739522728137856803393095396157878063877332691514693629065380062320963356990225747503279536129496093042151448331245960114639755897726814582083018177891775865786334960663806132327682363100626262130559436817384805393932738813905489914674873304695706476807143271522422866845698543566580989507100322398188099322772439421909977197385397236481137296223320873438526514451920084330885035304577920647278416640532274512861933840072613113770004471607800502076783741083290051149617133407581010628867385262519867379751569305347255602587267506231595507793813104764012572314762126662233875003442769423953186004593222427116185524750806785607556554419265380462160974264087781007064652114733944654213692056963058420990504560151074941842446422811785447244751574293950570915139579860547933632305290678623453479962238627357962088882914252775732810482540760648050453825628541603948413127383801518635042768676182198069613047790356101569211927057111160261753913705941462202309099798489498443165677477023099129885171064102161889722384963414017471704711077102668668828421691152001704420449527566097089412404724890985597202281258096572421692125525580988305427480477996691503312967860684239175517927519025449885920547199005325124091730742091233939311932372155686190306942125175107680547333408832042726597432898088938261481475713515314890137536714653113330314890623774004218691486841678748930177451086626525479081180749203571351786743923663898697763039874583649086180036873706169374632662701580533522109000492385100306149234457603994243031312692829161589034184615298271293159034403580902392710532490938875452460012685400453869135196363993049442086843565747864974525308692517777999442707265002710733244097577569654493126809387465543644234802619302899918047903110950541736014460215370507587006385362477268843903636225230985365521611766802913066413994582513443732034086612870710980403683241871278727916372343754878932408336592816914785328039634938726642259530332567752540684096600511870603120956635845622165220133626273896059305520778389165694650222408292211368866744179931596892919207140526911805851963166159728329478588221228207824128809643252242903457894542911286431724987827630135639496454400393306603076746566369412042221790414956198879571061681775389619462263042590819486663931188509950689429845250672113841583142588003764920529186026595040838749340795008421918362578624698942339976064133584796756646967054788177156356524690434089116068699326687028884313668324564029189539433498560323719054067593859210887777341746330236779817519914327508386221036362938585973827503945982793664957325231612238008755679481254223970454101609302120861834651920868118910699320967473324372563691795182298292102849142800497297886422737455879093205251879584833822518889945903323596688343265781020966853055437270028388904464412381904156145276600672086099355158626001991449160320769324442137897159056279221077481211143608365480745498615561575244288181934039138294483216258302209039358711332091324937606592489257611781986814872552145396055850206739852094882091489577438110224059240796078162913213195928761960916448393188468761238744991609411052792272461140566529097339933135165434576624226926053294195293198097331769968073267440539174175183322769670435235499178764536105485738212813323374773033371068925196880096125570608201560124622343362821891608391455035883127128164583883007876102281136878740437202500500872453554108688198410694812335229411768285947396358731027938311114410492485204754136566216552503217304687798433277077490523381812650655753967459363338567151939260565732474288833803834121696418771618341405010433777399158696308140484222492402259874222754731966805202207519968762947311757760078358403119503294691243483358993662194314584906556586565769523097216126359647251212775597081015647178989482848703120617425195968797492872326537310742791840163505387958728433497020811674272516241326116477171170693310438298824160544624842035837749199111570330928843172631954724827582087409559080189141720065600540979748631346037483679094619180487872311687152866005507874798301413250477469164014581510274517602288651311121414137899644305395306118876320339749833295561728254019062609959412622212665110974165981273779065855339138626482499967123858702639855569057116668354096665754953505861934043453714481956470714571358842332909907784599738354339981293256618499414304733015183296242482712328886544531244220814866147740815895527850952022978394351729725285773924086509905546804819056488379267573044075097555709867300597799420382322831939892110350194724616808642529065228530026097269901592064763570231512854071111817890236698513301353659170180426955193602309661386861904563945069689377728125009481849083717014439158432985505789852954790335494010276768861802867485932809322930279881679777976570141614381202578017930574217836451209778963526866738700333649260296496032404700925475937691052296780321231879624101407217315812867728945189179592218671717860207273785348462413877078695505071197686330984966420137779659530330691066811175374104068567751430978835500963316423426909900125396124059514858540394287428289048779579475513754243243321211939061882990515495584350680591426119239706425541633147308884632746780454651652588689535511780650006775938543637480966288977774902522739108581012765539014290887357932619016947050024177920560082817503021097993275759825439894745713582349442169627091510417372313697403020819630438501215684517524135032365418471472072816520493398204872578058074061895951552087426224912077332850648532749211365206863490891024528284977954258240437211976940611367773962760310769618739035709273719460855175459653672770072372306833930324956780796002537567235975039341314908938006901207921518563485482188413197839542937986494002204528214476607779364530950380939331442751018617070629255007694489909244217663487370487135154577407667709543804550734229271673480653827150787116496009226856071962781353513050764346135873161217585781443065682748780168676981271536624111746437120928902280724104353793048514953361093321120493214825901972142469723579749537746490102546834876071919138423295269372517395620045537118235510887379579697425649138185696242260092032011302407186781985258882086131433460781257553001288253112188900830534894156265650377624819807684068797015576791482719688459397802438702359871344501578225759743845443798389569969976353145575460887898706256522452005862975523805813538763551210241279629569758649983397370305055591042381270156864227318345536401933711553791808823753244134427584335463471250231635600237414452214633516448735620994934752716023746652176133707151763915759918661727789292871783431492557716246859856391482160160393760434348915059847357128792252626272558474918263807501332435741622675086574037567164884932112685243155759288759466280459505999832520646565323672746076699809646010033461475731093570575608780882383315963392859367470398643538273230516870369602753341433096275556579265476409396522995349929190677828110626623336815377583520477385564046515240734198393662431602654979875631002842299295724034900998482410730022973987185003690352854387780569424570413983434739241836904293694263496260328357572475816428011093394568104060279974524040640127681384972636576858007689682266273163409699051403013906925578451072626978492542106003125218250112932559665624200903825382152216678436049303657673995102337375363827897469465796136081031449507230261490253612118770258922351057550098994678010748147395199497037016698494017088618342096239095125928445772263282980558878465886899831250776742050227527131683407581529376621247859549091077779414130054825687040520289338116463357202400407341822045188070853720341215543264552723272052429278119729697486902046374303493910050560235937030584667986466032314808791357777483262387819684166464129945842065194198091163028614063548787537822676363505945347514500788516657615359597946716245863673324273844831842002995203915191946611021168217940486545408765882131899605334310944465322142152374170836789749077962673626140933987000203490699009276219736932134641503114972953089568331341599727394499177971784788941063478024438837805668247254343939614365280532556469716113405943322784907653159583235592847449874690459086742442464203119783061035636250137310289099709244289346746205554398846880139936563144483845162204386883804325307297517832402205549536761858036978602852842247276857365937794401976619351769853298563367480062835757433848624365042076710490881526202899263580500008569533517544004757108100635252835318550748948783250663445393312482954679708657701482655123635550559977858569156591861110770585065729307055186654734379692068349955449482404498703149122156912532163548583386452475171581418511820656440972150008808529642153537472588338161424900392977308733563411149083664501764643189257639834631045850451021003925274221293280030245894104810913017866688780187530289288640733047979329323968697677925783318782920404720925209663182502220547586932723459130642202277835553392530289326243511640709047985533623048345355385264535033489393105352936782187121761967926655817448962486681872434289074024361153688666796373344841465981128752348811899122161448428428122028284033416966119599783440141230522097665689100735509869162586111373703449877068317941031023872828772394006614748197991732887514237911156706143516655846080133767527040968677754535536090581178942086414521969928493947546395030526109832417747512465259827701669980309493800002655739341295291125949825056126785880417471827371335225782723637905505546021943334781312552194283814332142922917509733428784557947192856127484852970277478876340587254128995511553772518944021089313928548184084206469594243757051922033649735470861753636067192217409542082302975229992706532982388158666764724025760367064345317003492658261479077134276639557128128247107028311921242636021923935512854365502265133258578006878836712496706157217943059880390723134649055249355469871658683385445235794417971766412739754802242216960614405936815602692796649810721351336543968123946939420156282283406687603857459137072609788600439299223238270128777096131466338999842316704420920253661855083373058641051808401856334526718335405481470190593242622805220604284465503306613540547329052378859933031106745086450946280257747919069713911820898593251420069367870868864128349424247572267860050159561299677087775083879910768332848207779639932361757379552710966401715501127187191785608598484208339890735543313743928207880768508978275471472107253081927893813056301911200317059414135110919634822194548599175938793109400194350504951800039447683865445769720882167561167978192954049201033241211294861019054444301670056567979483675790954043019778123641171059690671802337657325045313463005149443999623355199743970519875350672047730124646653260993861175791471540748517180117709590826131077012263820176684476128448932890189861647312450720932499475643453982162781983460857197988905737962331838064721724142624347009545146203152986423947328582914607032712985155588062198461537424881232637153513542540713465410660546390227420847586936327298996618653829807931663256837379206129569146298713192043159424681059898465130874505294171543170030551663322910780641251189215136353984116161525026045990437733081818417028066662234818391331176456850729416478577909524650449278609519515174065943427033000538046358723538786786269209938209223143743098523167947396481880960076506440984747587945439186620844573017213402412802962318718173047014885895292411059021026260171253825191661495568638191480311027374505318795807188487493252636597899996020745072861685324329183136054573888554793586712571249146741853958789396206098357817854095743305275779899775077068723927250170539377681722615306263719474556455985137377029281780648632480147474173010074257927978107702961127384313445867800760352863410306831201358858236453540100859366853708316319018419652673229327614755826822639795259297284867215990933151546106893884573190347354372966792847778753840247008252581667896425619575943774394211908426763417821858464942896527421001494968936787180688968034890645691679739710823364031370171504935977086359585145187143101212891059783903652247341328097849024146283158812514148247602413731752160483045033257286866648863327709802124116613900941871760088515098381128156702722631149520881584094067496226799018250457762173925538583793527151729481517166839445984562199236924117592248491024440139986547621224387392219142076744962105240145988988640669620502278059630348517986950582327343260796682609816484852519827780939083407200993691520220268105643577353402984778667614621742183452010630127340907286096761217992498232840644237274430115659991801787920359490460001555301444166028494089641703889460450783938918032812806424104259090350919190413346495539522179619987309719512140110467708752561395887178724158979725541483602254090443254857541636546525879446918006399809115824079302536244431281219545075801248140624725053382776716556109721964368396057953978311280450261993854052110621603244718928429339166218223757635976083317175307391081940155134136478919987366018697810116820660817081452529396199330465051095507286030761486235850974613954051375331983182627705328027972722527464374555975748791569465545047320164644737422041290034615701595611947947695928638296340128270016011585653598595509530370802430795172386581780905866380074281522349232483134427286698332660685255541248501266350261946783377291979861140385665962597103495169791464603265962806677988467260409960211208306173571999167574764570614262103630465761033393585457709868070699174894875791813875141781419774701604467206296672388181158923773266016536211684821915226691323784785796942494509330323592851952460095430053607251268573116889624660321146652735086117927162316951795917641176527850906837582900310094362711290840199039904952978086799270872463023645930375041790151296029771652272197058288266208016777221881595446181756750728369671851400744986154590848813389075730244610663613563855561626682383766173258344803895113622343870225741424219085468873203745742818176900535703866363339541419244061041027329918155844751880633514283464454931752820908794239074445278278452909556552357774879439519316010703095715656543801553930520460510466464393499877438155340546820460415086139063136773542957174708514005487749048215615616444880122928081061272365526269801633328073436133321779091012919164880135542713670997726667714381782127221735699527713669367758348401963879623508120159903834711653045457621746621596857029718243715058286565926693366846858177983967686465458108876803413379096958217376105921876485894483465152270451300332073560267354186953360895425219167533868847692307710302823000522058602010110598696382388963359183547305555995335136799911394416794324846270964517580517898534669058759104655227355212607770027650676991758191885007952097819685344466496689540776038731760512824753066983231798629958035100453191664024848094410367447557501182561837218636651006354358344509250350656055620301173738439325159528679553646910412462350053146377482607616840885829223047777681282668219931064824328905517935738576813632109127584291282125820249002199840064020824261233165038451282273579415397470278184487330801669543115787618153178281624108756525626639766901158677781434980509797304709243264463569090239951642125903475129404619928919419561201322451831591799242326088914300448739163331655890903401591884049101474486134396914221359892961177878285158508726678001538145737678379294296838484684370675421052873019132217036717147677959491933504014022300131116963678448675479090877838462748074866698260614767769075078467446749402941038982272176929782818125241194446444177072718075841720291956502485230028445533165398163231069934513162124667916366648762639562074009831932402226064569977611803570608975925586269614749296632457425924437165603763420615731734286185674304593029607321744085832314889699728016983444444106004862056652554980931406811515344013289310310799180237929395651577966348047003325418179582411258777359304512333454768377471234131992161562567008956091574447782419883491445037099989570377188452840405732211114423000116198373796737536883516770240252059764473450599674227557032977183828171374472433961394248203472160293914640731926033024356929411557336096673912221995745356854407439627630161650324976267741566057896413416799276885520504973228119300826189740283891232872752469651424773815775120776598990808278152046407596964130492664329202668732657190936513401480281428351356827492905826355630308205172448766911158507466653439898905259234603858088852797922579824689382708905110514531457092610420965920616247971607131302312571932281971489171662374938159828374388772266850124606246866828175628388764890007582145698282446857055500073249438998750234324074336787265543469336157983480785063211157647229459683435257315057569804042747298500632244942016065646249096395869032320318751689124956390224248975911289505371954012109178726440799129214623736834227215440383887470356348589307910689322429910679105594216159339637187396164222861912003561998661030126970677819153517047917161204790654674369482393603918720301163429858148258975903330138493562530362595520166268161751620973198099476435949923738901969283945936533263920560892569114027965583224872345670136351555863697268675175757956253750543293575943474745356511075396905563075628432148276392018881255988336620716498744774357795513371570201754079996692395324895964417487201558668579996186110500465750600463142660928385729825912085599720724855386954810435787016368074050163558481731358247455800275728395145083104719425091771579969519093358953476974265619426316484117934219676541484500440001037695699561264000619906341320232160240948755998324790790447551254995062061542637044512907633675314181214161736132338978450965793051621373670326150512578491223971426016071602052403617324833433400866578556652116852305568726176820387754230335411366899078772616879388831434227225980380875201330323308115253384407682458995481772980647046394261737987823837213542739258597565363438992072134655456439491483335225168663641332368895573022993392568758270285320604491846783348757140360878293773361894696743706559037823858101905264052790110599088507694749001193204946096592069621714142905530269163239014920301751289554090263099758248281401451482166012769151660390086336328851951524036143549687994793877734350218707745666525587273366329918413083403651690650880867868166006918476603464687119649860835788942930787759306563062945507251533027446496373019464258916838048587867856386443323160466011797383879716227801458435023659413495255430442585228493057880155849328030460506834031583709710109261607351086479962751299945913095066417846594068302524117232700644249402634962846449077817354639431347727075462150514667337765884778987424422594734534957282431974741893732830437603704808975261707053769301026774057962463558483876811146163057668160704633846982782244007352084621107251189148044273591401619753343250842407246977334785739316377576471214991021338109073396560125336114258642158928048535713569411719815087387576903594961737794585186367036746006914590216008802934607731047285453238673565533223433151085337519507128812504776927303473725345319041849983123679287031126773452324090962234135287719364560523061329442113499099596285051489047983541861497604753519470730163442756029040678370133627243876160953043238213904707705110832963693792419922493517113424799266647557413123287286254195624302211724142647548426749456442173825843083040352969240249621611999654144929247291903276904925765486827027761124343214083667407992989524743615084265992479478391903244550801354390519778104937764714196373543798973204325534523880338040833299624125431127379444747047965154825673273900504649854826636595462320498316116472438352043721074607223812296984459840765598699793750875768647483914725534594841363845123333682044787447282266815090622620781728476496367561179701489648114560857783618913327123343457438995718540808064921896111209566448754464926065206215991393775746133968739205691166125919058518399327331226756631697627637024971607823941597952777212269269004479383642171600583957498244886735189782932906349023288294583912079011710572520843475446748369050384832743946179124427734636213672796315045522945782605546673455096822161378559802220624965932775368116076818722058554653238760340318978462993479789046866100926155737790622408163516943538308568783515958926864799372982465945312667946427773542614592325156012986033316028336099071955197628858627522351774742499690461768478661767457302458417676224640527189811797545751521099903012572035621120142185753048554597335579864079665008129580385716984373543193612506787785719394467618578496202299091941488411686698802594414064803003997484270031776692389263662024475287344600625965127877392083916501082367721638006600214433769319429302053935859147429819672177369047955654002908844952264395944157009021360321543568279735406951346005711057620540284877410565449559891662753559833390145320376730648378448318815883356482771438803625226963325916703100944876525761061010645500765252264335814217710166408821896015076259133691945455734856775454659503924911342981756054471509905671417424624473594549575094589386628767013391101694782802041999153883365079788444819640258574021050001743281528506127713590247375842444802284382025664032949355789901020858286171693376272761946177218332832271747338228128130631318592033293005376622228169519466176353444233758537334171329195703399461334565258752641316704211308476443471861312674460548541347148927511066235585169055622598036649111210903965831574768916087012912869239162187071008791514163417015864524441507399899221471502735999457999029539134091682189565682223023338607470938291405013873159563578423009925567048239849285231489461736671878342378391551341602881014708941824143193324147544195407977452162344791444710285883585897296001138316276186252946814544122387669678995043524400711322308944852611417475162819927907419350961331786149800046239384961604648714599042047623545403781581632302416279063143491905816218687052821485826468736901315449916112681065234434030886497274206961436715705218774550207193388487726884708376033309245915305663266649461088866601270236877043246027780787708320446323840338720844648976059287995992724787434705856326255068210724278943207544119565046091023188825358535081789356252722219148734455908835576946562703635734302110574849729866152229403526849569955724150429087984248638670595124957855940807805158043700888103417589646394979367849958137606511561780598552915300152140208465241962633423058765546844492144823191802058462044172295443374041305704889362694323905908896037526666562699177909272236001752444877552378013629763007517146281966320396132003747587634343315692953068833184546170879215736449287390399985074504484235947832587610918675146209214075164616234728657578334771620277152411626622213783970236621539059343297259301280985107980014585167035631399823202144918118410026269997332263655324541343529791466997954144530583993472773049111961274669116761236378197009253115107667543170126394027266210150457813425777837442560324544683830657478863662981047297164669332365273191765781427423914866161368979040035511734561943460677972645524922180441308551191291132454287912927612276547967381692342210638672859080925808430954403242691302297052196536247889275195356895978883286947842510084216549443683121710974085309942566338036333025857895943296764238693004862664425795342246223851927947494408385012080330702456528241770151540489491604485210118084872637016350878790137610948484703399028181233120490356892210398543505544405185124129678010118409054229295728192070577657006295173741760950337680653146853452214050451763688642407734067674638173634375393915795741468608635768797125755743898905453009682741988031190169649718072510299604409716361574536374195511227036074609969532639382205678946340035707225055555445195306650808532822742702410648681107566284491420790589431856743349995855841806203777071138318229690606628577760696321681682081391721606092186673606230431410304541060424035336516075289097009226766576270201730851175821208616625214493906460212066479427431957309779620738856165435108883146201218503539584468513764974690455133970818789330940125055191103985207248695273921757501815555101617260955486821267540695918552768446938222296444339557764962826163509758830237978932256115645844645678831256401261779984968185018367549691597762557103855187605714338209188405844077850350623760726363403735530771170179089329343919004655436258436947481948064706359536048768521075758583469006892736298321052188106618341789577484366716492027567165513037233541915471647894941714871866215704720584051392626089062312346271614114077255790656798296394390366800383164871773143524148495146832021365579913217380188750299284030607823524995980222393045241237857622657068306024563443298937617337036688390808285898027062437131418602397040385205649024363853654605140149558356093642875399913421631206768387590077469261705167034570432176584276832895623523370438959164949419930247716847051402958176170510203654796535001675680011740293676784760753746274759216337194767315796824945413809984920527624533028565677797075232764307778194982246689377341110528678381874524403344920388690616458279556782187677774149292467024769050720940068401580666354569329622793259814461137516431723246720137518222202995899935212576044754889786022768624565305248897049724806463385237342929059040360029577201559602230067687359451175872075817281792204118351645186522018237800968419152360021807175168516700228153915595824450016638603644210020538510501838371250045316513257695324476299786119558644211305931062989842327965404531874988277332170597412860229023375011876573313331037983895863983008870413828526044615106233921997867029431735549965773024582533803272027011623764537653223619083463303750996322967648704662248234393533128429602610871651253000586150198776015761709308332917581587342419635827390828085940153357679271338526044994009988458056274916932149294046881729391358262952432110931087204808586843749321710010343436913770524773622923126263138469061280218405326853755331771831671186809816007473530168199931993093025297034372005630723375328497347428519351455610462435426236365003697064494333982461690510016957019518762054184838582032413075139605144546670488439376784440572752078361616850387607043485619016765542188389829500847334145189666956687406684841674681155561092046592200768076239130340815585936961979583782345158384154278473655960535474447065591756008569725336347813352640283353228224061303583843994707234239725903419162443633498228964385354816668360663598530821081613025770759603226449527139443854161920801018633045860032896402243845134417410177296196496942166100109803531855024935096316619585757805352330252962048200519719968653360129340074505478238324297933077561335427110925686792314264942797780059889852033869700941148615064476183667690999321459430366604506930611170228008052335820155252007887583971299969536882881602676254056028099973448695920623368342907644179018026523241819037884891229139663171541428694485585073083165047506485954480005920595072650528835516137404386874965625899816061524149285871731248065694343859309129510339259005888055529649749495730933518158560532466369436194713099788805978346325944691160982974914176696962300033344651412528280422670917870512975931434991720055582788491198369075364080432776859735391416371671838537408328828740753062552142765263210396888794415000425171744157276336705840341720677227720081207167850170712874785145789860159672854852600947776238981180664635129110205714347295442161852569678310558140902618790336723196287473408350904236608360251521014947419251424666329392543305330359466314136015519395438780719614098621181522314522760679986965590850034230877692478423002073086747282564930770448025865050717701061894579678073120791560637098221071855074551370615604014050619589047491212959532042783743419136531189564000505576380830526316613028710691445025355510808804271899658340398901199589771383256334074366971392713704508375735989481341328937794541545808159079056008594358712294758063071128983342785417914586964291836693289915817501426674053007247413035939167095036628284956696506445861150607876834752037373038562112355643266463908639069377095350164257580110056714025225560403945320066352210194001718117101942564493729186528533762376285197430724880918916008943497750565692603528407090577235436529793812482663728468138241350471471839172676258379332964792172024121031460495803157163346658767655990905279579470989486699531061312289785723789130290881555303984874046093498317613559207613983529281790277014915729746239558682472541438977761062114017374775944850154609468215853346923350096293132229257482958041702711908839460407477741430015808872829873730584884178398122040614545480708275495108370345036585372204850754347331667111937640698367129696708828401886338520954770232777987591811454503933563241905800988347894701230514706087016739723945310805405483847285911296321551159641448164149325827508446311292138009021037447145262417420046511106928159286576182938039125327488036239972675978036356470580300621016140420089923167052749157652210360291924366834668663585782480926428264176165902681771260472280787920394704191654556757777534237450003321213079334398557461418269960636006728556921366731868455935662571471294475116914978416404744340074479153326164836052837892561879352185948891684600969301296139761675344170357851926797241509078872603718511065843576184569502457511715118545775077467073867345489538714392763461416114004873333898082803486720539318625865818323725314269779253769168488459183485829627243190519792596957088190153611015585188305208013062040848706663060511311995197766246552160962799492340893094941694098144123646735618869167560598159190809139746283891005739446851525676406162561765159543316234804920791495526600038737492494465370035261971571965926178199651398480149462536013494300184005865646880217031077969957182412436585501115162638133514949928406225571612307041978938438007608827119609682428473737859971387241753720220211820169366366716854559560394189112744560243815620032889200800192817547600887626392044418957087871678602499777725932004382834161117391670016649275345878448753812238106022723786597437502797891411510816799132231573081826293849067585886049059526930119553976888233764827906350081984723417331898218802159901587976744200040725620832002097706009476459163932435242757842620755497132292455817130908096068385297131393632227336829450957784684724983088597648581814515110761966753969903445448774983633708471332779578831126479972678828330815390424520849591755564283523883242474471155960178345348436806262278589064993443166890614087780630373937199507564336091442531139598553247837381937078955102775376888961582189917671612620535538760958074146261626035709743889311072291559397195207957062132642776518018176015110874971817875729189464547125659263925322118262480990779983889386882907876540395009872541743416264966695827012840931804255710577172165891788423623251053251969938360678019619542222648827865073570785407836146241653580681814848247709907412478962765435217283579828768535653666630653983060975243436192246775548773541815710370053737846208913179488596105644571667978027384588199727543669442559161285440230834812305015493802984328651882591843075857333038568516333395889588750134169973181097853890894389814658857477413878083706014310914319842291118376647949263888554647421445889812340508597801637312174259275530795720108373076775084414735529473113100227363484610343059435993460860683990266594834755145955904783726110469733311215851075121992552057395869491304172527077999079934779415921596678945496853667537979410738097407152632566353043123134704657371832790607739828500351480474304215171755787667913849259487402576809884535574078238044014542825956342637631742988157155624611971055355404864573904101292624057844389188704190525973430880414245585280181835732884050085511232526510240114829806262971275953582169891712837949105822691181963419401111814090532379724010079832139941684032483449642371408352050088387611736543438470417348305374602779944341998407259511428772421176392304518574491793130323315661518908365745376062909613120114781188508399704616720467232822210212483488187121960641083715553763600115724441191144732113824583025534922085263291231983945897972293800077432903661808865946360329149174966266296055259867429606804633999011683911589643653361829518962209078134727331403099304761992307479960141710673063342178972826981556344353130648792381277219555413355107674242275202249506131444342289976841525012884117660010442554041094655121597982690889839475106754364337443412179122653804384897554578077096733043177262121492198592380853396850013562694673662147357702360787644258968196128884225720669183987430093886943566561015531797087688112682661789763014059226250759990508599507522917572922724313698336121053407723980493520975725179267832727504531974546671241808968200685141365428896582802430308177268522444675498967719250398076481514216692945934334850618764166902295735334495803619113801584407597662160550228570572959269578039643665912600150756067976207095733857194188083893657687394105647930108198880235478123942967085509866117016839201290994498012916043396257643652755541576032924176033277190786572702591375900253674106467027079572786451717328744566462430628075996344928246243339410440520333145593178828804679734890796088282756074479077345937344829231968072598042486181971067779248331309516706871105869587190501588058414758622852072098538983897075167279199286567096556495877695372322057418351719127252342310647958273855852671993046192706058888235550495154999790999675451323174313989392774876386253470632410343952044796220136479145707802033152705280737950088737442933466795415146524701892324544812212076585117702335162449047497099165182570662616586374881574357314695576589589199353458707135639956565411800452027400345977049143095453052422029525462180110813289296235460599207456404808940966906559916253596634928794301284394272680239271354970225394477966325274012223142422604787724775469988899301464098048081829902839914094222465269131567126808267045020085865446087346665016773553795931850315026179602425659154132703675877327087012986974930024009146694690527983597218290479262760908885352269027063596508880521556704596412845081580382360176999948868102602645652406181905154156296499899595244302297215060085925827857726984812388681833407519507360299418066834737286205856719411436944433867023513674039338623340129532051871180181003969248943035032351269239927773162896689153796903208450603818606336713970881128838458859095128205777646548682902633566411052507799205349319515252994162939477463829036363009302685159223190432167019909819166587018413016722731385996943575310453039900145381686278459522996145091964848602514143054575354615515523315836932185431606420872243251256288895936062075987027100804163407526657406515774337467368732015909787922126918065709486624268210949797935214148758809692283378375736905295667743903366457211086422257390601614414045697067956364507825697289612196932278120859989591756571249519375538131339916874389797562999763843718163693013760184761550699766124093701539610888645795705406324584401649699530433240261217485947242311161468003273909353228984809714697640951715434581611761626438117514173488952149690703995183132994110730816756867302679034609551468666916264499050486504411678746576397015977839465063504611273416488715488415346321320221599330580598315944533980574977420710997590749553991599245856867547054109771487722347534685139471577064964401748415183887038778800351746681756823449625004804435000964112654445800334554188837873648157196559637545225901541828199129436798480101031579452292098108374054080902640314090903039294759223062355179583014309777148912798314658591394344179656169132487228302322750637294147544343102970254167834290766392981319958347640974363550175265198279101772211648508009674509213103061729427321659584050992293085939918951291155272023134119275578848451475877863204966125797341898680072668883356953009663738063366468204599809996555264976195724132683449771591833746100473225786407203851210577859855784196003768467889471404772494920202584335620675420135250809410284895816028645301925212993526708922855176355108722942715002030567325822523424531429783941140132064213082229326671984657630698634777334712515292348580973173897069201487653110696569626670289517055372004350019056269715679554554698868465144780516992930231352100903003006068436528290957462011680200125080173929326593580457519260698156196612406461775225404584165049862015904125909854895007124143187883170768462448960232464105746468087951399553494682714802463484997684033569646049941162339683185626376974983481482045255151249002726884464999564422681427421758621097990431059844171240357133368523413596765439952766059976193360555215293322992614877954484963161767445701901669680000314513964598133930526466143673850573506570490021501333236578986844096143278780476779238864969511404748538270446625514155503965382327295421721506308237354583140716147360310996580503242386049888972405324172903101992906371609184775402017565304720216871934651158060483029104856124603196669214132257352697046652928783279776931902795287524780505586527797906476785874506294769390149501801466041487802121595952905017914778795647955994424097822729304228182596182440335723612871918057289558002472419733459210431969785595786850638988028174234386227433554314323418071741705495381441272131956622303816786683474288835834533924133531983752297473258540825580157106096003272965614870111186252230341466667612052639423326245471239488537825766725643221920853477705845188431907842001961279419133572007894240429812251590399811037702665020104461895432004468585510054120857271359514736863036773873177708027354068443338825209114133678173457304657353177988676400765280452562637749870061503631772503806208123058390476887020108430174881661823916656022409975435255306238239694799959971143789177398295922835679651303082352770652411477342848456151267483592654365401862613555857807672074285162654151151864699778970544407760914908303701571454184613153574892257994074856616438891682823334757246462665501433064609938330435914854319124862910561113174745548111882660695978229125990766916722398574161041294438446531582916599082090274421259251222412051770168397206180843223136591956983879083297915394618030326883211595865469668666623543529667984141951946923902942365561716889360243638445810929561551833497480555989942314792501621988171514277987662198325790355724358290792723817747990276979310470144394743676671233146209936096825009942955333582297367976896825799172954912296131513451250920656083110662865557631452352838535512171479267980772922008449352140011443077519495361810164116786385579606612242792362282594722946969670049562107307888490151778097776928315628281151067660587585958916658517962780008852990891286794385390254847001125389021351465871249727358417855010119646051357856887768416668007677815978191323445257440555723104025631324088770968392883118099770003562747732903213271942499139137645338194199544223352525792542356141766406436509375932390498977576765381484753930051937222513349518600500385218107731844137704763326002010899398312254310260038170999778635409682386788565533375397151873784733865368290351657441481999286143292388761352673648418952202019236679561284458304602268282660772562310672058362778472006158170712962927607854135002255328654858646802480590649992737671696515866863295448216263462743636144952816429333573571246871424539903777269544711391611619429057433942943262244060895399930931413332814556377829565146227172908652202641416102342604576922952973505745025804491002198681171869874103599311148215464053053728530649577171077245351299474882323470409975788159116380152123560713251322805180132360533324897193102452740139176338750701729467628129549142245745238099140609289903803904466661079713211636585892317196359498645560362917303040210598762759617137808269556982762807882060200836675514553555268665130498842809942033335012578819424460023125698054989398806186128379079854342408607422385785417125945614673068115876186076981456730915788406382970972147582590282287425017191902875782336938762823128602578688259423700290571075643463199272752112683759512277854882106706902890475251655469770324250641158061499837886469959941494938034162896855973425394632729789501454534857846192012863220489988727393096816543780795679222396281624366008839236793396919848292387592980447493782420417077361303888150862676047064888621859842887043548801351809040515466828773955114259882299217437546966565662445983352416357674033121739663698940524362527377848498441055925756808307605271067128906423226990782533060703518178790544164409868796483020818726502242788782675288211030055767008470361090530184871169198018543137955782545204967876618905355425162336493119299488702155106958479219866681870254254849440656233287780727318999064225640818949471676633470733104454827660556958007415762689706262692573928886597681354800078448089823939728432756907556696309231872304556115790423906140117059411027064900877093583498527605407943301265260276717180224405402073160552926471582085511523822898959226259973558666024354956099126075383858041181051482279617535547751763652621946201393715082164665374169787801092918123555965594915500583079525514687349455410578060409535231808757698385868219692012820047333071734365390622827999056081004351788474819407531122286332451128556793369930283706720750733766934000506076517825819621654368053309465183072181411150551216985078401265363459747951670661629258267415452164808862119268422302382708741586912257563103953666450344002467770075142559792202063654394472336916547330333021942420144095102164435985675080345828233639718585411655904164930324309248572313015649808529960893883791222889155828735348476981949980369837043283047806391816016767215467431008504635046905444760469612076415379266103385491417584385152384641411980339988171316233350428772518994082423992974471292762618069094731681402678019263326240895705513048535478835303618752246401573054730642240933624667862510443062367772920752836136049335791205916293403942177762008271767450427229262228644570506815773877631234789065378118647215339399834558480646282105617743636335001199549382715374218606846062311491105468261037396072128985843923315076232344118282718739909337944451343143215858589115284071968179319717974633174837224754817422473351183151695672336800307755305723609346389014560395206763925505308505899314603145103086551073553000181023324465361532570268349810594021180486351536112850979525598877469278453448587800943556533486096591138052508595904674349086404839884952987007020458715417841527677364004692224869639193561083452907807446279686358762615876095719005253709135442268302127248420676267293653366168753213443549168249528040838176963972521089536618987279718640992450079663776086301500767450417621937023378187106384028689014400086912081220160646273188723501431470087201797117474537093106212235246209178054403946688094427648422292116391985413417523119208033358415373466767645605753759527137480081260406275265737572876749938600815510370525951077597388884694690359670918762278530834318426674755541021805847137146410432810671617412894652805042014591097185676213560395756504902023898867953425929006095480727790160449907802684967454976188883690208529514894695293902929613206032743678747805318260994272821869058567866265355810876224215441251730948345427643496701542899792775931620939495442475607855804654231272720378815602267966488960044884966376200349617037648637266943697515395753378550995000086687739281928581278534368296196844826086612289589234760562428823094617422701334850388252583178181625466631475178938328008729658386464096845345976680361272423140187200836394334544392691166101779530356098491067382952450670440723945572451506471610057880529769989081250453660381308309801009457915132175177423498273544456166536275751235418509529102614389052777816521976112745535140441694239152618140010127046421803851987930219109037890942313452094102665266522585415035178848317291295512441595564314990012784485115559549456533301951212032359373183471577346806734153576472394312769978745293156103831125074331927133887457711432342217306418922652629756718512756395706994876871391380167046203206377901644755822299538983297010005686646955790585690616197761179663575751456929827717727406141422376176854471699964680668971313168807185584739710015907847002296903156445999514183127457845155794724631782568224812208509131872510790110829781912253388867763605831082331196435700400680518261119196520747656749603523558584642541350199568085812113174480250564786424787599763944263139546278690860894086364375320167826399114623959131251660672311612397998393180089125114213067286825820048516815313970508353083597186685419990984240014692058247223008997860776531076142405672994102832399575211074061501296871849549322620788730138475626147069438367203754294959525946607263000252073846803494623386796121216661619237526997899451075913961285570794678994433832943784907303328365317831221373216953488200158985564509528674539223246159959593487487557538902052029124595193937990524525978076717646051136226105993810074368159593945996028136713216949109266540520691653349254261209712353945767546738197629991543167104408715784309829244617325089444615995822189725001224019802221364138545362387731402974598188149162972092693982438767904982341080827211556220507832244128217558680813241292073132004093222062022630365563313410798318761015981428843466138982375761424675813779542461286709308177958916403554631551507053660696434405945446628067567436877806524276981008314427244784407539257610118660948932155202269810462934776454800525610231880225063839235097165023263862464101754243171313855853496380201340890812959364903247877500230160729568895878666962854458480063093434095719902801981746268212986878768919404409455705606623835216587406896444441215294065612221331311880701169892688426675049762373681140397275246379409012295113434285791361608939547754112708527928279762831653428950561484090818470360923308896081092275967539231476890155927971939520327789679423777831448226268105385643127117180034757091372544172780886059888183372703262695137651714051607793169130549569174843969239159184718635771659945061820038876076048952260215618283663214464482826161402991124465878617337402292412257580061595837431254596289528318025577229164011077935655430214024881190562436745018695479961766102226716709424686212041737821778550168630742138841372336902680897639136081273378008995344886414797487134826972250319738014390322923329466108875692067067847990366188767188636083039969497950998986772178454197554351811470230918394883641033767980100476754208903645794579367323563075107241449097151700399275270628446749694014501827951079620945102429361813331984315861199302563488474669520287168202933144921081617548338143653222339799581063855573664297329500676436986831501488057059483908345275724275177197044059344693535316568260634964941099427929504814638840941009643026088021120045590313640066576150415974017643608806809532441339791573719674673629518853801925436269185940927374706257237474438208823193135468976389725500664202548071788687995306540063391650023605419582242477583248367496708960419594707833599087294874675512029523765284844281575790529626164482845625384402431064757078267016837367848261737347303530784198703159041256991378863842696424171920817793593527605489536714534193641877653000708057407307830839687833124733161530710282134310315815950203739613176446845746684734215759904438475657475733816834869264926004123864288120096468547467477388918703525474578793183001899562432700528654798918221612304036072186371175219176738103968624311020884415637397274021805640645162122552626533095222367163860121746443744768965647920397165885529149366032556770456393253961884059052756225455749718280398463772167217037978344112630684964264312768129704947021560942317199881979572415317599705193369800957494219758559727335028143762028368219731865708087909260021032138727440089743866344526423931606654173038769302246373797438049808594722282910258010454430638835852649084917460793105771948460725073791809556675834214829750227660903071696002783410991833196054054778572875629029142665929275342725395154822676263414093955355643391448940806362493667749615268118736681452241845430151070065600931957630739692965663955813984365580986240413473360306425385773185131434751519527279495409276617754755247025361313614669844976802274804907702498664980986888552471457449080473545574261979208764190109853898182126567181452705390992486043869099346733221254399017932423032231276504879568132428414133653882778589239291901357266349722184338395702193683916086570538582657687293348593090133086741974176240868723632273920907190490776897875086354027273633822328186416917973546137125623334023892221962184969192328581990072277810873789416620516495608815965772860246333952449551964114116066355600850971982938664937032569752254457167988863760168351299125497294637872259898827869015205910262359953630035749518438917731999320979183880555007679469431981926779088383458754953723958168114241163323614076237367687291199771966453307164910245767570375854353865815536209328683095334945273389877239885220031923593063291079352680939603474075109080719804648792407736103306434601570820229056430705136877569080807737140354782352213536460450233788238276324146031483460925401552664170447592461533014580310642046672567221650618015917574042382412232523425420260815750982650504415333008810416548293368083023575596280323431284206226036384949436719936073585954278754045338470818346064011729369139261273916256932368443111461561787950342543268950435461587330685996080562640003818985787971071474912742648922418893352182995958410327974757858223497537614631787491412786753567578479487572097035912499380988947393934103804182072124257249862815898120903930080217707321175776100955822369332948051384874967106972341665703541595210498254301123438497412516789620682047026537093209485046967253491594522878468510349936691759639795254955515871211881722175965905761895311233327054827761490301030516741361484681023319600084679524572705927198959200433478992844862307201372656475245294915031968274083558535005077323642276515437719022903046092264935475653222509756233460252044149189227239191270605325288876092299001741474897798861170051048782305705360964503382340209379925889044666185648434435702252613794167324846739485265938743752555749001658304272345985637222395330923747842986410469579556014719954159238528206146447026195335811527449931976779638754928667323865231662651156964766161741774820479836642274695466115827084638586670822572549760171248353538934020279572530462581587999395812423064666858628624657049701583486404180861185199345349398109293525664669823876553137456500383288825969382393983759478992336373252030407446924941366339177599103268253098304005992456172799417167118663400719324247249741819109609088591714154372596222572336913244799632879691329490927492201508838533395559614751295183055554764386073367354714303997586352532268766913060592434442140302995002533185861198233170114189852340048268633241514714084058762845251321171286579421171776882058664165581270795775775053948883482937172535537517441085919210757901084915921439993803561080509627842855598613633412095886266535134375913939864986240119189471292079693735421949418449648782126243065374219117978488168645042247182014393082507329993030810506639404448946438883180604158314221612114323923947388908219855257244327380797019320992839689023701230281950425219706821476776629958604627171353514885750279414530706230825508137526018165350847034495247574675556517115483320348786086543414044507750573975515657485469252451110731180314883453197075004282983018874898847065893768436691462137129324060505182990346472556398394228206136259147174984776139177277770428481205323262485432885646192819177591135092075005197184624894779170196682082978655476532750456097829148969475329607104528369827101271737764936415251403570346872987396412326430791124419330638219609890890790410115038235757673302556627534364041153928399056511221430647424703898621820801705005246919909316234135470475485910292790326864302973947754891032173342535569340488884460268838918125679022430895064691784085473030319488933046205634236558402796251334385418371948813740267661531863152852417754290918646073951475656750051710932613143723449834318218065535345405802114939207430362642560170702706713067604075511148333736846316347570992536037689759673994549849834130606717733957341569171550641882482464890922338075689559313950688198282596177381030620480492261345423630335196391296441864465322014090378504572063781125956319814744925443959082121078500080105153215610499271773531608046422626058456781910433644064801789924176294798692915188735007110968166714320314353514786145571065616006490335815101158309686068186359683816851805775606225418990655078763863293776827698308338466858119932744993885984139953280471957401187317896553265834674004627849789759829841632089292976945281389230835140402228608196862804796017662763841622290390720895251831080622106477884045330559987863641201782980892387165364067603758800532165809658676019999432693264973148198162094991337363360301129508029819183561123868112580656955529709075322281765768552501551131197974828992245332631776266444943544903724503449406381032161144035837765421911796544562378244508318938925914219460413037268851205104691462218319840360676924713990178812590337488798289070253217751081273965525976973071999838647749120458407112737798700412808380633927017524189868784941691096952068229305967855475764140471864780542166006585043338080214313716235247516167355412405825171933859483280416847239059866936803996539465840478708270801525596134643197826575821503684686021083501835074922155464940043782133234540363264591854903534582271855308082673755093664343519426614925807110996670860153519325308119819465081276103817552810702656457812820133440411832833268912363003768327701709409632693545963246783943580116589010484933156563977891749574087819332458342374810550667035295401198576529319701794485404458798883959431743675427630076891716180127404946421064208510414940069262322389138899649721591279544775148856584518034395633075270094049759845613624328647046156303211612244816940832863147147315184969555893697362211654793575639532386680779438058740941173493916419367786373259595172801424281783484130995922771282767487704853085010062938611848312510530444317821710244394922697606374586719841404972880633078187233465173262137109142149311956885353622826496824258316809762266461850166345942949662260109604623379711876159078300140136836679125010917056267914538598130799346776113337593623548375793767083806454323049124904330566751293953719154573463134275115802380105325205856468821312865274982177525052954658921224267281721831360217723028134233249020936512072652167713498496578047548561898624590987425522072881990413587001856293992504956877539311719825806674666019947409151251526106984763330776346792045747158843088887157137423114333073084584379876927244760719570709958123487244358373888491314585948899691172833860560508008936922011718665406568947939776330856216371838131425137663042577850300016472979702253475361524522979671823251046629039945738178869384832194103332836147930130373116324522187609334638193498530518501243446533916890403678165262163270814141830440086913440815735931262884438823392716619162816019102368491094652458322380339894720641518813422409050364304281352073128424727977179126853478412539368377008345360953500927346787197387544471930590647832203794082469478025479498359970734167530578172088766510255418261726700074739224280267164035423705574838775449859151800408734540802145513539347598629108760110918944867307839063211496494454964090890326019390070919488428236749855418676738479964729661196791203208122925059052216806014832607770981315122111655564985428247177051055302433585840117194408316181771324331164300928036348236398068815110940245679501880139089097406015044190997387272428125244814087240121510394685110688480212723638186237445459995369502272784281735172809442716975391032350425450578491616188014477884086984457153506267491607560506061990315394017890140570354772629538005726717396988719554693547103925096346936134655588393664420515044342958062547659534824071137089567814514888301640422684804095960836373515083401635063072938823045393006472236364440401183150415382865122287313823232694489486384978964172012747109923104627845878747957582944280598492358533049226888190749764614245547622601533957761814000603434981718459504328281489976469837588804665108239769588029006364495380715650248345619326625551517503707338220423721770293108554104581423844869067545091770956432970421594290659378074175327846872096503642885019845794831363163420163952303708110494552146887089716858761523839487177946085519527224874070491034392206439281721202894718331521943616823272533840678831775349017293249005840858578577688456148368145296078923001296198955144037776807946992707570416593619090750566420252198983672096302583272472379513624088588838341594363137793881133532869386857523808562460051087527231552792932614168763457551325945462601374336829268183478788318373751091136857390695724110024779433693552494716739666456159262925247943197328720078897350855168745039557554598355260856913501813313324888298797477926315489441167273142745689612541148170069494458655869657663014478376581850815599922343581891928342248709637068118708630585736136701766837948968369603846191489661570008964100431247470967553379216767065767076680719438312727608590732137554841047475266232657491838507275983164759523576365969289944327935994064537731576514193550114398168760150494478592851336085833624892089616008225139006397373090900417607888700571446475824986985114173306243048023420496882496243196512908553245826333685136926251331192902155721754934807628422187131000606346204772257930737295738101337815192193343546043448347652459929181039922268440189995645794401603768584223034534991031647138778501057051347154354919069529457710857751866628122985102865944533505641359242284992962185513063156022683256590295188746553533426341038541336606774833321405289309571362375991505203823453234004350431377383748221776678236058065573313906229618948247336285621908539761640096751399951740087995527130606547229871131144532980086043611316098575534917667970762079489889287588033423864057201709680852781770927332928004901650179503644726159174125057827900474291982716814880654521616797756226237356392718809898260772701904213938093503064168072376118316694878785558178144032083893002407481937147685044766763179143770824633717241037685451384349398035129305925927807073241974936602561381548745462516374464588428631600780851769265916452928405601869733877504542372938257481264766137527432993412959953185323053879205217413033628860253577686132666461569094166378704501139060327940031589534012535546690146096603640930763354523672070624721809417327651283675744312437564464898163718810822843161046507577741258045956597025183677183256637686203536999083840137372836457436204327135839562601777134533128457993116593935924651187501479831405993052524905093713330383369946155182444097564757425623361043072211543480350525005120876529347846238520073732847271804962741416119277846771409696784408603496798760191286042661794229568798311727147615511977087560526298651877269583887119655414334410767997141075949229393338355694154962337488406165162209565949085318955753875953813914101397429899456305469963438866837793318264714504587679705363414176234901336379728930248338661179842985540538088069175993674647272755668727304413706567673618073912268928987277885627801521336836638747919147336988472135389006334440110972317623378410901707008325541131310922790794333052778974985073689997809560923669128034198982739449004538514145608539305937940938088377179461739381385125882797431611130814412649092246077867840434565100974528681246165978047953633206477916844697406018187631883903295312725372076911740878856718672977310785066922705484566551773118942057245516333717014433253962814158856959053309778873091148420377348516588063240723028417713158139018427504509883199955574172147934457311497126523388731064311705327767381860687668724133868137871310084310132218930524754853258717187276967104852966982048587092936055379885161661090050842261731187481455392572468249083260183548741134793096222818145401034206570988360013549373784770078381709662448165916485200114559470133854062405959243018982883356824468848696126491920939702411174684817785938114698075874984105548658017763078374287557473094736487394503351777322115465611269423441535330435508912642291310132850589005197333991943093567802729743616608110220617421128007597722951155790991785783535154241268512467919294140960550426907877263828542720516769948797626914440507985616826795990036949111295238758381164109212511370928588637248273394052725700794872636169347593057057463579057086759401978066863333622043479380695389938475338597951386145956943920917735181241901147286855114219138886226000088074345193342329811331958319047451115154425081010642543324671247140316959590698429700937892103035153947515985524832779208137179716113797953551747882941506649163811625210668782311851355791374203782742494239632012374862324625842103875823580782662723074016613670943359350640835145332193090019157830082611333932705573813735702916005568451117646708669694098052055009291843193259673439356035270810008430524326845901542941296736845861420022542172277092483365864001284707668963283191177022856640321007593884170907450471460763998900876799813360690897942468245355176825730171748616755072872373036481126520082107016249061389371233130652457760850121854799321699855688069962108303498490387508490378551641853120305418549547863626672445362926625881967100544746364031535064328380881564089326005871162865465323203224719687098896122783883565137554837148389490972475558340980349079964212237671897972727694398645514127682727196353056628335718170391957513514799009601458588321786483156156151683183276079589091519795746194276649905914292478339144582550097222576063809822814752759707869271189677247173801485080330253657434604906181748220134644905459880785323439136373998098805404143262776066321449244340256593288372500308494533712678360098655423278363114618106921232322560491687515569239182861707164662493321507865656453929812947903307196266034054497642364037271677256075382868303270123078013859830339705062420090111098609576676359175143741658613826199643238383779048589823118667200886069795024605202958375242498110381208641202271913171052298554086822881281411132803326512135160965111532279223131686890244143507109831284101093532806499615868881538791037832256962742823943026169295506115280660965846130531038151642160570000795079042647780253210929401652255044844371812079463335399920266804739180456369420502533839885965298993772322607211140043746665225506645279794462121990207689014285821623675970036837681792174827264009676964604258949958091959764996336635275151457177851622760985367750220145445848019236573808455038820096144060643064892232032136824946435218385006163636810437943701035067069427990718398957031003883069663500010219269991133412726879566030286334774805252357781103826072030598952194504111845141875225959175099223955938303438887282494639337055827652276291630139471006248786515061107788701698748779557784169263499876828703388033680412523816148602371106658168301308095105611482551621068652192555507542904694243672246481287384502495]