22104948571270471600571096013825811044247446404268796316224675399098351172215896364690230134092831814036895354655146418082249796043824713488868032201492470897771627341889196218697192848691626382655667809711117557729239809054601999208397515610986799317270584079422588829779895318819276564380487131900847124245743768290532358619631286258925723307697291366266124706179810020962075933467598838918803109277764787161849795747220566378767417956203879455478794338810352794780409956147783487156391100464469310831876684465146512750592097419795222033313479242147128950091543879562422485357581213368247347842553990698558982090122256902391179988258826625338339494235333909392467688350955185866416383216688443969028215473118317596723865758944688816939923267175802782537070882131932620949233234896231721362533221359407641209607572549864756173528334172227139379581829901378764016323335788144817632994815660415643926997582313666149142460291737064943782968634627730094493529728897637800727718769358828282962253842668497845972324438375928497057833867028560667548735751431452241914564862805660792773967845819655726237535322852478881459273204836695978989523239871748128619052687870896257774702692798494963997433337917306712284760135217266305359909092352334187544664096158573974563666795965210214884848572411454192023286551785017055349617952297040201165260487145123219456765521125271775133443599028989525631304838284002263492324455914623308270895809304240588986965949894196657468896196519562576713681380434981363761528196943158457558603897401182418925746399244431770712816481243731117273184995409649587934279434118889357451625201498724888033381171859057195232993546425992388701278621526107914534079274149722631308418696750261177017927225516055618667231792437325749340289623452210670845469945746349891790959079382415429950599573711424915773431919630523534681583758896220592847495418193856527006307960744678423473491262516420654288397472097008362876970709103214576640056660575019896021478565458716510188645178445171832261555589439906393326590037751683146905383615827867174079177392213330280321430805339407525502335404420266481930391071874625401018745318088378364735326478306984596484443264467761614660294492787232546260200476617890917174238705786108403136726835541660494729997630462109234159541512694033542474546686935547236593478740921560231805232474461098036390562397087407572326854610139072067948056793859183442123989601339017329844476169253163652823267565909965646548545976959408080858443943946059694372744574137787420879634436264584830460879722942415937777148534136295319029931827608531154103365475827950616150321466191320365754093209113136041492821470825148811828987360975117181640524028265532491112224388139917929284797518941137637585499906652191193424687322808201993177095736782237868039569765803197199220751814220913279937930473370521454548694475398602164649852756221151734600154332712939165853475856066652414968086922878783099596362627533422712196280019946415334914481401163281520250044480432931869937390739626414638268913231731529059073699387862617202449711027974995529856873821454425476798264798366575053777925092571169938618751340313649426552223631329493681292530494821398259454194858565460093740467041852149233543471689946948485385121167893281733765051697963013369501913814925839555458762687766694272604108475160118353795243671158975242276551277173388764228492361267889989512349813253921255698143689876762612785417398219197604984769174223400657025437915134895998761452546105330197083228780569938691859323013616419231810090248997198667251610653075806133788984042503175427608936770782811754378992011542098975262913915587683214913684287418494331117456340418483553255198556446802414961927648920427052318894386999707169349488945121669276269856500395538845366973843281355506631792342365717087882668882861387541115855807213899669784805336912920586517528763438229576475083498525472368164706441733032705930560295150837659514987042974413873926638974307103352716579788360534699352906023715948533738822432139757923021963515844113459827606982872214825389687382935062614697448298557805554520079808469759063087416127845467979842785212843676608707653102756262521792429863950111253488333197553551882536196223729423972214369751371721854792970189127720546126315236935590956177948480138252639747738992777974357298874224603254813448856519292246124995594017061243681426904515130083944260492493747849894013611735777268177259815057804909923867378214953380405414296124291213672728863743344191538367177186532725626481036282917835882232366409192180335849687772535457482191199260425861014752721325699040424411353557871695783023271894696808956259525300246950819596273359677797047341022538176481187546294817949012327066804981414492300784879412791121809424556883462147679510130802752946247438631327771336036858750594669507360432576552889242726094760227259740973757486137339774062551242822955541394596750679557434047398390619661676996642889780919218336814217063853804620603174634390343517602697722808735677340602983824633901444821353517551616858619497166768715457976445184097079439980544983309457884390538524228831427955024506920527803191398250161685515373245090998349448711140613946325117934740775735184161367939577418401194647435372843280638560434691762582797980544060201720219366216002644412407016214089387985881183438085440820883427433959943845282692718592404861899508363588108976769324436167594537866324435265686925133473814814290854761472826659015235436296359369950470822797092801136034424651146517890573768413680796174614683059689958579135482613411476028485777242407236495763691116649722302240291442276064983390778411210899496938472553865355694110404452279809991840229846260985234525223320502310992994218680408742146343131997439097920625686599493387305087897628235147621210251215412349514724939337113485502523775354968883802173432457774621156312285610322295469380