[61245821722267377283562646930129556563129578051435778388079359413130509704287717668115225299509190213308990317419332785496616829724192730891052514889583847581094743741811584333442482886277822898793179391765551245349267158368110746746537424725589014232432885779705146552357127069909752430085540555023478272672903247995534197947419747418766591647584850155244281791848797066326795344958203096606882310234551833054142984775048340916759255112574765941844037164075758876668734407903491433190058252941832330887527276814019725933840693392999502978339718154495334980627859736918221697493870413150977317129830669320149439530374680228173283848147029131826255435019586506006480133747711291193522863982493157106014471895316496060572160058978622529422445281193815848267957401359713884081648559199644624797703423438663648344708853384460222146495761633435750721627768567143749305121376588314511291217060777703182003582817961463783564234634316970653782898039700805758214841958411140268338020581954298838125426922498670158319686116103381594424585490682807918120135675128619386442647136262017532235302194255937528545207412671965486137130058795508775953719579716372711711481551356673713242585027833063274969751483229075244023994506471032769884434625958312904329394025653290824921643675439821077011857939356751472227273809861689032997999124219394626137153097915777329145327145451296614748261436401583314269950601438861837743800030375772720625841428848799794836474049620568786601002558662199464278316077708801850201575876708580820416173116851501307809595139267121852833579404151241757036526425265848137626344040696512212125072050248562299010962329203853113317029332235427189513467829040976655265345823364347546530567572071627381664897418748061401815348750698493941742505029799375460001995327134516127911180969005151426972792782006270213534779014706194771334953949332479503664219958244089164208614649474093448712568296816400248629102866350150870032372314220889681019102122219739169400824035081297779380177642278942312678594662772369958287378075870737822344063384085615140719742144066471440298331065674059312503477987243782609253700009156616102189455041792366043901024685125861038209377788325961329958728347157828119662726514603790947677906147935066279609487845452827484769791880354038433804519984397265321477282570332564495862646790430145707002519102225674093646963892598154890616208947297116276319282706465511400769478917157509113598356694296614660920533207051413484298640491722581355253181369318618332482204021411456240146388711588660902343854264146606300797523455767977940752740808511211009333326332586912453584888730640030923725919346450347664419612938023780042851999433000459612181829280082596208782753005350365094617375425477516276270345387869799341856448681085761973713834832134793215741557579330096485642114644001496278439886911223083673268685459667375463560517450708488300224411810172118693617811545831596967511398563531436173530837432583732144709376439100132015413941908835758088630900683262029146243672715573617731948724683560426304115834260375089456835088417730388839889531430183277137143640497273369130218081406923468167576175722643482922430503129512876260948202009727191637463167798737342532078767679615195338631795794450812366551006869986548557960478280686202180528476221543035614797536228046062427114273399749927031516718465463303446661347901576096957985530868975286444084015569859869409210353101519865668441536279657863463638126624287728260285665666791837060826020682916479008763969508655692982020636149602155938965707384275818930507223433060978519599598017400858639757060321468904241993581512906481299747008821790863647981450036504172643519363266070550347534230569521386504140634764700823353378743593792146832386081054899865453029994220175321063131920205796393254638910238322722167342702500348483984010368618187459710963147738426068960755207675573010104383004947024505046052007601752650855859646878796476181186869246950516677707409339858769558163103485749871494481890093046347802140825371895367155483400570017048746189921891606392620533419816831007609680344755192229521218169337399409772599637420263414742163865194697893689452336638691065289074789530453635314708695339533027964429476700145454866915511269897241948850961970894535353617370619248212125570965865988067800414084960580382687685878834596451250724548675838143955942246542272570885845004264538604604166553025646550765409652976995473045046388140489336934605774038898778515844353239535914180896290895478390784684191510745832625547033470596346541488656801708707464951679830745783726015147784342177378882355924385810430385462375238668487578380129703976897392777862408901000441495193468470070284193061354119933506814990515194853610326600205471235951670066119059926373687936184687307324041318552727272570584982074506851180224612979287629808395427085141300169069715103882504794511992083495597075647609409838158460840251674450382667308835277593447983630174729778144556316239261066335851477737132193119110768252772311952204080143901704834850769636217424200768811873029067476256502376189579196500482544239359235414009059104243352230054848789954921063626071849999394383380797429932653386609727239436355132587172993152361633509395277597652814097385993786579073607858531675536738564371015733089596101127513311579803076329735126480318068331980463027940981710927423676038211995373128338243603756029581420811546094520631611178540946735649243886837638141477058231952276600888606328942872480007160577182639548699789696026818606356679862219349695440871036967360021658860810544616668033836564782964922962414714049920870315914557891400689875620129378800307729730638755129294595015580112956258841266004018339262760141722707217701309547105913045193457595295427985030291047086783093879771370218303495013432245425225839795214825057407172349968687262055812514591865951542112086511237972729752211858788265934201956861990832096363803796088402587787081139460526977003284585335807872813804967221546100394371346237415780733366988688214874340913881411902583553603865088878672688955957514068681514828648165285908056338402110476848078127895704434431306964398921829290305974707398061414886476699418590084362956190919490070636618514433063436560754807798244364684810538807123429391470672681180709754807423404344390855599811404368057148281546224107834488196122977656157659326385235028551435734861759577340303068636768926202580718065161295047350960192866545528601361954721578084829589803166913420721919588497188772463652149439914199597034337242278889091398605569127169701873462093111737717555462457766417651300998024199717557735122446966256030448895954552779522007312410290990114886500763026503490693843320035520782987544674247619438620694769162381057736084485883486951124847833674416225038012548680386304700856437766440256482438528801327221851085262526989880229948725783893405002925480058216347715063390863686632273756175193274983574266470817656317625688059544639960829014365673256040341776075077482486363416693332969140169966453521117354623891950347329143464321666875621039955673523093716781587480444976291496728650717958377767759673184553631505771296208080992037647157971185766709498897203973583083161596503077663572375853959655836084317115619182429399907281720776307207634755037073069855328994267859933751903334551442397750280683617894214413500181740280067177957792177252044606145666421347875316637131440848655958661653714097482667310135920962401265374351431190357854252098782712934722471355000715125351136605547176595540048615535153831049495320391200115866241000479776523322422592794623592237325947205543927658782062634034979422493192632879737178345824178085819634262415489692053241873323691925787405914528858206236032415308024496207265980493776392332455131838391833481127577381462917920357072372348567731268059449292609393304168347666549559275912991085681372913569138738369612563425674181510105431919603294139611756949554487689296139181411377707295114785610837285205545365207492483231313617824765780067088298122779386130549106449406359213254818294043248487320981713465955799774498868714953462586484199009668120639515948729947733147188726730815475460702434672918537460999729813681882738387988775294491072262656417527835610513549348378822932093292760798047416974387867517054475603542954198775349665038405643598897527947717654328290437143877636370424261340813799086651967962320831318814663243919402290153210508004462616486854035415167155905927449121640193904260448799993738249008674133684661480904826183840005401848800740774563666293324892288416645848132975260015242534979693419249399422971858140436137878753810777679491823118283367460934401842835508716844744922481131395941552448539211687461002136085839512725113376802207798601939082326351514034885116862463220456884911314656442702417062388689903752845196290961756495906419863874124447155627914161525540102708354497312585539796802893809812396324180411837288876762802073924111794991888007675407399085335750747420905950225246188634898423931377321373522764393385978268378866689889443825952159580929919956905851739674766335581802260744416940377703069747952101158303449368468396158615121961747764860800794301648921192161965280911253540381681490275426025773179995603211891701512065738984665235893571534905986989894659064065508728079699620926948944912968749562975034522828908385421315245866959811397793267451624093580009620593753888897190596050846767490918314922163788721927322576987790222234740049366115420591938460410269168011844601726543304935053017894173622212035640536641152363394673014418934159910523888144749662747852504334238798429467984498209839130629305814235310836029571292443537571767305888874157416078772769104645497937356194594930082501844400619302239246973884709336713908769241574253891103336820477069869476738905089220945456572937734827145580761049654322801644385130726219439434360438766006085616048467700504784389816095413215713045533545766355038896100703311525035884687805108029722654083168405142514994491213600468872422220504211773135674643386631601521037687951525842692091897356518730165245089831314700173934396787970905842299461939025596600642734894503441823871706090813482139586447902286471942864411672809666445207801490297906466270763694841276213996237621931828240200593539496908283325950460763275324615214933208809777182206307721976478810826859379740474469763034904862080455886293924753795743610959841071063899889718942159621390152309597003211414879306191715363659572107678125255272395476209515771138888531331080015203431176392426299293890477525730714398559026661345504577488161054037840870743146990133293787708703580459415440967898122037864088676209576334863907600837855126746771701036915245341522352226652891090678361637494790962152349357565345880731429906853308324668579974110439195847734357352580910950501401838376128476736351520793092117171864768724729292510060300914389753627624547266996427176922445429131500975823439061049267573572680655853644913621956322235751333024734135329530260038856842675660091755880590426938760662239217541695834106020519566231200663535978262023748600901952446994056763056958239002994137770539192876403488676489827740294436432459031168566272500931460609452894650674827453316026869718453606615064378226186667853047530961083136493553372957583705063537942585016416380473888544293014740702542044726680787730235088581065833576319318833596990773458602851904241946708904261011170555676692041395415010341161071906376455399555031799412048559228024368155958371558957100599021759102157296321727601492191530026463198066305347775369476164655099998883561111324479487747558505033597011693656618215842970231171373375172184439371421578486624708026403902141148235718303631615252669680893661061268684399730808541478535976622401426596400550917136863419798295598055128645489601943475856628745220422960108337236645075801747499707627265726286165582694731488156741906089585512230644564186291969140123502219797406593133293456714034965044116373000323467307966941490913739655893479311564456127660921866877464193979249418836093915659872556203723583214186735000951887960248558817365174971701619219081621398283816899797844518684718056819667773314812977085240112864116536571674127873576635832281015283636720127526535980245632029168754627572761616208284559779534053962574316032712160153002401820589811352513722169607974719604576717068711551541991343001817028407406398064988386246647398089398123594535465837875928540595500462792150113292773563285799793504723763652892504196418166974657373645354652603625048964310949384716105290615161022662911591818983555446172044687440518060223235652456760148866095387762735098495626525970715428191004109888298263720366043524860785707678578338899411792375231928196632647478882809055619814244440454897034903582539425700820374730357600127528980768987297089004502081726683815533034303214701946012694741475463030709899909712215758691906290525407660389323119440363183347901082419638575136763982827296637681663839232304100730297212257941734013478740412029212762534774831002993459698288367293778619742346297005881994350262837510721490909016416410352849787725372031320735152689584448553542639260006909066933757349816718474916942699520504124876937492898363670627927146375579380885185858639906696851195834763698219797650585234741001850292765627780445124002590649012869035475649645805580018099056792336508358430583137785087473368218640915331133471365302416822058059559841824976878039541383947877469819867946114617271944740374015884248278426186763237514184130385418335821140105400724523496354817471806024817809377060539075972896252756994814455630493142465917902213006608196917846690418405989100942602026422515155016170239813176875939063987324951585671393375270057982102380349777865166869064062341731088488483925064283054624083358038149163415245761560888931316588226230296882904502396090041962970266945307975512688739938593994799020601645037289580765138131524725372810268524349626545712282939063010210266909918601693700239028846338507883005711527203592962059647184950476371879411661240111379544524710895084262588714340252830110122652068860142458957721303248939827851154655204716947392050076328375263746197933648359590181323848263656605147907590583689914160409402178410211277892204254665275908516424283691991602414191755669767147299956218430185932418149295953386841017356220656181141854747370966983837558685500129926543711841529772736605691873935270316234768700108821362855082513507958871200244648881428419341316346785927190641847958649365649846403750355455838115992748334566309542434028886106118104424381520891029847608896356412149349939108686990927591821346816180154288298600157745970282906919350964578746205126178981461986737759255778647497015722101115179723019214549966118467688135548701834616103098489268000627936595200560214091447918059676847597319096691166005196624957204440135504854558494197016047389606791729709574071768443770686685047125979100700732586510599412659607958494831283002336367127761984735015617920691367395814255356693985644803647467407490492383840048082945494411218534302988902150873658098062621220106469557471125577249174795649454296002360845967205292096698071183491640675730440992523746015974030861449985456456697803938889302512081870365116812855916017478359978890044730850045356714088565192363380239374919027908647089318910073061073276795888089587000907326831200115534453749974292620370901928971778559929820612113160129221241612845310730473782970597928713334571681249425765035438830559889267102928615617706002504715239845689640291904562409717478037233653627676952539620514562601872664687123806582087317397907886961335790345670807508708008181555333780621923684754119344516693877910031861529400457393203326663938796723692085837183733252023208656590911002559160638043524342592978044129263983052688869228215867793735341705811869328932425485494192598835699489954922801734058463716989528909160349832311027363654110585790259552964097529084586103798375084955707213907988567469959073391708509208178537560936065995236772166127612307421729261533762415495253446082093302040837830134531609434462763650835027116200069454708998874691098739487718535473679880604936994469189022983595908851479044119066383041889318231354125274409699218762514568247395208060406789594105874381785851738701936967675458715143130838074719343028578770802208058357835453789266222560534793212910189413274341939666114789146871563969540124855690290035915117338372495508546043994778354544208732917635520577457595714124750791954362931329064411664132012357433940984062521178484229062855990306517624110184354670329309394661818052864824893140231279133570926292395863387285024368374115169366376152011251772695541827435588170672772312510661772395265816214120004996165198330005868568462973278270619349156587021209585197221419998168617646588836944407861910363789914446460895219811605977349837694780234733514738080864661410800967599393499266580994954454041469170617906250256563008096751897142106280275852373832603680777711560297626095247139156090316731215944667859336315108264615125435823319836999238885239550911593915457712286811557157037646494402171649547310715401370594518039803801058845510420982268530999451674959877102148657632380058337912761860611596635352469365679311563816741646344111632289218652588154553480037735279902508451244474504836729172046253659627282893020655074007096246834125361947741276022912995620762072434663188007105922471227894874712676632463134426514203186530363625528469043456438629254630350793472308171924895422992821317702701381653698792940542851384676112085688789756710380274902994760460439243683129204756705443122006322820237338401034779114031448348717229066261230932198920422998311851878052195154564684683472646677087849803617095686178806484694954873964723544766862264081137533343221395297547632268063941336550796691568965633880220353427105663396778378065792071808098556392532639050009888040577512254323078597786703554349006741629283318868328559918501870110614859666405431689043200592181845110278990369094825146554951154367220952891484610463003728885173851930893613026160317669321782229652801825630363324274537301020273364534122179871378249203023755129016102888306850512666131473549454935234924094961522010000303963558456275394740249807838630525428421749545625365247453662916652667772499158781236034569181401334420600112391830716376294546235907477250236014851855470419125309998233568457839045290759476900464802399562253592053958040816594774785761663747499809698595200468574677190872006780566641258275221552846504093160105819765728022086679840771887928194307434731511821893417623317701577122329332972761401993748144947290224503877025466026516025798453856496168050371332716696204080954562535339364871179594624084553440074440903014966079756348478108213572506462589290195698060608341189653266862773181688282368078010379167049943252322302615624706419032984569905801680257091302106127278871337468525612007046423944917295960139670332273683222224782727406986845249624926983531325632489370357556290873114785607116513087974677981122777422935898994139730242724029206125821667018387642481543769024838319087151622073686717762878638715183288113465303198035857894156298155356944644448274098522357583388917400283645515063030260885672200176342201403596785096814978442738203135645575998199993109399905847279191342080217953494029267621863202486395532609627265389272214904082772698591199348397324996262947003312754949945017690511541471774937482974330820598679225179087792240748088205035769616044206132793164818072968371937023046594900133460333982421467146481479906909954882747864735101494396701932280640612522332183408608845257950125341430941799144685958897610778313950222231598626529705798252409737945878165177711157389262259895698267888511693947871186737666744288741932204372448069052426476179189988340212694508391948120894757044535190748787062515765886751462587287876107014317745404431177280715364428094507444313343622563673043351981056762919723011047822965426968182953446975940858516708464324887317003957483313605679235095176511245972332024916064440072688551626955747004584219884489304529184492301548452374164775275818319145106323918557401282985836854399178040600600778802324950565344462085120494224999243066234497706458494690625006032046447012881012108356793808511623710814954476750494678055002704676592965018886431264995302193073584350636846028908495634087739121297867749094173233465623005108875454635354121559273071475749131330598406112865672874202186528189348980052892902775104864040962880198595919637871175265303028109277423099503291902691368268054805701722343924799629168029656183342856457479497611203386183025336282703660448913109807512010656180480576523634777408265668463739993930178251861977305627604455737525142701042161719043403163912556203885472267593428017670375232670566167363600781330607263092475358932633883826490223445523223614168753910600514999449968648930287475014643133942240845058497643839074138211654683442260374359462411633163015052121691706613341100870968194886175401051328846532577439499706855520024269579161658902006656032077071991273414872894610257992861855324430911956709748105774705681203088656875903945661314883146743043307067911977287623521677610393571593524990751392850339816847239649891053939103420802373683043505679389211707942199098528435373727877965291747454469047102781393416287088670953090706643586946442416177253102430441022289506608594625185821349831543537597856214929867626856937910110350121296402450548534177358347527643868143806920860995749232259796685660185072853446879582871200186148651940529219431862868773954312395190611286536092983717188828580904404623041192154012930429527461406477590113202958363106333043430643525432499582573113847296025098268024046549072795887240090385900991608290572575107609474653355334813591460560690384401389643419940103840941420101150308824058149934635842844621327762303309892455112523875863956427743845755375496085888111325344688172689934443224491945143375953609478428656991240536027946590619615723897506470165380425014731796746929838207029365839381916290452450979879507256509018790985219521696038748209085099912262597278934887132349642266957871619518678799566551453890692945290989865232282762320188426750140946912720489162540642459081554174815170994939244295497773593757468374328952752634570595455565603872704063559678544742134626304172617739496383907061025770002220509873483320043304789442128731814328886873462614416524167388552638404436630467801338148829646564543295976734667047380495827126679679201893250902479914432306943545812236228176471081782782777621578440390599612409561349511019743318653550033088639963505419965751952397194703258718316568990585031759988270450814130174049808476689168995210637930978990932640242331440666981652382183433188325000901654135113026276191421203271539597261240326618419891683600125871895483818952518556822656632016226487068613483892317469191955113664993342062525721124116065215122251842021989126246323883171094556699194840060960295703711316208393921813314966912723079983611657057127030864982703267697333216102334275344703605449648866006947006645991266127703398956400679277976145498967861797723132695218917626985865657973187325594914563401638624482565023170855462331253873625006383945861797647887255950170622372656725171265127185381507887574702504999308634938649914289895517319912011195055787054383622747686638749696159052107463957688673040589274461120627606385441363674653575865078804058240672876543050687526265321628206452304718541663572225895931300302433325685741625390606421010697924023797989163440146001470746350651976321535611216006809219671160063979480382012601105832036850509427477392506192014768057701080340966535218995039806734239539860631291284776889633536422015637428306194388843762916328285022460879288886935769303812717327151509495710765961529964587448646266438714717897210930963202094299411658250140831213807201957678234306893842937341110386825827088804420630346847780491145188039471066207998253641547034854833495412301682557148267239351193731296201592114384497971747412938426709552342735822571894759189367471874801952191177238928887949709985025847123961893722258808934578011888221133419599258651184483763137453437538967162013418098468467207152985847675462266370836860146546363251987496861324719674201325515042803917675712877931337747416648394525377810749330667579476052995864841508063181211919733850554844776098820728155180151245617958091664989570861364549135559716263446355299067054730070808914160791191885338547097878625290023589796653987662025036984224515865236294884711802002950009025265493063240533144554154752612784021925969943509495692878802459001362298406555768301562105786837108154266939976477257327402189664843567476508978023517212541470650570569326691537280729867292134864688268891617994927217932191337219547256112854526589811878755707136364498039984259621506686592801105290585274532241961962565275798293868887314504744210484139522860477173718291607253164072768516345276631117047393809486351452704798851591243967330770566999140322554524446356360251459683213980975724498984273768837528081114090651653713898901008496397948100832902725174441312919554117822094207051989136816242588091298803568263078426120881920924336501192644113210947380865835092321765919718742092290328637297990044653503120775200567228886902392968253041727254974729178624072711794954123941276715617386434939642829752633669257847278349042290125908766513181157577931808963190739673021792997386610029123131688833889000248062777668977617636377990975539116957554177891432530672111412903913321279997581433911793714559240767177636097615012964338623334417108177170498744398990625035330555224186061769991357168230147413541122922708673585491833416257337461735460354326032326844602205302823540213392658675797830294981911206594630161258388870520122254601960322705180317347225062453009515517013195316325566532760630687110853268662744416290676459158946065290997172967814285780398342054630991843732764531722916886981909935332710476690434732019305556545515530897628889799247536061928440791172403071376315537207412559591404412425409995720411789121873299604530275327024979540191296591380810711507898256237386793336864383032197905055729884973548940619557493341274689967298302282415867998722552318318789854340303989892890540334726301409885332424885958106678494087331216201618811177747338687773126249424496525251774704284200543673497195148791554860291147851991588454873961159154719299984228570854999031609396473315909170368869798745893626492248878912424640975684667102280980748236269007536309543788620916954587217568843400614894147310868497897630582462269595021891387270076010262238974287883715006635515059483505348450155546673683504440689263294604856328682964206024593523726125485655675658716747726224712844570814626341958252657736364791633912625971598808477779632834093184581204782544840789778062297475554238952228897333162952122352531898722929232494841233922104982747873604851786492067700365983575665706484721243611254898345974821607549524455800162799559789227689990987092276883561090706975511719743516682097168621526859127824051649076606055798677652085637437555816550213551563645524734160783472541080523402287201661549136212372951861192265385619201006756964315239492474827234541459184763728147038736896568918588556594018108626741298884536549754285838195703626389125572525700832904775290629638259104223640947515903579105842614167077725135644853383749629886317674807754136420423816309602380305182788851736179256696775065548141892622672114990081138409164251563120205926491285919840471888062048517658679977522834007900006853374390902128212838089010261702633597763378149140325621224785380109938336917015211990192644549402521970017477059007285612155652174447419843987620089529731065252899364864824779797784658177139599481869233519026156695891061151594785975418525549718996632279957780838463316736511432943077952980570106220139287541177151238579310793263420768878825418227515392902308587403734319972923333644854261539782322507280669638703018048264534283891199377758339418421749053920979507279059461695446510580057867169908078189977457298282118596517972396781566041046929663112568052566804575645366656954433268204496123061598283039538796704687123130443619599976913175453604784059571063669112683762447439183552005820116241804911226994096921499031020100978012268055780064432922257480827558910707918993818561403943902752435581575590904695213493745971805978014066319033534505142637665187718947086567356129292776606414324072203549670829842472580281605954150918463174951136150991152912305930866654854430848048506175963526307722907035673837139399782075469131799507691400348282350299403944111207145497838420852487766769195360689542973884002051141898160610254649817391309036428214661239861848004569279766334552310175385095069650326642227547775700526498279430228096133229622978525079453351276099018034463793270239399705371943586941761443222595876748773157649734904001167734434942982887992126942491364569175473522006453541371503728349448779034417536163931776275439100558047518736125076559235848570908507593405092082882400028821750181299984195835407927568294515634839827834417955931999723998802156881180684419511045669453143499661981746741282049101746875525748522502115040543122258098434112194789125796436020957109240230360229602650313418005606372067505504295532710669799644280568653097265016651514691829510456366391703426255582673653019419921943898235887027950928207252916762438427544551313713734747464321972281762247385051301722322617621818784420078962447782114282803136324544442375501619926223342161438703341319069620563408733600175100443119835729824513245634690355898992854819961135801683590364318946952041043150072328226585259803732244434227814923224012794801585799813942686343774428052867449535903395395831624837105143028753158900875026829434821385761662483736999866364446735155149853444163215165263765622338712387134593507920372420210874981697185816965348910998439805742886301623490169409915832353801953172917921862601360449969182530475849756820465311320531533074062948488203048001590264169333267031978416684363557013939241567056511007204201227440257403382731914504518224452467377715637882901787108740649817620633404765422911489631046430647963001253897828801676123818126004241993847051782732630205273240235793705651511033404035609754115440581073063795316472972605393488659695403579961684931598110697389085475262696975178579627489855638135766200451747343749313294996982926867906200790473454050794664562864588934139151549187165855293372756825813902718601077366407825518391723426840477786530972533083944050938021300830434336427319502932060423163493324802039172881947475990740659013967966419960882479005025831059166631175903083788688057608532308899364856866759271735218233036493392826629160056564668565950404018523046154600985374050787316101761020662568532266067473722398741074178635320070090447727002523801699724405999885082092518711586700129200958285892962722453883008171421272538324398259794047740160146615979245650433452816613180230648038685637458922759171511955965859192110316395331644048553624147322192458384762323883831780410476782186461945967101576588812400538495300359201676348580091071157158269454705394959143219969521660796217865860420769630625329595884780055992555995290911009816302875230310153419377372058656773618275714215452716815148314253613839553138034434250153691291296117308733394420854479783208720117148559023695520191490469614218087400626664558163005361537418642361051974258663643160316028037990062026357013660595379232938146938735927215900013613070254168414631682639253862528582593820138725771617314703665301263089939761418928185918449051803015255006857267991688694781518397324903495366154133468590981772459219570247899555647240039505958060447440024587896581910653278789757540790207705076841771423857950156681362106926542632623155610656220594378651240243278804640786482439746712765473140759377614963947786485234686901811800255235412038545883660291567100254994782072496059411005983478958037225749552783731224189664226201437489469924150549266906438656796045753007776518588756470531196519128504778235580827644832433402554391927732437115232521206130326463261261331382052702589155121696153305134803199069750461611287762781363010911067537794233822758809523383223202772075200979952379114504359798129161501161157108710823272775030498657577659117271354045518864493100988390118660622219604698459368537383871003963895167521258949645761989776255608833440240719486008702878912339078461419877000727425997132613644748936653765673397908938643745921501031258983400224097033751440068319315413279768326467346740676521275609011802039194410535597251524861281659329966967507776315849818507399536514365330831237153715342570506087022577338508915067103067096774597744273331012068988205051285426167255610158872803597177099262477953916924855289619407527676514958039000759260526532582768160278663568592069627684794024384085419797381383950786672199300573157280082752930095134019721724624277261513478425174392033735440998242652740768318545994418403257893809983921626557214723473939937607958837048940524308356493686098242498854903527801374178804699366988573448091373266180411810657822461319484527060616176995961735254821421460532679978532904471403261098758339052787145820990280910658120265116356099860913366868627433938916783639125002978898444700408751586636428641381899511337287156895551052976091575897904694571111881141738372425076074543438822754430302342929480317519665646844370130896500751515449820041430578272889176858692679244511237513947075771073850646965122011387038856480869072898773968553601848856130604876355299617236745670611039215087700754776834931024139213314625113856197919335558248472603305898334712968661489027583012289346588222595365170569178082653057959460695947269230106392112951934593337340651396287657048617310260463697736731006550447295490940542732390362523178315731008432124966013564364790408470388978473460077455647532731115324302981822852329487513527923721340233191957269150042288220409734166214202100499505551396030294562200635656532052343801949318460115855105654691645549676374511384199881214287963368089898223718208349514850552246898289185901150181776980277611357699988011298532945840315388180709427707724798173201368469073352569406211259141089316258442849446048247605053255808660082015607070006839522842820237184945673791378932912508222035085339083782698832520243832531341126561032970027399771174836790182770232638283096194880930342855108546083198667351552914044255499010050121381438554259076562524398820884021661049547091004933407537498932192386783917848578325144763463384498521680737396092921298202613002125256354617662198136187447446823604553850326573768628775553464071232917232092814554829087066748141889818341416034477794585644131936608482342811985080776432299800867522239701569198588460508107600157128702199409620457233643332904905349065925391031100340961356956979313159382349633590374406122343500911452192346469242822056090565444775630528468157765346180281035368415810361653902628786955173828771254469585687637825001870954859699460473824263723902475594694580946152754375953182358771151427120858986278750434057658541455953825775211309628662979610585644538569174270713869329258056305725450335157527667193745578922926781459426706132219651956450613266162075490311393441375256372065291517380137030012395431805869189014112677453168970797916631725539261604602765443578969328055493404260208429006512465371610665774349985088038024088609774089182544209621700977530232098231145192877242225456815470638951184132750875019253357733119141817433490227256144884255886915310284117590530302886283907327474628484259807221650393436788938709798665689780662967306107673605944957729859845979485519029713283974060723593213465699136609414543341442814484169603696070049164332595823300899742439420756479813348276543300640328037983456391639606431225147178093559584563190301540145139608887810843305749169109746463203485422460806071513953948358172416930114061699506340446570618202329835420938883313315789693779402201061135017953899526680829957873354812692612895948308097910121395522898086975617603937935807500479030054376631876196858708593265705848485675432826229802319544026259778384049789787153099077545240938601676679650229913246439820735330095562467251665943873799991055522700931658487024546544605870855074208674419115037624162531045855971431733654804015575184771951422224529823441148932213802809131637324969949325436794684324924577475943152106047692358806206891713754378395981989775601080641281393450897307100101523576460710520843674242868234562441640268594503453992993299007834645897420710374228046999128145614075704741275911798684938368159868178143017110347183600741662682347474147725063343866045554894074116102963716083973559999735142750016878312634540880367154731247270577404495183178869687849656738412855015781006933910931185862893270460589015758306857561842864183344948709663650938702967451427389699312483889146485487932871233891985939457517056998870198578750567857015877968959959778782233605380737047285462580930173243204866378023901767479586531314413972681520950550081031152120249919992381477205493811420229716310312955740877459904621057409967373971612114423470067325467228897774131009748872564673702701324571503255695476875607677919610121501256105157720036744256468579383239494898618189552654686649644135335143743617918828302352588153064040487224401420241603817586545668933825354266851411757701551134089454058591171093936487757431825339720859307127767588014913177259021465925217811069396695571195140510737680402058375694682240985830777203475479086575505269911642210865859890160710539740927716729617980212076306311911941541939130480253671070026683599696900688971755831713551796522630777144971122569785812345732657479998009910751922537912839138731582609486551887371915918700529187657112992692510010991978623448790473263265538983168195317163413301234187629909462574052151661092833594212519262861778709409968099439193305357959062611764108685871178769745077023983503399554801243733338634292013965134440760847346087277763761224142852538930435657934430894131431806378216956622148694757856994642287382519227486904221161365748384006723324927904952230102783212307707665474509279168494744588321785167869342055976780713483370337523444278449197977316952773387764049989373315469383836102010693643331897762770577613198996282548817896079379149741766349060077603607104821765563554340034479570158030174149228814834505447222273308468297007087778576020405426095471399987842637184457832621788724611121507479537559470128424915150630873805945280260098432317701338706359622569036878228678690979013544642994510764625653309068835505800590633124852144837039796497248317487727831182240959915108975146093085889600457870767193228213853912741594969626503418880096026428645861417617881681008610174274413579069373562728081468187798600802728653423707164419062366323843737107377085540670675793470734202467300555869928033964748269117199545733521482086757767276793940309446548146922735352247030085376116608074677787582202327742728638675158581803289366910560040021655338758954490340855309540326944219415577528626120648236363004859272390951886371372049741674352069941583501536677949188821913442717770743328179128277669772786680351330885566149531071655962076653861815830006836993230461720402569525562386962293719253532652866519262924249211846502419169203875186155432221293460625790594742561657617416012235039227785068142864315130070458576834540895823449260418644129732072336725147828592167923491796226797743546796774855678113153573346519874817874786758948250815279783480168197230267585491014555459916825871713098156776185771966880234283466749665817503485362951020789115853364751510817739957006142893553273005752041431989335108833965415967954553097241495355059872556227919029883509339132835766704576821838874616398791076737671358644511133367844158399558137801752216320796012381437493243107938925721948453993111123737343772831160527267941405899642045387251778920733755790326155651019780697746419208256257519840802561620712135108354835604985117918020377057200123311266806560742940371029948060818505489436017301449042079945015400759885366635357896597683390952111589034590393586385344972562359275770827754421604068953900014843538534530256814101419685817920143573629037153001160035148433788112990293652317546631360896427741796693657549557273309752514409975466429725921550576830889986691597199781755099951058046285447371921041860159140783326978353315339461397047947561278895635078616745528786483 : 217245778081454186237584989677317853321036400074161936717924366532980863182972169809052215832865786563886963212070917920198111389135802326972637944449706276959117613576327718901890612132827826624609954928442834457581995368415758364332896797404557734910882598580051627574903269026525844678913182474040911767185597194166419820424631860336415466095530404877757957259748575789795278263419167281428592204285337269866633912678455761263483716633684298559981662108268936611720730713697974499229436282519428127312416405830539351321912764484292541099682259332109447626977535945085984292278810629220338105749641193074467584676804119988148891554004753060253632768167579520898222780680389351199795214928330482855239128508227690422704988489360230287705974401290510441736785738250874567794907539919792235377530649036738778577278289665515196644769382085292346071787911667488411136424361825325919678664237392544122387950679075630941566960865550435508778604557339641292924371761673750160461930140939544903373887924319220995927308560755484333983695569351413875668461060271856123961089871022461891872442318046735201101725393265256784568170058209164710749690041795331411725630198696994779752634861830385843864270347098305707891253313299158949125083788112236162466225921038570948587223185004301026493393122755910276498967531435833540084047062502251805351886517320754512564611647565126427688448884587167086004007554765503197309670305533925241423806406267402703756788115606964748835375096045776299137742311510810577384835078452047782189360987623692207935333784887768942878864072770782879252021461557819698522884950862667488980208234709018876642597914084312460417555519765245823208665952052330626060009773135374130280003442965792277879710090690144440454539151303545351667491225643242871582007041386485801639025350237798781049353767271984607830678982659189793544011670312367113238915313849500950372288825497497541221819767140961337546072077244936390663065967888004089152013816021625634692409268957618701498432256056534800530867034373214327149282404408612985988407300148107063767773343544378943607642901035093826955263770375756627877551698878711760325262363625173757270457041692246389403866516434298202340153247189311441865431750628984263471376649309397765843218650809190687710782144268516999319574226142680194359623972049848078229546894642456652615360709876607954486169341609587025698578066590024413911963540338659523043283696365204791597874587552172365006014029648743220349254740178672381577261779805615087650852356392000257879271491397605366582806956853821645660468741290604854250984407719666025180026178478586000698346985430540881427730768785149543407674953548257498722426704773959248352407336938608707452849734154662334568507384980059770227628898411747168469845874566508728423127700143169373897061435718811167365603333662296292593874779963011041962605674962433754943052107225865343602010938006943503849467233675922152785826276923114578331421632284021454121134252005292697934564753533094157287184967291594662424907638141095618333803114771119044517506101819886479326651535637788725357306234269372742835455522792457920769588652664777566475514956347323550160319095696358728685215241662226754309538133817288815601525393353342119988171030877333964230380216926881487273635657149950665002967306249497076136125471282438735734029150629196435985951569396833204551423121190026930970041009504680530527446498205801118174191645447279576829183346261866271227416432315789644222693945516494741621928856367744847219348413277366075284535257423917138724960285237658382975591314213507274404019392152218619257322179429436801893806314935803916309843344000004459392370399132221778515448812502723481741225778895261748112597067532400183361874792687057608823867018848194094387915469207814660223328721182522629541820348488751447094615081165252534245907135573319315042703737251868705805161846215169559076632562978554599412575164380847889979848596162627220644507826668086015931664367486891525506021672986702631595912687392100650684460554961813738796047615605610763375218919390082280565006177784152736777436606140559882545168633654508108635911340928099336895964289604782316528106118674078712130698934159006974423327044538927086145396942716951516065310932445611907570103792218594811158640075111150349088129400163759973673000598226412028981792148602670397105719322945069383873776448328136494781480599177003003776451034947599129112991169694774713788801676210179269042721982870902875633908301278270764987492300534893435862528314659008174451786561866232266066714602346678526206243726648042600611398842607902389800384800721470031865646844792918747612709140180293008135276043091281991535470321497142787094945353583067662174627706815701352015951265112862610008409002576998446159186672622584691053349423851398634627042467176735682903273675896204301665548536558944788419651063415911309317492540505461758116561551349343642676450431322482819269306941747373053789896185090320770796575983258644624153618091600833946541822168186521088203051899740787311595692303337155961966974154487537181785786017599641846043836826776108687416891465484758775253868524734058304677273466708177605015397334334609044003917153259316008398793736541830353138929482478313422040205226507554641836395976478264823205087796250486529554397306708613146399085530293107365621885515346291023246173372684449651962208166969898663676609939116942227561571231061231468878042161395847036047811570441567349416047898635125772985433824797305229296343508818738534947092915986879734565746702141303059081287251001096585455316737298938603337904491931080928686849676647749346601116208446953716305222847061713782638954025802986316951130428586100721198437179757349354298068589753230350724821806595301848820248561380876964592606054097130991149795964926869922153534101097967529850481892574630341248021960775612233550367545049776944476273742017511141675860420577458700721990994903770940616038501911474187775341335150844615799393011450499095644802263940702976545955016906838613843956640551740615002047077635976228233677135841888344177995839462255445454470781512486190168937907886099514996887017124475264798931704128467780646929375658541434559958499468556232576486270724367797717435109200822026067708348514368215733834700780966487748788365686747738425802195914816779608549647625900635379691862669249985907987132446307954290154399415806892354041336033487199617272250178312600631066787100713015396831804440207461664777203536216962164510073304113529406494319773620609235109978419964284218203469821430360576839725467484497576329318778818973542495377598519490769243227343656378930169173463446363105870723420501395625970482537572037280397368397158029478243074578771699181502615026266771073053026400529162368640424233235410049796444113487982908901558928461694942009072085847101869120328732420845514987232053625922313593503693805605907319764981443452891098923382583588643593220870495870548281481683127509874102485125223966016720249845873647153223787957827021182267005283887972177771192703429804675034574221189787843100089543829026227131618982109077376269752152715040322944001614074825515168337566656388789083675098831849873213339418849347684655805078781128468991179075560582145137334801800230897336399716549838762378272742742409110445313953905768953307173588656294233251891309781296088450775044862202460843452048463984087731543436861571425604534209205307647667132730305748860623683186161331311891847880751770199229294857225866826913513465312451728956623818045884548494913938751428889720445165514716066032813167254090527549270664077800171603754730015812346956090009861329619719663760201293652834820279035321082378986056173113933806076078468411230608942465739206767234817962071686715693995128077718476610842442485568390109345937089365236269873049872739965917190009518488169086207441194762990649434493399499264649422283055541380884378726167344666908920624824003246644926218182252544981162195890248846952990738611183372422818131309093850965194066403054956570151590411035132964732474122365145541849731283117474906216079505475925899387970363220827311031583290282272950990659979812673353551769408523377210207539702889901790646020449508313599420089390963611680934651791239077654896642411881561870730908174434477291739587816595740458368468791688539309345825957901400533511404639528453945691158806111364438877886192312256570849871009703335344856961245695012436564908565407259234729025328741844563656425759291977215178525871963579155009574682167490564348715792642526712694118588281107138066632877135198371454067994060742180037671350117452349696503784539408521878909737715316275806736219223682284015940022573783092466960811330248372374190046426536321130651316060651904691352899814958186383298358424004542390952058055755752667729709804096324842608743438931380520661829000403883417035221299899670726306538765978719428062362701156379741823174452793983645979190415555180118460182216045664257282956425343528485861963808079810214929576765986640086386493498138228576783352445800760347630711112503731208432251799980638895782645368717532319202104310685366434968495906259742703366312866651450396197593551530565953714163390961610260335946548604466360790342160634579357432203072922049752808275057559075334574780880371472255371679743795350770424723018391307569818485396504741727906343045946849695526908034223396862123132014674790363994333452671597095698281997856894822348809772192494070631282831332158645757374047244390748112904102019871110376224675121975193584777168152134194993961867191961888804103248513129304927894994932539528079567336939130347485248516457973856589797273376605308687269442447842095746710240528649104179211220843721958766666834827884669170388476656541619085118838504383102375577047190321935954660827359556627166343900957880770160765027196428578161598580650147793101025874214676660094554882966440673157917812811891568900245305497596039913536776201063313493370835744711495685772600086185067425813648114983770185503147657457522900100802096789773519759557033806170036444725300291307749639222471851625738885211006011930015236112261271754358549707836382613514144671799706876628059930920852537711742038171133832630739765492048343189020382727636947428703234459614454065480411896127444586472925073410974759836920932540898814618253221073855912183252161879209020314061022391158765382653407304613064780053822311287498418160470766929465876110310862495582014687187793309124956846740903466652798444690343067788098196017447539048209628510214809391964383923776256433729927072188021500841965388651480945394715697168284042125633628478528700287899598042749914484807219027934562976996539171321963609507388307666922743681006029700779217018741717194276872519048124694104714937273113916440954838803218998468513958444923451361846221843577308734706247046134883121077322350230326626428402650680624735023653448294396168650592516737466311119199076714653556440743270105259458298472483751455606289540755741956729541705985320052683995779719651799656136232057992472747182397481777899272617440013257004630411061156260231943823894693003378713222054169497023104363048163885559719992649391377978713938304712348696907301793765622523223445031014173747137437225133759722128818697109070449035698857143026635070959536476594153294216882402618039059579345418127263850615135005802315731549919429626630603924203310394477474082788661459329787637023613311753574617017570251595196281933886521012787500647263077769779345802909747161938348088583444609842872205079715565410632279663529701002446623279435703734172288417184911267345426780496807332120020900765634623719056737433237075202488856024388677087653857576910125211719272545276556797612275331753112667870521522128021285162027202368040770909409258970595870266019221063755718466452728280338115072545460851151155024902354246619196344066345667260140406340856126647040065317304029293338605271879562398926496575279443054280645918780067749110668664313471054491944129801476519581082440546809816983184253187957272547201008909810683060777811926096669907057353807281019368764565878620936771273708253825679432297788268211909866687927968963086226126148489998104520890498322895404804468438018236577203898673713781365185317156543160309529668505822821186513327469070796631097573768586645950580719391695598562595436838994722330441243018304754393917029368582436710237643856081823666344420627968002432756334912031898054923135177172981520190018684766790287076494330441165552328249375826494786294236673480096302460414852003133484492788725659633294348199855346227582144733320926699246661595041822316531595318729475060618269843011334084197272068890067686277743953885846620674666576701280032393540256820781956673086963081388462810844806446729750269106189903644953773178983530221366075755531295662658453634234967911499704177110555555934569235820058216665806286540723410146642029838454432050607573862429152648252816974785797094396280834901055509127008725854651020734751706099566085120911133022585060330508558666371454637271443182271167330080382268522291820746119544983513158557099384490484922727145322934829449801563694361305023170201890203668332301723430645929759688204114236170393211977301291374687432495484811469234054071042689534236665115563789250093703635556943516250493876710620797413387241081920205021163502713395623474911606773359369666366655428648812716634582078454017607309827694566031086728958496154062214360049053539526088326552283373775654853135524700070176975280621569985741076953677542129853945369880117801893399452254568052345598086459488879425092780387149135771434088715821396580620466781666737101300288580098144112699426236195868310295598707654703534815611777894287141880955954723121274417953230662824365676720109672680961942274174331000379258895457343861924190834756993533286040327533697429136433209339599433187004619521837221599211650494792474960861769782003831499030130977023435619965055612417593321472842021385801941298135355625783449634632839850635924783808004087137483918791880124996132800182004156175834376628918054406660651542475957451815163932453121991495290341641109332077101691266049819338334374651325320016252666139369510418779554661427919012159856219286577757257846411908667670752662061655969634326564103089935041818427570997511980779631702377241026938776676726247280079805639633716303686245939665154010452735364968512377316857889331166793482027613185928281199050305471134062677532744794650594941351633786329786245678516873710832461690268127403754119596834509351336535399581720400501581052294839430887200369232429744685855859431893057192773500085290002700920645958332708138805637675076336971702838011265963900665323921520492986197625463971354526581032059053088700428126965885388394845970855476269053399830415817832454361703529362768323978913061481010894205255931633809842362199131639164178293506489704703077848944699823837123747163589198294963124767277798784389953288560346694536915794328140186141798737594872402572894951095539560555665497935020747757833090613253265915985237017719343968258403356840282459597384450684022841007204871764618788477672972263510197020812604063780602974098661243838643838012166861715587024322961686708898994318742565627270528999168719393671155040577048351467640321478138692719665094347949404304447879842160007420229510778271408632017847006490388839410029850982201237693749393894898169342327483431840041385267227109052285519404887161463473099453224993740754009043470739212142618948845582596146669211716272371889517939589195827455433425771244204122703940876199990058032161889345579817193431877560889145680517359074705701320660277017713971738090024997631882903255422011153697433046237521486301027007235927393935263370733496301618493119185298858225974122727886800009787401587520759467495158854123775045402389859146665142837024750802923265791297565717814576002451587043137709726250570011348659576408067388068071753877948104105726421681112051475445973454133227190672412836740737411688266538314117475477566566835656755141116413212596266014192441269847414886291838507953431385450021049046114142835634438095182087134486856319827543328168130265482132363357030246110978954538148261455624943296812453628678449725044182164786917831924909768088367377822491779850980284084007521713769746234220002790994212812964736465020874055212501212381067128336319378502222233671297485659207946015641753576296152900529143092830119023714805591731267928523366404642080270507504520027374480005185283937513913296333188983910452294403128306919222208910545902186101947232841152596862611027325327144759996033377253615016196881166611624954177579537650325531714184108998375213295228216702011730670151592398031980279488594731623620159389681108277281177090658122308275616086947367167150345188471974858616175039156362112795251343273515640850908825894909607058129198795698979823327834741986878079882175002246532509329945815459010540073906104422353437436765448060794139166561192734678706977787979702231483701220797676413562692015643640525164738934397491062797645871420629882460877534423208704376803998625794621419457760518077737940838776818195061303583126435466520818306491257178290798533828005995321933084996540416903222774085150973173160709025695100999380075405340416081594608793746740176119010398169518759721804596362731525327633612057344870388319979274688947762037013303319774548460766915721825437963779019774481484346813930777155382209684605582756905018846077733815045633728507144202302522310622772482291176854515671731723893397184976195876808745217334964191470585871679393515503975691590477016550177836850905139289304360191624146775335174755805682516786862842574156853238354368841179951354939961337509876827647725866119500959354982397296048959704615441402971757886801904950289151541241998248248315069554038530751944464359007657608730648829012612833690733318187924482807638778154813350720115909166130713518514713088555515552008228494221644866710590626548643412677104145030535437684532010610011684610058730228118393764967028314240698998466479241610136749256850090133634312184567581886245453398648687469647550542052457974326439513963886626158608733975900171088971476071279716505410811743430573777582024428090742731421220488046519156144149265716732193544101770709872202069207853127825767625164042815889408389926448311386209193461877141401763615516160627106837488919278796626358810095012759476094314348028771764352367701157050558946567641755405017083862455876471479555385678042889535832629571331122715607960604090715177471797793320080922291917722953326317304190282517460706714931279559361165030375658492676252166304423050417061031229227009778528300970523087399083756669280081420152550246957858930127383855956446160289816951933013477675265044226930395828225949134156762812608118983758737345791667005626862253735648565169456521345051801885048706278496634076880833416780789015818039274054454953862857824991112803355979654806707768682221674993142855552045705704531216375036502817102032380727278183242712438339177938241374413815998449423497817765672938196928498770402262890862119462069452403394849741078943601505982993872080373056235895399679784380214732626843923523775466117839893890895179239439862386717824213337827390419348152737225685860833048898937427836425311591444986288919008640287698109286709396747736220915902585574919741789908953017999397668162685729547147187390624387670860565949282438047246467844047896778895769969980030822186703185933973984462157509362708904057127095959523400896056183292557960549091381601926594278323419726546327426101545168138287893086984867647727826282075863292609742770789534148641757660485903367054542498952492730053492275421073251345798236015217074095103554906496263649844866487291712629282641094892056584256269218849954683734170331946994781801695370603911427685967781611104586905297306750413089479877166552434644143974056717407872511752759695845013275299396806509687372027783004170200190645491626446314287992032728599671552952471381100930616934050144691546454793258371621650033917781441121905592376587858245339843035379610871987855084991384754897483815772036932865036078698100301585071879732048142986270698561670306010813953587187668950399619317349898612790706012084479092905726334468720213672564090655366842203113285505249296599412917916283634655878203510808486526797799367160168644631145809635784168236200732530146785237967437695315166047238169268610301921574328927020053747142666976917297607328491063326218609444034025898735022525615674531991414733032929360275544936785362800584529281709165111035676385050278664137934689113260093182195404612139211090950423233703188030399996725272347244389454716997076577138885305944790448880313883421293179477896219364657582905731747146687824804062092836772056015864787431301251342486205330178903591377437886762662100693241261439189951223991819932645475876036283928278630255987042051622525861103683857448272913462699444595681848140114808799252136999145001617045388249683804097950805934132861803300986187931960267420339359807687186947585663288555636818199442566385726157943664180167547444340277125864406373335830324406852079847686619482882863063177222439633603643167993493087185928960285462322607408199719769646216760751896310318279702603317704923364226702796785588738232235187076483186680494006998797258266263653163849830828369792528876769553435462291187752936573097213739924566020436409593052343311352810982814633790323157200837867701867256473469059651850088865413855824704745586743442822912850069670446221018645302001083160737298049553663834073759915857394582013058724076562070177030884803162316187377307243367932351452396720705382679475565748243979890322455927713421655992452421799765798819181031447832512288800806974603784947617781824647050271919938194971604981790925122949370207085500313102080808391472967433369171051735618083706976443980164889413834775768891097833113201904365395624588814883737251019802315891439462767738911595042696432551348105431585599298591994804394111489779390229465414409487037979414454700030503062125579343061303482147759652203458642673997919215972219995590662108805498335428862287851124652705746904030415665122071828034214297488792801289642217474174216680259540357392215894301631021341812597499391717591490239684668724573518990479349502476517818295544636520718639480171086953451167534830252322889359961701278906257068252400880057833313075133567623613404856470795650898387894838151676748052492603297625748433296122554333533529677403349484282990602066996346831885429134073711985267313150098654683357854779962720542242745094553795085625886480965325111339977071164013682400129569796168863968948509871466166246752206071443133610010779139604915666340771679477790677453199053352273898095009433412495077452332873492946559204119451456891626028307943943774403744658877672281776406411043118255569702123384032997799739887778715751173864406822677988218249383675262797356779807335971088556718304237921369348701863620475934088554397338401807235583173506319550036051881832356529193892515414133882395951979147641142872609317629879386548664733746309221220695269949422905934190387789384819206244543751102426928752876766960263439309844772059481337820149231940903227126134663078551817820286008353409193673752361162470115888555401217111178099354703560245745851870288596693353524397234321117865827090703991425734179526616509279031614274871201444111965140620603529093506028336663359776897104768777123232149544559785440759368383790250812928154611464124445128633307513027291992558043738463502929842415437863509841897825875818658286937631128792775816945523632805311454684095706702481274996249058242995984625556934394312331269864203131152090304998666821387814980305705219297433547172819078674181777917145399095569703583808257799979084749240829963049840971091195632870965310624160044158648331296917076317396112147070942821585787312828374220185390355504814350686152274425059697204379742092995834512616364437487444143668444078650820172046480507216404243038116337417630251149010526247797830106136928655056218404564110244276570301291247938286839547000621038825171370965856129851192045733976042326281853740851395621396429907649295663644922348023662988350115296433569721024496994101787989499248652994299671909346132107955505679218871448172173469570732812570946443732789695864968908097120172700390920981726453190646386724564947465071661288752060673433065502897664156204012821971312201278034794910620200685828641832677642624632785522318431610858937628028333124964490818658427338876579035373085371533478148044943672615438332979040883220625692056675059196222014249476812797178115508402772267382495365897132757199135789211449543854915570935446330501139120412101100048618870581990813348257076877992674298990915436760828704378494760257353072492504436321346810316351929146301022695609452011682981936909522853818251637927482682086400203908545132349861793794931407558402240549516981708978725306730613818152348192082784431178517401319956213426092491765183068256604473380613380675509881765422350076460682291089573396195579968280931591145200360886028191606852897641590504033914642575967766341644331423667762723826750960632622099753642672322482075898994004553488901526194082810885857331806321125201449119806016249912876141682720543930164376824014530299391923543277709291970692643915480796791508407567626794059378048273518819623134605334265866582078124360656771382205457156425930757140481339063803054809709218866336541652246624796652828823577070204043149830775774440417760034475172992647821584159979448387807311232662310445293691116988813339192345350424700250223822407948263233288926159176613994370864905747722704817907679058565339073847091322368986579016881897508006081252092344175006956726688986785283313560628215807375036872015673516675139309658084858629773620869435438269695697075408719500627384996748827485469912318903931830591365111704963619688527211973973943643708291779845403942879682611163791574981662412770011974939212057957588033679759134003569857862793384465616799693602983747551960716201119043244488817473256310699896785014198256486631255096259034777926104658129236933864700061287395038245342780178202910414125104843167814514627638800049925651386249502984009914732767937680362497358379565156476134019184531061132292202675360106410140274652707757603847512285036845768402789754038543955591150236314689649742459308328879833514813345845144976703596194932939257889312260218254799034367593240536783596159187032198575994456560080501787295244892774757526792691704974704292253650335015376762664123168784010364418677237726746982774866517594926428476691449072214290244930892596832254300543736742387154428653875221646007526748806490793679044488567636458678791357649834266842140141088539219960516496836766403444324710373557692638128252080602751643531809852799214353379228110441853057773215148836104698484441814675198342698720363334269971779219270277180342788535320376312254402151618318953282897112625518820330988016500804924727886541262845431399429454595422818778276376679068136426223618872210998911342464821904963770537404224503794840951172557095635080215045806827110892091398472972269646933597589253130480331644359095238916249572374463258637072126462630992110701901638792372266917124968103672798810703250186094397931425019502006161798394720801393888039597606427016887174327933782305037800244899743503516356273979557619822950681511414473044090297154010741257880320218554670581866416951137168412774747991556688435535194762835440591014690158768660899313580413789925372687316771860925356947750826029853313031357640506561315122066282321053569422193097941069780559788342710762473045696337179749226859560082525524957685650973733260402683569315275387526028695516910601702680067811862298793073887674759569869526880953471508677740419932791614249051571007992439186185405367660095920421494753768123765681150111960089572107169833486114056656056198360406596450448484768329092111598837409377941759196915982358605535068865216344888232670181109346810304982450555624099938315026662139197111437144085851143932422760259387842663763815625747015091037401662533130049861378346483387824751034349825475405189358895722412234764647815645984932591210099975579803796462695711667898266152976291907007451681152146626247255108735718955435837128536845040841330264365447726231552882510345691636445159521497296789889655078597467166079298434729975541812559119047438994426361924945704066071507914194541284636484353276860937288692979381844238246143630837097332377114015063043353578932452378916238356261865106795154268945610482739304815403018425492208408267809309146694796675949380156241320815965081519643464420677329854304105480652648089649255091473340599859268759192386600268118790207683515545082717134963433798102469393506554019264383038063193039257006106339738644847325365516604722437907076077155630705868786192647465532053299745147602349086317590168818077944924488137605473273386266463760433045194737379133324374732402060762095120635860851612052984101503550869157495820608820920293728051579164821187903527172610346344738750014582764589464699321321462860094024413261738857243248730209208296141407181206488760602576561182439280527414658597677350134990620829459631947103131898813565549865728963997042704172464589780508694788834028695085587538207026166127175701990160952200790284580235194399984659028358653202549838128957957612239200639152442834149932284956970150664497986137917609971628266385555415449160476346004927983564134425084974366836157546220055902944879194711460033976613338289712058125179139342446042076062976016831528742934733067767350982539596773422900971618593561889094808836412863466554830803616225125811540635855437388554857328118444493035797117270186954853490534522690086230405881484481933713707744457574936048241112418155629180233825295006147441287203556751361594694732889086447797848650905826959514904283763138604069868148440465242569245633479885696203210377049388908107287213725964412988803615169180855633606615550708897931808845990285952390288631324419192496497074381906030015266950347149646511221568866193976452146534432742398721163574289554643057805010210943832946975297673895209299696948426405866293220179170873558466604588187886487909732475507635038445562174310780796326422618549794116554827638862565475943146767661610782749797646452950292282622181709945695938797208582938963869459444141680484287116775988147616042418372991829151820404298599436966464113779549128198862434594081338947134476800384856867599693802356290993922555056836977131935219112168888026026304366032048759219080779200344417018808800914291497094577880339827990668877595298181304012211073143974747820671116784609920850845829087832938769889662625395933464787540916877162841527466504811276538760874121900397368991665480692238491557952703084821530715011511199818013496711134371384150440606711607487843553730584639818624591038907335767490813721585939232755895000480642729050869207326751808709529263736840978073205517203289464515602172295912483188361814662643775285124578127107497457086055994897640051997124677196227949029681624882098379680370535389536892361808617403519072827556359999549006288796853434930141864174194769445183363641962717857976515683916836609997411142022496332771811524266832466881022419390888830221618606530074264650061412599296293972508040643358942677054138864188553925644423785294666381527035744174444499268522727871480418944760897344658220342060252095933497663985847302803719746039967474900389103080206333039222130936549379461819629659031287881138466713044483288313799448275459874465565687498999228189411913476317973373202578788440778292282991243297025657172764742078387103511542101718433243299174328461547937304082148926028175758858950162621910720955037387551784444091025445780908038141069327765208002292917241968853437265719566851324883543988089439536929547350133512768382035018251360306704920129073542057202421351262233341633608076044174407672740672056599739412011689978314709614719894764776212295188780162621878488073238205421741087015403200659847377501539678894426197614767852679389588090868358320963939661516404043957147723937344784346827280040919771427736933756951483889820223395655008955209950792762788764446432718907627153104474871165772687951774156910082191716222371144196948827326054940302748406779554908065997882880766106220799129182542794761096552640917449604128263586569442484615945888973632792975430526451016886014548542082961537292720383449396994618582592914855779694384172215021847923951052492335130709463276255900067845300741249861765986577153381598671430684222740153935542615185983772065699476141299171588323038133921424299416293152466449403407272694563560460561119009878286572409469524799956829991861663880219607379490159573239573361387491727840886273682811285928463310482753936686728409487743541630442749884647288327790885112174826821150957992200905599414676051484719384792288266310072118037977118587485098551765963708829956997596376885298285250802252102910763065836759474863928162794299234258408783078692605864123825334940660847164781414368195542523228460545225766649075108293063287760361841972170841580982125820482823979644883254111320079023942218488342878206166343832764575683616570341713032900273000811710848467841406528667220204287785288748238335339029585343714643695886633920744005081319466536941425159558756584450004552534540711782538940228917934004394380043529280276560616623783031235021032651955399950057928904333638681017314922355215165960237553799661750764468730075469566736306684460905525511550678625495109649920064951895226602493612160769768616075103848473861830856480954952330225576664514211229262993498316612522189865360652645041054678224737082741886036939576935076225621384181051207507918462716969772424319636844639999497121589059496516649978208561091547325764400741513926822615564454752980568100467989049300689999353118172762063443805387805699737126891671748066631265762328916146957848742356407074908593148292047989485380672186326590740774913465121206617835819878088116266255151300233725025131302931400866312381153785868479912471260519267277247403777598443762460154753676730412961499784034965396673595108550164523601764602361611430181737098426938247330595992651754827067709419205849755061462374903913907290518664061564399975731852746798384323008856790880204653460621684684015757202625780147463617448668896566782278198500460915032899839546664866663014850381303537231967959015004207051903708567341223433791089598066676633679958979654931718820893356257870963571592651657300640921895344313697396364534840318646031194256582760155612866878950657077740054505781982062300509681924484168385407189830060493998650693696660282826756861573245405342475176442769083054435002793637505372027042262786698970290773184402986037098797630413107080992382958714369619559931831957716950308131413447901567715025999133380959891661750971220780518451705310765574981614527706288560346552259387268480260460285426899293287896677843810827379070903652629710991863698117937071264189162984868195001418266034361789649587695472935309509477332896966269237842381076254606421855985755192586997612559693206856214265712247067517423939348754661687096865792634488607576381614867476629623567657207218434255146450081758279062222352397393278211276687154371768459462255056918536670876579013346851281229009092815801785267486181870529297538383624077206958903396330963569473368325328966753388574736933206705442629703774664189059691568249764943034198060226518593523929077419566793036818365010763841943553744730778238410260919959019789282862640514855059906934682987327955315876696006506516121394957432682914996595617748599965464812109320020649095396961171674037669298012171366868656313225156923951892734653019052491191381633925763607300618924029518571357947729242907325925137072217157694052193888077619089656740203448024111109669562027883724820303189872770982151106058519886165220417373058531331580615942726537969461818728788642104562815206245749422288589951283303159811380225853463491380109631442096218930417429530238888999739783937386966810523953674269721320564828975401944087118512800821483109803732634898178235737933194100423327172088340836954905308801778689095230082626208504594674472214128365960069573605649225220019655548132489933595021681184880425260331248881383902658000439958652119359952682911738930554864348520030148677486319246201107323681625299585438848659005586264202124896210162365571162653560951708539484284338004038357663753198231062131753909214245515955497885836765809280060215299509218220048489736917137602964532019649474074243188811391867349720859574231358954945048623988126574899788668826076472718444617657994456927080594080533102711730695007409241274493618063427805751472629679250863256783092346264570146103700516541428544344139561204467755408201533317556051966520939978412439756467414896062516424877139493757254861993569363200174039160234205400898068862846418816313322157372265045822874315162134704709770896976322991785660782954842866511861784142841256638837482601456058971646610304093782482312224412561716384796076869820922782187661820451811514182193917966126910159727648128658220674037700338115191273217398230250980352728954365854171299646719980932599052081491212563350326937868402711808148750724184908842052538667234627325579109340842045033162142006274929499331957333385044936711131020411834172755055047150372037663655471794417476722685969909098754869232507178466118363487037395770653682467013989605650366124400625445246786094138527448370381281508837239519924352553293705512293374955768859992048337767456761349300638031729368806871729162762127170293545630047475754421596962367859973005607408689823846649560708215175519708013683689281181530180704818108557799504667049879681776839159988117809378882237025907310322964544462521532307994465949198370459656691945915924085087990223870017032570118271114783488753832187227926525795870565465166227940878731263295129867791474635285630308084590035102558620092708417612918551165005476166557685545053859094122605274983374841878048032769460350886896694119278436167985465833725705529915880614214494771513210107235528831085950437209688363051512460014138583125153727758656505694489575435750555183611554375145601608024118037471857811456283271127107982579722291531637240934999526341393116019535327618275008741187224361584050497667640576239732060664563346979180423328995057594772560224097464943746148808385806416757583963293922765071012636088667009921111064823993928509940174138025685166668976921408843833524616934184115342761487638775192660670270336713356532700583917464907613254986343486619035088107748012028177896160442508607042621618489831048241527662814166483764979944136907361616171397880173128630679517003594151304271724742581404876520585378641224497342665897209937154810773312733547261617083989808547335663746371977404598050521906538694216557179172043972532171691103461882126576836045838559798669386941556532289236315883710020683576385424304410238565593204123855096253714351344208799613997835725482307314042051819855350542819687334042070343093687330081788784857161787072699388746126508627309876390441362306586310449925129005258984489202843673020219873783934329535467076425868944870893734991793417582386914899085271452472573204000808320928290778309590144541824891268434106258986503489007372312206385818101686584354626797930342126483570465566444640749868193618729147512998773733279308156053231820688579800550994245242401677975087885710018882414300695951324082321340120626524540836581890297979585287205860045787483683834638997970045225044780523758264431930061589184951734983690363209542213037241424928912059070561805363782750726104473132230221093570989820443017649032125104652192815802843137917462592996096070740168135419803221017920943936810083343158900307572966391762425144424659896913169753100099988241159255443906640837890394171938000528185908136446507774885762392670864769135913224580715395140338352385361647766444569333765415250412228828372337997131008861031054156222224335131809488768951167121812662116523795997655551897009261827513548332917708745359055023429965896556513033727093961523285652475737762601606053287644577093601273466665169789402714481112641678096180659114884557055078688486842347498735333905399613960076806874593642924330743046989625102576542301683285811633311073736446511252813866187089809667157626472779607572257771293620700247059369135316381837598834268971507736041796053918989394088991580454308568991843826685230669102227779736860044100658242827909502379654895385265102435867841029537990446804909114017747441974190156444002382098828562642348970942439619903852660033 : 20144692078728861746000713823009119850164011798034360568015205607868771507284064028234712287713906459462559622217024923456720387383144003517717709868741742334585222198316146977532250319699626441912661852357833521135343465040519284979301672853970791646998878306726332702332959870232690479951279477605415680717547436198071166604738212092638558817354202075552788356439254479052995448005053825072767968435356603874348917232197333864978127372674181233320420199045528052291567619172143219229642426024410708809926831576552715815388987000777602143212470559244278905506303774288941688783148558479482087373659867660959971238873271482016277325142233572503360344107902870942233087101912562125737969927724109883396335711144590334312262629181857105410619808607340357818317721111722628679583245633638283548806013372479427574853015003293298403350912448461741538188217356520178547730897415196800083588303054474498429383022101034331381088362832047625017531477053901843462704555638055278566968970517581654789844193403530888434754399666010792551355522607624514130401440532872821309516212808069247162264059378210847909099552149801677720326027499159392610286129387443797761536007858990861243906867776726373073329076596826880698920506133966644080756312595555211549477824372353025214687140433201224801509402986525849684789854159913040923946318208653365619283855293451890643568502618494993493777422357307652840355526734841067765703552643080041170319032904031303538749315953336039957429373679866399754126239234955249715991450258249748524872631781153168262717275604684865281540005588539427087795032249771000605210259323829366452818099244431161777856220685305167398413633086075635719773945648918461598780047219422763988206899876281307668536169493020386752548704798540489939737949481390256618444485758682606657338113057317975705657096680916311912371736084834859250216135917220756888134567993753638505960788448864008677931112473158868674020651487538102876570020622581724799675119982285706962483879991404050354435183068311182076246154520159608066617126010408395141124710733558946188279619318912932709274771197994294465441799208527617165450552513179348716676213358633919431952101740254042713443885490382104591911138785816431379452038471493138200211976694072520808589273108376970405582649322309286107467936128763509008809719199536362336116641072937432636895230818434806454195090386694301249838909471020950183511309886912463656781070670770897350328617795952625229967786948346589417333004496082034481938725789354050243148996960870633457328022209534625941550615339911501498394020344647765059657974416227696874736519073245719342773347882868856679527023503610634564291593113357518112167440816135220909837031022709619538441097950464471446338663502883994602309021112312754113334422768165280550406120702731729134101625680889815840129617196191330028452237627642894682676534664306769306539480644896438838897793030434609546367051889003601737757665482432958018720429023566183002614595171977019911111716915909631156080979802839164864793249343153968465699515079110722348617905196299686598067931655818818886217894596868077884702344635152983152994960332514119513269819952100658126373462251162863611289660533120471421776502069359572006080473287135434673125775387156395577149253228891926989019476759293356488585021771769870236234352212940317419737031716215282101858373774058749740744403203500584402592472481560001327487511866017668976843877736497080060656178548281295344493540446048725708660957203807591258916070322643335208082715922692779992968017228466549146453746547312138903078129336247380045104416874703707018476776601581706921612078860230889026045473165923804117715264219823607886163212858707919939745004254143837015982458550809006309534398381922196054382655638608178305070966556265238040397161373566643266726575174570651357446401682524183626592889560933523911757069629272994729708093173355662920925037532967468148295804451776829890133453747015287718078629860152386396917443955037833131247218518119969919556588039966681070881262429394863607663400799964298197746742414797457355070977176454377295826468791885286203416595396540139720907387873623180388906745581563978310758301353569436015457914188623788574598001894080207416667635125330374795991817195373792542692040755131937404396037940500727246238515072968195937149094088405603739184378010074119697002911454021426458020188229031381253731616345297303357855129571412807772755953348725423925718642288664008475681209570510728673642144584251149878883635288164094588190331925075293558054718102765177498435340881051186712017041810570309920188896789278487482874889352031082726517574521675329585646218623633693532906743349693617343730606914805212956515925666777660497271307849907201356488064488161736222161555645331728817469620823224685701233587238922870063953999718565424865558349342385285247245820159638191564549599521099789441871721767642385867736561668257521747713215655446745640032392448624231471774273175258952264223263527596572690034765497301137434509762632151825305580567956239158898065477374541990806408403169774106084122269844937625940632008577671889168531960609509058148579042547907549506090835311630262296852037433659022582567001013519527739131263055313607850447288493978989886722312345217831971530461821938981440311070258880350012421888919481768938817691618314751504659411425743886499929825954633108878344268430746787172039281749760493857455898766148131134722370811279724960002503551570814295044842744979104789152702155677783064579381851848845207768284886022154839688761178739498345137412430754376925257062781491814529844534517250673833294608404713004468488975443812743481307669219721518283757280329142717103289786456051395249025286512339966192804271085859819590108914832926798136287770181648647331638091804908567403861182989715668444638951029513943058825307670568135813631737613240021190892505366271788227498081107055784266098069150773523654439328571564200443925633042245994189590545712387373877492259001121498159217601728068738466482663138256210885376138849222106547518600747787234727138239139281033893240962741693567132687864185476732494926775268145293730975386019757482012304465889610211597972028883085575586699428850567896051831434663065470317851345817406939187763364269890944786407457696974775124678375226850692828161341237664189330827715069295139691905044908960682005388413169012852991601267060332622910977550382573759603766507402967163572184021694516699080561534890822042937519473805077195179128586699265384480418106523504099609411739677841056625275480585803358663702851253038012654437770538428187117341766303956677642808661702710958961338493609960268595407976904390209833080463231080862529860072316728119334542597251963870358501941187236820172761909024671896754013919993362099305847356558085038756133976187482267904729494245334206745608375292818055833008994915707336281819112312926663352088923311617163381224046055606000858784539234662825115375441701978472205769340870211927378587066123794869451089341213643943552384249516840908581691521050108238537636869273996903170720880185228030166419100512242477366919523409139977011765560100594707436040198982708940766257307523558735194827475253053471015341480575021658964464018255907397913250862018008714930084192466708980547034905273484715336426307343806349960265512288724786095638076926246807422584441438179304203851191756432535884332176575462541425921230585356566244207529345055098879127105569343205135280503199418186427324894973775814238920203544523233404015430597622149713573323582827657353196269917641364380232519939541103264492307604079962586487601755937837523289256599414248194240245616125359909537362389722636236089670847139495308455976732784025712201969005803663909855013656669807413629358791353353350995302314056731865461658725006798025198467394877588529106316166504663036802694869785082470969817839960143483375370498900054070971666179402161403558137654112605980972265541961534989095788127040883306857206978957910678380247379982802055816617883116511753039795350449623276757552581196162890452718704854078123212635696621518607472747942964789367833059239090562748633349825203992628843949048796370448021651313987300974236315919075391473210492562432509300081546640258644610507047998678475382598613066209522148572640575100928013880231093696230095743239259498009967018475133208583029887049247782085345411475330361044188150001196933937034411049339866855764887350606245399918463141578848437603622931105215170857913472389639561221845556488368899077661669917130998659465147282787882633039140226412660576633098283552081071508558112142775822411725907489352409982902697336542267785605213034157843735233433195698236121209626712264668239701168671803432193978723154498783744975922104586352411090598236560193030164784544539144126006770301915817011132292009126706588057701702070374967056246639325163103243331840647223886186618362782592977555170498562175154350349318789014919207692905325960285403769239102109080701236481347070209414143330693518708623500658070351166691925339804729105247465994968706156912571234059730251598764379729545890560094394097177718316864532222583852087465954004515147808175053300799468646132851557491550824459165538912827212086798351520567935447771381090417518883065559051921489125093987797490055978203130025560667477733741247041198666550542282119994732031044329343832725881144588906709190774298295454115802152934841866781137342746978656077680512033068581375206777661442578971452338634157606532008186861713118832251141182184259307607154969632797184528012390049275955874662961558300160178092580229298926615050211236067372437159101191727168933518947471733722393280541925816434560524463876425026095582255799786671322571170683316466938757812268978546066499499900702854214082832482462203697375375421318717082868649433067975586810702389095188572384608953074758216014125222344094863830842147036628101992197004238021858171659989087590958382754526420685770927483763150456254491298288583695534935006453277314803540551982290403553967017422287526504134166268415666761413972095141376764755899882697832092809305862674975320703822804044809366216194178075312896375488996034747804181317560627960933865614045550925937966909598199043316673773198796208004111735648677905129745664291938693807786932273219849235654194482441763283228240177222088112997940684343271847608644322140522340723447960362086595956340578991629267106979922038219506254367815310830354771570698488832202082808814337581933404077891110522951377194023815868760625275952776984011358215161932441948965441640752889479667435004158023577452107198874120822934407022922083510726331968957931008897931134665357874322977425093092519539491646103525096072017109051425540351336685260252105070085284126245366221922060141499531653079473974598004116499286782604898417694949676879548694027758614518889593608475393222915025749746766807457650689976427267365261750667181296026425391560109165828163311888189468398471844761681614320594276063144481950495657243207457004395212467454959813825651709525232673918255495928421955385497243278593085439704220033692926908968267373173478922598310488320521064133969941962381122296169212205237905753036298553692060149284732207083115684784323632596751212909410078257743494248029804944828820964271681457204210189520318038882320280725666292002574230326051194092171743132734827456685235565438891739041878652799756564123295665505632023397047741229394339749981087743638254203290081358151063305972421651631188089915768903778565604516586324494486408500058878592030163048173914211422558301094841746014107512793242375487777342220803654896407970901420945095831425359471583483753892197072580190555034539906302741507227448134984096881410952372283666928562694282701229329673192118826788491068080928696066373620254034824578310885525145340080817703515473577632367911668764648996669635779243255115609362820235919645528451157865695752332486801888193726539973356199428123385149897886637646587227929661893723153322334398393585870280801563693740223176865710153312649793180283712335060722830660836554068065313248957160085807665102156665188817975139811087844984677197599339399917751138702303568190472269679190718706212170574592312910503868004377296624573168716773264704118871049672570695405470642676060256608518688245789937841801544893103223786242650871998422410547515078657343710560748625661309454017037136908088348022741410149093414502949671290944352360377251403209996637863893990855350480159144441335208151447228908459647543428528415214975540859241809180923157471467145009826715271271954025045855549626716736124151454032725787757029062610696640390619343179770801312056115264513061161103803444660777324605709202685300399177869012407304100325139938930006416952912646797297224472080691478492071847710672136154384566153108847425613930024269645257070738420467769208275668791913498275396580704458633360784119426056431575747317207118684987138554198746498845576860508800623492139299255975588061200687226691161351256350269283941194524162426452362747063439365866320805488230479060476486073648273490914421248956712559786436011202794345710240503781917321961112962163902604916964791922023751681899572462825850450958817341981434425262031887094904136031399332567392308873571580050732800081330055058863742753258255594752776493411493180695721931301411338260057823733986701755064320795817910982918277110286662592948662744802318493810376061445134991654297124214041177760775022871942108816444335162549227258410524032421690141257344514863509941842770543236617703714090242675058526020892081964663713006240063976644324708796900159447947617530352001933546967949430267604534346443321227676354744820853744872361040757854539933472314491498430427010886446922959828236237428419538349919989391443371974994615697343838663484630793098934419726575011158259376059926825259408196357948394549863895849348954803357862788022164068945965662079683399227353430151019680292295598831191450039450732411169030000083491204495061636312269136985870606745814994611072008131690416908558987952665321629633134504298450802661285866956915579632980690510855425732289495841559971812412357443401244255971214359604434349241110229649694124740211405129305493951633713704864428440369039772220134717000321563250666285069383518545335350612558146537620565129144249542915056948734339474681543586203874297691883990880427560392138384175707468883833048899598065009141724645170936181940420277865340042473860800508379491200851843232848138364874030678709432096720583641086588084963112757979903396119094482981567498053360395511339776580869103451430046695519267091614720024695120536861576503970405121509256349048910836253854000792741370371723018802154811961108864464552806015451539019620988296117050185496845315455629680268650612716423932804938415569138331828588398882811645898739733870815572157212497361098702947178958022646739886811832101553505700136184203511798532262661903294076316987220638833015695180667241373337109512335469180776182706167304685390809258348239392275155640984148831833824208203110318595479591646505783993446597662381162297745558028357555194463644469667518008114774285097506372704437363508701972924857569221461419740845782302256372994090437019630741493234643911046336298267620130740272247916459566109000848947993266541413908414568907624596423060508937163141435843902907475091404224021282995837945225021293327186641998079334419901281547704683620772105880897881420695922750888848601251077078684194335465021828563017765903604518733261135939400181905659186411106461269473880241164276535261963788473177624368997207125197437978522824776897325443795568107869536589360473371953682840574520590194938070894932688242341574002259003900782133573374504585943016437716354090442609924708752638379471147341522519073799874847080545542698617828761448339107179662724658738571646151204193193571021681029849157899725572427385258195155183402736565603791925380983558202692001757359462480681370725852124755048996989604093511734781189646268667996302064417477622583214630996020346184712202416223630344007833960869547644047270216657747459956436100407953892874862538170532024441080091616768495048168274589862950031496381362386229186873676834397075949780611704612394102462701894815623835873945593136017996984577691057190641744744959464312309146036365644722642753700136836608587220980023460125808179120112035598383798465171347560424136186575111714136974433148778199921421643790376399179577404521667202115717592055648854422144918502310242696402482363253166061868694037883364302351225205979725828466649158295520979853429423504241843063249289758850743401393247706364563260873753550908299195767670998769978512155640938408617688136801751034006086122217569454899729530716357112261821428593209552458192126655719176613934042791075437921854842359308828882216167255397766392276185973977517607005469599855357206703316986465428633153406799555909406357537728345019302172763982634433202349942437295442267723544051180685710156082562879626310563013105229904679751152985150025802502671704518555036242317162556994574567374628744131742993397107758760679096146897736381620461990853427355781487683953571326121318503842770103626917024906447555591986076741559782583559483596101685515089258132376986711006007226105497138621264605807689904965005632010737909422975285890473841873071569857562218854248867703941065825337857834721194026136245168250294695489400028661253855032710050328262637173987738822138131484066742247234215700378313309589120283799937793513055334871357533772327329870564788015064471833584849373260056604999096349192729246214752184974706499177127495747804754620826236925583331643097902416188840615198094579400769085491549005358293237911287534653699356015403625976389556874836401601890166026328131123168821928648497534594617743155877606794560396207163607094148625771665166618025002514798002360076082294456218098171693179130102721868084648855196067740365446613166188492220052039532907451726483984323627902765907793271009460174770016224115868275624427730146639700721631090062681991990024534153050765881108939512613507788563594365913889983703909230354932215133428221052282835285266146152113028828767575323806372964951970564667979034983998751509336362484830148883106417966115760959334765929024708008661086153492012556163020781189911043072883585083565699950897726648389318968666548566180713169942894827964146896929266223736632836171084399079433600507399135492732375556409010128688927638376984052164044272333754071509076944547674261958655917467239842364179820857295716769643380373096963400559319890789115000465119886166468824617754462772952838840845161426922354793051847230110609863086180335060888922121569635128254746423319456437757463980609225624938720906235565599827586732748430669997053917152583022267140304641596040981665498760225523544650514466566627824836135807133341431962207009297390433983475873274175367727582218913254871061658862892900494718197104007236112275029164104108066184769104084624126076253233580365325098928184513887564747949279758111461047326588074125768745632276717322201582062769882693657469787132379552856071860118872214253523164332931218405490345468434734216638007203970251673540099998566001334636014115182125898732861195991226440088124897199854931430121279684147288011108770249235617452446917139379107798055398008653429660938128203086943462997128951492045789460578977475450334010300058418672597505061973557559840031715750068195053629039831278643369857023360819414595249520724492747845235152936989320889967593367692312704870548111603741603574952711351697665775928464572956034797805285745385632272013157608963948165838656497126134172265140030240708993295741432359336478577627292928875397050530294424822261497772600814723130387716785762194109163157509322816882287097026401575893577145921748519536778464861143927369155910609173036388685376523271637852616539263772322404282774678017197187592212518467664805190189834193420420925197255752296794139759559349519985363825548523391646943202926882562265969355781519736591550169840400569820396578346651232833816241816156409163144550477266662470515089999232203165930150247337182978653953422478842560939756388215183059578783254668367504410837941551379374906092805822866022511168291887941125760284728213053189987605075321206076699630846101370497869231006159484330302081769452358993457636070834965242613978459206492933411948247605424855609214217470762504153347078081637704032493948066901619757645154119159725365167999403795807372302172002447778136085815453743828687665106602485799252460014549496772115611489201038418930874961004277000282104803024377625145646987151889615900096424211790566985291854756198202736633413213571168301562149317136559910673764215810147093242463571406827075575413457521624787515227709989082695806486980436458701857087654842875531880841583245374927499091076121102203417032258823805148533516735066920939605856261663166706586999034477896046445919362725328304725460601878317044078130342099589446258940686444866582970637063778905541352963412955061189123831915553126788763431253206945439388294147919284990030853764708510383037255411299954542552492507645587783096681206956965438989276852038435650327781434608430521526829622009215627007882598507158311401252265972483660132469723139206628239410956384005221174105956592012953485015828740414554835867927323817673506262753387040338798101394543583316160687368295176341330129879473373583752932262554838801517543283359884196140206896758508361156982255034938770897475310574089822558027733845180885883417632291847591567404351078430627876291668403280348379865503133557343242999863624810311996825233786100572316311737792772895049681694181701615819105878334171917591505497300986301223789054804165861800066578431754588398353925953940407130770348025161925947544566862275069129003873866746394930687977975906499334535526228797548295362974796678967814785641113416622157972370585938832669869343249820023879837438339786022711171062501975504128866013592853611255236315759045318027045664993975754179338770425167555779333506512767273994594396664421038661910120704018230717106391618967061969566658085705830047550283354898732810934410687379819117342716278266891827587112739420187816830046132667372362844514499677412824992305230663134285563545096061867427217592503141859333420913022377053089934491285001456841645760030934670357527910889760579513452906644354604285568016653052490651435180562829272373981143300494704605775114709878293863282926953335116392776813049271657543446176386280802375152534804907213827066942228269309736007197478934250248832268199572254461096249280378787524781930361162338798484499104345693328062932586522980246417148314351767421726297479488476062578786932644360919195838645688073829756380916544107658236911755943684402210121803098886442254050800761889139297059337482123782179824480859373335382958216467608264597778678662501614911816480568308833689315245116391427859917666862930978933571849244202871558314286359157170730074707563620901920894658045522919138082334679430888510266088925120801908691302358467858955281677936640224758511339233147839011183274531048462061521813759571906168267594674215764215284289072959627394663640766606381944268679322300056753324090829531810616361296330411477998678724181998463621382030032720099823473563003512252204186846651780754266603515862462653407845768013695433106597850107887017141004314582827785806863925978911116840451424672413305952792755823199260399424502524622154404244307188588083671071924377520353481542090027588230485406651371240249140198484681881730807058404120208579445460341480103690136374887785574491599157816625071905305044022317407046308041413429213218443068914470285061843497440104034685297952536719768472871024974574345419678038095482539576481148400461745247247957023250576261080892905718768032321511982207055100563187548430512402449406897084052069592504991622822578872195099260862366496748438282510318993805186618698063064297218879380206611189221399465840109055615042073028569954308541814248723692297208980481937484745295395188749131017966867438369675165088835985522998220789026506100808550688208181269774378054434960706089194832927491995399906085688956089947809891562840795793366801980439497467464152401301671682355062368925528978428284228351563934102808397440782994826720797201374201608069011367791996482810217534939440902053440585998303780300002269413384978537458107768348909711224280625366319436493965210657145850213738395574125953523677926937899871803682598138159265080223630265921007594306025697349287454237960522404129920763828348479225720179835215893866538862877667791927234603688988602082499130456472946223649860002274050235887433991990636773310478421488480473900955131016515351689456337850182164540372613647945431982789203367936718307699451325010481716402574078236322305005156463796956577790766536330118473951863467064206527877316936595961068255604232914602046403377431868333212318103926773663914307493863339490009267703896974773043934218864725778849127042876608818755238075028045522954873941253030394980881239399248904496565936416541976327444251550612588241800282446051015228376739388196522642347215986863629082826044728786464075286193979097569874724838357314666908941870019245440782369059388669397217649861166509453817491143375607287854419176069745194009638189607120965591034963560071488850066577495544838467316940616322536243162553110013221930483466635401055434396754888154372421551858547578486976413478319844074015159554820250913505834449807924963319834036287229830599223382305372727564423626960660205751605580422649201116166309924170360394723445363508759430950094033441041125508119762509352734873759328670005383376125314739081745085568521532723357536054486068135463332412271107351289346509973925665818548006808157490077055438206671207496033333938128047929712669353159953654790074157087930149735145030342983818255635188921775258009967977645170849710714301544849463505399722332543661489341973249604778054908886618683989503578229019173916557164114052396046774929539899814297888841390249438017147816075665623463172651943983062331109507438710932636030838109545464908001363076463252108463529724977075005289887410419209642386290813706198278468142072769459520935481053726217027222951289090875428481499599333046635079807270833722191054738272455241230163619642828589455949602286525596003915401137181794053208397074952461004981206938957273438240531141540716074019763600002341174439547585992766211434464704423727962532704044694200956236211717776960311449847668442884650370243853098680733951549256663054611912163260265441811436302231669099544466113376664945071707451198988538183665464725442947748238178322709157851154974632264303891773915279799582539598607295114473282391252354626031812928370500971034972598594629102638337154924425135474441309234581766181559552938483235895455608714527891245281214209040554332744847595302143982602985737761907552866661648402503809726368674669842738667763216121598320182834453116886830584737205598156536134434647088685403729565964773910592744891521630508236935313723518106019212618818878618559204396073381678576280022812518935376300461241763859655947098907904304916964489809534914517560386563835163634937916967827621297663809209151365459780768792207632286603933040411706882708936248902518962909885797763947090403344989770509017885306115461368976168969480605645423981619724635294384661105567464676750470997381157790385347485447004506429137728722493516334265246009043373844421385704013531500764885122141702113800138697955701326826943554887615877783136666588553583825297891720585289985511332485365162020518364846379168626514117100711324379554894416679404126654333422568723544087755660724448174753374624975563571103075043244012922270244154204381518858117135522171904809334742283841148841606646037518945537845991251751691884817652742129478049757040980789375209748087949132428969336595213628458193132009262907525120032897617477815715560129175359285130355686943079231106008274025488427944680372187032991775664250729714070102200168361821331176564869006700494402554533412173642610717317055980350645396961835104799563824767589275991069360399487607766379970603342267623770671677063334143636288897023127929843839573600919074042387697262463135120740000466099955990855244632649232314143474800740037780421426207923724241056939650712848366163817604218926026933281558877078890099346807184881125899211709088096509973478867199823950659981874124475275759328426482313032062430072751291098287443757396028276567870781209411153927141010385935967410068562959639943063086715956336567540322619218820827147658788512473358075323533186623275019209320458495225707815825071044086290941655606370121318472949418237355027300954197272902644518646863231975592134516767053225201887929714229378715446664419357021929463584455064772560731386631090538944454945400473774342419112076248941523522278027831382388068009626690822035413971999548986851486248476183051149729827531759015006346905950227186617521044091067338615574977521189377982873312540061430772016727236208521916788946765455448676578476210692192685719584187920029354147840110408339655297728099974331715099174980958698170452449624302217346830338781814030806801070737715852225969368777734114224184370751571293724138451105321429701453410848282774566332503420947041325547017562652055997025494900472453907594017896169584432285094596454238432424837565064691871728374067868950997834277215838262827090957115168019438239290745381451133776620476203571021271112993680830985469381882551527162982057966637148636242330528972789867171374843671788115148805932303904688077603891010599593289327730600003824305520412421976769825201297278754865344522232471482331063396905686388306764107859498662451286829173570401781131453037787233451014211231903871407179024057503221170499689807885058875691971646495576398135010950046056354275917279427083563622974533695792636826736894417458750544461090609665463610966138038247593946707202823316783970289685710818702723509571717825004590341030428642627653962529478955313391462388205784063189083456016576992028356144470480076078074947775144720241536069070856793618180701791171908461840805606786823878293037087001731096207227595065205110506721835306170882816246642219806408575324191093779511825428850118754181079232326087207642720923494838328528775748810052209178451104560239537459843893002195691322704618000990959709790083957788514411081696060323583529934584979416428729956741108566587617480579389700075062041931728133204962037838435728096923870650333696508001598187418609945687301244383838563845680924435022972119906077883921345707104724674929518412861854335059669216820861369862832226268918167910109802063478158110360880596226545907915769284937131439665983507148308345023756109020918571070588552404989398464451874098941695879045084039100201841625947766167624193230384708522187630836384462719792579749139585845240824176687600835024472108298283456202401391957930775338606542778679795320904468003057004811115490305882303033328019733763627489968275281997708887589626457752015762914901887507972211336199411064293659695560399366125352360199858947016700936163141083956735275157651905761566152638389302922844596123199959621910319889569706269975041965921818249179798262176313608460863158263501191568060996003295670205775244810284286068499420322543739774979194943939689921920446223020488210784717299141210232795791008137852980652949972644115959670927557305012240242682893922807715686058420633823558108263842046199101616412507464317308951371158627250544975962612394141182314404987191814355525397652601025712017396453152279625256722137453358821330905835245451662516816168260022969988610817575184683131653628950372562659112212006182422889076526866889928213361436751342712070202385215271895121445808818326074400768641453734420153402360686208815715166782984482151183301221305650062189070769398573423040888160959664280403177401730091035160897068774648859646699004066856499738124720978782074738738730117094520931277863933446586274349667170621571812892422195996069940575269010333634423782673567701234497116900887858738720908873997557333368592339450111916688960717002378304193899370354019175019633306852611447677913961553281254583853429437239367954855065729867326644008817444792165245333267645360432762022279967501981569530131146048591475646936188395738165813655292843763116667959013210264911654040897509610947836756834575091147235583135314129648194140620174264526404943678803755775263704951722311777268220480002065467112764755213451053209091743605174245485064796031035745679994868625177498503916309009442158347046751537673791762729280976918622621031449342991070680471746127953548126523184286558803262765642428430977466025139244139012822575455750449595891371020205995413208098920257013731989391848523199835380958207701190527856170849020627304437331041783134940181952752764674395573877048449225075851610966931506533223379892768737165365636582747039795262974041996475356310791377614137923436390154763726896939104408518320707659712234988595112430802749594801209783388658666215664023617219562188634052554586921369978799362644926695342060891071272713848966388324446544845176940612214303296121680322038532209608507605078181434827081940973858114550595344790229196031338882000895373419248463427330236190163941547732304672999598814350089935676659849501031464584673780378721630621718965275540529732845426348548387617275122509353834510105022216590066184027419294656467702898814124364726442992265824865142697964983256498787763925518314794584073351061995983813013184062007407079506671425049649555854114967098544729470781616903062695806803343876535388373228930319372802120811654985631605720879451122152434546235745726350564946705784771063187713307678487500954745477330273869968895726408549411824904099251707674539644681986497428714084093898223825019614839719958183573941840396001793822844787387715224452721625095448882540085376707585670557210476379520253650839074490115957352508389923073408001920093516414617827658770110411398884177218520965454147417276099248356167032846002836954811190554737747941938932609360225222201445213430425995713218553335797566833635221328923833369763486507107966680639727425273182667431419145854422441184914423947984277348436675787002056182552789458255878677890544983607406299322817560938083886899393094263001375675354602967964895193001314359796386174329071085313281221290203638615132009402370964469700972554373684359533819808412854348872146464619801268656918194355881184161116731401769558017054414846617643030832048206817674866221282201705811500514757280444993546637528893908903181933720394380343320334582070226824639070633442022185105709367139385820749219685856026506919387947774312978772410319630116347727439750512359149190767552951970222409636641416964735995215311531858572735940850600552768671725519055118326165119184112432437157556015643290184071114314464323622151923539236483818158350133312350496690534003190443298620796949045518800216936757228243351853340942090868425573128657158732215257737387827632255762364582336381507433033642143262773903973272998437626670879714018578103379005561584275941897042599910802146961165242587662145423401408182015851900169896127453504883857999216843276389205129340699717551571807469277355284411075445561058555524690236209399893074437490644974731813906236915998597087521674642010700307198585820854659898406763346047106761339941420170004710914671092211138886303346993512826173046360477059584563585446869151813916584306634147213315586839396174806682525905923551611234723840905069025955390463080877700090163790737721696878029284278981018092879235591526228611328191451893411303996323966049444870179395905978290101333767744134072589501578660373583092402530817036811172322623960066535457665582182352293026128909477770291949727288114838606043428829129224581151725458526748527748909533023226425573516647464289009724559568075089209504348294870035831887632322694894416836401669994626771350191997471198530831555262766091037784663982498912667128850284483555157855008594038703892265360777192362181190244148723864967575682785415078804894162692042642337946049516864080645033772893559777429361136971969048946985454416853324805797819649186380461311737945042500476835758505823089210499819662066987830703499808573163905519497754555474832390660783976322700510543410176390647232377243850026840194736760789027844454723616333268883085123755895634666640077772233917557128658892205390082871095147620165147604216454416150072733823050186596054018563219246585210700471026925683721192302575735111331235933808491300654233593561533278771628443297722561038642377330714204334888014312014890679796589841910312555460534029741575607322049070057976418654657281070746811402424441180907200790013589517513866597417937243579526371005405020604056028878555522551052548843668132876488902755692559497544692092816240249729673038468503231868978683396295902295341440950251107970865274042753840875902794572941921453209975628454214685364921858167464578755034120381917837145638287573971117418485679433623014037171560193848288752891733426768595542603910797255488830571912922725256420501672909926207384283403623596684703139266969676763579795249105560526843050419376682839781544785053205881570599754882168975394588136278918669979544859843605162163553623692492284473874081222013000316931748685097363432875395110078227756806267561809003037445954624809908077260066887792851405287617545403068801259071383272506516350840709720241621705900610998441359284254055602048717538734114433238566506763323535231205164135012968964467444956722512212558959422767577436504723036542705949918903458570731064135478576281732722742229525922049105508366245117636740618219611292170032503282301052308170109879277200224361801452290114028992327412158271601924534915826402335117282259544401008241121798077550924324783303511654183403035708640675677019946966066242927908103171409046896104588561471854452788849473987728326574819101083198913306782809978847862509400486694315105405099427740995755418532844631366773164263543999456294129816931433768976237719159680310944516149141202002809871971191509221911517788649851237205158213204712133133538191806783145547207082624991912134413869617581501161351717523646697056451333967936048814066773113894304513763072205222813288471422437455823380609993725999703932967291492892335272832045771316850549976611248444389642644393575993733915735824426237182360956796200909438647391984592654211308879525571441199681026861223612570342753560968884177619567568429478530475421502843021794422518628878320575236862998206951453918558748882968689304081747851654534274683215660231364746492827444484520870642231125971240681560605899582794131646309508449141179090405917133710096974335995672176507078538770381652363051411405486620080627459650439430755096970096951937564084808418891142865103037376462194516432162030099163423585930665626109053580345644776752980365846571977115259499096493218838555089071830759252751837083971444632412729778650128758214007157812723733955938166232428449031739161741457118918386383969547446137995064100219420124325467618797866301368754336634719377940864781808869990620367165690129760213650212775578740069856903241199953196937890589536550526562348714219786255508614315181033523937044424244891510269392966604065715497031820716625091439837160174466620987548408786190109979733645906265598674608943044553517265583581689223023544291902962020082863936381426980950088611746021186041159213030608896300331835557000918985895310152486059169549208517222071764816067702830820691789572861686461081045531043995517828523083209921059784450889716957373313365409054338606228369403186324946712251676479405134991111994885270772356810148491252227796110981505150305485792457124919986368127957694479142466225357684609158399319190203675980118058188903987190586977740986431633505009281036067603709759030057652184403317482722311036774425160642340611895751801176115115620261546305271898109229562828481995049245219793862292949305765153331038929553002087589676406153756983981399157122165270355938411980731333893164517698810380108740749976545457555088668703869387512815003001735223582985161869289234018766384358004778893580208982579279617327571671116554384543352975047312829752621446752739979493767078403070634850243612180431634402610732638838144631846931310660399520542857666328745728567197514793653338866142643856453398272972731125329602213767483856356742909285430515932913663028788143878783319497468357507674480586656304913094657752451635662047230523933054268210051876152277923513014319077505233768283915966620591653033460693881045116838715274367502753956130196519708371344761538604417135339563116043617]