38953374309622529386949668768441408569825260887559293010418222130840438317463999065764447100569842433870400380126099210227248347852812068737158890719199484967434091423975872958562639956093808506696784518377926629708833749031874371852709170860929917497837765976933950363672463612726228406025819565119968264493147507804791542994991730846184713788115906997836146401058509121472846727312945348022251225219347257325285931456556445943637563749385341837416637150758210373261297006376577016471322835384029778275674903934661967256701281814347805301144461554810262069341347414173030994357329928266754992472790595613124113252579469729286123748152413489983424359652942730040348750980224722274235122731467647670342411734851238210430771616489523584418666757865328425612372546659367189424325517715957370525246173602315382408310743625085887843241295826537625439799513700655552658225904617321843929533796058986347881596393115597594931532505167443936891882290614761747571859409276938954216567504653329103136282358812721244682633731249593709274898255867786084392649384627018634666831555227176539545561648396590134193413232844992387917881888452011956732173360223378133357415667552771704257272124897776244268226984500786425242563783814351908101755332837889963399511106352480052614707792159055444781333083777384991876085454756095268880590228307816894753203607355986850038911987758585908646494459654646256042449112326661292980536886761545291416288049273599650277175476671565661116809974723172678780721229373147814807162293018430012544752934807571278166529725416165250869582207570533982587466868192258276808207057305155295178509448989336773226750080157431856932696504779836205423947771719086046115243669959356478100046472403734727765918158858163175278164055225761017014829170899627521604566184205133379638680725224052063862260486860441196915104782636737219898110332876891730788563999270218204502347903360899041739438498613618741801381010679284381841398604980735375573316894794439971568796868526851686968956989044756911183539530244811232260172609662177566558825609361667831126540762257224000301914762419838269193893224191829881595118508676793114948662467962854993828614279644277400292475435529297045767355129589823762577729920369117344417881262589485186257657543570842868259652771615693168645413235576341936171338155461104219746363101756758958976146310611739473958778037224293416636044152510728080401554901660625064853743538855826023479437264768595997296486111830938099007650119869355252659721874784529988937735325721607234245537272163947879849091168615466181416533618016666632039455179379664952132904289945562258529170907649386354339580291143109149371597614887388430566488997467257640989882819522961674977083699266281086302712700811767946323056572445186794927056899726538173764413311649218744106844222142978817881369604137453163926541956489975945899480927749477201841036346524484722878331064932333503360116920708192831173521890907571736485234020692813800322822943046571614908977324042116878588043051784413056438274641237414460650995319793593064653343570491338628322845241664168773560331226884108969366668800236973556199553573404995687236214881954755203355305806771153835100391492559800935747068775843828777317616930829694158285818818198730109007258981477864179300795474218374120294371977792368189289491053145418962666557945656817614335691680315885410987612289039666739139427209203558970898621162519156800313572741443470839979783772272142972351762486049745400342123402949220439247109476041216294393721965514859887422330892348332857313467989717553173739068871648711291515547764392243783376518847084486095417912981929651714864934829313695893150347419899632390894293727208736367789209153584051527289213830917865100697901749139735433808912057013235567449192798284094365580583012140639162757247183714417764251292325091333981453891881976054513513790813476972968190685399113365668384389945921561062279724049282335152671243212904336195335558311854624852524558191688998191836439550121491186033422946498098007957413624537881744174864554211752434804914293776992662868550787261400610279059742588823692137559791472936478234459471701811335812696614952692302132378564447616752370372092152172971234863203150836226947228389687316020190954016324071537310083399028479411979596534253685233591731898768110929058152903284090653168539010447412844597970242798358298702886251085763341187023367949191165891896296756843464874994633177484470166673875864536417122113927175994552766642590624558617209752099730604756216006953993974855844336105113628601947785381627649880651081763904491872421487729354599457099286447318467482405269905867532078345877941084553022187475794915853181776141148184298968312414856178740592552766602453872725407550280763738082565635592446519656292533125872442926308464497235301068615372891600635747493445376698221460563197823851167792440605979713723418743353024968850402339373287386136827949725351275387604639858039810866096759653559875147722248447461883590928842939605552027686248759903645960232279242157729323321953262870748325360221964302359819013951342858216596816968591068390612469083547616137723671928565767672562973575236335999174833348917984909424354104325267286723451195765348373284828076131890482542064294941451498558805825047240785429282688782606243419047924957157737059034512978929414807889911316522351145008864165491226402371699869504543961077308837518503292706133639025365778295227966482989732059747545262118805357186931695771218763303888807359454409715765934802395995503177392753177383158237248012917958045276747184948968040082761709643523588135441818878456459212624029248952791423074527932445047428345119286756865088531076300563559886050198791457465389871347279564162568233668362326539955591132969584832092835213662885882871526474516406850113328109572745432761601807520994583882912417241976235693872403226510405849377827168459286801