103585157845595523017072105519061623889465716575373608812659273235867154999615328968348066304846812153733025888973756677236674274892138707359476973996153748539019378225184504114127825243314755657516404035412523261761784373663502480218364968804112948476917926959183834281108679835594695864235255370861993458102372444892082579381404890597533852825607237131741863794575906366439517149612399847984015930241972906854963999227964712961189607389569693934705622833447369604319923332582319676524319968760423895632278091139383691432938857858499245478842612972732997492429998815717488955859644468902569557912454494886827570953024894383085587008332497716105977483266233168136907606654041693630384483652604600792817377746222994769188329027105867402473348167272095939330170562760536114378818624565227319016473086626380841653194839117457388137951186703440169609309158135765049773906886493106689879138005245360126260500982686094963737042662738715272681991384370976436134531211882777464665237161232235921552296286061905225892941798322961592723993972192355793750881392357961875534873387258992449411416002376519398537134941634904072313147725303985432734924279766888656326486170322342785343355421436706764815834631134946431308739072699827183318013734896266261123186549950379150811812510636262885193673675762842760646348363451896615224987374367899247759320887350539541870663926896492557433584584968244874653485998084183504409821756768736456426393827175564992512860814581074473875854970725921443288937993860294989850232959197713831611398542187078637364462887143400492409735633860449429900010627331271567252742662867849148178255129958673219871632950601332459481139636292882536071706061121657288961413379103812016994158869624317431334878918466382427681447855349093982774236477306627705823414041532162101835057036514457048711385323018144509304164911777853224967346399916326114089324957528467831422284932682902473011686783574570073067471564921621476286516977067655949902309673697902460906733524335884466073638188735160398161913155779497698466456584837815294214460327931652358314233141296646305202830285941582847678707194432141700089645480204773757394103437272730135618890352652854296115973048432388883509168015168525126188629466864746389146460383955809150171096026687657863453378151312026397953337857000432790911771192374268023659450097469514209173863263583457957841177810753031436782858244339746310392831338976283502942232938673698284436843529882216069714360998975488150354713934868285432419832747744850816243974553068325906873244204408380425449097158697758760365377548997648379125743221794121062857867867385785802747559785161825553322475578503323549516556126218698852279958248826354589760687444980134917371765525848306149892158850126135174016293553993288421482591788267081956527173760023588811431593156341111519271176739353772963674152172637944896354326856120546255616737762726958127933171943130492765141717867921702661305157629619837326746170679466123747294442984164776395807160141417361847844068354585867935569192041841413836168095549047686402917392919467924262156293260323871202413918751846670206711909276320784079773604175742349537931294953296329229423593744015778309536428159526560937932863120077836564370912105604876472962357878641518669183014503908932961409350426251495143024110833911216237499154536650568013216799512089758693791675048353631486044549947783762941227946536337772496641291671301685596440210446154276365570105557987694178681271442994866822656198959581668708433521172826506224266778853468926712664505433349044515245315057031849210825961108681796799206998295081918255875480386232847442649152157915732998466466781120477701799550516714170589109407739687803364609673279200930073926527237061092959760291269403488199078939776613293976973804116033122424320551476775297887250895254864767878304381092854543625900423636772596513286825180349041896084644446321576769800913641152189254819248105768340774717595752447016103645365121313286745618523559773757483776099262772647221972639589712654016392126225322114891797156340279311136466635465493694469979860618569889865741111592444268271943915327793083969556280022165328558144231996230337141527718781031903415095426834034942430395064746195781722998778417215126197273125223183519006118509340532099226881058959677215467225134856311968254491412827198229683641169921814235327153211026499688926087661503327493466931560545569331905309247106510463261994908140383083091304665336914749538817530721563409492160100769259870627180555960106455291953444425453887125267837780188268242379416496016814339872192934130898570452868691083318175557194200770729081244909634784994935891773358061694910135116263561369926112318918725481921426596494385892582934331435695261875574887627145346284594350219611302303906097881357472667139330332948127424968765607367354118593280895519066489331765932301754111366267895950027628540876898657159145636075923717928044854740492404882610155144216992789595036087239719850014838213166151107403053744641034288930315935990829131900769598661017472885055682975612583009668848130153105286526715634585124355048324318841449028334316422655288564518762832330484185503646967254392951824958108784816635234216827394518891088964992691487236733396577099313142572233077551427511677817360617504460450572731761313842311510487797170711514086910746962494073854840713384930675458608729326828705473351037141236105415391959217551214377734934202914191350698432868114119023156646108627602966812649368275221157678244694381364204021405709117482998962714985760208661269283476997611441233280823273874822365245376777373961016761721226476032396629463013641188976928958221317352818109342871255173886577724344123163758844853481290460013247968452994831837109181975478567997510345051634004945150606722974571022033386025845288887547857492825212370624676963442276796407591493776899110696223770521864561548150414409309593373155389101537358847601