691533615777249025674291641087791703934614321375684824398939743597399514609253718192652318980528259168736724359651420723981581306711176961730855643462430990295085560314191772760079878191782216483145622254741154176708488294362740521734795552691930885518354828815860898769327314244429640716175000685266645754406089865913887051703624780612795040846531359302533935399125483848964917222343660932257964338993937665952786121366627029357623937918478771127582348960639762588558776509933170763030825097552663850561697055097516855433169620326913214928573313717205667513305920775038315246730581071251075764473284683826383861352751203967220449570567466055237868969655791113756929904656337835282525377066978188665592157513030542105686977442576554660275373719527281804676880947036841899131663714957656009695971980494953688955166944858711716201674899086954904662956374652187659244148659238045245595204046857950275166935357833621807276418634176516803323972181440893993442254689478330126351142573446142613853818157907883131195548484162660349399685578227282787337191999828757718600489228258885434043867477439517751955947214611139322153657793733426956554629582060274752275183394233758480842837931551061602109568895843020209164835351423421131775266243940085373893276332246694458452483372659736095085000726879237755710756142533359125129715191062255844372453206814894183512763325762370701345294767721950004862337534052394378181581375672573401947724563735138598326688536572482739219149963913499374413711523275385940966260566286979663568549648271281859066273971272730086393734624244796165562926674402088560832513269200382652381620290737734272420767614222740624234634557156485586939135883825309024756153280289976032362281868723172120199979133231853888703540536884141227163306398128581633522255468759236027316429916715741350524065655556176403725555329470529889773887494138305081372552908848196681724750866741107261760563486075889569492116689369021246661216644140265827692748965038338359788292965782506361162684756340339316376822340401242807865754666371794537871877080939711250804804117263156663241720647414641863848414308553356807471210510376779181032146440513570193291188830959043206915282973467557127978532855523955066512189295649034246124869354453213849759739527496812627655437948156433048567927146105813092473550543703622875493168753724344727652432024374837665704669829418346976761266721249473715951283024482470658928944674620193095571743561177398170950514669363640128355385158669842198823654258694422655853120710677475747078349678676371810644669126267950715415572636538886448031294650703145137955661140481458549271161565893492576748149544725976041427308362234559915589861682234915744754828285588886669264885112859717871515436287992028230846172992620716120711823482461856132708017441992351268662322710696915585343075265984203718117565034986042878874362917109019325811513471827192246104502811002003607570061608852098335558678736750722734666360436364933303535716913040406288014784602698356413963099863745364394036553995215807654766165343539826337203316506183563615153524187147472390623565974525542942989627832500660765597769098815124844101270014182758431259635183814023225987728409634232696483973598060368858880151358427767624144153178947521052423338867975130447404862020634855367330711586949983857618443477697564870742053163919142991820903537588480538960167125780124771832936575391134136037477190751193503331851830441879344385281546582351458495150970585184633417714715788171803384284496402730181207691432663435225328717372717434655148253970812627622140627152216388019284286735492395470362452538936411663212024689496965759862193644025724030279330786209530222131281765932786698607149277672230207658352855870677421383429870705310110770132298797692769999917628366114553680428439864413678093183201482868805385499042377269732491647966542689709959391326100288773745562687936939998457233744360415578919956730873752201447410910187265876547911399500641962560565507569701144755077122635521585847901207173526511192412358518385719307143772470869364983255253966559322634089149213201985730231809869436284967976575625222455881403922581586125409540834261131823178941114362585715064143662285821586648872662197605359435373678343974129812105936896507303068434473473846079129396395413778363253438830471722793358184571611875583327066675916489037279166647844305250764846034742664703561363455746568620058539362664525394581593534723104430345109105613931338705711266123612970639079037126303993583735149181666276270018016953072289017251336342485375171886222338295731977272097289911977541178586327138857236972562801852525064726599040122897606065996766592238415277348010109177582272668750324257017432998271905817593004630694784857828617793889598918258461846899220489381308944311002115117552518803142559951462107362705294838365097374611715288129656164699174778188437681656587798128779425540419224142509876501290409239474855469104368961515477587823576004723155581721394134532796500532062769042783684486682707873881781307466784865699438792367573141849932484761938694195198674843988934378918936856981283581761559893394782643564234707087261180933183914193131491725217468078769806916023025778775394595655949940548008150918259227412764639369360257178061432235129262964584926875896881692950633717822658131766409556143240955183431490804832598834472602154663271569334644892647715223255641190451434932429341960974118227875207925980568487056543153964920886971787097908013878918440545574264566336313061760324218998436556537286796757303339731676734958476891976445579268797983833428211064756334607568942849326231811597929926928325779965996974379288702771396299421625977064883500396463334833315306849354525985181755321680504148419263845293872535231669162181743912645555734626821743164475240208183009014252878316916222836748478586341082382783833125103157517504812645170981807392264163722896345485213426582