345526501326501178313567559633059860639482395875452861893861748868959114139815125911538258577078539899725799589114906357200510234165039501202614848988602292144439288778593764063287455169729684180523702165042831288936058973796418773894306209373221314825370761185459881914876849004459877662702980386058612264017111970165314543316426136351788938093977418945971305024370828272026617630355217722963055292823475091834371535622244704455037664169282318586413644842879247541311098605819966546848801041249768835511452283639161938387877302700911701641936539135605503808421687526873714120024546681461509310732598793767344310481453154411682019770428293401702054303001926521318369322599517452709642168193658129795598484732141502100959390219486935320091834527744166163707932150362195065923823931616466598063284920092204268022683850564488566434101172774845552267474644508636345324231837194624895932036981381368576711242529606067934870776516982984593609161729823144604291245621396144437559484370619776226138541958350228231983271868444968769444380342377116429131883970239629576041726280769736270174791737744891505192635493452661779535380517961146672586594950670839971892156180728696974426795407638057645028078243719191276199410435893927610064295010583178247144996238085181275816249350899474338573088929434701299892057458298034657610410773592612878256141590259368124160061894717147444197876764849271468455355852498938619853969601949843207925871615833652615649733229778108354553085384290941425794942719021003475493469315909040195815092169762896242611103890889944443557309456190250642833835011662629116333361032264424043752397892046600744952148311869064346921780311571388878485582054533137093799164339105839872998994969151337625978391455938698846363153997281163271819599624772980392002807298251546907391344460955122447329205461843061605910293157721630717653243577464374402531736245931936897610497772161188105697928817142177311531287521041298858682658724948824833425956206611765729828262531928724707325671112727488931184018816370321276238599077226296979263652091999810136078555569443683669041435895389054959468739730891975830156437629985993388249775765471411628329635750260554345764126570220992646799386302819233933261941277602916426773457689105352139311827012964961232536585272154267262719403765394357417946125066631596181990973921883510940340575267289465901247627967234182767895281588333922832335943808308965065279881210292875385253271129677459949494062441793274161076448912836293229967823882957879408455241338725883508633857971803516345827544406465907357929033567642989819130587631374948422788496926893169892532059925587777135747300651666299124699354574069714613087505986897086049510948671393112742461785091262951038744344865248339827100769607090157740797394396156507457617245523498173677926112212562548993859604284308469511540151823909826800823641616167658536413960862229762313901626454143840518083977094676487859385589669758427264197524654877855558586397341415665912880977350105968435884649869069257345089402988569723628983979349732512494393751056532086104496060487745577449256257713298156252528015124758412978533171987448570529760301395445991555807206645959219305108979325405157475093761960561606857495136155763821608985415015803044838833528147562978184363585196561838539879947940999459292281977547728534487356248163990291311263997307262945304242178788694571136136779239901475643720196402621218713829449439619548154971168216628474021048100676366828165112409025263395905828723509694644558183536554804127847362793916564233079862827570819384152717685848832609414476532968046205306493233234890309822628449236184204723713854095162697498243480823669113987784070223371662668217421192873869643637340842456597282280445933236303257262592342665224106848492126895909791349357608150137165606698302299586412558025791535915286771537882323517645824832266670415916001259268715893604311475281787334058176533489035598344854144881376781908986141737303884828936639791766816561592006764782587675419610221880246155595193594102539729314516903009604053879942607255715714307856534119847572428691615661783804245069887347821960577817985541724790423946595542576524296528291829822118849698753792812514115418977253088439282835179246592129784806745678339471842033527539167073149840336324431883321913953719147771899130942946975961734773878694954572998243350278984021856971104566825573541066294326856103920117580675191775563780863359284820925480664328212146242775161315300012981212320465738089044548846512340854442373062878539832839912855553619503997642286152877630524272265920274944377716086324448122623981386747051452538233012324122521853119836324964766628232981465082439610795276227273253011832164763225202784846278651559625761165505516549838494700555888141350119712683243986847991554219985794070438650326296351443577213242471392535124387044738133861224930596645972632641763475615940238753778094911558652456141874803118830789102466738711497523822155202352836903016438661506729451778878655500330151866039401927534347322242379987709115687697921330567901471271758989216251382577549283570252394063883592779213807790962526576122123671391451290458958296710356449295932411164509857854262652662926615761636134255013244501607163475880487204013527310962650252362057319886910954535234142233471182899362959188668831070304562678631743134182971262771237192684770287260835638792451646201330369593033832355516888824742477523211569521944783961399299917181179954482698697861457774481915507986937347531784478435822494723924468569365651335897168574811445145008827624267660548094829263689055392603688619683304624462645742290677138082131143721610552928248071332372594435103587156383967408863779299966685455458841226391324342144281356418682295721475496327856010345297203299296398739880539069113841906668750364030356820415119566197869457494424632724031716059201772146565867324511320010029788356190317063396