89778136657761212622818441154336317445994332984185800130784719405999489645115643583559303519571373492237052447050543910791308081628922281889008451924063161541489259584498755116703068980097739390694461549026964755574084114993949438844851130539387136242886438479760131903023696666342164247333283689151466742515173480146205645517782079873613226345476586113787126921306795919521389947175211085733581757257417830164522610761593717306823938125106689390157621457661185650063232798179681094029135765366076021139408886295394362904131379731536663569394977173319165385865364446552620718648782386363301228503224497389807336359782402667407732961002330990649207129513888696068659770794694072868103429288433475194044647586957735880932789559838612519233296626737626991339951259615233557274387948176272984773544473309659843113764460278453045546698598865925174983812454214219618975964423814703334633790212611936970402988242732130962244197565710193932867329240713122046859381016634779815383855241975668792094454527259351937193775574936538596716317993525317089634863392672341901380485833486595183666251922516605563969577405197848244242701034306904331070125532950820811605432116951207811408747150286571835238429784129693943495283335794978989257732598049294386468719216262285032432201126751464980855049920631584733591986329365648224984857490307612967015576736383270968947706399973004927203233574256885287191124869093951881713525952483501665618068971809148194508172917147841670385456994952339931824479310018010384498061024706899755017088596858920060858664400511160166036191864072643714893836963715616772015345032511142283624959690625677170958041105698117318765589234248359139007912851579239216449277272900360671572517353683046744475873649225345135422721802049727140881195167298398975762894927898756006958181577407072363352447052919763146369376357756364160578905522932264507697601285802541549550691399802362218881532464636255662996392503685217225066057280033217625694988271255560784641638754157103775732675289379351317608961956068539796347221157763162417713891742972794396538738758604499240766926506467619386659717845599733246545403917139029883627086866112130182297133828625460761534477820723834490064053977782736665632421494411674323699162463765939494937349435760466075430100538883999873669846803957644743414517081912499234972157318205546167441114434239275530480725646709492174177962285365394974463007711857503364128186381423159439362402446178540475979588165487277902107310317302469601583148065748851401389931545873802167649335951607993311159828689069830527299847591178299184098586820942794710125833703855464183552819738078002526756879036577604893088239877399502103150958889288020244590682334075798917134559881098240140634098588266022084922830294371849254460924289001496688513529772912848556044716269958161997912281996686914634441691073308976810189356730874342483509947970691012571482431796421733241780884276354358692071384638312663276640519568468203511876092660767322571457657799457882658465380993308038327297422956673857161413774265459852664215827531657720336495858535713861998614728479855942553516157217728025416053992567666311160259294246143266069887913606279124592821515495126677749210451560469422198424674258197831806459746179995901714965014590592957201719691167033338224092894593946064914574783790388627559582036878343017945795146664754349544871941935975384405285914111705553582554262523967093923237775735491039249296864146863067238412362230147821992402312277975294613548254857435525986850204656390583269475129968161348354132777374856401371803977167703329949401839602735206470330892395096603602942451094625967620982092909125952914681879312671937763410521659710358836181429384692166412776864534649662359017903314138907392821348980936532299728866364671496921835008730664347484772727517787187294650682767199581942778975849614732485384914747667419286747271396444342178735245578356026255648221071738937664009258282868836704566242186778885749803532206837095401579733652431915893673334587202578165089127031519061953476243269283760161899176465988664268966841333391017249040933510547407830654065447946932566680397544321434548146239044044938448366296925848023665543028723682723963965395588146761244870507292114188469370615485764799185663259520947215412477885280925560548643465595936451393419953032452491812308851114272601474777141754591285950939099771157768385482992825329170436537422361607875318376341418660229228128115952786011399041114574336493589979593883132817715537883557122730973624822810460293671372304691401618934559001832995762004937414858945129703186517459994836144392365689026254417657645519591585750741840967046448366636333696998480619374810891352637953311913887618793726660769029266776417267735771787463132584878039881059476011875467957903209399286246119591269290750067155656650675289967669236193261609730756831449940094683015847911524966732457755935751503819180212155471412391584303813833964571985169376258892122387071780260692147986589699053015750669175267348042245395359014611728543259298683546864679755848587075290881157379565450786176286962936867704684644516973460324952563809845342999901240612808667589664879170788375204542576238277355785255655135944974105695769373568171339909852013836671659903886960969031967946691472379393245119399576337773117700187275364344886760224954688428450923447232344447918324805060415778208137221111925334610831947137299823189532145233772244284594132690277839545290603789885029463195358175156231304312373678376915849346348633273260683519694861684707196264185438869437816813184479814911963193441335793607174601986276585665673536322795105341207470765444599339089749977789548774383970443265407180210886131950326739964615427935738958658306015841584669475496117933473221543795289003514703371472993291532593254502240603139605136163587527323384058849642192303492574403036713931171645439283219910602838367136