45227142384461709699037148211173637786645750139532913956781742806580639805929475114311820731863670444399487883318700576831881692710033321578455528483958852623733967528851158382155667547312110722686594563831659463082220424463263524176378313675092343271352085358244629858674679986123470357362584115522288480812528864093774325394687321587834492321883312253158977994819918943176647250285632622574583359817772362076233494543575807416475962238315011477813949237439346602970834522877154714041759058632999634983767405131998368548419702182733891125774602385520982916134467621912079932756057092551782359292078446785875239663045371032249343356084115682523623346159602974117679484211488424039693420039301968761064689775974288569469569502212657851291362370289764904884530359885284269614715803636275618746515495926654016364916078293744604732309918460992681366301332726971535378138968959845040327376286615996498741514145943585877271334453195124922280378977606831686249005965745658763176627695071132076432517725026956398357084257702551852264336325389399594510734666912318583044864799132072746684420394945891851265598285204124225504959628719468119656429794533688337686317102815261248552421482673363836375339181351892460220406555263677076004233167554440853873387898852928261008349419027943900379173261971902931969843573352415747869652746267913404491660816579700124619826690335653079406380809179576270852857401338737319447485602567647359275011231727308741341149407430406675920187980064415662414758364821791227985172428107408177390324758773444581311216381366268290160947523772345994146836055554195444003421349820725546603083608156334411639792977310139359778764254954943893713043699251491366465837134796535012877242883393344817918123738902878844655504156729356293754917848804937866899591098754314455956842041268730572282749932463771059153980801352398217272393672489486028628141384736265785962977834713287233748463637534374557392971074562517526030622525487004277574153091211604113979385265692695953488164241997506935048707155570267811965564817986078567180172875660344632307402822027043985943684468894865028065869255881225409454585660674427491865847021823140673593493359961824390662739715442730806401242169919431150658781709976972217011683932879411160446617613992317037523310931939622949327820343068534950523988205207609963687383109988998891781075743334587464753512386248745761118361172379418191371177292191209500440046938976549670418995721896117214704415158388914850019024557074854968960727088678439685334171862703968849435587765947518534301831025802759199420272591765167742825215631513138488466328984444162803025577360154553234572196548801404202659917985992839055421625315383544542156334513046825827511876127669063879434687416417830711361324445362185312775382737862681543116398771523492872037098077721820025875799375992723998760242963972887097684825798943514716523375828877384575270616656475281766204672777151556400712262368834637518111176177222437573681502093176416915665960628178929420653819139245326996602483262663522348556131144991396766972025418350752562656870252356979904084944854849187969197864726325844005117389441913632577087852704370125448766665427206298143679190701859054004635623918298897267636805585771623898547484735949159666222733082253726351709805037269874160883490701135916164728510741658772825457311884499632265884546689362821698119399373367982547318812728562880167876123256770679322799865091557615696259826623451284645641894721761401933124689210698453084957784361934273986238639102497612977469787316565270113215249577366989753141974490235467743057712684769368979794033498985483806461215732069161209843336567779390361220547251183296665271421136944294236957861207346468421391009203436251821988627317777322494387821946118290386695869277599786631817660074677045285822503372155087262093222318256359479658758760782683381432843348257845713331406829448075948318526131615607363638687295065253789681478385286110343682987189284003390627240367537732240412748535480341406225745192000690837113808312357231849433378592274233686113236929843321294447486735729322624161621686280730954907129993006643186481003088245928832996137143618249998200974227079691255127789150774776058419818775784165059345318185879394361173447274728273531550491678815811752154549311246970298483309228313914201291224463384737641765152462825645996082846447946382037258794129579755268777169066032395145667280268646613748710447949594879377314652869553695445565224275865385453271091541380336356235060691114263711902539690384455244595014847854227372103215192302047859378638922655503414529226389026026162850449268935999682354872981959076492697531588398486531231524624157808626484997698689375910498998174193717499042581734375363992248262678695534086476399816126919679662477209841287787233823427914705455309495875879536868395053607764048514297829255354137017710074540765182298177712227288007800769395962577997053689145187559034404692552556435615221918385766487935332240557061500202602777047308595439055823388487774158290357797594259286388368291540363055282147575095294936729538598419588515235225716922375877939948795547022927037907683556554287880530283114297175075005750639880298251102449354004570273729883593993096671351595306951404338939340643825481702345546216002892837470113636218129222833682774328805108357990659977528554522936353694367250262609238824415662974606193176276794041523315594490957778403733320869703496714060068835646654835961832262098868679745245431608786013537570315486567061536860447250714583346872866299777307993956642075010354112430298825137618217284729658592448635064937739427852747639713392004598352419577335570776866907974777646637982681775570113683361825343586993746581662456435536665427561221310909343752497759221265932213676833749338903827179908954009330497863124505334270602546615993747006370994347647574014311397844620351116522586392008212942897396458925787923