60844272717385842685671919606305410836879064760761409338900977254530295160419525476555208921171975652029468688469261464614907594875974897591340086756797561067749545057981760714356501131789621650467371673494085816046341445806924591451449772943472512955815625849341938345532556126093521416482297429270985539515807218622961961331914505157858452970438632265740099435616966488891716692639555670833592489553352378759588707600972993093642675314310306470332363758160178328086183746028805198647103903413025927832752179816510297988752913598868357857486785674486760466073094631355462663064077985063806039868595312374356123260859646426473097401938837048744282463368521766334595263951745393134466521135382889621528236428451115446072032481626358821501182704754423178358771969867648786234686164493330968911462838993636841876107146454048826544216281501031803983715139121506968038085874382571329953111564634745059388500831922409588774563134168404782239343726781936422239188406665675221540829585954555259439268760696281267241513032594180346898471263715924695545830255033443487619232757529135637338012902958208884701029488438683424953932592577404560997296247546264646169441069931877758664942838739853217902380325663140972621089386916363663064593194699875565084118474807928170237314615909866190030117523672438458885295144859835897174902214889227923388575383661219653344583221446993726132964816164403604742104723896235991727161355895966866289849372685083578509726793492525278734491373072912374175866372884507819511795764015902511522554532733483465262710452625884384537994689286576832054563211650253476407298444849033261610102216991197842356176263956714838025225623648991685067233958783141267835410390212146731389521707975759122589397876887784736723159209467866567940499105727881452562036567620361634778520652265028216417710974346097907541743204459219096439537159043046920593979717867875241140894134856716970669841774893705296524155664712445877290868413827307791122213197912645431544702943625164853741630834376312712712244578822924945764634641628208840506033700577203725336645251018658589615942089322613593554247474638444860523326681002534698349851543856032087962936113366433581310581236953918485683184840525139136207326397113535036515950014945133980968993243637966651375522721879829274904885877590390810134149508361259213568217181699331543378449805301520097427119353593345057580011591901236379871242782752128429431748714068221184185304959912950237694347160467314236533733707595152919103618756039657417569577347595372828627740440056829158512977749694752636923080432649683348924175639654865135632833235547484421537728898260253320005606748660775129804993565532690955094890547481693867358960787446307503525291039610649331124530553801157349446411406328124574139847935789935364589523512676709971640854030141025747512627215138315844492458982004635422304316705712505694698205738633160961188557413481659470213378308976263444468516022641108717501125114332383752555585869881556462831775998212998704474615334880114754397675579361976123727882299540614592800078978664776961248011497949264764103494380234792049566318473047943818455597716364412927581536791773991654467299194337601770290888196362986968825812283583148193910033164624580519788761384051702259121735328223347843216213081328270653547282682469624478068705306345988545641829726557102297164259081729460542017155406813722611668976723626077780230513210951060266512936794754969158126345412109717181825233492048284357462580269221439774808743923241812038612439699736495899493761644879132676912098973311430916274717848264406723139136516186864353225223893108580071457566545138441547398602157364588800169848369518564495346921698357875284865773067945503047569537818767061776504116195434513373166885288265060298269633277543457707668557991095458074016388171519641888896075637793111375414440309953832999388379851462602517660754240207481578023105648046785116066450505020891040218613166546974572740124773823850782181018265590774796681514696101315177549979974937317076967262995843864115184532468448773615976425966819645639768759577418363288916862185037547232730413749929666596666627695643464570960056247970132499137519677100348523955228314470316177442510913339963964625662587135762930779265270854791917111157082633148962402544278291854203801458342855370065437754967989065166432013185513804930270365654377530701586197476352881487346211283837611901016206629249475986972004468556283541058908881372841883332542784094503776345308222210419679218184024790938547661034280715054178932918236294133145208208821719750141787931423384818971028106566461445776716617545431415764146499520238438747489828944849114153899388445519780993993521414946432742494584985667693114526628911888356165039083221899143199412752283913475640723831353647752984601805069624281316144252393913746208840990774665500894787252906289537337730724889499639241629145602136627097223724460718362265814948927476727876281777760498304714963478225799639326264178395952495027578365544283606240515736625868598638316764215792320734907128844391394266790946948743808454352609944880885192837161002085591884449756817025391163943392267402151093752233411880489874640418052451575722581568528322527976800704195386864557843194209385948981812095700267517640977364214495886533949971446116665224794270831357884439422748144023033961880476104072899162529379246806262633296726964624378651619566982826424675198935589382179044475380491851804692169842978752894058485907657725888804797450699139619645937209134595640826484218148670758234860448924243060175954179324501816529626993612698936153652969270120143255006497937821813426953948157757360992226813381117365186246681138908954757615121440390783020424455472895117893350069182134522563994937657353789046006773969982341855135877113103137053007970835927887836795413309940999738644035127562955275767819187053012307608769103464011284575499418089373223749615