641042244967532093881112900081091925131380564193637443905674628358259120292708568567525753432734691652945771628797499907697691457329937772299566028257669335027921938659984366068990027326258186429467729127459485105303480394641555130633570267018086563683129071378951786575361484589929716883535026156352105668717418765539276006337123164246022574175818207460836883938164755334768782945157001238049277885873681573145048926571338246363819762691258968150888438497472187472779373802436280878714308781686562334278044402759292296778530757231952550925250066535513037585746604940921661830305947349717631465026429855551676484067812446908687291380722646551395808946678948825470855373938948784343511896336476643677912744107790572454703858649648488319133689665637135715422824361130194546655366604811276391138445435235818585879580755199635654314434097552940422639459529959552945592105175381304427798803409690385413192927330358455925218005616619497444054250489719293351917250674998103539273280594558407351432428288743456662453290118585336157788268084423019210496404881048967579743826423580614210251616651773989946344345374837385281147195478947974509011519264736831132480244476997697248784828019664376838725526272424589215738067795681944194791841992872555626775592270563718681168337557773832497513871646477238718094532597161074710104355583665161897609850179713347869346139752742332623219793443183917529352235605901898776603472534811019637802920981712351969488614705865884083391797836055695522307955992807849260684873799419490699369230096877735259217084747252923421643725244729009405201830373268322570636356400778742222830429572416186152702866886319961039709077217518497970582033463906266418244797687311216314976916189173520525312576862306767637737550395715587381355819103585341671750186961083628898090246496281311131237591026358161364328511946775117522944163713111527295528222848461081265152556922133998396960185457633269174181723391841257048114659212952408354166786901274358965114989661751376529010331105775886256672920275555272811364363743352516446624092999145368923019164498023266691132321880870625731513742417264458964412882946648883958844342276891176817814941716787672645640612611216267474256881385275196937010728699019814860986041386553387194684384886866628343398947858761173248617135115549086494407062089114708158478847653445184031916170821884823142198524651870199574776651242281195418764989476373264022714717701940107541852412422630677544593438971665909720037021469633915573246891374787747572507428332537231281869182054269337787164043548824207313151126851562514040564380694732082404889371152147593337948129491279524652689424248326326765796107012405245724369638858168398943789893311442569057371388525846109448430965482486929294552356524263772468044010587175648381172851835162295137651954099367091037148684295482986362995313851233756563284917633513642679478076362482084437475428379108634516658361685822876609885648224322325522839357425351811264550595755915032599269232794733504737752962432664356368465684993368216987652575174917577909099884271370272694181132458398885311568634860865398996191451126516291159678792138341491957584903583295244969434857992414977557014233670198146796168731262593831363800758616970316985115684826761766116148660685451767144573221144610383777818868748295916382655589367641107563910726421783302124629117596135787384186252366371560738114124543121018752324936520939461154152303480737945973017170756531439235468933330953983121129553480143994141547934193306688971160908926403328536317617312896078786336351239412899310539567959679848728611127729019918197878813340855637473236396475816413255153261804986390506177715165964165302251196590971442054137299175181268520471115952989803362233797877394151071720840363147641753214896095454134865979329798068618657203315402682227276805288891599639462407094684158620265915372985301841578719629377748519351724307794719064981865929195995473795324612274916668973591822521252352243863469025759535169915616254910117482143628662116225768084957250392508238739291818028267189976088463378470498584947563966154389765824101247167639679112961890453436548337560251893678423696196087280225201646567495072285639224818849470242246738589727681112175796834778341474338419523757390329834255482517396562503663096441669430736323903599484583947969719750583134980594646403343769612651033348074721449308758756949380441458513550022423925682591773300301947262062095496782625926552692882913559396396491061601216471757680171543888083549532928891885413539815540619312061244762764449269826016743445794291659702214544378580483134912350907113367351594996939415399521678075532615186242165240368924773365594929146435772745175363417497549981136360758813326160328625605352533078509106455742838482221722482693523097455214490066195231788396563791125842236137969725995647973180030677209612639546071654287989687728079266286239944201245417862148949490256866984391182681952387415542652568827491525983214667972639869993086893987137788563849688339981269296874264592113938097618719959267831869858842838464815634345666993432499312040129898557028818195316377995177903661119830986367144171036372214752080620231334498367204813385344526696557192969351779671197251975138549992446624941193863912636087082813660476507609526651632171335437920284313666987726334055542756236426922971454214455794606302378875484570244673159315176657105275598986673113462798752886220440137021831938433924998345936055201512426446778573292412757569771079105452883652197922214974921259710257330669836389631164621576085602003511019538348498570486500371569774489484892795967450542675553733225013677661174325627997204786829583527278347816382906068724716302222408831248102255610026681149323330032171072666994724545452447193918913207504621317938803567244764933937307363498406650791810134566810980051224095127226647214569970202923519220135194602145416118042