55888334475078395642558317590488365665694907808541283377482123703420516874363788607519648594642218936072110465154187131636073972417153451686499282778179924276139893886410169890968497974915779977885745578735567985947384220651352371005779333888382198629023175272892744507045650114267589561541524737940982719662332932159053661847566103466591110854781208681101916874251781326869235303991618856746439091224459761950228483872099224192215552948162987953654373629334977168628453247351658241138191353154318595172782724140472696697906316266016423275592622502968361742201167373084878084677511533741838230244929889392207250197611981425294452538816868737508362791119227655750866525767071718091014472647627332618466262644534272118067052671718622155223023349065629194765955316122158536370451408521593322948213179256040534545321125852164148753848268743572044380810141393602645516010548952732467686469174920325539911053320575979787753340643779430691569435233322772105827890989627462345970213060119751354069406544774899412246058574389146463039608021825663981914137693680785752409973146942405447549228662203834997281707672830304282225957552694905574122040581940775917427727444014856936698267120858015610387844319650433911883427802636247748090409934393724912244744202364643228146763749784915064674870252120512715968767324357238897195351566666903871996235561713482059132566010744986442857469811952885481828993520839103800966925454629066549948564813058003703535197147779375065835619283489695331078843019799717681719667610180478664439727607592451625808490952669303106211634137008186178052232203833940965533781056557444221385749068866853501491983117155715848121256114864849739634729379472503338954520774028330486346618344227832103403231501049497080511891118214632895706591817869227938859428548743147888291587820975857212158570907729024758865254019353740864586824829764625161717800737617798157492284018690676577530967216429461466418509150148981933819650739501766232435761785976336076346145484006157741559097667191657677874334727098164658819036645610802873295187782843679977206482145856619817898747340633576058122651018344762698673688778399394523136801678117207221220166334661348055383468272191545586894280151026829563226923749430299572643965278453138533877733872456531343708353942247171863122176898564396167236353472966519200255548993609920077464651256374144436632317411607471110702150061693442196318089617795575794115345466991556166371424458650901745383248263626863134513740385935327768738654481296548630494539104055763172977028649777783925639550176051746599668622439789420011353778633648661287701992235843511479528906599709575933492278642599762609599096315343194981442079759281713276121274514394503202822054717196518483209992522658633393626696862135118549573413027851686092585524449071831625362230633033460773248203493241699304823203403714095245679386750439436603579380591121740842523264705230173981726870983196143662822334279790368877418166667938381138847829085854394570299366514290992869793080505439523148231425315702688460625988968744448152393570931999645553916413367347409498413538491527913268383714869892317831815195043504517475541494751438612533649858974992171561194785033138669716391375280731951968914353374073166248757126818581404573556774137777301587082329496624603919532624198356808591288294355313846258365710477488550249593794285928983567556245323306052263540326122194409262649626524760432876602861935259886161978310147557409852242941270263408454978661337028419922756333289294155397224140049342812454294417298329754811447833418022399497065603377298465353493884531233832911716942265954066086372738156468627323235862290691631434918464102928750126935796179192444303908998797523761937286853546342552089405757129274133545681682019335182136518304606570079320925024312321698514189118168384998578914566605591281151514560353527438659213536015918969179705832853787142869686709380175694109364307649418055159377546695290288639576792685224781812208669942942336975777613105506514962538588112377286918063652341776991953268141499276575569443464853045348026260385071168404782043785826479889276315101901426825769447414037814509836246007735757085327831201965312586853994289579255450107615038995510573965271871841082842467747495841849790353242503614330376255541548240338457883346112899428170716083043960598875408712558841843626910029503126138786353775197997495036803194669564803683350145718326693982427497963098756655479226636436518013807699340315311092791563898970678526581296797249141143723711072578941722049197238734384186225282457702132387414457222317450211462997938095404909898983048383672254951506552490392079208484546161675072876916884346277646847747012441305512846454950484825781317801477786334858455369039892534688584034120674349396961291795299664824939543916413160373497423332244125304478217117658556003257992124637888849075532504564138882384959468127053195514192109775957956551986402021988171432511752428922668513906409918977083501820212618729760324459121840823666116412295979146073811440107162574222960194644615989997953605363515567298189940537017354733197332758942750281031415089985765907004446869376548720990271238869191498154122398692931695191917898911663247738859398062339596677203772941652695761636832754676458250958521004659539693351449626339646493667711051610310437437827873537526625388072369993172727294997341999229294718566739592899898921282864244312931256129648175143010783407793382274396798228891737622870473086698940935517948693004671768954494229871989018691068285822279778498623919792138254408286199011921739917473966112912703525423271137297469011944282602316100145641640462653963049251003686988299628569436259195785316432011030185049005219183745312129375233435462338846058261161614969185788026706491258126776217241086645710174638009890438607687621016785664673651504412750844828384459380044882954527310875206695446331454411480891619589273860680898266206