107367656118815021871949055601400353582495108187524032546834079212485301395987117047489377327046459011054401759069086370845467583817972620834140807691036952467446516044672442419441253739826662383695217433415119864333478252458002464950915474220381661272390300997392379903935814447369760899015091795135466233617365367050706352151915744767071586243824601761406255331642765910748148114128625131498471644866474899175594434052286134607578437504782502856600798663496409419182622036723976073294014290216228435359750794365918984486620571238118849369078387421827944161740396722808721831497611214326581547494466122870429684742582335375047560805473921388332243206073117915046350397034879065943585066928520212544381952405659782062590730094485236188715820622754064600954552687507249824207878081443817783644805978059836917445725339600992179109668189386581951391083555974671096902467599421479313325723125158025652564172765228439663780968764389375905218499576357168281482853289315496449523616818305464958576451569446199782620017645576629077914133406266283291416364375744438716276937944311227034191389645848032752030249301416257599131640999086027629974769353896548829292587641556338481143351096149214945625834966175218820317630236294983315781619249100462694019497922402062412018119427146947626445836271173516222933466926719540538515002365432064160772682631463710144373670789678538447990466456892839372279632331020776756585796932317965905873010846235345222598054718898235462124739854369032268391883063647499919803848182504322428161737485353696174419060532189333994966603196966988680824324098433468868868278847947273191746456901392281408995079787931175297929832350127934990186122434040051761461950716079438821760387700753474194234903789106302719643801162469980163171210179550251375755691846544119837848955383013883970079968641235784005678999935316792264183735963588522712388678982055525049164387981403984545863757668910646396514729125931581816954898285503622434643139067205735444253464614508598769174284975454233131671705235883210944377012086691546133533871758825214994699394484096342787681314925659089646219552071373339688762197611886193801148152574576468499484415266623155668203282360924939492250808058495217794463243117925592764454431581113226053241444129609152214338663261746404150518647304892781639123126937558571868659354521837896692038054350124159336863502133551723876263796345826684086754447580753677579662953968318714540748931728997137847871324336968457587578131379693056208653933959795546280961589811591158047884017187032328411043085616610669487980544917936538760496138084887831902830369447352752130119125069746840741618720431279821334265269076023468454146142748688814133849755217117964352431217989184295509516348174419935734636312836580985026095819844664570764350763954658038758017891978295487378191956641965409504462167679316697292526618859682378865995593868976925917581011547578991993751681393646232826303487379590763472402447355451017599724199081961240628408167782461616935058283700700337578405202657975351566130031225078915844933191377720809617324244513421965055026200903099053260792476833732910362742870712793676407190548786503331532619502589490345955954995208169875943679897610618071532728228211234833503956940934808659450011739515843984761781698518788078258411555538291982449860778467464362097654111269258449555471451631167980569485223752155987002936618946742974221541264429561675939409674671992781850759365572577455594649887005806615263733042223673784985857524222699068829246183303683983133579885932523534367053991876688765217979552782236487918596332335755927189054900899184856217645864316068884884783752237017243398732483258021329279075946782820077335575990971732943599953015855501573821600449863446372540042276266141165499353374087034847694583494973199547383580544226157157590384285692800185303256588236469935395179154366073304243360062217948394436932666789659823413762320511795698776221268481647508460528444177767789506665488133433822821337522372506684244161347470320118767149451634574864340489804293624638462652937589835118014988354672592320355704800224211705658525378799256521318842962392473038529761219747961692233670254881898958183575716917847007239834061456782802490723755155675538913569065488486971423856733383767041931961892758166619894499087500377567253443174168777552191240548769292781038102730736223697400834772541511420646307511567517975292670518662636779463993709700976340853054714555566069787782226742373054441179892893818895439655412906801221957682672687484979892334942970214236468202657902677276083719511060225341160233603997426959146137429252398621827110650967352887292627476093619170634453713565363403747580832154616535299585572551073466536971621686598287574006995926242934267215334149297694362266040399481758381941297152153995538044747955281152759155729215963723523602020137842013890736528336229342747871908552466034182294653053778650965303544575923182559312259428177456025460422683725097386244605639927930389913756761752177829666867956535266702664312570791046256257225906492920877902963562363234794666811228157534587237892797359585803564673923143013432525344569325133953020057669731180672576507114294388767926287697842950907167799652798949817749716536637295424038095312484951665446390602899098948250758682776998858068031382372919385283947466355323434491175373280605680170024418458926235153014557077663762975536174848377300626492496126582213247416188879059536152451992501295454018982909824726360894648559765478291403925974856163385767272676996219296001563272195955779708185659749196464827495307859757333727211377389442006882266855486991804827512112010701548417664573854738530286462888247829802405739678054390264745484191790337177844015503974973779539818055111335910205498964508151858612793516281642301337618712703644906790800956046442174126265074939756419644433129369638926352757043420522172267496527531