156047513432650784981557828154878134130511916203568629943622286865648333198371938524661392437912892772072571090814144509335410986839746208552164469331829230626372903774589289366322338324904203123987479814481124023586333864849036141120917412790938954844497990519720068873115681435925881333066641644322474746637512833759569226985656715203190757255542721441038555946892623024124699449966108526837059741965737864462748989032656694663037496364477346009713901492289233777124645809280337388029309542023475461514058848057695543362404125578350564199483249235866637656852008015751378358038106862143740137880654438140357336960162989914766185215245834301317278783709512371946929659266128432640797382795183643770054779640457290452881589458266056474383742183973351615408249956816779008349957892085677526259667411694266732350381171767448929742973494213156394531146481255258566894632952589866723922920454031405753711689717732416995437118636372782425517761892859495550823067505978866484391766069647428224198174856982958179412359454191361553015599495570873683268609485058383623373453839844115759815545331304800548972841926236772641064200830544213898626249683581716831819200760217598272435655844565413827676112253692426738333236979548435963053360839398720412542799096837306368555082504191142938698830474977227751489960491501510756802683763930268702399994955716084405127314261599330321044672489461389428211643306131857658153096290451879577784324162125544381393645402131241320649475408337708560478312344451223087873080330678021414633357408326134240862069834492426318818247376939563729922658592377440660547048113891434027559484396429872652681471275388036978187857871137071601626851882143790367099163341304105272028645487719543176195763402512438042676764441444402999871827203607653365284844552589668394267119390176099643454452676480826128715605133971797452481726703459217194216213810642344935290809249871473543468932859980623653438360852230153695513083411819333968307619873164516488365350695513298668322477190974014969510923529363696999795758019299463212756072706155826232705499141517467645342834079248251934783738700691282906890625061800566943355482275561527387450490137902875131568650082673529064902696650050432743687530227117838937963830310231378286275778680086471359926635462223930198092080323997436409288928348674605600958865755921193877688475325122991646644254383555187450838343653102158955555621484942133365797865748322247193507525821446672399163910344355015830498356235603669889431992339133304417260786558350141012214811327737314921333169771095324141351847843713834321125687569829733889400712383561864622565944970414112904157045717044948940950728912304724958929622788139876652234441013222374564156713390961268597779917940978322397062275013557160016511844422550681533312727295243710858089302871549396006403852977581745762479976800988532177090661231383316197957382714941339936715821430549971943225071902091672305935371663702410271723374775471089581979073462436149254401077026056712876909633927183364776166553253942208714817507252723523917447150085947545881514082739513560756966950338518636894136756223039736608768041506665659902900311840059925365530690432293604614036164781047734923197075662776974759481391369749493095643306361199685916544809089706699958123385035266331476344068444338946826093189139742941862284854140958923618793247678817811698588293988846730552489959861846338993339713424072554773419229194558146829687168178309777556491603186137351587796178630253813354013173210311572938977374656219636357654133099776011407537147459863454771516666162154468768520666076879423573866845055399355305289846812603468075679191294472580696705721411235625515393087653141993190707411485992735899397405329593528652946434933551819354313747492827034853359524915482693450095018540888583055502265677644664645396947832356549161606811365517154868979949545877339924072502697226928618127394609618583018815764394636394323572145422340082417047790658029759051266193369857853323468451212920592039656438690876462189428159324674683498352152328798414129195617025083143445053073873310785672148739364120933531099936346131665647037374512634844117230213606517280606356501921465898511038438001274545003850949899787490350252451740336995331624215918737492634829639242277519959877635333163719248188836193649335100202625266316771135801820721885274717590376444867414583136833707164716736982864983511694292494906581240343399807660740026759739301046933220726514556198848156882447721485156068511664227739361070415187583245592767945444150384633518074043120384476388593971619343296136918251051885286456682113988365823823898724729828732898853533566025922617402414186444607433560881547665856323818867987055725012841591334538926289941452241086425871727699025145966573423491824131398976806713654489625308641526559041919953738461744721033907313052456847228077132711164697246160113322073814571855866284079639116373061646697581476194674430516924794331683122151699991502321355057887916486055788302516036497143729242804569602338831016833795043841818983238723968196610297247397971058990696357573699321249088355387951069988246758635033291672721181105892633282613541676089457562887296229345969993909564543663998933328632518212541578717258336582943512628452531033622165339548483965763243067574295399409883241378899099371242470696064132289428759963462629500297677705942529723935867873878929752523479055432183646965566423526165269790149044734627225947692845619320281318266989807429263177447390780766732884321960425061957167817121012393224714763296224163948553755623945936511001385575079056564222664202160107877144630565346194567366980943864907248578753408146353806193228209834154108302482228941394747084468644713412765853029412162548273662685204418554061967746706420187451189518293489873788688532843478116746440576230659494424519997189078525020133509054669194638344151285150435176141259957750119788192