64488119196892074917544725229205321320172165122951878624394781059615167261767338934398049759205425327240036782877443026242074935516579941325543066367467530427389002284501544263042173925488662989714055381777411973958476462399488338177465923211749106340684956116257960176588447738145453965580138991336356512959125364840525645401279661251134624713824070869943742774698969055856473164255404038146252087639838797327967353583954298843748949359098025633874458113770008958986875747282838764382751066545260240871895400285701294048434987652880865923128531784228369967605769382535578609900554088555900860118450325933375303333139009994803633186624463066439744961567016295719169873000416959696760729883951193141168710870904206625447871337766794333777316473805352181964915334156991202291691623381291789121551322079779363174911410621525628746218392315148080344558383288166916407929851574816767614806185190976479298838563133584922370757417397217720524172416935950931794495909785130609429405315246213926123427651737989880524101870481691625654142115951753298993469693023918765024892313402892872746946529294495360070657079943021502601323171845630402156267594992150498919495327558190415993988076424915788235136643986508681491497671817929231193892428778190120775525681874915838868837781434932460592231869126308795292766783722088667462551241747821932691534808828131380561495434877607430761304111331246073604559284252472594769306553460051668942691934864605365394227544637245965055995377871839405463278277213771325960916599655368019711496830106295791063761381538538252731017536973220689031865243048163377237624699827779613883805109439883992437437568098174338697501503940768622925323191014765633934363276461175953494505802153945564795914936021801933962389390285382525062008309196746327969710228351846900836876544307305341916146389364113909005471276712097243604240519057289293959848144773939432058425064741925286119649801591664984475898796347720348363723788367721865208755250953552363826446007846385554329265535729799932475388386796727981777162186404018883719043742598194476889481317896707207267329228862494879408430582381755681838518962048135801786946353702673698102731314279201251700028197409031623095653672359936446573511616177212747430674083794522494345228161170081251040986624999446361305462214386680199449960470137253134719527315025593542488023157482518942241456389335909723206712411546471961786282326813824777497829349710445457905457834683832787697865108481996846889553310957040118913917557696768674187232674146056122377610933358481467111468553900655918875559854212920462820512326697830112159378198749931853847394451864405698717142912260627547945764998758944873333998145865283215097726845469141384596564665482068498105942917220523919999696418586740910488136180338688915491568833997857704421832617221907259234669387098526777655122324379945913671689476664278134472588970708860531045572948936931122664476366174112533116275040075696179449179572934322859141646218386642285655925983314752192168096387041995140548439856699138876059089795591905090445876777270389831146060647918246133566911772564428520885913861124751992476288343085681561566889178350462471511716280159733428972662277443791828582711554692148095583145145676871461111629262762464500932179602312611416335071823736133336389295421648292318679288231211555144753489936566168396533131847432231375678173478199320965784078460581874224785627663178935833716623481013912930931123117378656330024802429698704600715931776577249868139266569579512627653782147580754227034199971879735450567990161172707160914991010851354047670568697575257418789918592754145412826501385422833007370360835971577573298237558777987691391007063304545457221258414128082160119372818486775594485620741285509522172692470895843796818286142594464672923759198864402988906287235055404282450654184147740214841272476939743803895839624647334454664827183291758671792973574283773970297255748479400832889373641164483878438471633959294591732555046284827549744812148917662778911238329552223638342815588332126858552720826766352973550325166248895609296541520268082984825101325534227744222317123988240565459548367288244994145687381885132617612251480413604008895327802680489617061453507126648398663676745949117986867234235349651610813008658296456112032596137742022535185329419346900720028963757244535421715687243937157303186419915740938321854676365519356735256673796298547863880569947985709433613258282926260623845892982827827911332968489266715655718317182052842448132696119182896022486963712761108154347462077677241802810763824450432415540933554624421394327340575451465669995410860881261910486969914432313433576043987872983839738677102131367896514882300432779685138564121818439214722371449917121153655209608744453256725813881724356882967016297650369977882143376482154461691319125750888318711660157156868269971418864152282903853303072835061193413306498591117957935506843587330943780772788029838088755299635205851218229764138798287713185256738679645501311236571557343515992856239831479975361970266431212154816149860925531951949194355759812782406373922217403935591862655770160179382731245426433491296519688358874119138097919592529462107694969118180361162152862189176196837444495991339090371045032046205014861637422254056823936783193149502574399429838061591453450296149331311501029941069472463877036471105841998042865862475553570310566706251123996854534674954944568897901551591631223838167190874969983597146330023688239285134138718949546226697379842951941422991825133684346696189893093856461033899750127953721902555246308270529154419736467086892161921396463341666691238195795782716006614819417364738512288767146178401764537374258797471854218201114999313569892811705980272020817469146127693492378051488889429202354970805308334648965049193726227962220570416496831518002959980615782069416343227095808863774780396727657372845213219071849039429568879254110240233033220