SHARE
TWEET

Untitled

a guest Sep 28th, 2019 128 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. 988090622052428380708467040696522138519972064500917984189105463848854570912413676142236923160525738079982163218292775982488876199578701564169920771514900765964652664211637166663511900469605686746734345293999017525508380361326129407893102381946668213185766154397429601541966372835150749444345188842922318374601021344925504049899005617583676669618952685577365819491377231600724844156639920341168802882503198896025279114416494111356439589300945806007878052773907736555712861502825351319528067965017796082868002336969960291653374014008738084294045523310588181977860424570168802943953116751334333190121116019678941170983115458815346026057620867442259272172789866259197383197064906420272658700199442816285584122419580891491446530068015442636257492676379586145095057279324981325301124009961896423594228002019115829503338050597816610066658395362523495078798209836151039946913427689314359104020622006456639508501038206911474007682010170948771466657949596295021194574931990666051464578195335082555018666445507728424999872666842042320657332396075591530143393737759188536108210426853443167773860489385137567164980591861620825819862202197981908067372356725442375732683027778449285930910673438265540617497663594463014843598710490820511554906426467059753093517529930962153141160532494719747668113537066518642737347057498327576016030821816686346483949884078312751839379634948763307189821416379846613170452392376887626863514296283451160245869742050869373889831335196488421384997562814163889865085710598254942630858876611489683929244338882939297796184631430275696433605230754170770902178838628431021100463338192918330269020071313447672507146300247052538505391668027816023914024036098435802886060177965245636037794891827035996811937282566171213646366671055142313797609726613237273434682208159191813860413465149988802748551459135558634327424909037872140094067436661782851214405619542065237351310265373626971136075404706401483748769944479352312586734634296687944828978963726421626555372502920628971766278412178553714624570998154263342351107446856307745270151876483398936542398016649052454510657432165996308198438618817266780462718086905033124434428929901411438742123647219370284423854367291120376919917028862869617853873279615197653209891364466390750782948585655057701388172384338721176823554452091563109648338470196610348813146389975297238729297348232124340958729030566612513638848238790564530570666686141829589549361844741860426742339812435324687569055356417967396020935273048003003943692927736104746983577381831381878253981521674222319382838129994308811016938888611663378313823130891932408459132855483399732253639265381220883858302786560972716784404689781407104181583356219858560150070743071548613662483742583617554615613415434662611371623629559911466735253602473587356120137386201994055984741456522016852394728432330646741762742187039167878879899293429146722090037930847314801133278972668158611611630126255228058958009774093041126537693585998862829657492190845164350187844662244873886114173155854646715631679888813795511084313243013057126440065872058026317153592069640166846614637008309691697021795864172233422062433199646053680320327331769461867514722733275503129331556678913654620834435512327825471469376853094682184919662736166936529875292129243890154276661401541930277620423179837955277021013254585337454106540568096510874316881943958525277079433096978667571266788866123133742756820606829270139723008571371552032198560072554397719532456051542278420053319791234894385905020620535170854395191754323398767068963763450038529517611242472085839688248397676760829134561889228661910268931667129729880715665849058400593985446818497818318353673547624082183470226862145678773970765810043560383158362295366080157718633642917885551745095808387956206625294614133930466130970672475068374349816987697467502070790972239331318051109901030568199626692132920786029339388902804643472065088132581392641622413442891603724886858126998240748750450378339017015757372834409177473542374284383672749890043845232400938194483957285682205452915516340564629481571468110041073453684530076988207603780280049572209134563278508173179116564141537476510492700280802609831053223713658356224075669947188081441831687996291046831044570725604334266828423088110675688974699713574897187803126395359427915235933283287027059784660535570287893873390477876788104089294623013073555922661332157033549647886328810907336997398107380222106857062331226205633458197440854186396977899071447921660761296588241556808620230382629112935329547113011066434819232819621610692822421033730247666225625867982934571898407679164610608218962100509635992068521741535114048183892077501268997618018149332769735176366716072215979389663446651172298826345638864708737646279105217013977719148303779946787188592450381392370434798977146647063958500251609953307502708907716439965334122100868612994180248553115441055463743421282097569728092549089347050271126119066857679790027745161960186437381875084795467619669188616528636162427316378187806331761267154007639042722488564435883344017192327078767557770223720570970343940275167723848732876879149442228434412761329156053500345303827196370739989113576409571351011419888094859289598747502955469913477296630993815251658112863049145580534046430217379142355528422149510506225607425703652897444693860819808788493688092610111298650509899193626365367794728195612601591866096267042786117875464071459510273442000423885917048676265224017709339367341093226354672068959874993298308410027387108004136417530457081199705732722286830288704597254292016313542676269605437672550157349751356537376244650638556129770830400285744601517165191218102915540036942257126405603594572748557655996166522265898511933140934012703917856296511047836635007383902106391399775288189397326247055781733368606087758190381485580770406390247466647316272785434576036808517341530908011418957751002123311325283733160954734693654432906208505734161177397145566375638014810764382388932807809340639288389734663450440427495937030910371266491233044191863935802695490521923680059070116705056302708607816587898843419223773253009771517779856680627173490531017139948981823425141004752395840505902357561205285604674789738699750730669312577526161270092985906931176017623278701611158791726751180633426482393791502657543490473446417987255546774548134215660454655188019893240030914122907939893152111580915041798675813203134273733003484307067464674061289310371557424823130275056701763779380243881250684980190279146489249519831999088676100803135049813314461457621151238213414750313675032229800724970250458980025311176076356746389918816909163901823233682130389322036383196960677666723611404847032996447344630285809370170899555961903776010826951619799262953628932020562101855481500464351131902617096701682218849208886068541302802530260500948644925886655666644902197070293613035628060950345177636582723039283818385477068859125877883835486357081293600268092885863861299973748120928872822467160109450206936524547210165140338270786254801892116048125623461434509781601076728630657231471684094222714332885091253273041358202577549351335866726596316464215121636705990097792244702866036519379399804250276392369539378223506214898486353720596691557736885358972775571755598350520709112464873330937323203789738456493257866591202115344918482960737413588516847136236470668608581936314869373185966834987433036439894569027465267850086467924318132782097694310633651335069105017388119394002818681161697909982440150898064623768751446897299656381328345637522293136380697103606805223699301867584308200250177863819063601625870086035053070157424077688727121796325662516234218989837362835262352935921515828024727028136434089639729502136077412367857224355849117907050729006503019693284183539080894813118149733671683517057768425771446564022379934765568084055788857061554974454298157129653343821443809068879762333129261862349939816353422913383532459626775769370770796963577818474568517180341587296010560273987608814018099168041850798833149774411877137998012771758298351961529461258654581371259311186391486975062473798165797356580170305357909734195112142155312876857942114897804468041928804048730181847058758309065190332520280796956300190092306257159898564842368096567013079900524172439573818044731670038829872801282778147484456323976579300258627985017749298074511123847040745880829016279106267506377091038688612736562707926700366338401895247489894010509249814227418569228521333039628887994128399900287221196537079143360577633287150278205991342683712676288302959226826573956668373202849009436540516339424451635662881763524304333893724023626302789431779357718765319175991301257898798936982957671376048428728403758013771798366406610111560226801677515110686610895675246549106548169895606726104432845670200915090394354359842360459917105298920994639767066739183875351608592255974549420645307118538494057473487786467333527548852937684213587790779012327973578027594529862343093981212471162813364508903198804429747228452162458161841296624056231715385601075373267881005922592623542897727783064468372708683194182054130079730016070423957684614466403176708277389918106815384532310102993926060911677902477423958365849263247940770984864037501613200341447184331068346741391262703469175938447130007489242027783563657730832865799235692915702258149599744640295925252335840663298254448368878488415146712114244810058980908619205996144370070256104552507803657781981078832723922407551274137221790780208665369774877451788951644231088977851905813139070125732436096542278823803707762522886077681369265926740338072795132200955776799544108553601143467265946885460635001453095537183540324945966226359635060331823252583352991279581989996853333608512408261419257132633133586817923743956075120916988727995778800461916226867837005390916433644611723905525969998591509510283420133476459537550158729347251216813221589515879957690764585079788652787171471158657432345399809298315615863327998485264708360613834859033650426533617952061320307059139629758105400791419848273438326782084673745321013125701017217499871261092319769873464816788114174375803091658305739327299456882268330456582775506494880470740330347274744171217064059804442147325571899562077407876126664467121353910802861349452984545295801812822516501536631776704281244574754829860849064300869852797740216339122914627832223629675286237385474262794932199060434763040050094134787235095816637629193988113440504983244135254094909858294490367608140503740315026357744415105273412775246799245819130865603154640928024743025375903986013791227648800590345713397577825792142344221795186101403473747834356802398882916509537757159271920885017232115214936531662871311358476959697453300738906678557759289114884304504359613413711593631718898014904604232253441967636723602104590964460994211470711445973725440945507799222962397011681831705733315226140315888436773433377372269149764255560826175536955148758972312093554884155222965978744242544602561885996352134446440732832409521803392857295314798903785750277354961305152768144244634496020027947721045278732058734313202961659576748321216152752594853611444955883386529787802806559309479896223117399890151553165876632844397969350446633767090145320725759295246398403215985928388875633752857919786804901748730131153833438967688912561347591398444762637592809921689216858021976709260222989570974110417550207809498985786604123523871703198984489283310661167425880719893563501810840340885661243994801931767696646337158151549992103366991930338817800144200357168182086107506138718468045998087995610291690807114816058318522960505918807366407479046561249134323888906486310534170151537843337241232206531096027410929542662978818977459360492914863049847777679554144301697973873161079485189705890323457636744641612284197289377282676057577826211477837724650009463129486396935065286957327049148524395784639345163506021255019141528828833439242845597581392997343893346642023481752081697280356600052992630896937343435320482435199963839842845182126116197268209261248443578872494153185038651347295483530276787057800430610044440128643994002858986742632835681501933946335663770210837010349493587866527747928122880104820315027879422014130319430248544765094853143089276556877261189559257642180950331740620620076307455416544940796849823007406501465249257256999754316760953673083961993062775741034752864771539904839680162943601223338435656927121924608854585108831065403699503479209064526231336680927803344169889582361612971930118677659739866322312954584401785905855271589366950136436431776236734457709392126009111739783172740590661169873516599175416503404795538185665407645250457353453381948017743905259829026246871253412359803959070815151849868352305709005582344189992780156955482991270329874873502471076389107862830684672207005580916038747579579045418235053911099792737953746201924392904560651037408343823322470876744218691789896863002977362730428401372068234734693971397476211195477231928124157144190128737346429766901565170240262443829826670444606305249825572588022255561576676421685504745433251717629671397628777197578362807502773366447186213202975813956185660046110146158792194675755537856406574681526295668337631490894206094081744065803281723507068537381585596768277824332258696795005162872384817319512761188898940945857892774654448433868783291271596898827858022142334959158818219385119242279607347806364781894966701326581908414105875686317925038079052216930502138341922634478164126838612465612562416279854998323215715454426523874105072502717151473342241200004357692882388876844530465697414007312732457430231397074034257887730215492931283934455840699181541862423748696529079377163129429575587995785601323851506860259631261935127105696216308211795831161777062835138588058042113367652231409033307216558185726119561935523785699961615867218391942779119012836569127498623073409928023499206240598537065807554913185312954580555402846773301064522073745018600039987633884131976280541438010969638128774265901578054849991141935908053152245256806169592403853214386309646333393440487574578097440088762040181272292047394687728739414413270515258830107501688357749720001435521288736411499888454854983674379875726283811118569566772670254386887082618885996442220724527914055142860855594128825172189775463533698652398403918995023265969312263748333289700765420470575774327598368718932137043405938846609779186116783062114550511825869874462530272110290580382435591934680173273605429544898853709889737449014131526133585070821681602939916040918564474394407736720047903087729949138608073120295783009887465015004517230247733980555632016616513655565615300415205051337487424682816236275194648258506357769935510186260136446810218779343148900534855761095885583489358623957095012784596616516455023637701554556266871076006516166439288202554752490807280189357592229057521038795066378202951982119717889658461164171817592459106725577428421014736962765759951971712554586586315842492326133468889200684340390202330284541844822358044040667252733009976410938076548973542233957085509522015203502532151129087121196372315267461710382902960983466824144039932150176775089934033275617551462566831779410801081000042139411365156783509968130114167301992980635173039973814730775399013919884979432115827957729234093646747723636279764407348387669534436881904656640493573482379563443578363523786554388586409554594919411382871734975599153406128470111955954329986753906864567132301960646776913571032425801492904945653500624196676513109654715410927239534357589942488542666512322076259403602482792158953091665076123540816781522043719590068809401844032657684050024771931438423480656203754218377040733242624908507046219870134748435311643967667644338147059361300413282351272922372641430121208439290793577984317462371604161762432929962168872955805371558717779690590291962171224581877355499652421641170571463349727290626222880356139366196459167711087675395581305063173627419993493662540076998755816703642195157289850773665071354443741172650740234512535663920824366224713811225558373195393304542746371607611113356503944840739262759331609027623803722627488773184225947632162625746636211731506578265815100638518105738464226348937770618667773090887529217580991968534642465565060104138274298792499252588717064186658900952639682879195113800252095427476406030350555834221195463962532365746125881861159707793022621428091461835237962740368815728576588090837589289757550389556777170893006053038714174087601406116008387323017612672668145296003646862498561249126618211800774956412274934638267752362053174419367429003701997361024593762858762583391367638536619512522513452474315228569014552806189625965147774935443911702799360827177050600300145016363765749208771555784493800938564507207106689037295778809031260415954363081108612738367082940975696685032149109763604969603701573485457492652482820985193725059743547180176772442991896673726378161673484593409684044282786128012940841713414001514765422498835472114667662588174067786615429157197828032362245311237754390040546489623841712152568845957673210693415702982540075938513462494853146443119559815343105350003027538182036966907294291703529851424019261716694075658174223275724628952611245735048242492127660309668773912681843884248300938536268597044636482983979098097186978360752002883186509429925887156651082959923892135982348369076339854122436409927829738640101914174074193748313874488308524450209161745555591737374087762111473999958720020855815210847448043521219117586203581334864321270292892228935567814076609405368013103967036907672502214381165702455609960510848788825353408453952737645054355727555296199448790977683006360373986393465208822986227946046993390877495441515956386581594453997450711190836112489454374314427785637670870987340874209153218017841525644932069673833388633423026562145127828782339701967667737005751150719080753077652359080176729439643626968042020016308436959407896193697419153458766295754929088803735680660622667399636220559000579561591453934916258779523865811346593149799391331641191071623572396687648847883249312290076828828076641049606231443894874706423672146656007151862272108395167012728233952031039588936488591826765594112203968160739951311815827249905166303409178221904368981930029097488187423080130470251161031471493829402732643936992744821813428887595917236080759635683744041320041333363173876156145732583939510355379174707606521801083988230672409844559506247503260216871748722266927096316222548765508580796697580026982022810369038205484526650034241302997731336179473417043811911008096282681622189229265908341076468027756476308401587258298542992694178386060176244604499372928796891867028834925104626784454602421308996581297533610633498889052731119165232557425255490182233450764502229964860408174978413672093567203707354729532329277923664893307864430077268781131108654253131800688732461358714347478881031108151287553394105647507929871073875323176875278277514507755432812318188493545778432656641676221972388732319524502961585265894694684798295225700257753452867891184861754457376140394890242568070559694103809175815528908678531506496630431318346817492499774540267240059965426558722960639543983787747991350377449798708605423231735065499495081259902881521630930800538421566053154049102830317313329586345319961986981537886142218758261811956230638261309665894280046825989317007338764438495822125320624830597409148659739683475629895214238905727867370158063244584324916864659922878380097889026804850353660732381401411089157016213267948060556040535162393389311728144087780676532388365751495128401329446424979014377339607786254131889270520058745378772445175461695568098991679887772844427517691763433695221105885028700601311406923844082098281632026748434278109072892771632032323174490516436104681772405714795159981860081910211553870042491793567192009926716546880832524429385969310562595997795218324151162791173208446550531231150311080846451625642560877554523481785450626299261968745247509192610545993555992380885272712798012916385736326649053432933107479517260740883758459990119638960225385203368867520962059960199148216213670079335744527659058797601574211400571186277533111324524559165274762205060394478943064723380299467337929299402960612055393098656258493444392242545017835777693834477080523682894631122756918473857246293352065101570672926963411363036680762652649072768869703643135012940682640603493224261147000437334452176593755971966590404094769448872111201418357810730530691513572549464720592337468269552227425273780464161976705511052620257474292880267852914902014666433365438682522818069989974785335550717460106771800760299150591757126833204338490888488402037682756509796298772970421404647969549841639804166543716554919322345122173707535472081187207947750178980763763914307468780646867910006638876259265295425848435636425933487398272640874089377907767912222698073280263458794021129926701834956765812454842332380397472667013208071632661185526341696321845383087369540009489785029133864187966887957635483126968791875762330943738338927559275902231313462163854273605553376214637004332892798450923554868848101199415292585345014207362973383789823829456441480406962660193634061593049566388658689033189050557154935405347469404860408007368995553372367506956909217696254740887151299949364435303427737780220516255283738654607792577664848701246476286292237586746184197346090081901830999844894048018617475417319168321243547031590202052760616586700826544114824380607951085473197945092989985253123548185485569893774740790045884211695053037615299848432811267945564692182304467878807251098640026959893520292803378178684609318128573946979685920159019281741261484193767390635207658551080648399549773975590258176040120983993192083771426192655128060522330731768954997102376173828552268273343077733618048350042449338724346533705161515324657757018182506092860360729191039687414029747984574147828847637340300595407506612374864940186867211763743662051330403972690351698425651140695309954171524098863544219733211474558397944434977263439311728930953196094371134094765799195754965070068045519933058419487101142763414288541003073827622305947516986181557937129658723473216578044310729834451481252271352358693733150629362330390622960331498264901117656239858975326719652723165574574662251467675343941174906036325384058235956243671291675728254429312678676295045307386088185464772214693640447704964716637761482947230277719444333727961874628137707906208631035538277207941452446482739767614938032092129118356833578871999836309743898384471549009285626129902692992939211434593942278409139004548945103030058483363326274675768053187586459087520378965841696974269683340153404420681633325368007887768759237463348263411953645361558516309196121372102248740917359513989537608476444640989230736338697300274706625853029271266948117239989928295475081239804466429746060410028438741101361530189810326216511204744529298551099694130944411312218542149996456797972093513015839220965981883493297494772019050182494178162864421137768744193363683738194097906276282073333223322201291315320252116840894784482758593388774180822694909457528900962568243520468070438861902383007992060251220587808703282672400712047580599620161716053590255019426511413689454241385452825223809653133863573660118623391285933839118584913340152603861814932152708631112352962859247596680042160516285997868484826364815236261745965116071764242396140550906424905099276717873860585742419017089048317431062015199674719134155290775845834883696149797483096290294438478901152263590319714248392771740171841896421113801760874133386800773927190400274346138874087057793220313816802549169237682954765576675101903305015242246659886164720141000867854531797855322091085681435814793855194619675443251599446288013075312979436293554270627058497199078931521627979314057773931077894364404483034774798072482867302610702583783133226719000257961956025143748238901391647942060694875528211756524743047333958777262920417595262990139327780842297137666433602642705080528653199690916031188935984228861900528695088108711324990854709552090807504394110723979460431069763184443082542762379247029130111124216699920330255284270997104296886323746937566750760706892532573766239989868102033437309812435791749817119150181479194361590509949848874974836611316106102850358311853296766845817544796300517432665583497443022097045762418200530537084271282353394236784365444624798789363293200187613361410429224948619123017845259948943427886990023213249368724061328427416883498051278767603844447114949582069803110900263428016026385688076292402205809005088658823650209501775799095776949330389316124939769087325840049324417570525027438919339908767914828167888489284896927685435404448887726818623315824609400193560350666273477179072895151438434709705427282476999635730034974878509408804141107032580157624016175799064775504510761927734270451478862805405730566089482364767659854030578280577504434856036520750488080959372332481945065455548858069429052946140136250636776423415939897753906714862912784168010809797755898717408204686677269576068888944420617259204135552129312174213840816798808158052385686501956073962520764559828792454613604900124080233132679828917568643040346400575560139298074570645080407713174129340403765873295095550711163571880840954317181009405210621281540868398156950274192224603411086254027648047424113494772850307071229221479786893154718305103116907505754782260385223028820650052873812736661381212577831605452634837696098755294199822242305273079210120987937581119701228431362757531538897543148311273339084847533401134002848378296126282828800093786839010286668352204213429823203625219937048931299044374177457345528897419166646628274771716058102025920996169131073269974416439483171321534251786498587626168900525451876346261638989457972258744532651108905722524605622715021774013193289752711724243861821700161381001871275948639458808741957621445093032955658170459529550435573234341984519346860440819237547071795315184201292492980615612595756606801948788843699861110521806034983605671966678688281416831780000827210801347775307411181154664126530905723701626168919266220727212220402018380424734501681500500778680562739354438760571558676621934590703878272239865546310117603978726495854309782780196974540297639966954942203548369681131725796563876620428337354293737138630454600331765334939742866012618505279698968747226349908963932444414216051712651369830432259875857609563933953399628382962630766023784133964511015436051919563481827922286666794212191257179250455054027981816250772048663248650790746765426121435300665385193077155522876826981334668246308323198198697060009833475865525620918461073244466417303063898531682660637423861277087656977308920321425529029381275324804809230482619102772879227312832467550066369783369668732887234085184668883305784589991708383822146013699216473987950986380134862875750257916299786660924996007879976167504438474743343156979473436821369333923124744108618719271040913597720550931202367443779931175603842911511989590677460882301295851143368616067403175337628676421774946679533090973199393870715274879830962126578892538148741883426154805700872986032237691900720518562462109387818808230143960307848021647478925285303267645321023133931544109594661144309872737894237179389706327457999065536127772444320668915721506687083447498519086157496688460120711327328186289419539854508263423201466213088893481570003381761819233315560017634625270578258158556906080545020034413838401799359967194290042450698224282196993804195068283235109905218473187447507955661538956935075399994276686303937925711276213901293436542900568392961216844903592685582876983896342120095515373770095873058320212519818075305013492106664360109501449117104335603406841909977405257718567065810208815273985492102450038302133282785216761633434738091560675574673112806953189659648293691914579797993605817718505443375093390329906886106530861451690196746772945276973920000951553875377979328366329881319547001077769456022211904244705909521570189835451781276325856731304250545005634284450236396426417110687976563672280043977404339029619302340782961852703262889594375620349672257890195378217475344613181153454912624110397228025073361719176610593903378318356538855972092789153934654063857273447242080599719888226208715321968068183066712663809967830597517626749365939180159519547684834587022977019945103506012101359479000709189053112587180735459753982350360449141963305882961321790162599066649249902627772306405645502152753458374293271730123132971309043871638936960188398776437876741924711953728751895788447709632965336950112144195247259908669471403413023476729532940681305608876860550399748442838209897977410969270506797265326996960464777628184162380972882233418897144898462334271940370998617367072390358660764074216627184446937056667885844192168840234648845856818599095636125418530448673152757333574711370489484815921681467033626403845510304470380595396167937411862390500147893538164149396084042215758307453249234219980761548488607723144542712181694455704706966422706287676287097957404250721409935082571049126369309375995339455369455512178606900133713479505276675137774733743373456812022761094986952947651354960722197710194198815560935486744703553856030408903238683870751678429867495637308689879527498920607684110565836356099274749134496081461103660177344441507944310182019338265497009487758728629684716457781404582579627427564371650844533113115875701127647325295758190432436283339121970839687194491861985213388623855996039682317081467057190517778912648076957014637152584429196534712197334352156254101589742896255654412551766389315216317944844838960084965220819106637167766104346558900407078009064961153978981589842102814150170262451095445577743842113866810164517342599043287242093787118863871037257729020249764350870871512035967460893453436235443585675916827316711887384028089450052541765773589656612405006664830173978093471829613917115194756431651988101532514561193977006116190271774245787051948488174218786679373009244139052836963483006748314522076227832496514363131073894993652639855636595195519099748952643227338227482271046120610256301251552474770372110563455381352057766224505248525788153184507386946374862739335170567948045107650037755609521889616739259712117000625137394865169651571196740477807138616188890431273700164537666476858633407032687555578243032993756224724743266353506733924621755229146652762724032716230146242901808201035401867072719530821328155004815869647908261923496157397820691350778359358538993696785809812559872747201882638061854609523959785342476082566475521656916986566235651628400608340123488773218783565238889136315743058968986894111188692349283819811160982692282409503985328895963775173930401619770549130258286755808506771578599770836118893339835140726691127504755674118181386703617957739350700163346794061344200934625294793604444192101538101267997827130052733277306689113446534268835617793901310947924310295860623327714887113677932843569537606680747067764814178670224498378441988963462774027201481088462507008401797819219568378884791521293531226804466560689846759301799868212769166017697651154300347373517289510079875637870656725754537380583069605646789061788167600000542271573348721401496595345700583661941992777558744929732314805589341413710184430355991966161204505046320490665689513181054689862534125523819344327661135685041515481295381897516641856538546733101638400410123062157411013215965159815914112545838421930196563877647560649145984471258823543442253649066434652118681809311895076770446466759050620398797258588369589135459778589661403659519466293987254052902469782000155010677330595145488491547019426802699853723425075998733402996240246339595274767463313941242388151615242154105067440522263024254495157153618517618280435172642817671373697556653924933678559615453516891509162078974572398326927026087145934738708650680763914291870510259246429842475908805669938061216958132165944393841960251349453721102749706452787644604735574323567187864633217816890850870129569796311454229588296844972955218131114808229692361516115611772728346798985045557484787407901312127554316978062693862890195818015753239596134575748453433736665122600722774219774252103512039562312583936943244553715150507772768880734057297681632338143809147446285604870587239137698098942156209372253560545550250794932552327931030212572907753217000690795260901410393675692312863721778914758289124641711411838165691579634439175672205974348826891448581194864344990735167967714819932620672693411877335280672898009252659154280681826963596924824334858981665951607634737126133641559912176858236132605014819518500206839096812461025086897140265346345891006561315449050255929540126898906708811150733863911795624423447733171204976080660718984542991843368210505985622297393367242511780839131909961922531863204300500456215793724354363484090649866166946770047359201830106214576835206987332700028582932857585630049040244637069042954843777839071458029233260549438250003049756552081653205374669223425805774860583785061690637407555973081598383646552913991682773042741997330207214568538958201234684892657838905347491494259690479852641266714944549299453365521348668056574177759291010231141878456911161525063523404645356047287059934955111501066240118469107945389757540347470580138823496601951515942719493141729253636591412819256245408793250833790956350230661533167209336266592404405494851456152562711684284434026655956184682888919190872234226922997447901987383060619352274083355998500215668778117377341926944275381371477154991009824120114504376581083633823945636121937963162580339135103298077068216538771122703942857369064076670272779188300558707974494184896332425445969848903510348804005539480278127493062829876777388576413187252872316251426827153377145604371679439323083783621889207056752691155501525339289682992545686943843536938731623669983519268623936765667410124205724110214370446627432554053086956044688558508205743129208990112009970406235103226675639275349628439137630230114024413909639636790262530671481338661917272045349189740247728050939392181916296883389947391171961423366194229305076889255091396564324798581284192054187949366352888984864700009748239699638110673670711476748502597630977053651390412699025155462530132958104140086183487737498729189497805252209588980273838094765859092621021279656545932326092707718262132603443270519973010145726257599839376325111309604443406252007597017966899367015619536362539566198940934197430786913860476028337578088024482050429778548532973860183899585352672985304425676347775004000931296027657266948148012078746203917912437360934321811737249710772925454534077835304921502328377566509315249256831782182410611910124984618589812518154037099183021284738546466085354360298704372110247601769619180790559950239482000544667336108543398308622247273930515992303741117025376688457535377583253650141426829689930425738389266965031205152338980338342549714960316483682986198213137114064075206763105394733165492229305450123103957738789461561013591726791154228652452452818653903851870920848748786334837520727352645477226503908964076205510522274047443394016609468231788548195420747765974695512483007053836070854056614225583523586070219321443413882247071931539223548101551321165046145847241096168156656694996494750594528905040048263959729330100681720429570801005206518183170590440876301306360005869003723779156656035885474652334018989570737615871519565654284057464303851250759614136997797504510685166954048415894509281029621211419758473680448927771724589520846706939026977342879894123425765852680685370939306215641737386001325044502051794190083816312246021032314051492319550576332915580834907773119912402564821181385349082894596068943885498620510321361122018131979835860462910770298415671093680210279480132753635756063832454664562654752407568166206176550179052472543759489845211656099052789111017150291006722081328477145718662923223715163813143688045217728769531937177274391865514321020152219761545823208139702858403502701554876876031376141226412831852518159081777956054083654100923553940345307371911661352686519888344171600628642243751301572043167518010803456173970083827947595561657484137470067263003114590814700910576891444287141772050476658414156816765072511265081829962534803453870276761776723081901216213402608314435990771782793086272135428423522257695034912971555418519651362469869016151301806080733122695178083424477899402479522308850979017180694058132855467818817985323633700619455035049192716693766624029525914613414134012932865140016749991720760858309745409362816729877614433884478200851334711728847451786131906649560067920236035473554106021494288853128252732370000853096543624106047695406607878544873422246118468612665981719792825380462958056447571585228832770567030718838458126091098601911582849398999243697424681028276657069888708346038627542207974025070660908574318272960787496147288801316928566975087174018020866180646040002944251823168515420842355509639555416368939281741074675420390394772463571896370393732286320438730699385658110203174397885909381110359855258044053251276925052375865183617411308375977743899478831292185953998799936858652949364886565052895957365292550255179086459626777651248331706596933342699300658160301926505337778761904512755057752206579418467285184023779645356406393083707140485938969343542656285236891638057727815818702208056406871942369630955000476789029646689895630614821973755003143527372577781354750007410223918839169097233507805244114401250443579114169238345521024529602094806390879365950999213838587202965268961193137106929435917120730984083923715280052109428512055156316914483113246302241124533483967807230685420063923866379361903548861633660792279379020388850861694995061401320920469192192802198007406052310325945149241231033903138834969545754322741170729570567288604289524224306405701180445295536079201488842849506569682784840438578141589066850840568300958892257190216231072895219848351556458743172556675851743216721760978087982132704645250281348045209977966428254845266887286292500041718028639920378440814089000661177197219989276440794573542708997983855905885638133500585144650789966124445636167603878600720855973538988588807195964808705075048971724484860497217343183429937059351870569610244558912971443820325052058823364032728328785665522981342351717688331220805783841034473257635073727634256452373621977832594274269130504554118890667143255648361874588625646489295704645795769132367704314556885486403637460040052782002099602619987047196873659034786265283776518271921727025304269605175616078258836176238502927534532375430301611726080035174329182841654214601355641172671929802034127876332946681627637923817029336489976788953965023627234050898112023697610459064111400435799726553458364137243283292370585049008599623725421475702756480293399883711839451113539990054445818288696865330917299605038863535292008320999907664952381239742300248250831382745143859999675980981673990232441108671551430423375515590554190073231881713586948918233887676216056315876247294456289985503426704626649510363681861782327571503399854465645449528440235596451459086681562641814680391417484121145294441419752412214169514104747748998582317817992189403867079520584374858883903550653717393162927266682828078847959087746185850743928474186909425857457611245331184777886513417354415763765008551986514599815434959915453745274531518610452945852778359328913635812538444981792290770929885163190074189307828515297049334798826517792998502764719021675046929543868612234419055867942128854877266510633850810567857004234935182642495756151199595670056076293300692133345594112039223060785041967997234269096898026737602521049569114769069431760566455612127981085841096257271113022589020445166383852296034605614662340826468389927253859731201754109217143570524210375388739299669735078436772947816183489636518209155923457584915769131290752975841479699863575975868879883081662646905772521505237827473182449957320404514172292857958023202620209718010943784303070966562901563231381078981600804784046476350173191851191827172047711618089452833629491536421675636630806919724004550891834647677588272556440640529654633744413737096870776804924723833982195950719112874431198289654678980513112091833042383136296057593272398804035749459065854530394140919160645830458569881247207287828679839476920660339587677076623703768267615748745514916200754347503757472990827365422876290531032905202984852892585067225920321842323357907953076856201398942378870874646471831497282777385628090118005506389373423464423462273438741996249829111825701845416390828646054386590292782116289635855491296162987741104755619867642681397976066540609957494946066845735444499798900938034254130456085967926529352199477399934234371083472995256117868581241091844826516821343534647461822902849374323497575755219271575328896428987684070451037267360276436550483137916582614206086002109439294061298875656013924104281196752252213253559229910464282016733330907344223885448576651974948410236077037828630927027943883791928297513515059855332357243078547641614810133798066391047494409611733115896891065983356916400944508568458707177827409209943577577061424144549819552819581298710710640976701479923196370314181395022920129396480273305858252956765027362058720800141358544767543132688744980527242856122726360240342457324352957091205697602459749776817114051229105472430791831508282936739332195699700530311655824693407726334320991452848697022730113425639840141460047390937772882794826053649125552816594351039699098019099226087764770584121901202225806002809783751826124167169089222792849795796937485015088192585048897737203760831917068228384795423900689514246059274066547529227178248199170214233646670497771926629405424445283151351851024137136014238960705425525241717226279918555186020086146048679994811997636368335566162077006132617916548566546150151398623247930236910179139907993699431805951529072327559594612242602213202943363887660139823592105308457549275233788746051565738194654094342032209511199719619630170047885140427066470052434256300424113944464104168930489066643459376568004076081670889580173837974972941333973795490405478310838421117409289129564110396026593148780162831703886743198477914384253590751461263208846327237858122781135278409075954900617595592864534540136221423612238490831073651684933873372464767750259294307852492242162897554446187536219296350746853524158221172229103578513762506220120303853201961220397854705308007272234261456381970581636460182783942534199712371081457183502099465031212036107587949503733692890221717998675060970099270830671933006749525845209375856298344550623132861614434778669839347164692938977282988261801645515998174322275544403383830600252285948987410515427496973623944946821449702454875804864532121336615088352935105464898037735610576456893499637334947061792839097934319581102571701139613703731513395282110341869936434088999465934419334233828958040336044599049008620502078641344072687703808995033520686478947578860191032423650609706896601824736838606537912451509947128015687678886223338210897274855198050674414798095881290668241480054453603967019108623753492318077137312890859650487410959915158093786546896403496773820344182932929794190086135078278524717478369254648786376469261564236449721222674285547277390243575398021099694115849825032276443891567591977408253926441159783560741730613238830106027140164912556648290327003366373278146187814018681016440627071162184086884218913036285154712826462283576618342265835709928400315061071967716262842389554894524131448919869596266443946207085529382705098746456142211544995918773332398129679473615382431152009303072605843732516627483950309421273931187874568842429766793232937122033604215114687570531514664071068534906531114502260922221143494145043085696742761805222665165576374097972266277558158140599509004893459607501561784348952160092651892521618272014652180474453622750152795317919384699609399295305759327117611486320235432123289060998622259483749273697150611769460497009371065600241770576928824022157631877125787486703950210360270603916232649945261502591714829724220575834671117078650684482611261339537537584846254266920454699688446873871376519203154081848931656339126130587647615809356443370663137528502517309041574017939032627825251827075217770411963130461732146360097220686729525163118218664070371931872033681087288292119626267042067896977319181443134663501060713721708376258585296353253056213363113731322048619508302766355702097511227007459838084482905153815636904116953267186201572474819002163138106321412865421093259815216738888754163062806279764666726058887383943437358571565984269969730639448243281399313108014460258255203438466965745185998316762474166088982905578374368664075428656735707866433947569114982321670864106856166734662913355245665833119465245769071775066332775258753460692940165696604118528899715800427343469159709332487479826993547335232607986752807175914022045215810239033377417302692643417552383294052883891151109233972251363816989460124144797212637207346682902269777432041241977210430284341608652759389293133412932224666058200006965018874512493154185324576099924098989461495099292223352036925516929452922657315284104164144256187523252468179546929076643375110478669313265179299759487139737530031043634745720332897972024684393976278574261345316797383784709197099921062574526762590655058364203209633471432397746071017563620830691960675100444146006799515649402291818324718743094490427265339134799634336787504014226573237923748690308817033005568404485552818826410963329396226412172520096523000245574482278998013490304551066153289910626464651903289992964846454538975840275530580304029981804279270627761248030147412834127324598319918397722860456484672492671534049513425175589320307727780468172834454859969334905397077208444530363933120976435194666136566866844071840053766698217138280878358853456579746653241717090106415311681669216587357865307405806217260098178438048710017795179732861255925560386831670992066153676436824635084561437255958850862926083301566928298295487309521136717589653740539255893935666549926161944420400950460069127522028154159712009188517155969885630345382343420787963070188055788931069468033051946488992778091621474796481077483290503144143868576304374260742535318310673757774885825301138212747414455044914326045604530038199588384015538965545258816098483838256689961524008044061354678005117974810205050242194262483380905610890696847961231119976037742725418029596915226409527726432963714706447774656683320070965155195031058791245205920845563379919700814142703983905921206191102909956529397988579901147579790575517252486413813271548856957465119167185161011874833532056639899808184461704804100558703716885308409165329040207391849961841280503814367464445089807981636700495055430425380232216156207088629188338782367691495836985114063436193193841135605184656199317158561690446032307569912605061865959314214104024425670050272937242557606880836887845273488089922008283694396457192291844915122379346412197088202532241390002828116245382031315562083512878503218645082885857711154381440215549982284736764493932784738983926341841092552553637929967632328340683458135962551984233463899145888843975302377401400799180012754572718151419424724530491314498683668432539237281728569657029947244947850239103623654779669267031563454717167819726405235348442709106547879769954771589866092584162784787686726641714858053641291849034217743635636897839057281389921625642522759943326727808995290333021921484886233108694394120156058690138658182977464276261007935129032582454716739115476615104114349848144720383178177054156254645208341296579218736734638024810489613745115629993918517508058250444525304182365101359608138665496438234630960311362950418536404622584784594762331702887535018728599970207744990993206219378387639925542510921739434132173227030096498381520518317222041887933546294557402443537211359122472888491349869179844296366920532967728755022802991527152552497007776854068070015550200812393253123275739668127164528751848817613976793504122575186402632384976592154244156823373676637436388898751271722597280982544882685425989597435669417176037490300703193833848846148939181458212308845651258097241062324482520897006649671435926169077976357926270636250751675387336468326332451926032219738179894527895925581726741513666308779543136288783034193943019719038865049665175703251358152867666707657553498262675990372204027753646259860926753319859505281964104295455688024928862619678565863307045354112622447268795945068896185912906467205676333378205216323028908165688433195359590342211078726387375371595780811617034008154664431326976559271085481566242589751404081480267194944550913337555992388835474180270321122917002138750365371952309599849721075514547534751233105245717373661861496853743018856915942766455193034972815389726016642894156311457637514938112828224441995872363368745599654663624304217142176811615587033937308241795412970958086594354516595104219211069827451647937486669180907336625280430541403119912567903822190882276415456856957811163381594674160686210135334140040549897528339467272190006764785704316426611473159921454069001925169768290920653468678153125814872693312662345085088995910861491145828546792234459879576359335271840498194274258135204781490685764656124392126888322755383312436394475652009550342960215502061151936297580584214015426806325320688713954399001616333445480760648385441351702126135728876327923673033739242294909032931907502523806246849391381859865643471569211493245811900440740906351445369725544579609602824581941320470196608261467882778532091951191144609200773032472129875536642068215579781827749846816417114100931295727695911720430732708962065870559933716347165938312047873971405184159743747345392573536366035891605963455406290662693554719651670070962415929068021311938329028573511388048743731673854378662303446284207119649392365571343217095324104391524067504046738580450379616452586790556251623465416447994312744002341801231493328422527458349948493509331001198987829894194209841718015918179883702271246870954777961479231603780695581004810521633586409728603926991489878175910604293924656824251740114015899663063102629213592436703042142917516353085757782711739501704837252648185048285014343831335369610788496119647004752495247604258387084167058205738247344426379818947530665755066424819308417640037794877016775178716947691912646138894963456960065238085390166734484633778724422007724548726950770764617723472634816226394909822410392472194637663261850856867588879040935013856077332782227663492442538926972458675866809995890261804143701040270771951616349696864604328632129420921637545418780062996299807726116710148813676452917327147453256964126512841857926256082730831900598804379308161983244106404591417707288645559825448511892994694171832075356115494482521009867798988027980435032999919806142441969670818942085229769151669756910043003959894544336431347213386138492116575312512485977251600357205973138646825977547146182639114236784692073291367653855801738761417660133666134412648768978173941011209835622602754093708133071862506913197117211644483260258393738136678769962411333458709101989282811339981231106933030799294448508652616573958350981135870459760817196261591108137706495170858857282128086834928198750797094314169436896545289359700144203380627193992901790608064198196990758420280369188555907425904386774329841658279447736094298424115504647108644823335523120663135376504356154650854162187770457132184062592843340233742032362771401360139546622237555368471549701132081943528838782103272745927431125682857152246247428980195679277539918072036918340099743616067302571964190687881114504613802799073590165489683363858218804343158450793614312643574821433330956511195904141507696652290402542262619239575888291591327439507398147189161565873295126432318041189644495013817474814039419487503540024631242484562291880027254987557345005054587816368575605664081561361189920069367001152879488270244293464755423153849879097933692138098097874927785906722153365674309603170221758869584757808783636026724592650226757324667173766473224665816449374770927866107552185246034954087115481932240929116856745954481799862940472921765695654420560242536371080366798922357472558644228718609211407845748162883464005889251197896697441147879449322596406147997752842850865613427113436533946628056755191355794073038620107223659186077626481422889251844780823913776091764283917031087582438692492693458461826367721077006567302213776371937732080005325266537272715032404755350581005120204169273491715123875849910924237154056054096017536494441283095388779472351607409714725567905435957247467437228968482386470558412816025880048204159807656490399717731112261549589630176139312758134885520621378025195921650252804708920349978669083468726198869696707413610173853820513712440406077422928964695425779365943781879431160643842133039622214012068540880942480584195042400324648666571679964433458050292286729479403386717303169885229934478090125140300311018648995938261974675872502251530913555613737624260030686623150967822619694747303778944005981754364894779222630663410198374266089520606605553470660439920167088526342763368108793098970299932972014313247491314828206904503039827498758528480851192289392545394342503381835589131926850749593320814218845683511879320291931184946085099474137695144094046657348014122002853541880252294801564828513965908982078050067514559872587603984973847909658631013411626294789579914985062678580870607147168488000874113635164013957601889735025888055176819074637553953462628789526722873639423618754397494591534234939690526848838085786376832146979586717078327297366168247416683071320560916465426004948955868408407289486621360706302575674644984910008277041057162834267969604717664564554552957198864710333917231531074916097887805442733523080352947092502075308654058379331790754917954350181299841577186440260390560388149322463379682498492505412767796033177957136398790244402179163757272524023812314107044984849160509571304724618466019937540948670272034807689542867230317634472377179472328115340449676091747921730843596063739692009419018793768634802286068120947098298074117689778585785932391334613663057252485550943512822279296731208830800105840723285141079899105160840022507046731628197272445292827686070708295894409369192144517856311449722846366875464956969285336174476982969195417919613344633997019509965755077601154927732253520571286580244608429874547852786049777146213371984518438326921643803318926215734347461732406321895725359176617372021923077864958256817796787226996001452354599504593024967812086546217514088102100211735454870534289659656802587129026062163083497287007099369429179034950162360980370817091879620103567603574648917121389440599658276160841948041613590828931043288940572199693559452433589576711309946037675760218973352253120706471666197173959769828078998555998437212718138730712262200993201471487820798128897378179026567955281300373353057791338976179020115508807060301566798993015572132186401533279684285610835451961800233272878192071654960191333454326622477893429544426810483935103334845932888070436930669016675406945165463057975966324928088256548030217219020935410679073375396919823290916849436890714431569367175155756898728758341406236900947047057324780999345647547520950522779975664295940448940875608080761324631994515700872589633668443282367977579104941139875218854868838078239403738003952843936732314961459225999539269248235970309992095930327882921036738818343410976202393523578207901504347690375709166271666037738526294879290905259943784316049602118164928810895964032126171078972816800982881188773517966746160350750425551220615325089697773078507922361198459658307210626237542463905989301021500849580314907914282379744268980488927246280245445698336768773662918352562615227586470136283319772424427172687130058522640134802728328643652322245057328217690394335112769416427144973632711804148855947014214499344692486501806965585017329729798941711111104945643765348920955543040906665705705905522628521433640310008476610141271525586223109746625809153278632278779397729363255225687102624948389107791976371713183016779642102221002881547814622377068711997422009458379944555449511018044435929966155793761931795575346075963008190290582983132028879257483014250151610179572424042723472525365852948251404096063210193046380597346493232970225507827204615058590581205732442533900178246420564280683637351186377707466330651505678308516158559577663804352656281019025657315573894614876806215354504390734537497583990809832645002064789965471088568270838278017448548323683922913001847440191238441343493047779610569314878954956229978412433556725864298295417539865225759269782336028260212820030448587057889041852882074525798879810639153150904129166602594257134028090983843977535942727608740855742713660338131309670653157487005338085958226588343075675871146284103252046424292056344102561597384672428231603469294611978221573043092553897841120615284435691834600911325561516794912590196932028877571638871076918275589891011942591556816290872174719292340192234265095706818696514944577502938525705136960254828677637714666671537210249543064022194320373179763248925264102680206979598958755952321670101557608772588704606943771649368534953697610580348630234924023614870515039480144492300237491837665824455411849354761838615755041185233566586566914213104256748348540619926869918391132103016721549284974688299497331570437745512120598900803596453654138014939260006729746963752219496365611095403343523997876657380564178358290957403385097223097751042533415248002981928499361695463388634497627851046236283638743966582939675833873860242762482996068789073752429018757697761804722838526074560365566855142584866628719420999298643699149405696000120948387338818808251505544322888866611355109364095460731623758213211464332698653752796031055239525061025960177696398899476246138599648568660519691737394105730778304647306945526125813149003457902841746132222536136931177349581930032780228572464512230889492916243310434466275827770033993955194391730136338002720453587333880778674379041144781606250148243664874250454108697055895930133111901965347867384525280869533884210092458052558059811368701320687000405378876167813716821714164107251984653070603123166372593439589827478263117050242573501575013032785604498800876701637721911847771564928841245499955389789937953121763696060668126473347562947440171814739309948606612367703658786528474600329839867283516317664993024268190171997947850008316804330103275879998761350498015774743362759302618249791411668539969889066208562073830213063045113425978383259875255397858825932554606117351742999164468873579348970203311263227712833490220268642056006351979409368337410409232852119315903528233692338849978860380482508205920012229823322972405252840100100421840997175147773980177371237144411329740987781104000071894955656635248390292014393207568180935548256959009862692167677838603346807294930089020166975934184559911953441814908883076604210008754185838724656011957027081965862338966753352816348120817475931716530328700065147292581045545829583544803565236831536275206729851939714538093153876012884363794120226578997284644305644242552553387073807571712575023260965571188938120946571236702308662737395555643264624040262998323489233569688689119109360858540792356564340510468073291986260300945860476777416280370079484959977937882731281239851661039727712485189776440663297043696319587762964222237888772551447694867494184162308489443999834499748876136045764701910839314379737362396900612550021422424467372463038481892799636038111476873543543920706105391180772537066782249833750508407798584424252857926764472506043740243605577922980992041827609303472393344353731365309097484655192977599512779124164937180112567496148639996389528578157659091404759506965891879205557593609170871333458590594847095198505231621386321555354945349383079262409168136716534079364499323380250294519621560753872113659316194754992866911399965803722638911410352949798987516077551732033856914698451635326628152052827043741281678454256084899518403651446350437078385352054425800145442615157197539145932229791648679406245817777956234760003973227894351764132202563378907438686552464129528834161575308144898155181828239631185986482637604670126092685291375922605729873698421311224508409996653747058230418437873399865875927107206139846103254803088696844305097849594114990966531159758704506291316405491783935094883972295685207106442781825816046391096180020227652274070290776300988854292550653273982998356866018466469700934338685030968595493292210280378944615744619379899170602031746321158531824983133852804324824429236027035746051675406216468736026807316717065896167235792802637564438832911125516372399575363848803449186151979875775091725680727562551523318384339947854718262597865681837788539561426991617969574195481834334294619545688361590422929847229054408617038450777961316100068749714352642656094483844224825477902746734759793952654938444152145866483883850070868908711066613108781242219304481389968580827834238828094307002375581316503755266392289663840316257322080006379656661340232724643967876702034153219786625182532378493513541324038508217411157862682105963764496982381804325562032604917548129544720537450371592562950101091273785597552730978607741048929819633470461160470064864863829793403181928143105213490580025656411082316612246022330323971453062354726155167265216357674731538394482802122832695884006719910956149535934985131392998420599404237716502264772061180398470885209302926616680907851804506816867845375333425779979624044144029059872324895204610456274394047444312011194754020033012048854986908475966134365865431757692454162268912890810885431129820393406899683639820148146199425639864678583730163245331445284174695445015749393633332944707744745316090110253432650859937186305854967004906736008515322378235175041663607284891896876643594564572767628136134027485532191877856132425632549737511285728520517635681194318796681504407784158235066658538200567551980432766071835610065042713270183705156082396841687411119751495209966634142895872453877333374241461266647348104075440085935215408054971188469156974565589486535046373736342182490554597836224209634466165457637669468297099905116960499613421309705654208776273451046449376524509336366357737628212632129708791238668119896413104085573882630814061521480912398843783457448934536856069800947694575830543324886161085639074925578568992998169347885311386819669646480851540849912905523689709954402792351442702208124056224313194874119698768170545578029649589225365385755722516413622297255175770460798414456213768315803457868744507813445637895067016377941302226129676089013625404006272370437913216732692377252652717578910653538782932882758966413653691910289498752187125851878422212181446797129044721266648192425752882795918565847864293452846801580760535090784013253266948723632103382297232499650721874070010530709867452460073178556723136329959593020370567334700190496133726693847821002760534374808395141895422354371421526674545965119903785646933979005176052068389208223581670392534997106055233017797635972360554717760534692679304765553485181828464069264295206844593465827538070522873496952716190618596063413360932345869378651039585748558656896709251725621519625011146344653677595536766115905802270598610467968620134890720769144534706529521585868614035083820517170637119529506551864759069678488996437131262165826393988321454488716469045173341459193579583510582214528583586304390508159707057367017018758370105763670421285533476143450376831153519840664860175435412421276894400582920996375410385687796425616846877111313997375191561334183042464236737070667798366518858518526248096980723394059299982688724572089062826160529995049012013702624359751777671344613104169479730995995437481831390529546210274560792791295652467932319841208652687422364476621272233334011554331795287290364696884089183406257485078100098189471197429151099567854767520593885972940529449081911241152769787711840148825224358585358790255484126431618334350132513857861924117019861683494663612005269603677778650946552624057075330992002950991012515444842749555900694347788151789674156338406025194711312870896585634520421123267215112354315358332864875247634058887298649222037846270531096124023564508726369476953287556593672166007983761138664945750920573818317623565347589856296405008538670782961467749643405073781197801124618525723363391685553086352669675204422249208501224597767636219555854347860916096386566255428217404369854429432874458681973489157327339914939311124053171880127034849688475910608347555818491371810729101541955228369191023932137819271352100481815516295093770113997048427496639199045653337347432111907386014047277407124511065418373879757704148719859117531093582532699682852654170720556497626475439306975620851075967558641606429207107799266590881180256600864952096555463341042075689607986865566117121799099444283634840780588848953510258876212971789074412883039068197868678815440160569035139419377568587183388904084474716887486322126276572214770348378442031793643970099043780405563446623539260581639817864289667316810730883199512631822964294996362981504445809931977501664464030672374152946372743025572829327508453714013893543294379181766830906025375782926584768330814637086589893643048696793823377819610095887290544495363951933506511026599679880797399585460861122960044508269148831019215939776949415811298641019646350027147726050203886654792365947890011552567393180799810328870524019688563764377697107775110777817064509263041371596549369535409870793913601929753590862476462314527899952081935691159171963739884649171509196341878399799767266672802766286557211041300218892379627112054332076879373819782367183877592993301784453548040560765520014397657749625018926762921014097602206752164546485056767965610052743751484577393062340813449080495299982504976810734575718288567299275067986276524339394833330659388643754887415322980501032595833270071843189687157431680096457670749950831307108127566552091252341222655460323239242770300872665045159913741122024590409502262871349073151858984425866777647720732631949509758923307210646497341757454608330968352728883739852107262017013412666700210461804261463446422888657889295949308679964205856050644345832713703400813434197274057962894849170768904374090153314281268637533783485350830248625334880334056713900285178890771403299371099464225884645367606256970299935258850568326901559326783902607651146243817982454619822552882584857958487929444988959262641921349515324252814664640625212483333070094068993703676290791708174921249650633965592038984182001707645802782774275046329133716908337772158421776080386695580031521439530888757082487897629374469019396954684747502740688824075388449540233047523363317458428538680720256607329395665408848386520231820861438064317121904846943124905969206177563754775379413995113967310878641024028092700571659916449218104817716091619932103194897959391051464409355932535129220096528984572693201282259492116194445085972458281705562806540996652976800770649275826826341538787602744103954042206970756118004981610660328668536637750703131780270448366785058840401675004540168296805749839984650579889987373768032167387397118265402726682065918625173420725453042570779234886816787405948197689149986181396618748093864765344267457572380885624351267950630516500128658560491384321104762359996522635791844553917375033716713864872285248145271762228637463637823764771811457656095751427117336481068104239967925397492380164374979635634710538945161401841631340528843595185946944433232530668806175093818595372425040554388862450606706474915714999499392081395426086070019354847113491239015763684243649958902673030598726660344721722568247017203494373894434377034208595330756272327256010841462647708891673356440609474537203243848719079863308679310064593033223502859374163935713740250854950174244358636297977573272124740314757381013209152595545413108312998106387397468150186031426529692064848503673391897884558530224241639876216989933864202348806732494412919513198853252708979209095255544390071940852362258562174158643471160931065659660163874513770854332496265083461893804159071323610559750547760182037906387747066293665697640425078765568009919083390695826011731568834428631115413433376544685259110309030464327339134417227791456553124419948668943727333421278526797790767775137597822062423439733658515574690184310751256370712047019420413896878042685862959435901389472776276834632820700081208952591791754711418046822474200173460080430530687913998744042534654794769334350736234067294010747690893481450258418901028571762892016270636956042402863976497192909080538233102014533436849413289539863360992948605960620198087223103955075740164098731498143880317783658575871936047541123003059272163273067521329076468136789272310281016284408360050419036317339499587212268727090481042667306819108406053305172433337968776675337082251369960979372649688571111254373709552845512675880819198720650121243369165909735285853993887264772467680358482733562968211465103853603527080257740270067807737135707502268543251280704097946853560533606113825574134696866798173686202461920867908457281771880409462719977648643885868400013668055127510618135150574180840980310585459005727854133077179598495229623857792478281561365312241951885626446943437551555209290466067691565971394027487836774611902079610046547210291973514140197687150390069912939313165952784983969435806848751672838205294980599652054507872338497000835367054702760001056589721137884446630489568164449800899248643029326978048241930260109621932180769614071068000473400633299507884889116008719834055966604679252663774749475833092342697247676783029734251173908495152187937900820808015385232926181232528384385127731766571725535268318268372302439272768569861471692836765422713138439604796652293259453872872102514180762888550545579522986652321117310691297106044378711441379294689374476026347123917349249472914898593801669349230880811782515846642029393812717486581932461266762676006916333732845812800592570790499337966885289790081177649480409995347727951630682086746983530592263869716014932337899916742676491727295376654084128720160436999931667570309868270676749813609444129437258704678703336323150744273491048480746364132584627438112619146621956660330646543689815385616839900717731299422092871566765991418720610618862298302807681635981463700143731788628514548853144589952896040452635738059050243773439732506351554442841563321228730001706308903001034462939065823122018541541770629116302157299155669280677059971214852437291564264274797723571464896264888176422596207667296381550016385525354836119513693203958667390557602735817124340650402854329174665034862763765114147724455117054019509538620189145087891398027965951017277586444593798482051907327640898167208734758942505982681050448121275855493280028243518674336326618596299459825708379258437582929522726976342554266109935632226532345169226834088992526622108929344670685629700543004402388316155593442987410466518657204906147506420667243181451430420704673881161628773581557106600319973008463331773245005005897662824107678906532792612160820237549046344555333901054220255415329424485143152975852404234701551956899201493286189279790051623341589932503645390377472634647936383114297268740180531670276745630570594248888888854801936917143402855790168947147008643975353670486521433189232505882877889881329637967377769050138494075508632827252010054224393338353632206746021354608532127761268415761865794140630187631039326484497026896144413718175174500772227854728833311085327916757280110109016444502094481695240482218531291694038513000379639626172233655878450408855072119189953986316591483125043381108204202990434051463230964079012945347802529410022939533691701818441206752802665389377718505855748178528512007423612266256200216515833160995501465251046545826527079617902655124576290478737988199053239720779625401041495916596948393551381314816994525754468849014206926861916159900499174705492760258660086168725054914783599005806350574296295638330705327401778652733090815970564041142859442744023190897339300007032723577795827429620281106532095150008165511392368966461226435896723343945296618084353568457520887723477659009422276767849308600454226862275093814264590329023560342213477215896959729584192492991284434069935917788620266316837774829660156212123248658738954964031301145283358029064831483363400285671458278070319544349376002206699712063152488051703955274215925257365479156641092544758061317741125802113057253522583619630067624463534961590936164235838702946050314279965605716638199993814023097841306680464440163201918662098877714245495994217696119747569258758315837469279075318804248241503225644238775737884285259715404580934365823335370407630967995764847140692189292654883697786072080859923803537697809400500144942630282318067438918595708599333255201136744282638471879240768159556764000656880182249147978972623206526832333478155713200580724471057439237797321846572781580813216847116588957437820819856495058540205205856309138671524003973829082267827189177765028749390543459590654331160379645633333296553246944427888207892805141407587925441658642702131726772260301552782684421269252862884006255186479816457354514361021498556050573967967819229181401207066111866405227262286065967514185113550684470603205537947405798641077674339924251601255643292422711188171739442361737573278037609876564376867724654419131823929158898894213610130016177033489665695367295673957602731172867445735314367154148055543686564638176459355612776653947567278931530043657235477195018015215382980665496837290163487306603386231513658881509662069420096249146168487898262348942608868509435023639792082897242027702368679311606156463555805779453091392866591722362222268265687238739608415982692092726533590131121957356928629573763780657041011228701437121613979418163062588489791769628174937081986266656347802990704805747119562833325870888451557473716063553828052817184266300380428506811001333455531593804605153564502529390247005496621647804511101955315388115094250283519065656812912500900607997097604650118246072480502916924727311255732373706592819047028305144821887738378048867208830922921759935727207784588177418346739970665266906908733652927484261362704095082472370878636881071227107657607433551265372575648823471167822532954091424759487083143929534559004968991559269658359708697574633537225012744359785529701997822881381369358471581607380311323967209373761968409512831237469746053753715493798135530089671488666328667552563944325040839449896187557999464674470680534226668133358789825139012160596234394443074729000523962851385120486779050435935707313097809558634477974372476113468418243411541120481342406562429745342205196742630641055950723497404208143818456709619326293195086618600235251208603829606153377130913445943125305504359294884685337282219112474063346521483619100446441838055456083422330335289100422877309718848348829993121744128995658854106178976016587683934299559836413249716655951426610417437073325036762521459672768568553741202376699092589967565702386713567484819211565829992306609703968299890089319889260568434104229142932069014790191012672627223967261513350196665154593808780027732917363826833679050224826431030112610757410989400669532132553022730920050637250753583827514475015678514770932084316599240533038536025290549824548704623210115665613553412643720133679937367397574321471327224462397501093856424722446598562121510078049464255850620272227635946123972647506368190473348388443787021990332053757317623456437158740583653861363932779452571833797422348270838854957685843552315913286489851268686825575660725079641319760216724569238691393054567764425589045020043603060903587768782384554142238450627024765500895373385428040960015694944671149222700696613885720960451733826004124561461745084341915574788235058984777041717635192400479898483767720496225008788461120646335683210623630254850166697173409706378006131305273682470462268736964043523069658779919441808109670051258626730410131423856411500101344834149643338322377864309172395391342216190620637408158858161524458313431020689323835898451058262409978792640962973858177864971059216587457903166464303669200006806868911610350506875238288511188861004209898594816351204431463678338406760327543207005960926990806869430566110617514163404122311870393296693716533341330966118390527913322069059511416542721316496555274428194991395272781076628792231460958007848228836663216643516353552726697909927386412287603518291177071001204410428918163420259538405423167089317403432344620836606824144140214849056249547444196040356427951845866756110003035397944976320271530344242391316313353080477035062346301425394518447402490443346493403365126715194860537442211003602078760811718096695067300028173045801141367766278060678580497401369933336581889784410365828039481936717219314873484426310228019219791096011895890688841832519982020577302255367770765642270057187407043319224750726712805331570730777901194576456341599060255852288696463079652325432539207288906806745963888002025233304377993096511686455363160876434149863366823904623411833133482728935808278129704894153652670131235406375461292953104278568438790865808257106934618667319413115472441152659452559903981158323782042665610553303845435103248557866593738770979553950566563500390870411407244484961876768759613973447831820514926516635227438063200248985617587481029707320907270884015430707241023577373331860652600462901436298879939958639661030329875552178254951331638558436252569569415028108458546166537929858850314708623193157492848202587601745013358139821510756217125695018034809131318975964252853420344920079778745057501788543824309510137265317483947957772174781630694330553086956056249568739314061126394281195816222553678737081118297180175123774236431238517691257053325881938833718998009701309347872191152679556200389026091086040507585836053456010155488385831000172787927687266050905453704807873214841813716488962807079712137706387937332190552441649106073158809214677757300728623603599726534752632132315323361757120257988945065926970647135079594200511819572373132689153791663319602212709202888485509683331970403924271550073022266457579917055461501066244086927962395190956072114085525806847632757355478666517270661196005604160381993554251995405233998300376106609727308354469531007119265974527025164796955078252893176744814227400919702096112666163558740429195304937375607672061668213204906588393135113820510005705796519775335802116011434874184498527448888372464450602270019823422361850336037739748056032854943957651501850549376792586178532896569258917690562416162836952167653297588692102400707844733598408163938153568802926243665145061696077924298042423260666460594033299756564977735725805438044321192007181156248652324794929041427780475096203477117258329385575627905195135518228439420597333688716705008189801137146051010809576116459117350597617409759029116471558104136726888697703572627727819330171163581492726875020601515915564508663970738077340979684355076566841885565916231252902442100516171773661599785483430184374796227789374584796181426196786239642346359307727959202577827082043840198217189254899543409172529364158568541180338958149763177132415458623931891402111833409554258353890101513157123284309353674332325644231830933726896444092690742358411761992091548571889399987478720987978887402455330343766385076364456535884368110995259725642404513860736936811636001952883819147414000575647847598359711558987310477707269311780231433266983253012950302151533241763666728763983186249652146205361104216393910456014676157916891059603166287775929544405504922021256065060097846638669072697456748420235307199691732803193001016420741889304315436617983658344577868873314300686664343725945925089572186716208403688375734666667848620705272605499556896763118472848857821882873256964690349018887346647973728854810105147353231492242591928451909810511883648528205682500992905740978680575741337041699547538692828895398081044183036247881561628798974397653091148409288912411601237945258251887614043023522387032545173915783205635007165559955225789414767991685977622822048561790069164511428258400507297366956727589319261905831310904074030719906090017598804892632270756882181145792572454123679417774961189763009183239672004573316544438437675235065764868984288205849398002855296567892580847231095913882500862366400013623418196146455759193821457323284576458001837862884913881376698944128670805356753068031658234690078548007808853483192532124379412956774527299656793849680190036471891531988735421117256765956417321765156508806395060803151983558777620316299221312767464162492023041346462166895968625211907295991264626270866718936879597398888037065608146065061916612162306899569492374071462322547014339539963135585015956896466519818064815374019205222926287696990660908209359242372688386165601502652671974005139036084317543530937574399476708059204733803548587781215841693421362630411107559770286242646662028529237853609455506757572412631812138405257291510592025507631009026682999087597830588052560146735601074890440011865715538813944106903915018623003639633713861201562380186516150720077299202865142034048064920438948916431571634308702592593851109710590787603863266538231228975490535432856669375097605619220324396499850554883398703238244232412455798911957351856254665709663313423171069581499144269200757127626251218449730550776625240800990268801135035422171222321628656580950038740527753602377416196543751967353911203485562703076420978273745827522506819942612968537517672990346575753946001211022146669463223646710061063049537713412097226984925191911224151506027663673052392016814497965070739422460256438551038519425856244355620466857995130537322506809097736203870741579310604753904986796916491105581439248777012639572654221520563286488353672422866222418148487359919871856367494202468752072829789252087237952778905795849445809385551286415377688364785895968850920888960543801201154234726302681024182019625691752260035612372160389478396597864832006416126504408604820345076520893618141564946110914467779608520807170701705123709830435700823882561865427787520122523417172548966825878589742738872027475135212893063417036838092625603042142820964561459322535349774654208429662033501135897464049587796344286625307961612520409011876413522825245355736449216226091035142742626191969492282261387609742070480627802483573154584034411045185351229172658150986436783125226811253466762974660437761662693736894657959582927243983129179041284163465650082883553029096068115470710977112674314857080767514338484843875726157850688872661832484761773177281633003520796851473593557048628729494260429458303987435016099033807298539626723816670412149366295361345652201459815450166916316720841741737724934808775704370702085682849740662759060558764633772518239902637768132589451442473049848616345896919115806367757490408546710674874101618911823934346211783422103910105157819622342083980074830687840234033123400668529974271252254678715819212340903614178843794285259993916421795265790124059788698079796024921997528375663220803033810775073072790927425221492383022677390957487764979960359923240011767532539474855468487831436146398325054114235863994924864308355744723094945719657489397172907903975676360889327586279649984526698823681999347299923286451247229014445764015502046687862127403240224627633712559942879632869739148489733166847475428331518351967966205472989819865037237220486150097788367847215344647228331073261287689141174194647341348418245324633913891744991772339303780913230958932700013911646147335644856284236919937570877551475215575209436464778947274709432815063220485305714534787926064475707706422756967046613365781988576243259308512716856884493798895579216299370209616011770475933739800397522105133300171042747949043277805178302013455398654089986029698960842779914395862477927836945191682613776426232701320380428017561692097870296606469206573741840465624754224341385038805946966746382536688473122595555220966935874896162764677992083844157079859675229201951588365121080894352763142735620775937623161844997934825102576604948281306232452394881531163111002906021754767901536453094355347688971433812454044412894713473920161512798248481421644530805886932542361002025839870870369561204445211860261482589657996629766221521475082403845860619077604969247189027490563868423506626774190774683878118823129506897771939978016210109622003498311689123769117279785749052168099374268211407033817332903879218263458449441345505489677422844040615776265860295925042444060630458083166690361945976907142210924777925692592841775552449223308613803442632100337426536913412876308368950850104489650740946504921334228441733668251636058608224291572055334415161576987603461670385602512690514487572415666776754887570250953757585857820387111237281869555519508900073575462833395840350334953087031083804992937345412309086450624881145591370583660795223484755648997407421879051001061014626296038442058780572964212230983376337127561050781493563477019323520366639439797525011471534612120723808683386854925081889829773511075317933711580277001644292593202867903272171152893333420067570347170069992999352902969621786420941682055892408928443791826492383267163647652174598882100504619895914441564646619881918088268300380819282858849272967988771086474148224923625078330624402433541260973172462636547586018067363776404371063397636870788286423254960329476982230818677877777912112014620983904388540639483918944151646400266577429094884030998498919009710630041242909105426977146483115574318955240204877102571906505012109227911309011839195139545877836460150202592585415224349173019004139827348866296293422207361586685957061022382756572496242602487108630474878207883940436841936325086348288949715439403829064546185504886579542600848578827748198025297988722840291029430617131730291990360815745321987006414406077541579309153500619687458334700032290371651014710413763655050007701965949027639642098032392903767775630225548863283023401366652560905248981843998307991476574934993183728395870095002613897199373853582342466384945089067507049390535428302018710793543902694627412773777781782188160912575982659340288209179217504627721200463137233905675491754680939318246686520147046857161561672988683960465052099265412756938799590283739351570945441832221185998823660100852910885987909249375845842612681166635573177105953669606938980137838378823155680244682402782401291251597170853260957589286815786994860290203585278426425972876624280688335850315836604801731516863074501497035374154197699626635804677532954535851730630701653275850542804170013971825462198241157080046418345330478519837531899616351819716782769944858673168919668492893423020877931534467076561528663465208776847900595362070173292925702741202395238613238346829938822697353921378551413225753534351035779378924390272638368154433286679638337952232635727075086280158046482338318524144724090198781222494411008580278358107579265907707474227268974811491309725516244966657614853475121585267331992959074213580902861287307227416015793607905060385274931874909555626095689551330110651477801384014618945898452281937465071630604950501118010278527767212966683912936011121140517259610459112925395282303095599764173303363285433440349825146965478760241971262406178558650294079332781719743803327459047247517840517782007722975437340060982325252111649443530488427043019588186539244779697934856011724825029309999704744457936154622360628755946587025348254652085141905885210417737180799503746844924448615514730783283671574531506402556426007817719689505690935552016561609630983479900459618444306697994723104580514007471421535635135630384315639736082705807268104206561260186838943767201366521210545910904329860057314249646689238616240852324985504242013257832979781715584198598537902373939528563961114783271079694194837059153504960876320442444538397622455581337701069520588638554218477370294982070824001412464011598782499996167228746545675242842153272987611234281542887585911260586994950173868459375008060258853420992774915644263157656206667008786926614625467999134106365735538173814099269141828339063816008480753358445417003130546794433233712897614610199167348808882656897103215417017842564169319502073027086539090234401320373101617050404116160214667997651659711415823139375293144608555175921693480818647077160335670865988339794393553271680572584823031361288878885472812572068866886680315310876991448572185167796967653243462252907302826706954827161971685130616621064108371174272390296153465722476850376347833634069763379766273097473087395716320525208186264903128945038187436665087470305498643239368904491168528083294225838706595934192972935790257370560479801952633650452442102846416017590147018436778057252443826297004810451946432177132002488445242157383070990822780062238737189604812848350969395535591958528961748240804038125460206546480497073841332171369050266742114713429631861499946174752284984443245986972842702144261083333140016681020911934509756713905493779323233734095773811600278481574855440987964077385552619715595048970752706274156592534981227585712436129829725486598753335907214048033808779384731884731313010355124227096000604233979211891852998253886927996492971484479774803077922577193342291505123736334379698061569975561544725590984173887897526942386057895986553615542188711747168275798196099955201804958098826355184559921276215570651888959307893947839129549236384762380424971766299387268721078296053852493845042583133678137700150844963271755594917781262857241706485868210113084431247532740364098154844946004391913051301256860476146636555827163126904577746936052874034042734195195443825532207079557277433567171101584179741292781429383716913702416455004490969874258495349744220006184406345816221937343912394007446681605868871603548228067049656079209130629229040241264814572288645381912304518995463074396204097741642468314620883612840240610221397608082926603880097217316037158028918988717041068460861302995999180421545426156147208812275588887523802774473788125712591745915589990552504291573797021932326793525927392328070709884709354394859863941392911028488881933465260326577379874199207107174244622667109413676831821557528343660952033942776805184280237529801360365570296631837456772914597806886008950112670679170867893073690695411730626852164989126015877254589562860497789013906193843744026507516956921814836244473771370645523916661480192750993281027920783302228760092179938522354965432415998072394717831078136440260809434783156230781685341347592415185163825732327381818812355910707368216067208397518540872351406323332091466906580521594766577716953169748341796088672793865409675490396516787939904025518900680240675998267422719582047784374322959655860135330799675840492840140826674683818568954592212305809915348684411492070978294312159563015658368124230455754733474497903448396643878374119552260252301528526848593756402781970608567105932530691759484732656441805404500011886233208456971590448658016832818419928543061911650608058310204825413167812805642832991708949951756052808598826803283544145270531780599662851000618647251701665022314858478692323281538226458651922704624523597248088511821760659723057825183332635434986692595123535355781734654620013993521744822872950365916423885098842326751994312156771411267046421483850728365472646629095806217157205883888664878681639230819498804596232896833530145282695914203804513515964570020477950834927464166397236632301926587827984293601006885380895931288477580326966743921095854037445341142962496267390906268793626733379951505116561779205012029215163660364527187657600314443741573172237367547748354617923464664866546665114373397657503762080546629562510527696704353885941311367518888435425980738689826735961545796620671691276940196991756059547192515228449544548720293569366993744133318906998847840898190935745296123287640128459632234166693942366617612916556868174776790759501222459676510628433247795667659514476130227005632289493028468287418523762318046320024401465735160890487317133292652456282763632002919207083467057482683276774115276119956797979670530946811275394797905077911134442005224236195271652503013086251921154828932733573024539194386416165956118276025588458702688720075297253323732375792727036869155565308109561500588575568026054283315291647297130753317670825961110604535262422441092842574326615283659231915065201532590277227795244448107049247194016789380769213215526205709602162677032233317660244517045369986385694658922143330591965004411115556154378015181206256828901667998456369692733525885335055902340753827780169174717519178027120195904776170815827612904217392716964684369264980425554203185508411009275291262474191984670579893970783570023628174956429021526353708874839440216184805176541762389980256192023055385242488538927375466342407338464359857965760923359875334901925418006656588791875092253822985837139005302248298457724211528413670803879370847558640228630746880809812627273653357616253807503365462176723686905008747026917839057131249765970541130849058220845344184966087759428151181905142624550987822479606184977087938947535584035186529225367261964105496793640537272730359216288253477726174124767975043186157298153169937212144358493962760149075728400996602427560213625422898651568449270184697322660335542740280932609785293000772621874636807204968483639164748609909062528377030145827238007248918543899672132903880909421449564281333833016075703083107850156181197829401400488944342777804596916377597457055741467745194572638906998726962362869653684914137930965284855954712433409957600432063966218455576441938436012142393951294431884250327521688801377015797059941902505175741463990653540267478566351152749959302527146610804921528304987360060333797626083789846452586749296510396301718444237253965290604595966032186732593645051746936488461470376951073169495518781086023959920543006124146264645422330928607903850601160590974171748166218583227082156299692160004529032011882734569668101344032930180783946519498410597418374452357182857037183962762031899965841885465336124703563238864027235711611149540171456663806714461861287676336149904690171952760201316551897342178658116183602383722960627900505609541395314525102506344398391211570117177402494042261559793026071115749640814949636586626627421194091808518787201349648793182985996198633094664648907826938251471214859786427091748393393552448547745082916775944805743533719350642891112024682298148216251749412163892573008589790241857860584823936075014675249093771763605019234253239790852817842714533735514077854149688915381928840496661934925925575759170203948573549660936430864090288722865900387327776739858243333015209022898380700574265734632310517422736836652296440811447692510437057925070208017707249839597500614792690101784867966307237588467771576689611175315971029068951338474507351312185571422029072780794734284505676229457829099936737721211852252165027323092130306836326812495005862381923188036741740369462435648461108938988894838802885105710271962224237598420985000191350331445454993879072203601097939996088256314541910059218291508528471305515440582539308972892924494407132457629329010784148936588786993994007835141917774845383934863156854218205441074332579042462955487345960671084647068967412002296917212039453340242826030492887299201530051975296166845173068123622757158231296593758854843862575970345570147001103517885333570581355728168715650251862001978400324205317535468601558804596424545687179457168713367473987156514384926241503122635922710117103685348205356119013168823969169416464414149559331058462246268451676742938444616009198654046529427258067911411426059150343331851089757449480116758697248956886366869314071079546377197348256169591292597275917574980569330790235687416442446612724323646282807375211897966129427542638661225445871649789151997199871413253671516588080086542999245414783058482773669364631923603514619898673041288454894840386788285099610125840913954952644403324854016644130598590081236212263444585386447650917021939907971402920384551608336632037352941985711449179991617390788098802464467144562725741922630235327297129061306410285981463734539176083898629739701970631637979988035597722177717649711563886921641537875485841637568515889254614742769982261903707092209144363431314589478908970552918775287145190518660463853987537127552086853773624889210392385288184718090111155373100224059759513937934327294514781865007709866176055408011519679925759886518110379934204364602878778364164578537275140744177279913625677885198763760421131328546855068588570208612743531799600368724663973127704955261694026172922115085307834899831335429564267517573983808239416398363239348309937723130448692520786176109543159945091102052525467794409912707712553280802555940507490676335433196751455578442178262841968930209108990560323480556095841905133332324078425373415364922779874549855271017220575875966428295819414444224079023741598743442964489799418366702643435799875641467315791088904281774707071773467988029192923080000006879174954255509593876744396077557825575353793855350426251260666714283780818263406894817138064143453531641334476361328898666344169421144643929365231597997751768216226541164978445980176729289885477364761933221243981089918358946525166604850404593207845906037526085933016393406096586685792531472583863991955093499065675520378309482765963676921015178083846654745566086502763546180582234899047016994559783004054814480764736603969071769385695047772208376590139590888761368520695825274094642692211861412259545517039668071676468129568259078783026835661465268228791638852960971509821409193874699362348398041524026037036382173538734725658710159562252633043573983437421796187964614788977747344224512684236353255724829300403514792922323180405509832543304745353875484377189531675099245888730731022557224182294751435275212034714853329734434773355208850913399061457540068247782897521926506192708399972929344260245581858613327844785490431779406396000370960843508795087356568711640033344904421478386371735203395108636661929994876002023895046288651975084989365868336996000782049482514686090016015378848382001393035327440311191324297480146604322286283310301922291697393394070929625219613973760507316460656026576897217910839930779497752570557615928248609187567325070312570869036380193706515851295033449965718610047767113286715313318749659968464139221756810039752106676198127248377446245386170262466608137741034489883508949476098612853277456265991910347770622996865048039658269267000024584967962484045432660654758351628921426947536684993721465363267007328104977066820863387859654216149085823040853607549253450620473421677884735415373737162073431131357332745346446964864922173256268063089989403399435574292451262694275458586715784853095732190449210332020914366859752232531303798325404521379406827381680585427849194513390528242590879057358832518054200862671333709690723611415218098703869908901093374496162220965040914473117199151931556897779308565056288239532128259189013700226161825269000624022691184496195632324570933684793126499580739671894858667863202653045083781027100242484520476624734051001641142816019977950809997589186086101454102784243381845600476266974779312268557339883450721253082760270026659913759975406346983199829949161853809364485249020197802654152075271902220151231373255181442320278843779930537484624541621632955624852735326708920201649920529266702685918342601271050436083546168757633956707835835255226471453024876014182099200590333702654677319722878368969505973518348401753092596778271675367678247597002055499212544396209311939579416341720139639476975422537925667612748669309540896481123395416063478717347040761988947849635484636217651898058870694406680467417390319084514425746176227771630767952101081299494960555213756802047763552849688660679831640055975796803604074129135772477543154321490426077405992820934699204543681408424992973158893349667886894347997339862635659033051384825294322850354556651798447871891276519377103094475316924429872816090284148502484181486235408095416391714464372002098534082020799885217688967182095068798462640456602710331596417749190127971787482044360140505399924722581545776349560684295837312019545241776089131530326619241130779200964999902430583762120976105139833083893504722211570215089133845044353688554721170194688102523475679511311160222708232763930645754014440195818184037221187935392520215292019809336903462880018660010462786310905552587920538576977935137999940462020097521258335449004356978243169906735667824742931782872249923967848185465043508372486096085698426727857688338294907272764357502478665188731696377480823746779169009741220308073120085083092738492022795500537169497557265202436747305300798706808170200223658586917063172881906647701263612241933088365758444779823826676887978025376505770001949050535088022699988046111689136925744135016324988249333260906583979585219720746747221308167090133140313382181082910453991533322949393418290357354254670143319541528557843951959254912731998904145869201559281797181880406618203517721354922422495098222125609583011829271212654007056461992670179180278502883151430168586936399409423590352847688560805089935319040040559181065336725104975493453431999057018714526383315143737620259950530792307404356262092237447591894436864389064950577812298831063754957698864976890655798100931444254117524140454024121998337489088495245718739159009706287012013522419832967962622356183523648337690475659282588250273137095635108238334502465770177251105352773638538398558389041370577743980299169064509713537991503281699454952316482370852804293372491788095379419953423159788574185733235194994925986170310839306252746039611198342993977915615745950689007114247274121580556227795612268085131356643974408795217428138460888219583098390351037360940656203596243110481717820320544491304567940187908169857873166333910454946203967911119853882262073052748209007968908616928993549591403843870695675281798728041459693320792943049971236987561921538068211169268625427345771263886423672416517292029104586252785044817531394104832806013561095856516730461862690586323010777647797526991151755208259315680313568322707610383783125314951514904092815579280675126428824507207451795230104084931654926621190395410673115744900470683068633282831117053160342142800525366109116854332009548865099046373739073942295943323754841090437626828376102966556794408496954516734211476481704038110973681512357135555787655329172588702923511312100458886490102405302130657837604321483721165620905245102455211957792836360646164896596687144751397992683033070298010184736231436883891856896458773273213718198428726119761039457253672060136192408470197119476649927872914607187243538425844640849957858090496063928814791392387519451747850948203058448363635222041155389727291920697467728781615189732731831387793213290929194487342193988977240411749614582531185041830543351531897429116089375625979689696534265002880409274675553416033733081569417424700719557470202588328996809268187101680440191759587779288490881981348765399537879606856732075289588174628611432944697541553750514880024985589217844187186089107960214512258882847397126462208171665436369679765248459239863367977308489208621157443783705530689598735489330708481841773770017331568788511001784073867184406241823697282723147368508772414714975751632816324001234577277776012551928500257050661422251596333663764365253104099732642935496261000368788451121521067411843292101873401029820592465823829678053688054044590456762111021150543162779623864746598561233706928518999909604153119342505655744829707693298228155991142453772860933491963812755010135709120473619956581561727848935760499595145639851738653222386530848268033423446170638963384437980076627005263816497230802053857251850803743198769421046472152602138168594992343385317600815002364837268811190489266728169420180251693984397336155620092856846643392293207247963161890819142095608905117052181215530339220222926377047721933969149646287530189992377345132090083411455639084089289076500115512478605564631549950120307097230781492539108968623649863438114609335037641269818810300768918003926533166930477833459538098159183069240242921020114422182899858030448605492435582063634362315311026185055971393713606050750033660680261496957874918700529289418340767323646740039754243932281549753878479366196622703453567884359629400809561518824703944766601936173358278188889060915182370327583816796534304362294644095203509183971353271402700912110621115870283398889724479067449725514241949373009126784417952936797257627893509875299638433129138903883875958400655164968242822025484670828365420215943087456613322045753619500972710340325235859980645232288684880328203836140716136196695241472835213076591365877309888149736590764576233069495699219885096879181237140604297713697144143696975016437049341160330796963414817278185780159906070208724277519620692084953659747217628891025817837231075496795808395822717015083163363370426355971248291896979293449575129241835707823122363401675612146182183558395731164713056049902399222247318308196573095696525305886755323270270587915765956745234126200704950291863365466690158249739944901689016468315261369156897602565106266384497759486361332862135188368774009590630877561537544814775598598556145117578879276938218855759496063983045691928288849026393927467800334434239620364298400102432587163219627329793049491522241680484315878267259073642125114975245711718056950621313258685524272687119935579634436226171130637884993792207379015700622724572075800342340286828910031615798071379056868281456752766812813125924375253447896948371133462606523530252411132744490326126799908171667559189474046246650728526277155352418068419783616938798061414508379821923866509078691920357318677468190550208031352527503100570157083642316641135454124857297696149207387855468326364052604860974981193095526617452919819952042205008459806450482547832078160557688734033886914063365887593299032927381535214807044598339603102956199063566593451178865579255074013707773554008283304154226758530322687488386556682919690245003062293738688831596334470488171941136298715212261356450330199084365488671905830045584328618861742296759077628403278153426990335515438699356927669593908921136914351507251055727527811053063727650410151140431158711343098313951676799216586611450620853098857420802416327771130816452499721792629426301294064391127359711871915892579144610226443367791575586067464218232062582318950049729712993479644974914820117059653009272241293938040581207719286687781464686037168060787268891389367903308670543445296617825191139770676099706488320900992912096520176891323987064143654912207572388456949851338509437112457263589885144777798789965749025770870869913892361881729266647787115192748970545880056782581210306542685247651939132250951480835728936437498291687334755049727617907849010028256208630496713829522018030977283278957680928553080569654778414081826728995015075026973502517677301734322591392145752260803774658179245565489457593067662176542284563545809677594981785969375705700169182125594414540385655620097593829618839197816196337796845238661593736394232894760634285799165905224102497416464034914605936744805004921331079401864024237778539358201106896233559033055331062180612555039869287410228792582572244060848029633628770298730875174652447718080389026363803706038505774108885120031382526986423764940634768267045717603210639368187758574871256830652743820377445032890058488797976495196427541957792871191853116507645422030397801028128463300878383625886956105220836037472125801507413366579726784574269881884488010053299050550207046296536272010463764260032527262509561456249933038992097652348655118931568673840407793947391350442633269660674250110020615912277037914579989539899307031231486030245770594658593302536742341794917527580661340144515261336088802915179790533188679374093671570590047815554630290617416012579948562154450124620391050153661120446167798557799836298252142013353583315383801932299359765251696786867595213394703055746312611347536731518526916301002581484718535716334722466103164643089564710967431604170711303518848161554303762072930140795554653585545803586973478494078390098797316608189942504421253512452588705569528063928869784487638398041772866104114029779504650813936441948084957272295621569612887473245313154753945844884338269643808879237155840047251778234722918798436976548392284636798621636792668515295261857559043423505459094573396226969524866104372550894599834217933809948859925364963118276386871638024672742932087896337878164014661284197371696722316966116301273955765509051758151218827405933119770943498791315042635234967717931368989957189717620027937289567023991198050101751757086945650296154748297724035035821792973691469367130175400711887575529737668877852276853199046117610464834520198392427582770633091968192526783250772947293969503489642487262554800966880012052729944466076350101305174812478315744791969031439748425960976134995690555512949963738692227715850864310876326609187125998338211264135866474329135047349615828003040649337864257559785450470855051611012059004965537274300584234674139240795307963096302929181388886911195937436124494847050092799227294096657522750516868138875076447043155091586361239481346451828033590547694549018589050628783899202698321517408551507818766018053038432051614297003944772329451722443410499394797317367332265902869356206655944204707000340190499277304558102438167425536442916873659887604545176479046525202042835845988089926837847555893829747578163516550908392987244334181450166432532890937174841280489661822442564068800501653722396128029231159811227726334589572094924822744513857889199643785145700951332888898465001283128526744107052738016236999449861252063655347250853758017786647779176159889463286682575338685427744161008733228103313910951810751427065449971812744168367555918920643185452905861232327815314534451182787448286819221763553389369074476737027905761288597022047059836903696793594044462356169072071061642219101669961789260261019722016994895030952746846219793730993934451920737068963060961401574608827367631539911524146976300311271180161647854903191675381711359884776542941984868613299151121236394288819930184087306212948790324471227004758643903140466138553574484326687696521454968568754861020256682092475093972917974454122710995412958744334670056568556234382801344971636331746558619936317947034624902054027093092112373248679506667762507773175810883548830116384708898965964435647452703917108031226383298084140552882795939799767142156203755184413324362954870139358719075554828578533706452449672350897252790521510324182846705718117499879498464895652607651740841409776853328137518354716008302108314083335835643253110967514948057714485750069168377332368937111851170576366768081148598910591757846355505083880760562121272877979275222323427417323202311098599486698624023677368062547736298307259284290878293690216727330022795908397664411380735593662866325259907395924593817318608640217229953119171600000311832605343059958839701339675504815875637250030543182608756968061104540795290485524659633189949896062089729761599863183018127756878234747265201721977336406111651313124750631126634611242769356676047340332149450654017219790399040483230405913571643559522328415149435492948201054578726220318980594547207334936308911421193341529449354828372568180824002787982439012535054964537203795155799286765458224590664500931207037224858329512502392069484572462091148649638908289898802297469828596957461472182810678432887445326459940756576695862985522940238244603285367815709970382491860116313411844776952650391610506847005257199617619601655667404340386815050727685532595745373051049198896089628493247110330238668093143487499165201807731445951995295753639062656719431561671201411968965614843212634252092982406200682406060309056691477047946198384846667296532201083467723680457533623663612659959988428704627099609731724023712675910799120810641307617509582849288236538119672778641257693123787733499929446488680195801900086247503121873535354320251057740624848263278808180802028139275309199668766831017505820190624599457067973002000147075762526769338705048852979178024689715598298347471123604916989933750250792219655280007967456396625042511637279008918793451597219884814344750578395626538469896126011778301217172220092614871508604270019799329996328459492507090250152230457003837262611464716078895729084654647119202929981827704600968817536361072364355501008187485292186034379639399817043502419486362096673955708827107716452779707090267635717725550664284179827444534895629235623828821573173195124170226501745902016623765624541394914494197514902334456329809668884863057465978227415035599629224405095534411889570692697418180440176461754907111008075874669826071292326850654740084526406473217092771895802907978341016843117435586568324807471647462754256393474471479475948149288813431747586559547958693906332681878655928272750904193153379754157720429589559119847334927600256854344458672775325633399558881812136336439114950263253403004179408961926105822434645128998607993318024516473324745040251605233426364587013811519958962982183038410240513894787642408544230967866263732884923802933509381682543240235322939762558629585793436662527726567453166060751179074306694899900362419180408455065320722343703494227158040436012049239533658449479067148208129712271525779229181859789787933156028441546422671676503820640925804368640182606353069417204054632576984446903220607421801941968242498695275040482219502165385907530234260185916271552491644175253426534582076878283280281428757982475001027999725718507644508180801724516217033261887761326518314817134784152040624594946177649859536855483110000664524489698061715144779193230800971542547545688825867688996407319868358862132337359777067995098442516145459461392433293422487042913923384486081637575052979302127643048206257085065999263555515125629241029115449167506168822144283044810350280846896611832356209384764795118152716488085292581713102826103279728256895975043237803010649925629270409873088975126440726000817395769270548697932947112709871648024990044229257337302918016968517945075521571480857910302608364560001370696211762837879084314933567591014198825616664218028863922720014885107871481927339756337425834104517119907633538649686953442641206889042366192192082322151335249470053388632455500828234711400940904591262315253725066109492144180546015160433198599352792680708147228874974687487503574728491754982539275206867571245653327524140333855508018626967475562686819695971807168562786724245578769407774728463512021886324556295431160623892797878292785533817907944147737669725352154637696984398768809818472530476917337798743529751605428441446756189225862240237284843617365969123377839822904385465807798194175605501394733441564818938123912582331876330410345899121501641731319488719788020876544278074504946278785960777732237934667956355568561986878728643994844844265313218790159154839482597004749390981041578918257102000112917604569522198555946298281584888999990358533091089790036041636962702354230872544854740753748618812262711128206653441268816346694640451187104713253307962846880375544185488587919827697297898022709519985761911272404553500328394405585217733949022153183525290689295448683235757332553103941372012615433078304988704620572805212078910375853404351757262002257716609550946640530736161874021562280628834021683064134142595912669648841975115006721737329914128844491888584086871198239307684042161854680181739642420675534193633777120243024964901619390860465639281382188413198826384862644234885644873600951603572952298921851739450594449503740787266473888880282234810878476734586876456291006933982959302833628229590420469011709190861472083533161263840586087376043906743928447437899193368789447136174917620602216088835474136803916546590293692019237788722180949555289931349748954625006796300379328146285805754889148311886353485902617129377185944080970524003445736655860308909895189793418255685077960573639286543817694233229256725634426755853625199371703647896627418568120018201319346790002086240732997320714979584611309959173004759297204858927749015559416290963545599196059506814614594976343050448497396617868884611221405438515423317627303702311761868583666142296901343728728065544211355934861180247260029328289233968382319120122705534702772686723963679426776666867799387754104723513680449804055685411709464300353779802497721511942753110678189007541302621933724410269402400358113500640980768992085986458954885768939375547630100520796500661062777513321776522743613489751163893925408862219506784975101918781067032321217926851095820101901797724890536872115154187072956058153745905790988387197711141703222763738430207504888119978966404621536434641686917890519078525631272583961017733567378518532121110814621439200797333598133749008175552523591677805508010283963638715439024229821951391953686426194179939132686157188031314513155965288622309069771132101749927926621153875610556073659175389805463127233615936249257508359893356562308543420057467674380693122350779018116092514310005704960852347201682216367710873040573620503629980878576307337567312011627931506559396884349073634430862480633214923765334576077241665514551740506647298703709679466979484020675899647828586059865272464290872957956148654755418685772266701953644522224269886680082058045747971071768855462596598040677239208316569042926988436001267800015228919229294165382931248482975804200340683458767025587267761674914482026556162731927154754733874003785374203089341389817192860516416162464809643896833810552578536813757505065533719634708717793613903868121743331690792213804059932402761212987120667607256763495226673783303016403860991871224912327976692353425438524030603974165506778362042387500374914682507827426839426607730247392815194951093364842615624665908051044875565071043176991968965213163125895372302864125258147490077321498060802124220589367091829490670596878232598595043374497499317343960423222395695819582683517673908511271026861269893681454612715939362992848956047222211569808186374355540068413507151532900356193535019892990111254839843877638475707056144320554473750704743646972820770119420123617877882380180857567247733876567899233774091488479746754993965572596955213926943972851325151097702676219577889738972254101731472101711960369833548909490144364885094209917583430355906909345636399707953502776930201850247751879654935976823327995506590599132587606424036787630554911969998950611694641385768176550177992245708215449606782777640382123882845679467553231090654016663720410554179374476259596253674238153508668188424988402514293962235558408189903487859332739790139244860050291172320261048693788157407522689284896862567850682648243661985013803460309900180302027046744602858836008772128728170634754639585705376466435928917405078002653044592525346593011534977429902987418176981189046810148292820124306114671521937565458699018125430845778908471627295908624798696989106270878698920154914526708982951827073765355534126060090210019880644398699695899399869786449105087394310547807510185389729843293972440676264554354877546372037851957993433877317893450239055571376441687078600853259123638144887028904179648139028185177406462429600569602083455921201341172115559549700159266389108525743996575493736938404863085446563326224486869956553008917348854324689486983228573464521648567351460864436929753530739230605143384644795960767954678736967241815270398715735483799993031465627837373096799902802571420487180644579028872169918033902129810153707798960030994152174863780617793857272636996092038618810763619441733327864028519531727560074688692303610111799947298656101641241671003014117119991596554659850851601027821425017177250085854944847309228229177715658778464650548449708551638237750802346050433946126642898769690754514308973062583248494232829451813103959799765272929883823955590551111576139018120956459265704171393164760658701128080389689379463854647387759890894204976061614511612762155122274711661550447959201017576427100058010403576245622046224275927606378867585882599432855924770412673072207092575770414637505508590213633662632013466453192038263115557158313534689217746756626783047743966348287048080626759583609739162291695642167779335765258928431453995298068552526065180168034420834500251500135153282549625078514268056849717433410235948535513916126750093817991562921697752430733053377184148276190869142077974376262288582900643995736825850336743429231803392507431893553173263639325789031731004015355424697328858170563436935716624956359842604492672315257016967002145044674487112579798621752214546707909360099464541283534763571869915850816457949927642547050156698190345375022114176678946745797129553640283933599805585616485048936195987244664703059053996155558292098374193255190643944935156232830258303104226696887049185546878385668596087773877680827291559107932846236734602712833773126001113693129523136027368133281311732929445986244291983482613644300137956433984410884108183641462220317458468965814559381849402131683399563639636665928938458678464449358896831025508825931239649819738882286192992892936838059569062841227266325351283347507870376047662359259894415288070689370809729917561258352246739829845315712729068756171263531016184507650938399855857097519889339929135159563407422109198138025851888158755957311730425136000961436500668248554420339192788164331931985160414834602363136720659197102305758410863312311494414183793551946651349974276058357033457271047176238431279744687584394481655029154532268838512381502518796123389475979690210397965382601920158120119398944425537772081668675798905702225622561341789314984881811161964099483589249511146625861608566808437581160341008414903600495404050323961122572633784277802978108329947550145108003051848640250584236107382850682050786824502111848834113760956963852463827495790945232679885149473528961130750665172944456590872378940482025462610153211689754589627606581434752298667273972886625796891310096913206370497527998041689706654809507768925385650150662911857712796997147855493325957906503325489691331839748057252368771314540427851315236492640813104426594778378614957430868995541211107909409949495476140553011317389750355039802384012414889785799926603320582032469315914928486721866597776967950821632743582653520970628781022080541318518984583596333099202926939477448322805163247734419442264193253423589279276792997812880659174954482842765104037795865490412080061478964703130065576539284674495052978206318983967040412982954245840160750447708309472413975340957824179963801703208444787652716270306650222088328512380107712200170431116654371905063037945013906746108851016150766208146752126319048894569176114368130683098599285462105759293601073105243818063276770694971689960794439550618065523396529513566937432891014043603865566696988557649067005468255739347099221249202509675840616992043017108397878539537529064939460759670538212115233588783477288906671735862923507339602828663087043343653460943720926811292307276961956145852721177620581764606389213685459776809289996936694566713080920354401851475978282393252270793678510495652622949271427296006114821676670969361361929290175305659330173910223696179150641263411533005723202316341697531752010426056599670066612873576162384568957641421789126272669585144113024521281957649206603203638749539366591012980095341334830793246340243798551638605092269333895558192716179947289883962360045301101453224752878732389543918122270451779086722562595163665137076371097478811279647132220891440787449016236702406147950029369063635460054916901720506328101577055788047638117165195816938880861531950987189016709226353473988619134492662545230986102136574628954832209584110693302975191235665593018689544182610909878018511371479043796961328096690511414790121163173495673729856875559654834697828308297552861665087971861072706854220821656540625961193243210573663274984831496913392214137535665751590461208245468369889873867408564220574385442542159793648539567109802455718972674227744690492897913133081280623819229746034941407683694461839642185506597127188498596192932566569878871876828409461720757776750088805702876858027554750850857716200135949761408719932191623926219821433048468015624328429694217428858300931652227442104262111466295541830302038639919452979121549602558023603556687269149197838733692119661944307479006557348996712265146937403455260467111970971766203887792945592748871915089233467404477561770180988228627381005437998248544621688849173671872766692120430966896095738999318189193193248374939220070951112666327492442487583423935018509355194313484192907911046069150149033401149058495677494637442839266170017868097759016568197009150947104581754567382787618503773036806749499254476268488364914975638081378182742523119558564127280763200654293004877295126617695795217849495700107855382556315700381255035401981825374064827146693751411705061339725399371332082837214707548350995763956537043316766801303858212567224851308422343198615826083181977227307137226851401194640901742747099679260578358423637375470204736963739436591176209846212130934789351121538092351551463286478224027096843531955640933383664941288164026143904707230209968510088279792592447956218112590218646430680744703767881193880945874882458860149318754400070466145465356680150792578918364338298199782865818390081219716655669836286787018611933622712148882588692087446670062580801480729005481158780901299228957748878180840491920001912582105106753430068640725354053547827508910194270532511993405860528737917071390510000005048885174086838225378104556835635806449157061156445752297214185945690798627723088752027351162772638233556651990942627420303870990127682179894823184048673243113052964497388871352388799375011107343177584142887531850090862383797355259136948626193478306591595414908234985247588578144047651927907354116767700675124770857611513194976262527587962363471720650981170174696827280682401439520108738058961212943699217510363567848020140603520873960949838054805696315987192492002226635204442619734357510146141777087906919010745043357682555505951966978672481297164728010330004766822449505457624742168041265033805236121779868349828897371579297126499496483420927274994303811453899028583627654914055113042218002985046864882053820532321137278767934106942137321833186283947973871228628671613309051545760640670807479694289469998902500405095229219110725011709591638464078871910855107849261211750924322351404050016995746988734542990335878479112011797414114651993789115052870716298827646499567918767684132854433347784967476488846708031350201825614771303090468120884848446421606503308879930847781737555858061159381661693970380907742095507222412402078747148814788241851417786094614522221759677618679505652995574243358519388556720079251013843908810587140709285217465834243679780680094195149569224965656864248059685120821617406923710215716145709990050830414197275984503081620548389030449510095057526626140703116832628365373156938266247991292413579281150898634501570540584538765866141404014704741219136736388348319942840402076774287179494663112424050573612858244315315560504859209474859915406944553283936790520932273940131812067193782243402795620292673229042023003217601700107608767576549383740628467828077467626201207649434045697743027760965697729244709903397247008924649930419715843195587520569812313021313885482374788478638400133164260793303505530631565187683849741289853299431300747247691406214812549611220877067396027886631109157945873352674395090767464987717046682650268479334738924070578610903929184159684240750127618869694730573232887902038160860669050102784650069182322148784832110825767288742933165439182017282566928815491235228169781795481630740902542057546193695642795552232222922873898597530905819164315097261167077687677916577175969135654653612258017645604431072280889210941488667168409201299118752759119150903556985584480340940263439384864279098665472654643073199791742839292158124959544237382204608707673528791516470180461819537198468296666808811059436319494965562145305768199403982707940721904030972790078376950341709404177380718691839761900656459113367280984956970587090374299042500295509113878295644177389097808956249811424386710182797038528033036748905289987335931756810053389149192931813127112909669405821642330767307188539508723660266453471361650065228023778492134030262656916836845116907469237662104359471580233404525885616276504499335562886366910314959635469623113354304403589103486503384481521292532839510155639904785396451372271403857317035128591582462267919083016357335161695428673781487165620942716356332643334903931128374174326576879331792931221275392990402322293630897984991863782663448346836030216661774977482693311099243383341438997368697892540859737274836856950527586429424600370623024374546228850947390399641844178430141525361602448007900999414622045694654285461472610453434916606613826066698849317712044710458339903914288910810319186314421133052011989319202406645372078473314358480383754725722242416352668068425914394852594928902807371045810185221938401161377053887462825694626324722700726873817918099685647360732890875031257078828581328047041023832744548459052514839828625699247845442920754904164718978151296365357052581644848952961406151006132841244468988925004902307767212544794879968433173468678211308192729862755677663567698044496056628644021959837083104756416615658680374459267491170400617323754754993223678171248988525122939068862171844830196372531169252809630039360736473148743684905740200033132946599180673833177624216804565394775709861875398731258382135538679911702444540849626369547392132162764584865134502499910228102711911673142151310020782883934232375699693918966287921912745875866987328408648975191239251531357520070878804427893861213627579951822546952632923100767866643083256108285188765747691801354198074345332326026476586115594901534256872284419252553663662512586315534129129731350465987083254717458577052549593344064464992081572225817528826948310030256559624134515281650304959050274100950333829399163386569455510653429304867814997966633143634317606127297209990569604349403619634751243148152926566566432560958351596012482363584660370092180108238964494546207337316298534642669628582940747852412925209156680833181087504856203901616294609049453623979738211406655157976951991670817226768684549205140462461852176449934303673136274504411141046292664093625526097062016271078154898765630090967537227973799933780670663556010557882650846337620223250857109002019290547353896978006136981736786024814228182983624941004845011666266904153247519028420070084320717459475229781127394261370947191138976275815741162115605967414201474905218346984355924109013090923251989762031643993554799769906551012242801685132886368842853865808354288771836196305668727894141379690926363500945705805164499878041081871744444464272100717165018028643674731388164013355715972504661174938008909064080473213403928099550989105226153181759551009401530663550180455743487923020470407309782070644341116098146004518892603389982888363183858748261087239100614888836743074361884605417172460339390484300221251824901876591638455763712190715671596896737014802316673108230190266470059885156394323431717369218750230349999202460224394707554031773899708479616667572813856250061623536222260040151815745192729971047372490618478263833469112741448053050380727543433831780241684847062576932603455875880378327491673284609702257314161457210209327768263070027958890390548289087701867927232921822375625321651207033030420448400494028201617036219902625659878311677802289153276415947238764561897154571151771572717601491057082439160023439951733650364745188177164900246376838090581088119670665078589313862663672997067228463444430169652613883929901654063570879005726001404618605708829041878798608149765202520998142602898804278715490321514676315010313132939134442393927845681159430693313781869961278638801822496276155427506199034257962522654184857305030932424464298274716881020867325532159320393243488860742097143544028192420219997359140593780880670480969363965406061121371903704148482898414876085116318498496764023282752846732235048927666952942554125042986269214813594178427179727303499078914571421737249106744176979909061909183511728095293909001148826838966607171163427109871875611218134850248298476351992133947444533108677259509444446831392130693813736664559671497632069818352735459774016626950403138000804768325786341592877055106130551568712768937775396738756272389464746845023654936837240840911367097198576506490900083866679637683153709538291507040846536337401487679712901967569112218559626099736112285456173301504004235915943503819979875501508742108972645540371435090183553990775693714698789881758087381277185632685248789564196630621354980657854222946282761403115864227436754695934307227467358731696317155088333849165094999141868555515668573863029465036003681936535261226008710236943217954153090959642266423100458801145540124281455746926053217274187479102637784962775356702637262341866147881567974515151606366845836982739147339112145992135775850781124281838418141751787455773799837733051724318951269729537431933312148402278129547902348116407373747956979215909791536768711444319011861475006295527915473881546837767713149115440357499859503740774799368697390587857764045468327705585307910239144405916953041726277826267774921638696358917851717399679808980729225209689987777637823628464673023456696788807525606324994669611262762488295410693994804203898457958327362830304409605646496826393751414850274966737300099574077696058056466801876765215926246196497442726043592561580127932491693063950984652598831399411985855342230913528611201651624931087056737495842161367443307012738061047260325220629790336446036389573384940154361494396856936581505058774010075334342836367492424922784704095958800771034643447313542161930221824815259495167389979737360554763336714237110450724408820747595445981324941584154296248038899195163145089266762953989494937186812988103389409898966473178662659639520919461529915991326386429592080143102347291173564514635445607386485047678780557663632491600251637266508267743190586382842166068972919957313244049226760922331999727209544391538878894961348975771863511697827823785218164940867020216616031778120591378429724090427144322341584209633149620741728880674633664086161655181990287072627001683461119503445299100808548024096052848123127277643574963699619882824258043663697845496245421157763710288648531830775344274103325607207532695427849498975665242484186579383884623539275571317442887840778323890417125923073682286103881988538661882073308053861386938783990846209624334618006746587761718642544292145634749695264402252316345682240324625532863972697400054117215575906790757466374258608329347209564844639864699847533337001118714759108129116494111624436890557480149163106353787363153840329008260667944195708278990186257116449917919384924161396416491762368946806284905110446757117455453518065890769237746236925026676762298249890932858867438503524286834173639704886154783611658037919762040486508754882319379079682680325912941587352473090598105685192829751647027481811925571569864987251658380656124010914164691786594349399987612131665081931852799832214213432501407609395487436856903847403909093285829836990353038094943726187030572618706906922769402605878182260686110166281061746092323496293298905294069576565240942986216917490666573181982121744214458549197460074901885310140854890811397957886682317865124938567993473264122129983770083358886059152717873553133452053343546115665318328767755875138270329633468553221276776456462677485593483352553356781836870730099891339547275834982421968164910207065513164737826107108389596821997975482056713253503602454921845488597293450702837429190991771687565159155219920243477236037867534962475850546800582799887068089558984510718002581754721613751945312738592753509117474549034639858791255463264699266233459256965729794019525274759084818519910066227250146551608456638665247663302796032360051704012884019147144479861497291518850940351012596057790305028661073868698794352615608382080782638116169720404198639962729688081465316553714124652154139339550002330914771285616548838255807751607599480422523128411938082054690162270876612540890309325583180905856586404991159047325034553447063413151886925403097394600527740927014373883001838545530707184599063372990124672693646016062759921916678079317946880018188435099637959430854727411233245750041217563489648932051957865004355824478859445810230997889029131459573841493548270103086236080355720914112566983195079280727448017783334008477632945489741889196208524324705357461313165178332109154889382974826360356456324363159235459456038789278965615858890494479596241719898285555543661843409992454988773258072466618068934837637980713347973428866125551277543753688404086034250728526903237243005853535796782841928757434402381123636170859940960292211201220514784868964263686987836017955575447466096568070311197548511305007248474748285325116382016050871214492430634333882752930581517121132335908042552052844815750013692097910673543595532644209295476735307776209602956779395633706654067297261346631952701285617763991195267838167059246614697550411777113157057704293528797571476464619389148886038671286221854163195307970232805884264726281012698993908226298295407228392369253265312219124622926228197419651698620697247341640869230704423607266587683148673391053795736470899273920040081710931421428844755186571726702061734477787049279776002099248377626422052893437872796465820616717407008791714308763680539268489138267915667472079880993774530329029558661139521471328147647808136735506606043855433076187891927686572703955464796259503771711608615580777898060346225968526853575029410696956526755824377029822623195512256746400759505479999940383072074390592621154924769951401615155643603885284690957757854315171957716059496403320409934347237835600451536768083115369601316390354985777753582099950185001745864876551839259960049119044967444823895940233737543631946549419862324292802760208026499737136964999464129422171009905507264146266301200058822265894961121278622109414633982757554297994010268622369187630384335826758857294219882964489748411981117355336378532429016317631367561789761213898532729960803650421005055455486239777006851943443913516929172851260644929814966585791362541035135824108871916247886348805479681686852043574521088000281831202992180485037357495478665867769823869119425637671894753390746956719162096907662795652595092362066918478098104976027681654111745874924560486139881641184503874594752066110187328184103171470059931168842711880289297193924065874626255277686983783596513036047044360696611497100235977266617501002121278240419237241713297760144269940936169011333758632857334260093345203723545376268267054327042791814615798355753888991827681132084288687548341250210663434335667965433524970287853537851885417532756318024468584029031712072767955295395689835988733664470845277252605740304930125037189571592963926764876972778002268176553761695869523979977383596144871174099221031470089628379095457816559217527300544539550800008016800768500963031359223393568066803460936452267393941186242817207353456878913269335959980088260514620596988328017960285687372562492755971711703982330403602549676063412485933744702073495191484610987353439627993794790096911783109351979768749177528317671789850563339840436186855117524534922638428304870001971413026381491436599613585936654594844255038235115570531027119329761359780597536187403049934002963052410951002242474328348198764304674446617579572403884587020781500960996315214639973378616510657986539635955505389169868926768924787618444487127443405473877642642171199146290825260195337733433648841126568853148844968437893176736609395521038303622223113464014956015281697675588496837819127152522457073596108210003596324389232077775132281856176849022538305051416813341544768202300349092938704604066025007096063718715939771105044482571337753973177022670807991473341494607114106861192079015336887457175717623422052914074863719339675353250110526806935362041387835462507260840479030640403299129331395824339134644652402682579635917091325725450518888444565529193449766148928473199834395648331074209641567152353279369969614093685428189015030680814530230872011099561165006848335356512504959900318072248028572851186745389047259906519177603530014401431290097633876406134080930527671042023062344880638310761991032045174301895331108384322860689345330058500250031405524148696394462481038560967464323083366622764681274335767355335470216965710176741293195752697641040320513521311322606989984712310422135736643904149465763310325270544975682740428183734816470602597360410741433415112292653248169927709702942426575425082357056965423969329375773950711530931285194092452344091076049553870563077395578156776081296736058975754287510072078596538539985251433296476657507818954484461380738157073777923942566455131882679884897772823164802079409585108798380030882866020716021457188197427773107090691237357009054016295341692715630815702936083428459098130898543770225133251756034786776159263745239181772699442748483926901845002545976104016010930760847255930744305394813160638647878732232620309353382091804836883181458680603431762640447602591251428415691937259434243089487333532348743666291189005008347062373409351578601255391927588221019610680356791398381940454968373963321760049892710899756381825474942343130719357887132418815956722502354007816542593781466796465095718900063452098333542137885977673571327846496929579247017670142393310923364497223624629888790678608807167792439918311216222330884638025835351006130159307378060965568075799040706081910972630960053050149735077137857887059493703457735201079086856785900680134839831246480314367356002662669093747708343727969991958147364796876346816442127583951214775098835174696780620441664148884206314301334564949644998652913636326407608217460156226167558350544899422235458345717112557748680459386810990484850362701438030529585789508519278594996440192662897066898840040858192759066909358895681701138776548198038095315791037424301201175540835118488431507814629660297277708392856395621851932214036159362906780616149847349201238691444011607426869235697240589464726782048980294848085972667932314373807959163360950666563728459390719801910390160473702196330517369142075855229067198342000844952894074306895943941527865296432758540739921080575135617113866342849661518395885084306488904037497236964217536086928749394162866105368525169284074266336153297891429330090434917325926506395836409342592074654267446635420483127910588266571433974237349969165050921657800508999060992835357032846018474932292970179031356555914424320189737777060951695465854073310588947703222023286948412037710537535558185612751018888067161855626310631618586361387822117088005246990864067871886507441819822215816697991208000949690171204057176932300318342810120340631773171547027398481011272200948718950724818168564145439513137293513160358260960722865323231661042628190026582171400864300629225110008443541778267161331852735036410868030424343776390467120418846813997074640411232567636987800895485134663069262503479962590709771631571605588405140246034522670053139920617297667869003938016830695472773006556019807692614175145390075399765925503111395356066326113631564535903298159782880098089553105794232972436893613692940355927087890567702514975227939868708598036497168429823610920094881822381718094863326654902081085449207179660927944450931398890921205944880714369936863841672013831292000834533370947717901797433354764436772822518063402471192211352606225881170235402244162909409730289236263679205571185425332716053841748054894623800134977193668871847781267666418468435246353826308096874047751134670869289071429384040959478854513352329363202628548145172711333886800617728429143222955262896424491969978202037601088369428238618400880834846517495945702510579679578454940828532006830492866341402586534206120361537651965941868260793730405818632055186846827409419843813919866921185263808147355695320610780864341858227661350565816993403072851350979052930643834121942432280297246071523300519907794915645676792269027319453358839403861624872619691143064748993256517958692919238679198223767140992265341752957754334069200282920626618659808731657489170695953846862945006667428983127270100484742239248930519784221001525042113384223059545558923574327196843443734388475549771806757339278174535476902533229886215342681536324168647533843119379898698794269154964021454447123568200871848032197972956599662417737517561921069252473241391929263632569133059859515795235634028382347690427868378301330656783113168993072911706285367472851787562400861843126296482473461280236039215123308355557675385147046681778186169020035684019557223628000700010135672791769532704606457221343650577598333962195444963921588379042079713921693223273902173891222684836699796870502314082003611889069223596192255594215102430190287615365083505464068805244604323275814335641963000905141015743120049363046435599952703146302359815645823566102776373364805451929989691427475350405611706143453263502459959810890040920231216591185669616835142549349303173575803837611179989235847833362813795564734846495525700388928534289383786479580519284336136968825527710882503089907500278602072716717018094898668940246547288510277726666070785908118565063202022363781795935521254982410908406325965267185554513616156368895312683823892737035126080871807836177725866502320089944182188529231959307255330454260612077415326587438174707496503806149300156064956674730919337790473227189125490736794475064144837212118591754349604641222063173123685005481778429868894173061374476987505581625401486949079067676171790173068306820133731873130733131655101839822618759623559322870192722260802614541108945684152460947315690410180719574477743030839063276341311213576417462277548136419983987965196794976780222761860746041598963302023503388066243279432016743771431403005653683410896136665845194682764476308530832498737977584626815700550139494901700820533971507442263642482466493439211815231741387693044836220760372783184404978021313855596976740786922811682320230491067354698892795466746082542853064880627513846423312438260982960375107153692481439059355429329014844722616449465407621179383601526533957713383686514127167883787276195022059324604594000817280701116213646308184569201634397069571689569718047014212588967726806371419157948176917983306048874735021744157995037058611684229967566201923580999212091175046110204319343364231921721825671717111212959812584629360230653236095896589967192307183910799130697638097733410469494043991698868664983769113824275573795143157477795238801777855344108226427827680951957318775814887892574236045127030466500839569865383659674237618300292528164373157965301356508593404832602357063500913912975049558766209634810119640948641238579702096121798982801608488554721480753376441890299975091002422262429893403129832238600947759211175142800512448310059094956419177040118231200260604223042817683421857896613168060562432585622461102508315637753366026134277566307520351164044360539206867514220119762547091842343306336997440226597116442559691519616032715948397737558929765361021164387926996301251073601286074577762083390141456058967372360888120771361883729763826539999333781909943103775432801456445029451837767762154452828673748774879424808199262229901704975330713626971220385019941097133833233906177225111589702200293424461651850782254541379651929406065387290440335550339629331100296405942522888061600574552668675289056816688068899870870089197158300216671732136409368610854017623509202531511909273108826516903702548438600055024814114124468480040848285132001397009300249649150704721741132994143544132767518090936954665041953714305904613559328869340086545609500440487602703354984999312889429573053313680379699862279087094049746748841182999333414078569854170893526571517158953617726763194765090819407651544138056216350095263406786191616880780373918440405197627333322071297052391614954859538954075944184181727526902764740431024544223863822269550518842754970521046015422184410822249070403448549095619205376259839683730164454912611713502416490365543438506080990868441466930683740742899528587367786757856668216272902805790120260140026439896600908227186572871378724121845311152261825390609534085181377367302530915072597472886367976127264902821796767482641596819117196530931050722860664004847134740142622092235173445861796598563354776647891678236214417078653479288439871579618267977313185326530661618450163381856841755903991139716004351497241916676662874222456822633459989305863809884437224361184114225651241633057697372459699808110555210606124337521857245256611939834486793028902264923884355577420354882870888661704789814119370031467889214777733365047932560939910906496826405621366283299357187314177149124548549371322348452228198025861879417793260576406941310682670146815012427915479519698222686721059884779197716643726935076177256130703547519191997350597883675286568209912181211193328441927890739822433718476661686639110973198853416227304834798350800381068441255801087534781598511384372071792325498667170214123994958693634080305074292465602048270020458928469638132856854722894950601722968223896721984437446033984469363526844285924030270034404892546922552466441651484638718824937063896366607842216909541532126965990595970328833494171294311314155287614542291943115197053695804488255392575233457660242437881753779880294242241194340644440764361322549390342835852841188761351947848896621298411149454199219762382335094140627021434732371231057926812165415795761572328366300657417633246925815117572887962156319604440038712318234783584328905457618908741020542103945345581299658043342397675136482719202610772867307196385433160599102818361166925616808232071567433488204829162661164151143221706872685032255895829149147278939327840247812324373594741392227960669508478198588983727173538362384545239069027695517205393037051838055932126554697529934012536113632708687816569602638664523809469575576784694100309439253912401461460543266554422513624325394006668624090395072290095177645053464460043684258529951556475613776630753452195388849109488112798083449337714024526095759316166176692691539850090787548955901769150961420973140572943593424389435803798608677130753911550651466875894250063135565057130478921298589551378818457552715934565775023491285684689787818323091167584411056693008646697431735258071073813887641049704598085539066700511637456841331142983966205402311654830966308513124669763850342248459870675566510143055237287393739550233878619303135536412553505509111918987126019015237261683713889802360124360999967584459201189506335645870391864756233938684107653787077954913532459465832771110560708092172168307795254688546039637880433735647459463646333190493012023658108713922177173078698213404017785851640372686694778534674117080652305827450240484449777336826395764412086230257064127667601514649967360336489364138598619480261244292103594863296995336572043042670810064337548889639786787643205915547903074592964549055960482624459750520876088110777440181279479830296762674563948235052493139829112832191484293049125270373643559291179151234617045289701692879995397785282493767780132064735229026143153742411870818737750478463629175118050925852822960989861747974630679312701507842536836115809776692106077098710787667650083380402420506064873096634647455437842242641294822788582189196971336558368476932876778881369875472863064671234653423538557672774275187723541583844949398497616161162837386827768504453870179214893204423714700811034597954685936625393194884692278952120917509238016846744005218389448249402991207577355486888054761427727046214976049935761422524537046406343563750404232060906096545809538282309063065647877071691888527051460606676243348572056181436378134422642845776043711681285054957134175048893959056404691776418155363655677223020282412379761823055443325192681795196815809729388426826574734268821675876269546055796452435581473812620842738397516395969997401277385851966989617001400082934381779685801536377093807738156165309662383638858828409318987198330177104613612381689523650651403421625035952342748951893169260255862074163541017617392441700715575420481254086676057629545807387117185895269742089677209731179158719305742423581495765207037379767875251082003159921347657060448168841001497788378552900669245939297396017899827046840629695417791674020577649164115501872628380435267319721929657088281998981469665761747365087423818256856565079202350400791426469417543615642265011172082961556296200931712948631831798658193278552548944322018819448538061759601632567340258325617390114792846841763043373028995158225008498259092513102256889602478544656913272987977965949869285290827498487546644440178375853625707091097786466746799430077915549420342663714615084728462340246048332722352130546862701006690108916509954202448267575399490065855586168238708380207217418547891406890278398513637562299175994633371304387903561073939980498574143762413243394907117256102019454773599821154217465443445884409818138250325983197697111513805003691983915032118526499452609875746224645865032080669875373503870802076111523637682984603150308433070895797584622391029440830610737239510843391721608159594546445607710366263506893849804061220863637306730721214103565507334757273148651786190804495222446313232708442664614471992074239598505648685415736495110392795473740880974487895520098921556288692693047569053186549895317190249496807167750495006357404346958110778121107392178688006404149771896217563852730505816164235794348133252714656157116286352984714153266883629017506569516922296199296401247762929749901527534141291633391515781526746657458061697004066960819493301676537407366608280950836183241260696022243389426581678820380285263758800077942382385876582051918813533540285809923987678217928660565798627957107563787107546490340760556573694114635409659862264755389101797346543051150399729066344288275400843317647080113978653044071050922243546969330646635160375605389630495443884896784003576583058738642201949963486174342958182809993734736923735884597823632933478581011236570160798579975222776498160913260013475064031067299089266132540565542099585858565508425406645176055509383932714993521028961285282154945191979754117812938432716234478527471129033238825606218652656711911710137244059964875380866185356434150163091789602113595328795915913996211839249533840970258779581664287591624839704196503192572464944576416043940367332665055793607072435713929552462372452020217636145237484324600309238867950804004797992308828778328811403002930835583396031517187823473865107039358265508183030893936192845361554951320747902989958242243218431599653790406785819873942352371709692157960611684063186772405356840228636192771536072112770255903143933101337401623831136442204861424680733906140924880409035626535275758285208988998104179124038448286363268094609293634448147671292405835725045960484251463661020868617566897736800086728208411116284870637979436535979954381357446494980712760670071682796843710020509061526138293030645006420038218108591777220375499770300338461572009778519645380312741227182951818735514547460089813839426706475684068671707875358667262453883902976492508211073646886412903305158460698524249625357150423857739497250866537193339208968607357905071069860474105087689374654690179563060192484485904017176463323589781022790141107150075056281077202379476167577513186977553825328857928481881761348560562563502815223085208545213971624033472473709412627394527894590976499994249525450922257383480164957000597566974147881570358796116482231306003322064149149148720342890316242552666636730308376948092101033654039839707342202090820790241009347889623563029186413016743682161376822617102393762047949536793430718688506324466610931310448412056245806880787349285380169326118517247705395072330123903223109502703306959893781281365502948859374549333542859218453664764716220180464347750664906451185156193214608780456003154995707618059953579607627083939965724448171381871785652737646438198756671558776916904178889392856776849688906737454056551719563846273506267799505859492397718566068844950396962172395765316645216849374889367506695855475439677025209253475315898086459553916116452503350520119866099681246008258254221241626151158099107198414882043021863583663752221607062641708720605277386146873548068387513969358201367933350103771271001048345605977407619397447312639767766161898040992329412537249263479879720015677697710122437253288783863475745371355444254596139729872142854406303613197781373200906506798187148067197981383602789471343607358524203412899724260658313077383775064323643766613901850672531713334932451030911992523645325254639795102484089376848675083737875638696783071225939644164551652465298608880584297322464737693946793836168691867117597179665778592699390932627338842230349581557979916446626633434067909808780477195598201416748875886735370685038751256980207278055432245648653755343411088068179623605039012012287428250076144438390514936921036364748471166788969755975056674246185596635867675041582122779355030824271096129648327274502093451882662367297006035803561875726136864312613716127239811506319692303916480550207229065283041961130353919370870978769094128537848500391624095134017051392900463803620934702833095737479591598065442489744185645784044114430421129799404864876514972647823288577292276173501689283195564152240415472936560746878926556606232383627356131410768882578330165780325222352020192681728156344130336729836848095372966502554218926974445029155251796906921167746837975220507228453049490752873479580948603616755268360069409909895889600492205157520333101995443284502466844302844034304954886055598670693294512004534613067158045763484251928178495655718364495949327790282091506116653865722359487481278263961760198686565412913089931561180843277471990801834800681431485489324711951884509911361555484265882860281314666597061439645839758155405057439100053862736277791224408577347142559096354364936268946430402728829463634442020328083738849521662195707131582560688350403520032685802078283628352854589647746631911187191155165339105439771575662107119534702355885348435845371956788617966842348728181303443714133526904928803769187661871228515223636002707768227194967872623375329170446613850630568797144592489156167739224211047015834127766978581191385128965062842965355431816414761309134904860312841655282135794269656737757039031574059661726048371318820292512722283161927267793655686864720438768233662001628479349822497455943894338484718025941469675565390202419457639030719154498925642980173805817170947981964150178582813095973338259208509087648788348000213941305608383386347938940779386934306999434048529601642188185641810839414558399199776692872666070012307241893547602884583997352691020409927815773236557798527886092182880814718888477490228843664107381280126428851091712557665319820323989753939792389738757151857564197477684990301756523623999988411998343375195366673286606326495149639053904902870756644159130983528280917099770509789938980977961959438518345179023680155027514555990436749300691382813585594849921686486935764976684636907950091264259870218449713796748857725693022668539147074076183835517735361931780378293298732076535354556178826336130850632807021208270072183841611767887072374841726993345195637029913742624488531129487795770947421971769854996761860584135436293473725754051394597452070203334870582324674562706008202428525702245602457744423734435195011278698923750206000100531966572500459919619632003082514599332828750987484050672882616581769479115353577938167075117640096792214009192127734189439001496353965517356476431335679935734406527641944324412356695192263172271416377594189394893965051191997991910403746949162833129391322297121641720337675169202237040847775417610348958451101319463659771665976804025912616543418021009144508772121745907503943523837764355678382851110816699842051226933923174183087173294370814088620002520084542629338948786788535938855470750832210477923465498203317322073698908704416125422624002911817360643803089639648497121206667234845215826191846065191928324806324214334175497308158741944439186898276630075677448238410305641609619849652848795795256417079709440188996295878837092241047146812516711855153044933631435228051037694742786024692501420100836462823344217280251851721302614528875536169160609967382022783702281229758623595273350166996640877313685572329522453845098168446525474554171328915696174570121859785282888739472840663769342498951770060307549795312836174952651798016052992154933289982143474303109094962695698430326760836351062829591237608745998792921808235903473826715156951171877829805561114842837095406029805946549177453042192647683468679992930515816733319440952125343795014983363042707262560750593783914951735228484618901900424276401221600935837584093504809248761665753468757129596719764643587356208933137891038136687816322110728462678490586570660553278544250040168237086521315078206417860601344387032878908965805953557558164059205815974847862396636522109859740727108799281732173908205752750795224997308008410718068197543920130090817806085643430517389198310298681561031682676782714947645095033911458990789243763390416541606150258734857013588001384391875998367576930764407035713800049119633764511086397336379113542298768235191632260930218430959767450792324072644014361837806512381529913981429950495773866657115610443552636092237396536682528846305690598477496808291091910980763854383189581579988753945611078869860040560365002671518498254041272810117625359791882068689345979261378379577002553891159609849417997041883389650371980598324810369732219022870698364817552163359059718540694318396785520476502563223671471966912459999637800562859999128536471996560505126775534951955006015393023832244370933280654215810546800431506106186896297736083733189783653077876200137746873159423116213165053288090499239294522193603003987043190805691387246465084823631020214678044159672836693824877657665195591672213278761283935560865949779119849900958223978445954749478480181260641629233953333616873753039030675256055337096732397738758244929538450797457340880011489908289878221019639050446156043643431122956327253847209224020362487951452955829501393638781897167844419195763595133122185039347358405348833735940372458935243975806741658741132362147721559131941659124274051397208864949880895776800686667938853487485277631961865777434505392494281852784178371296602979750891366241984472495654361955142511945847733222114644405199986835367992396147027278116088504936787461269492044192596496711279285354439464684421625870986784801385344939718316727759277688790081449496227143864565322389842064360077804325484067996333735437489349980796481785706079580189149807049817551721946455784830384891625057784881754622623585468117510985887938983356292267360788956280413467387912426442809943225809517160473676680382650755814447120338057776181047134901470273051690240499689169381766396000773015607234100812883273180894857339520721646553663206312243821170498369766761343178449027543706596910149691879770668027112004746834678522248752819914179070486818109166218444125165319427649604174753111910156604640583186939872953808296803433939620517341565223028108816110081775379365062793177934989972182445121715109254755796013564004651359628065200972148745754048785973050431322599203025081752211638463720912662953241839684345747871441627850725737219491611852122294598283948411957962460073911336096377934978476224495494203449215522578727424431643436707751833833667350095204362142072574406816175586758416390152169708967411858020034912517554454055832870652009313709321730922379038363083611773153128311521244538107282216787175518755578678945253167186408597626277272389291836180488735303440683378551647859757213161061422478454520803945623575246393728071553715838480358782185995744715094366824395534160857115821124692882613786056287618958029953751098034480924341861908365469681698548466671300145912553531389129342189974551103929347483908348120338109629219681944330118470901086496031337760359673488862184901837388514504994351762477911054511239369050003423688811773357507795089690974480336629517297995390092206548570783816158880122683008729018807345784580700519993886950814110072433358582191008728784867334028233500864107915064984874158668782273056864801690206950816155253328868930838609208239092803215944686046363056111192698970935211117563210485282748035400742481670014092679742146447029405218586132391822243922567425548446551369680094554778069302818390088858055284339813854993484495024339035238828322051469164040366045079395198847178738736311788024822658071508937083565880751509963351293552170395420972516143416870001032173387266562452612208619463225883620627081759282887899127373370292474112422847064829073575165700441219002435061311834078590146055397963888647266462738985958064195086066328621462054674307808490760976160370962371276393585473333892005734043104634257396350477860599205459833498815046293084048970707382793696470454815391892125509808747654916697783588532309773862027517637438288286818631149897700919275697053441135002735801571570166081697498280782894249732044299363336355255728726292128645329375038580519293219504911916034436967288128052206886688762452394726765790638876628470727944312843580214074722679249256479940157004081092632775261533966210924010297290161325268343264438788604413279077880915096694384157479361973733649955773155131373836238040189236379804823742351035780162307319287787565633461315400058347013560885558678777396926252593288158888798803732129613846798652003461032505646710245672172657391050248411166479993201323700392944168614547026206756002099457604002027957972721787833021030679831262710681945851202646780986075349051794336384979746522604755610147235391843667369209650315771121094257183540464757759398885420652322542356315695025340639601018043377967728536205546673766792415172634237704881900523237607433724655763701317257595153498205165117703405722538598301192031333501688388353309713419899856455327431002648445263963475898523682763036970754580371512460303235717289496275511350880803409407568913139514622265032423592477283310376357749785349506967871282691100264453518901323541730534054759066817675705322816681426794835732311425264705850921364723566432465060869260920376545382366097903489167396427540615607656848160059263653577246227185539392457408160318029582519205730906771363464880687502561305273697905487354267148328629060978776553296415226312830732209305991416220791975779447439941783752387513217368669786343016548589845518648061679170143932527992134127177689699052101508306191417833537758086951950807194698437273891945001815001377860128057087647935218869737458417989367156091995712950930047853316309202504689289434567991279849607439788681626320992002053432036363090621495212227356276729810254731023268093783701337022776514201410221614565658004898317817969209042076017967029215650992465291412836718727850832073637360563264154309280755327693634740381175586602091305885367841514892656820041196984769659964354736534630847367368626550217166227336668782177377658870464608090384945300978986733892916953869310923808649397095562338238621146447066234001600144768021521295641564317863743823200246040989374406921212648288273626010718110152232250342276209165885152552540778400705721951828189858687754245336318328704142284862410680565838121537736068045461479798833554346094178856434284921799078313727274564454748088923279741683744766353160151997688113215256211219670742869315783733574568755526994707115969822451714226601845976888240343902980054729374791890418428113775235779938837941434754217362273549921858993875897972760532473466490626418154570060930078874419975351178577345679191348169165056876635536432401032431913277756290588212085824540570350422783692272311129407264452651536814394268248663294496569482682095213136542077738947394917884547194294046526457142855152215117386176055876518597005496511000302625411054505823290653646332592995925426522691549019100004586627848671260742106305871250418596836549207903893862552371859724432067687505360448913007924908675367441248586896853804571871204759741018588833642512975667501750912574949376951507438109250960788414204060280539714886133853175043546154731203343258678563967704009962774662754473797536633163575304673407687396235686295350759631269147978084829467672072160612595351086809686543916224254336873638776857684944787266436383870846128451652306218646272207664675773136688573096509730643025826101281791206911115745894465514682728290445953271606709460474728970455556338082320985437427625107447586403095998431296221298277853622093083443435641907074493719524845875183073913809529343365965930357910969832582952265285689842565313564511668894420990459018031591061894850159023876644365049504089445280719844440664368533742100639442082353384759977779286559332033669958176129773263563189132656953594593013894949678155895051048672012305434590686809280254121341613755937901921833258123807525268059985974015861522336930721951226940239959835391186486816627038519528357631381523906090187928049487570219829416286059350104674216264425699763940510132482381339802727775326660609036370355397493543149812227201881981783069169401691346819605721839599244934137202654458294115065719514427570220422924562362580793649026808581808547296052188917219565884723879261346632120191253984761084170386878497375204959069438798180072739327617317642451380854551790109400483235459656562646928282836424004278944579218568347129705702136425761140935899659175938408462284027124174999330740240979103322601016840606513102559227314753281077304526270211931572490268063260739335351044454725845846803690625842857191981491642800954650732743409991609614981777799072648859776924468293341464150813879241380512277326596502917810897948847101513583720318906119225513904012531835123282651270000967107094145052923806035941828319745520193352380613290671647802254927100919429456820775086109903457481414361193871928980827307861065474472562002800611357795684290841383062296378374578036524035038218133838252231217663635381117655336462153937683206018482497126714094240559382717246901094225727863610250997481153336544812031090347176985994506301307197259581201708621159492298460544733605799077082735622423446552697562103615400885507417877754519779703679880507966831437169913382110029002464184946918907135624111460781338380720763250631265427843092978453217944539026965380698562086221654909074703479160088281427764011009009188101685812163356736799943474208244591236034662913245661348894778966395532199490280990133233138856212707632111409504375788581157588130030746791852407934579182749209637453027155726672628834840632424845641646989407845243228428589783102199210241465775592539901935381713684305676825007002978714448311563915746035850340199790199088504190924668677565257226968914650546286834334512583483746313434789143170636730069976132682147880093560304139882395763425689463198578877952065932499721082047666423950744629686509689043818097973121041148319248633857490641961467773784626046405367696871335632665793944762096105942349825378719251225161365899465854998712151265610578191125331063726439324154195190038958564522421931486625404463822072746217858981023677496212490409546917405578585733233917649804379167559746483222740118497657443156870908987926150769729668558208621069283018010646516791826479882582342769758810859344625128366061006355848477217037114790219343023651149227604015068576625805546393689613285911615560823897513311928277638841510241930267837940419270049552906025280644274908385793775774920350939878946282372232809034871124499948944805224754768036925931594649657975113801156625588301142531009172200742404698587468454589045829784543829445782247934584624807314347295909240836274497148873469132229572936958896106248268871588601574420289740074261726908357671832185875976459720361594083463097419537187255131027822799712371877145826378233909685025760891973810789632495790343159202406844876272002222476758744197922568289333308163323723432244020108086214299115523963455894458657536147419438823584587840613736830402136071787708539349682655236045189541652177913455006636531495383863138914580741720509983848364400079422224342992998169590896349728489491537330519453156353632875332616622509387324940029656757148945870979601991155091553775481227615244577302861718067258315346022926374148945686637285036280483846727377971376597442418128693771497254451948992699891712928491149396736421088253344540324038897072673386387026112977969543414938599566635931139368218299175777657475602310324657460286346621673603535883566544639705801743576505404745492008389432378545201993032773139409668040589218980297653519029137463744463964543043227697612093741825997241329142660771354234774366501630002495643076523834085194200415072332739680098072807339740947663760027754628705384916151695366918723942828664612192636696138169656261361670317037057629090521185425667186525908900927909967937058381958847778706683354637969399335365076377050857391406996243444111621868924909172734571860933403970035360772348927196504863488658840782496737728065056536221374531586577286358291934625428807416617914999330149911629206055067581006892602901783976941730457757043912670650333389634520077100846613542603477071585299682424255829417615952784442332920507382883950440608281019958281915673371830189410557336640228918238715137166109645573750970156933269566777646283387453418761966664268178332539354341426689466424399220539933626885719053471673968705429931829811054546793639523061628877004540699846832119482739517676355158137948160438434082273745205740164906047078278367534247769097892649761343061018579437983120822187194688384605623690267193212965130416768683147923042852894788548523072382302522568664138918382521031739130581238265426178782170658678231631597676452162196528000266502906933589459121396807179419793462797116392789380105685485639496400432797217925460066192658760714257112550909204936400550475980168187814460290741618135402528140688203792585538410905288802236226273713945991529357155133811595818482806525846025031736898451600763558673993069714433674109124619066678517890784149375591726936164375539990715134782238819914211643535720069884700745374084259063524197273069942672509073450054155612798142964193113344672765362819833311623953192050238452891047449910900898123279906735536176809053781056368676355809248655543029650169616742375499115145398764383574522627896997475538009631827946754289210115272584197769966043794419671693764644208358026137141639040835393670128670058876117927132509787204342729917654852870909366756820915243617619581580693491163629482992116848954140253267303679283026943449953570077977854026360754750310617935737291518777386032894762895865788818075470632681688469881980150962889074625364585984002831589135630603806154489651090645780671310654444111637640658639886476784858116957322379479734177692753995431913918063599593208277185920439732503984661185412805010641415690232537470964200246992910608734997790951015459379058539101655410799374038974003555982591639967513086563288912481555599054931859302523467845572052962072982779814443933267662303539619030350097110688061906174645563369093187635234780857679085122346879602885364177998092137158891715872484744956918878604331245082224127912233981509089043704886720731254907494872715131190405744455338401719413158950233074694346767150770500984873568768207194954251175005110328878300024633101043186431083078882828755336749749315278755922936925289474909928669559349295413525636372367196255097802002312324767201042275476467498872443622574825368578866235057567765940778678731581397944836650436570419477633873711011455646743834918924546986263848841334959099362599386922756069216776420147366533011725523175628101514111143774489153778226318741708938276949511815772040342414151542847020200570196512448359705932133696394454688617772148659413882482770081877679631289113956720202447621096768664653726810906497954287082703526385361205285968508545957452565974922509722133240466798149301654069547497124315307470637449976253999081580437752067847988923754220189302898685818909111765111937488158288951781002666231473268378121326685167183126342356163428302612712665911203370544994357977614120936245351581172873332111854629080762566274319517731084513912908145203920241225460279100789951594550516275425155726802325023273481580971147512692886869507640753487018346740324898290575336341101840659840865855578733256195019511688455258639680911484718765081843215862429215477749762965567872773666940816111793685684604045005214799014350289053043527462548869754383190134136828088704797970900301168042861690970116305845650995751150855323840126259896190921311355171240662004664276777486664928552516243809338956075318731231057593670799303617163713332402228382190109371749053172607646904512563163950908909628492189000578528538460348751604724259702022624034271164062203078525241211543756731061570507915695138351176618967195705093891703962481417552960857517297398668169087693430921872064634687061528131478370552827201860476301848397338569715937494231554814697438331608900548951735010456266149158320478158143164787853353562028923628986391239210754886616003217956330535206379966654912871835944070050959191382212918980279742832761469154264491975606915293092545659070344914710784251322367390809693184852008043720047904605544668384717028374795808496216578439550906264673616736425321004330466224684579453824624421575961630903505450666012784248250139560425917643154462128749975491436436279189515265468606311514578301055151234021646544640660290747741014710901858379204388282729626235756284633718596642803193006314097581316752787805329046476885495298026554834968719802006672065440113719640535112261331095646687948020443091232368785238037485493193740709047420174713632732717862496763057498627125418512012795988628755095311859299481312800654198796730924967209330333530595479920882419889645254459127946599830892753008191881881854171126276906083169336545539173155639908474688022373057997794248610058272130131944577025038562948078519504174091528282761750547340752808403633185303912643612059851923358736527556794367772405501770628825983740319625498092614204947772903953620018447041137819593900431378741163872661921791279100016862113364102729919984529355116174534182346389550844013273887821903454011273096198199149287359252541899212092727757075944933788043965661101085451466909303648582710393242626751805927970229018752200026681264746689779933100084328432206562776074927775382035524527023319990484220155776579559796403793706586916727763547113007637525797827907722834158840615020400296833110765767727942603015601232480364794412325798088327293485793967391266833855156006324137851494186262557136656915101897430631371863540996324541079662918169764421605251480521997158061906484921121101813072865783145727666879334612080857626003835607542844335569680124420942185864321079568237372900073512928531038061072974933675673389578179301701683005639896239207412428696980070488147796854633001880057846053576439041085805292978141940070913059447535113704240140244677422653405183485171717686783622010922639198132695365136489934039363725581983090615001700603540509784896681893770208624111286480117721682607787901435220843629739727151496356475047109162867897825232795784802982903883365302032003817846976383710517224156679891844660697412485384621975930594704222275419600095686666971794157795995403249098304474974546371245586568828196648222219308573955862641446515524480694043436941817015547034720779543955275647245463807680560488114360648310662292009810637269973989846411076598916988181290530049332670222870245632549927881774784300288184427519452520629262474862151824680966041305994780625586856301227702702544428787662365749691561261819667576854309121922393312107931940737335848336884844687396148623274879033607262300558302575641040128966810138846687118214779678461782321813761247600711950359094827155240191621190056976373729147805670613108499515967284652280300123695977348487470089303063563072232494590139462917374019100758742694560971556543008582749246550222117900691335229393933789017835189689064363540502278576489839938772394652692505835751879325844594826184801226464775810756377265118181913456241953245385798906598730662909343875107210409292616451099196560672880464986223359624417784486663651001887698268595986213031993842234827014086667596740160145093944267299186174683855996868391616976481366824871609841571502413925805772024165370451793965062184816416298028779949995696653635418747746767970306854714144493162787719788248847401362970253418947752146190687313918062586457838917548906222070142527582314507005073823837929718166201394864649774308557346848699468751870175519415863354712074606105622061496969272356340498545736467542554452723933874045440436457213118821000100674234364699319810872280330306891338770826303759618145916409215844681099006144674085461639535045972689008003568394139736954150756406153556540693146088921277215486808110319380382061222491001202635008592104777004639455243642166010128934423539779735360045988078823268270618312849276540855167057215103767129260884642797388711573686582616711570006795206312236866132129605912501577502511891811863519764796572477403755328139155793566065945948812379372002837844215784701782702744308300039585674562478581753934906905337661117709256059639977362557723216037687769113211789156243933252815069840582582666726744873467755478818585035886921701495428463239660016525416228504883579223488451016921498324550994465087105729079735203808678439477338201310677131772197829774722228202360076100942046838483539484372842650345994366043596002525646328889931237537708639506757678970302841976055666449434464730675377745044906412686053457810993875755697148624632807955147810652243554033761009582148189972080864923177512801868067378245858956915593724877230716869479538531770716941643822266558958900200715675574964240880444832590338951417547065968242093100192370192435871347070057517403446014195079639765354178554349463436072238334578212079320101484555889927857040536923892143536077463240274244677330939821512936756864038412948229873736110537355769395186656449860418194397778983163591240017813296747565808834190017789563240817631344274666244061571314030124329101499682193217980436861958432557474593700044321643232372543584111629781848317751655820358116913123951452727439513218586736485028117277510995048397299784697615493758173689753643369363795922017284386480765091706674495942919304430709190755528351394839686612232629661727668412419337553373301851659703028705793897261076217690006865575532349708366853543416778725142476505184273677726199400372225891201361675755667642155074917154276118281521247586971777665142024123183873098702164287589861947013179073363317506206616049434580828463713493425709282081764990413042174807399531739960736742866297772971673828666064756396243106793439039503821963587489949235967571737876817307296660330107262924387947629197035844405442750999569475963283883618706285415182458094093876556210678652143001271355488517664074586240745664821012748723296663527666938262529193489521481312532776084042137574616193547042484859871855232711522051076049920931783986007534478417358660628919115697646875490707561960946176182559187291501284688408474674075165912667912067240013601186087742027039405505606913524995075839609886891382064087064811183425683787654254788962948045801741883188979718093454879596522051104379091314817766605542255482836529441155744200027042016398810090634394152510174262708227262347352879782396322328501065583159567610316323578343104002900522931236417023313242605900046935959450981308019781775279119359431682146196402519239958273507093862804784397259356891707729061671858423851144051868434425637235182461720885021944916898992465939243926876068229319275194167512464463541246063913686783379520562988902441493621330166959885988356615372568534891599240526176935982439163498810974683914715696131366787042256845053922253646196769555848860477770107885228082639986044513884842814932772156977493067991263797442218124959523535105160313835452742755405205931012530166316489175558038842447466289164239125691226224366370856942635711819973789259910772612400708260840931668266744591492761571326387528408566962517555810331482734061174384386226333303163937231866469538527982293881264741855305424569292441830857087599626805963321120129023314493610927453292849286362966609708021184626584794615321959884167605455292938011726168566857557366627471402923722756670514839289008765888880740404553791228332114677754203575371752079231940335107928014649694951676631996002925333991084367149421834941747467698804925336850261945832248570756948205289486742160024601928989769676321945199080379832206970588666850517694230356488919668000900050976434916116095776606343886986209481391098552978649454606312464796813320061632565514159432150716630926245070852515445115083617311186780602878573406052531625796382233815536983523721395116909099336878943666023979655915065774840469087952291424276473729799843825140307581487071771726389699847522451341591577306461934817282466304671209449058670410728346042695055295538006289372481921624201137689089768034823420171309173429756664873828808252621427371118666027978461654866530261964229302508288512942469633730176291316046714701179139708329916010642833371033929859690097461198674046121030228080658532132864358022818185364653810380861368201329348335619637745351421351122415182014201971835437709204430898461813737961396442551205924786835765610548725080316961065188559260576048876007751721776180630793122667929005283805861882448697800430642042776240371017122639796343343390431876953790883833489689430209941365405481141643493574609529198609148440273064429072728435478438423169090033774155612861051382224265414243643679663158158566543471854448988637434450338714942085444613134452122645913385697171644860588425338735738540602439743223401733569991155108603854923947604065992760753219434816583308873298093336691410357763818431764954185325014532366200584402388815401279929090937352282945681479472879798753406883942654799311678606229612560562934856249263259213013998240996635718584884106077892644173404390795255149635669743460516918293056554344142512598959317832827682522507282730655157533239298308747490223768241411890869786338115266481183172291040624247093666165090349369147533755721601239633767118156344894491792433558958077009787940996846283507566764627837065632015836815589613926152276062836314470815388965850626732545356715063235939367452914320906980500899493753540560879259270512626351784109004041179051884868304782391103274567613643140064787194528203599916793849022966612488183729297918217589606659718017824754787350877556402451214326217313021153680263660816930323026638638909090758232907514390250946538244378058467024760688938038802124338093448447942434701784152189974139161491539717593604288144955083980538588671784290416050767719931060942467075515337983474548971269057029856913657687256759660044024758347259109145816121905576722565545654389025671413653817622190732892278221052627430708617503609875770983324423158195045460401720519118895825433858136374183240962887620073094461786410667340068447595947182226040305071589064994490986878072700525972451135812572286456784063981810319523917842277429490403480489680324235083909204871846697441459781823077708111295097419117190298933212537143490070056916505301938251370801634935678521522215257633901205589997034356582331346071077102743418148547383062923023321467724206893612514092675216756688547044166167242774843284917057737893628739208121450584907747940731291467475241206635155143769775180695756000123393795175626347298529731475256817780264735529472277737035529044579949723586480668743094111614244413378164414606892240224603134016330802546034823814788576525827268688093291983152469271704017503418996720757779468960534967134831482183775993843207361221763931229862177118922572415290248251680584185283347595079097177127635949948597371230182459277274619462861877877088228452706096370790187880791908679834156007584021264996663445230482483681477394758593249088538238397667659335358095893729407825847120278034395649744805864105542221907441864072421788542793809118149726764983105937624957706317189008187975389138829774625519964874653328178095711980258966999679136399746922950858810328798058731373606435632606700685213758070251656370936050399070611748751557312569220722888534872289299085313254907433688426568137096557878571951347685250745604626748723197347255757926200148459705076559012647217737808200962120888602638938720295431404463857130564448870698105167887811232919534821664179118524893394178164203584488854385655404669428327259311264053848600161753334222437795193855284412080563921606052347392467993505434405675309500208710255720939562730951921160834109171472330081664055744815076305565441912412355285699643188664978160431690160772182837894438068010439865773208678004118745614103668566459998145301677341947084785049944358579925021760202388528480193169574082921514029549102210873373123751336543649777123595638149117305348975455330368512029367517977949507260569450323203002822566069732594271897982872803845166630588297455538924148818414318962135138002788431220576675958146887788107535257635958492122457510726248761210667008145026653577912744387067893889841399070200864496085773212359920703348580340364898930935485047488555461830802421280789470977700788549072179541051896473721715715232893726458156073742388701359504717582063103403446387541431650140552896528999628343164728400366710031528852766749001862011129865363343110210635795580307516658868113069297401437644127677255644474502455891600955693100218885877272963828925050488662659334739342769208255412355055575504221404985228116447315943846308204669923071632994675779965833406868400339615185024422553554283692554301326893985057004935422700055861096651955957641002005742831865585920134421282673954478308019816204573237173879664065037488032076693797205627208437225215886820516534344477010003559876189056033978365860745904357543676956096233716598264025107032889521714733660603081683238872369451439695719355628173091146779721874286591549486302724624221435633287196336435415746465676741238029756353816325932162007038223848949834375493683784914847157306034705302059325625449674010816111939667754514609289132120698329291394622935484282944837727308110923398547097322464466088151881025343266062508697883183313214561231698832227192483778858901190474159147778600476944569750576089231852945475405195652997387887111475775941285064928536534915439514526764198100348049061621220224995952376216381408994854005804018350856469331811518946146603767158009731374027825897517733056496589797688676233217003595644288084813759131191960063783684403820822954170402326730416091592340440577159288068714767557220621873724821561036264321204533779293837960469224540210421769196608529952865215240222172144732488990978844075006274660320954862854333531085509868143706712697761582352552394510619370273723384811133536060253191307102972581036764802166901161062374653220498428021610346299751714613206108506972221167100114130600538091519275636994489677563582468556977989694395079476515940746328839594283960166456045633854109845545007907666581011357290299281399634482280070813949792676252175409023561335722275624407353326431302360450935896600665255122883226765880390803695162570180006735579940758117055914883697135011293058686197381645709560633806001982386667513680045669877417222336004071797145599897265819160280131504481850017503451287046014120938133149309084350209621574951209028793800863689390080277560537568832854210830983439843543723705765342509143782969805731154796218733185506966907319826438692365142502809366109392986705743147646083366009866159035125613790125677741873934917244966623892785875743824995142966456038760560724305943560188352839114354957725317177893000792145122475704940973292837293550845708922599482145290749008930235371301636403108612058884699509250550398088896196800449856587423183716422419985733838673040095344198478333984640860482612950473687960319921005919973168782706304222535170479213591652133029056560677089749204442442228173630239502976874471930175414894766528640097511426724826494140334541949996541718006156501443040134465136161087660140665278230188134756221832168196654682870165707636476314222398010067989405666665837617315019993434574282396310912950813602415000311710636727667311861239204715037605283294036494857960833737866334215805310584281041562119127175267467815656134573115888192889998815254688710109325474977167884643218905335090833785396699492175053652621767702347762765073977209601599722233638524355428386404131017639844451453443968492419393740949238818530262232208356663819321250950600640981108445348960125030414753946214596076391016883018408672423775393147490869682387541887785703992096257914884626327957839683450614282869968220509828217348903170078749646482192375394609109675141787749312208165036972362841446661091174295832916621812095010498486166876570497691851440035221159458324628090114980365185291238544159435472721512237489551130511537977706762314389466661821160345725478579713021653354736708953647769669820852290608361117662277528375468325612491061701579971513897052608692918364836706325313972906175362134747211915289548688402162161937127383762784820591339218203644364384843042008380176236458658533495062828171448532023497590605467234233675110009892936982051020393081140504014383113481959365305194492760860566993082775756285013719922069114479157105775556796624069334384344459128049730819316997282024066595867405309826678712458313081485570608532951444893068912402127100664136259147464050929264329911358579740296779927989572929424721243162301138714612973102534771961288734308330425738417951142533688286555767058570017944020543980487589069348595087552069631097212798765696708311312770748497460833179293493383511593736204597673512374260518483305776487352351928750928500118970395347723840523469797168456016984190134043511384127611317911957722194834785247855378426770230165372160942353488797980878475874473574237474893063107044373769502522056408924486339208106381983415896113209868989884726302303997725069474876319296418584852047169563103312150060863693428287548049042347503879196670577382827605830024670482612306654458312383152869571039029344489785850310699249704855637781367842402554362583348031974508018918443284737456231715759289537773808931625376007537878046590247071152020192500350740800352870252431504997247082749406451036268563946329710776080884688649239588687616966502028088685359316195320854094588766969165637585096542459339627891508541424883393527058921629378787077841898447189288064253282996570370604342236176841301940863956421911741133083953544438601966918534652060119881177867027375336492460084469706740364961452322003310281003400894545667123516282760051448133156871240700387792566465262600242482342581067917203769208671636519195876973109540168029611766264593420361078751973277589242209271541171049623690363988270912819507562697132781937239495807259428427326446808639979552186035692868752278245171959892539761537675321602743509294512522532876359854089746762435947814690379627122728698222086013816609440310574649240488614734197796050614299580848316128812574266226513354999266330947320256380909449316763113112110007208177922594842005689918450045099548647574453470227183602969624964007045908426862924898643472228117962125137334998054209928942180851584535299276564733664164247862901999117018238790368265426362076581262896127694235906792824669894314238415354088466017464063052681505476726137553447030605190908689435514681237174288246708193331012890564528853248845835228344360099929662400852189984228407473991022224410382030351435243065717495359892337796765731483484881051179115143530185073035101724059789576013378814222557600488232840048200800286412663087597316000435631363414328236806224193434601178084916728957945469113337348503192307597877591243703795416629359369416115613872431116955691686301919191940619855612278223720573590643314964612390337985285683553882210976044285748939770402970526073419621721738482266348070593347536826302597976000042788166748244212556381573002671753798743408964316462469505568534997103491510268712372437338224306674707111637593761172300093802116093666267217089693618110367918306641322178428912832378805400232378475308112613362188846099833778104664409045190379397469720165970251245005555235009716194564084722048845609426733599520730800106332655836284691847843551953812454607094047692134968659697456333127393451185823583140255535655372161004228620181427400386600680110909580579201172251488045439590449304278153696052407723852676594728999487179249882102587051932678877687690082464481677701416977049622990373636812341943757296600547423234887335440521928877675734312086151736045567488319464259134993155472751110511379794293540543452578231872583861281691992787823480515356607254196139716736849812558756885107723092784372499943277552513574010373609722352930822357654235670463679680536173718842891974957328295096319704822545075714669834557263878425745801758726628759682227226482973795733849128335203469871552421251823343542275964512387300329067696062596718686689100473724877239357062116297955566695644555494778148733706429901105815230466361814292498413287574217301342760418175013106418270962503985749398699408423771943834968374032260336739641292470084415593566003197986112310236277873457599355706266047983248273383440919567924665810907830927996765672054631843924963270474346853424063710328698832058221521139926171177767636682071781881580794271832540498380443016951550866284076758482744936818116272449216352412450894691682226806159597601065626738867722636746198788939010950171350927344263774670494088489134605840145572663174090895740928124835877219545205096505958437121361076491329850222295791228658477355741706417950975378652995513636784281274087744618800321212663028018488433137598434204401040364993916103991963575608184518240948621254592572102715511809677340576675872685425858114989837725593321006105230511196453586974254290960177522683621974023984335193873416952085462953035361900535881865442498878307948640523950314750925730644056448880573844210790326110367262674374269089606274714819521392891582013103219777530403085755449866589775416195648326238561761577378924263942517329009383188415497222941126664803657150615487039959776545109704505288442611675491584964624878385028291620779371693169712859765991973613570494105275389113733048590359164379338137591670018442466992846718386495270473037995798820799144244334123820005098146351331125096424807695068204991813919401227370583244296372585190740673338801469997548827850801741923123115609291102228037018869774530779641771991039481719362223933763258863079252491329259768932214449639889207937861733303926126287513191292680678200720034074859192837866205118077232794345573119120299931361213607868031355349224436159708898204799204196378233296495652197367303325893168336694557265284224992298527919038775841571925639410229501390183817566450024960247320229960254129020498961355065175506038196222344333100559088584935837046956364983663387661451517429408982063114208761657677088837557843241355273879344199608063237263896042532650948611338010943667256902073787878303151110272262657813778259210185858693841125277453741020801098936013951514513128842398292313957920473921778985096729994469532394597858185816431423326376369164371297877715531883400666448779853292006920790021394864921361877848318557502470867109591674185714413275669770618470120586556805959576126556109489063742199806397805796225418910504546070781217554622264824077896277612036078899890901720208116992594089481349134152484083863855361719068519869500465177363507714952341457889982143263370518895549272467888800497212910001534239509929506682253046069866861619613764126125652570459543285341309104525434889218482820349520083630508399133690919899007191241753323078988841542528664175208628813127954449442901793027911336436665281101586701870336803566796144862358263927062792360493158364595644327958172666073847333821859191373788209616237709942866391188338419469354715257629807087175675210294547381042342911390480623043561112380419393132613439340031294273526932138483125291174758147144858598131889686479452146925781328185218401423798096926389354325277241838750206743080010836228654076220022784998261688255086527846599959588344520915822003690585239122653327399029088966210083510753094876449492669811344966957074760984358810690293265345585176916251097150203285638735033401281469174409725048618265848023962801951911733781829318484527323324863169356924283325053240692219862755251225157704599198898221500363662063619499263511209886857502293877217612999277000516624964611883903015471811363262825028018917998140883867508366374374817633707757054397573086013019545891580733063935223340367854345879887942576608445418932564318521861980700410630644057208792122463939935148868192326057304737693962199361681164403317463464370620500217118258130957353502495548801362108140523580426423561475833625358125311819810462371590039406864530847044630871313039544104585534657057644590461941712710194602091761791712557487689142367403014857381002489172985579043159197383585627475119766845693652935326531291346154828962109595826038399020162598526473786022906558007526027117021568350388076720239679203325142150680009978977890576335167058361794537218674754984650876164287955601325608978521191311291486121820461600897284019030173366809382526553464159668611846643109136468412553651932178377300293466305150804668260580279101481644791015535697120086236900151405707574177195870704221517227645598728633721546015342646892662854371983704582922169642785479080626744743491623526556197333875572260067281120062339336767367037907553686271625054518331762343599154267574248892836652109106884794948007412839771231836059023270902146597238809255258817333073070865027554311362145445224438566575774637229803859624393530179681999566332533927364741765376295162924031587520941872574164469967208839834324928738596956141520304402273231566140355967068880608362721103416925938772797493698143563984426020217590587096369455283226308783364224048035459771739614683410174855972696638402970923423938694132117536379727071508118691349055908249653582085784015048781394464536842773579002215366098483446968253034911256917267153888448707630080915787536453050475747827177278187949700224649520936939655591124372051216354986136377786003279614779140402386445529538500734543206990367195607040906802158249125050367169929631322033565612671691018566751511868378817250259824877590400820530734897971363387880012529171584253328699176318927937922342205601399003160815464376507507050163555708735144339649959356160754472723478485234745980563299821143318999489798891742003048544387959144890610255395650236509999956069559321488825056832197404810743294788540220948209044875291804804262359054247050360001196401587021328311977928493371740428197897799431948098181458193316466856614938436229646262459441932859944021316957181813399005552585753683841707350955757575786048630972970540563174413425535473768041013011264004041468979031767593067739278896120755226007947102889816772362080928810833642810022201635980211450457262133452326312201114459842188999634569735930613286863694250050417464844318171195620470462141478627345099423904810671195504003404126204563984525532268299823719664759474603977374886631948777774330433589701497360733317327345986189897374670167944345828748408068836364526530407105828957557822912750600983476879280833063000857788279150301714576595095559236853833904725752462770750672588759207041351843264144538405614813296630247453732001077380912409014276721882209503660283691479986151382733128000656179242517938853980806928450262833341449048824901562112813619962480172686909622843344741927230252775303450111694836425989290920357679452759464955780478524245934344688473470067514991207295174116959463229682446093757577734923480974980279956348923203542179833233938294724470252225231793880120535037874149010339678319865230198758063636456222137986073941835890095695488841089424846461943369861806776843284511943583988503784930901978437847182958434849076643289770504843060257884487224890963641284724791165743571817666036611626433971907995796562956756862336781798873644069228502797551616980171762717619704574565473155695028441365728225877994722190119020971365196313740290742427776229776216887705957022795861754372234987637631896964662341359094583576690857043581669225203059986475807294414232837634934641006398916658387890955335062191270923764060650696820867154030571028756395974345265378208933711172087462071486573198643226433940688291163240981336620375299055265129527932246714604455852155249641497717101296406768726191231651033616380704984586664423234816914866839265276194295323558034347342400961616403293084130277268191562446717406731500065459544508061033194401997068178186543039076348383518768827886497310489670836146342185704066222315944847220991404525577523519339043210959091226383424995809986229533161354922053946445161073440739190313447130129435463175747150182732849633176460009568911917318635093236060348115070053323048082317761957160739224091365666875003357738747847715478153925958526672678833846294556179748010620229882014961978649658423794663504572349012614752364633059236589640282555444712363263202470698462574215020842935074150434288301719910183320876367339758338103925262194396496154412433831950886900762091014118907675683170689935381307110462697921189003059052345304916366122409507772795965695630942325563333278062562770901388606677782127186544705674831374043045438053277609952147977317791440757929920129534680611583871879883470786716933299610238331201655573314942202798135071770812968385880300541502887933884695487889141302285360023325066485627283438078755760661006388070547486759728995038785570285150463289690040781440403878688529861616842313252443681115550483785187739069098927799630809756906863771848039196976257889105253652919517020847306262808197794590880637841673957808528655777723677557313272355526865344355749958939122117910483540309151510075457260355778399519376337352309254792481614665980551842515349204371844249329952906019876485320117232785340517809625614265697858053125449621128817102567459457958776212060495812192707125064751303764402622143226678590838735912916385972050630738768398536923582741535689659461895259182072325621950053150639856500879777092849132547831731007511182589738912369395610837437403282840651201742268891763787610038601366314628824623759395124452665062800400638389380647130465207841502428860527734333858086622548918214575281285562494860199139645405177120424777011770447095622874400511232412471254588456324908882282276845333041972821951150289596543641419705809617092021824757059053269039789342707597493736520021349767716510401757215550192658608213609734460116327078938455066009052186626281573143570013907493714298451672000657530493242391616820600436834584286684515156728009556556477837785240178527817842272936932065201892106880148632245314792608797586299596602761519273488914014294137663236646545899216041325114210588025947837957394020902371648987740546148892151019866090181116843729827790562496291762130137240819083876443366611815172000659118409574683464785356844098570832176636405665666848843128885138392480304315230205728508474135158310362336337163625625371707332575088025943440974569853874182764777145988413420986025825954116569141788259033800589401477167377838045380934128931259681375900186204083758617954327128044512614679188645934277630155321946042193259756542101128930434212193629443051612792039587917165096581102450250011718688089628846417479719567696096323191048213779697255614153546886761243301919115637418607941145809841037518962669574508950202169601575747176831202464597620787577118657470173605480241702938720840757796206271581726928867951499484498851906590433121569893539047526137227994897081564361749397939563734771584506840911675201259628038632009161979496414376057050859360840567881904356698455645516899877908403134372091075279402153301077812004618116830587614431500896851268870586408343861910454349318625216958220435261661765594656190660168702862999849342509234034885410662463664114028700605100263586763894651809093874419717268933034701334064026136047213422930092024808614927495923225330638146677325018169303778072535274529752319334001608454650035362203526799725874189983224743625136132757082482728553444309705833341505818176298494223546255749235664338103608230406301427206234383623543352469118041662489614294004554567115809398946074160406325264599897283177332011844139504888407176854304107640948687189730755516584753919476181694697291844395745551930957135048606080024019491095634075541307431498267797864135293876411285207221179543994331561925536938815714749545091975090240328576369595886065329647820104434737873583398325403490031308935363981372178811784743966688268961308978782008346879957500465483525814815863771483085890223839474568847863876123751600341256547835285363145363840484377872976476893643025175938324021888774542987963005875245769273628707786288609626814562842675949738818936845470944658375157408254972822790928569728261956010583423671690702850596068699900279122674914680695579106456725475761044408578587373952675176959461897265422706571280150470433137380013638346151230484755476523782052531014715433409021637606556188494518714117884385866315401493335142801665022456607370093849044278865261669042685723431796351377391535727838103959107626066284251306575031014456564027905206074254498581584758963591446708954931214965809992509761062360635726568717867790226344420054688298808590242643283935932881563728073124741462205341908623043731616285398256166802662747926977303119997486087134416477932758299565947714280943233513779511858277309407167506078719370469483912086151227320866861023647279123827732958174443377803386826590430270671462653301806958272452672553753497395328651326050017896767361314674203173961428232251683512399306929905652688085805559443276603368166359380681902736873112747328066280717291383498626829160142213683945982701361997636715059590387994132647501456540572946492059035706199390266037298328609688942236964789833033629207464677820211509086917451609902885260419227156787364855261006657858544906406488387203641061638176823797947633994017169757172773013593173165389406404908890004448253073051916684733222316448412175777158824054076454371938873048629243285031330072796376302619057387278574536716955112590813500275113955133133701235866569526488539871548496318688120073348702209943501833210311640279806398752516952693392843432714268022143977833343472370568006193884986721423417268597328532397479251071840853217206252084655714228525203263063345752598366064340394709157192049858994138655265500678487651403507815769848582356206614509109852086096527743387738833175734480935212489268042475828909312188936098876316077704775866686587249074383008382116869710631772475795256197880075684419198244740173047527138636754119918967043023941217283625551462505024760244564941209157927860662412962016220136085853143500857782510557261942817850116271828637838751264154178694502095511632790281279429725283461912481671636072218119041438544172605502926719704972580480500453425840610051360335165138653554283641152950168592070813490320659324424913568274312869256399980486511664211703391167664137304953047587021040303340167194569286203436226583517676959702509745124642559982318959524802234811769422784633660137161472052587307835799145093307540749775169859396839622311293845496832892008393718933428211023736560672848227940464377411518213656486918347440092039208016195503988256389222134476897091101383375235742066839798549163873738259267241638810619898477771031764912909477791014847200425861193974036050143167475408396291961736791781142464676299854391783455366952831577997011367085051250113868153903066134605400615723917431802632271273701620619361549719634241306468255486476943712318723685916342862420572484221102256837375686197040622051077052000328345838173315317850124680491552422973362382698479989138021530462940916938240120026796530085270674680510787153539430203317516999412761795409495648515800958460122259818655128391058289567909850727418747874715228167883724308702227707259758554358905352360336759166173436186038332430361132884777380737578142663230847457590617496929419015677009145315897074818776209141732049431525770702912812376928872114485180373281098445734881842357451590347577960572329884587928980642489196761313275280735268983518011073454365366195911788089046062476932864188884572198236274355085707822316280153973466602026962865142637361100286304322315602704203399543209918534566960757768118255796147349670846080317845521830566977066116802737384688548428651278153216918824259221785747708370294760420827441265984927151389827796055451529189684025148744024549484232523516188475674817006149498144685876451330550332347329671127160347421062927191807050421193385444537154439955689762126853916717089574123086172073420906755021229643042358144194332437945731876472678794709704309517138575839558409223580650624464944218966956099787390878554105298068339676593901902476822508786396032783615537737258000813447519904555060839130352800730793925398625187963987908171620435709158524357416787253708388525312833143972807297497477370138546606301895578564320236006246307167968642093880751946896013105176029873174206604433633231455366087549333451737073787563598170267509571822981331674905107370245789004059937200875589025519170273802377584303485742691572502576921346223196720591603683251236212484271380673117936947606999438935127228295265540066012677635571561379966311364062017019091749334011124557253486650967717068865891456305264996639209452071598355010233507333344070692980194547562281605118487920068595934760798125563400183873523935960060485570264099400458474428243118015358892992992108614494717675897240281396474878856672813908615029469900443609229516483621653616256221460748841637315626733391776674747818264316317688201386198879255147051302547839977856927247106357594799936542668528246310498974662381309518684691368807092962428071162474021323532711317789878381322800787835769697140552566072433031821668262446672790353789795102121153802921813134920435903454759957369772011045168184795025763569664522946026748873729093787238416301939389601937430632690245093508044729454714403242656933465297880668643836977599259409665124324135063896030473557718637353347747045887948241136797975595344142167755042211809537193442344391242886781395033180891901524033462472514756592781305016139220701056109116877156542675892317114313586800704660673381089425629802734099262027539869350129598635911087418482168934124402745146658554025933849562641238041133981758383990328564048059356573474018842858746613202384556458004463473884080490759268219590272712265727224371624410345976363204528340269137048557207252675021840515813892599567498537217454298973010695351688727693004750250197665782487099848031545359870692210651313233085347710943955148934464084777281979656203614391749621388414242392641093447589783980199126167077742111160929724278420926477453680977672739651538289477330892531492458189612515123549634016043260515504315571203761101016240495739052517539134368516123848240748763810262686255556519252888435706028670278666735521308749651956083517136496325883709201663771017900190019219242978563856221422043333118112349777773938858583878424312745350831960284331488514756652677069690426690070150471125427348757989341905516850007541938670993892426818218407209657422935086513392960228252294043144029180361797360524558627079509472252553650338171441116134547988479540429796865172091068947999846196508393171619149280835983293746689889734728750595454482866215964984124592533938999398210235452707596033152376516096316211961277351011302762858119922294708960877564581288338310079047027992572023636403786079382261065781409204635922090041039032863552310692285093927027236880063911002152792075642967829358443050907873495783349971205740743972426750889575733100232187695086998125666106611073324093939598146674511379006039812289222612204117136521890154083379218464754397163674241590190401701140348129917450371311788154274550798908130233531492477596179452832521955333249804258318474260976699484426611795569208581264399126386610603687403952898440583306304728750541740751893502546547001269350312499038621215840645110057743760921257407182287619747450483852037526781663776091378068256665102019952091303851830585368191025373491506199818695204261678359303401749342399550667538675381644629667285350895212413126983794756840064731594188240083528537655098202715756936385252952600358641119744941841277351247081628314527705456494431487380969325743870124968928548650356754528874178467987821677319978390009685927535986436950236117071304861436218547628424657796494324083637923531857880159601100730103532691850505880323985604299958371793970638829886615121922376444959297338305713294182402742740610071921886997265418528274043533001474215559016899017167003614211535248800559513095318134289560001388929694956558816451991313535163659204792516937172617588894355974186361822030811919491780388391860294139172831125789430949709653129002383941480038640092313185527467622445039692936615578705692250869414540161949938313628396513204873317217253731158086833860935397717142324822021574643468426270448729919437321346512994515207720372791482229931786396980387549742561870652534717920601129689411329094045905112186495750430072720396934419104786573605889356456591413574619883125978271230388479901682825807306763683881668988384158778236597467924430894231345447507171369565738074268078267298165276654160655692159362985380256443087141227165954107725344532511292414367340434626534202633266600499431994901027188267750115788759514247773037776568088264951440269776627380888572053119964422097693447828500581503860536215719546333189934455531209458662378489820282586190603383607787040452979666526730613809563630478624953746147946350841838795428258081660432216997713133227944200650686826584937169017459477160898217587074006620051302226085962674554802050091417179402100379751244136996021893140871421832590034820128826778356831213795361394804897211845803067785624975046191783289109347715120188434665270274391266334604657508026137654868447531442647955469648389391051090148565962474249516497556695696643125338277550149509407955138242202213332226859072318806826896174792946279297195501418819885970214632323376289649283752109883974425402880001437025792336182191024863986343233729633089840466643979250831416442381501386552194590161261569683183324530884789234815449536797308193641895785373447996826972908068772942696479975863666657825530325213089711615084771490882595242111359096729239212725717388101311953528286962691926531342281033387794945665684014088253987630671607402403981762165437288916854608007723354465931824622654095192000753634320581096451286041967604039179599086253205822399107647480001526895246119121938193257245167249627269662179477002908601863241266667467270387929892908083229619796471993144563315220991408971964866334928925892975524424379912342101137041851826845276636724778581659335365989258861833693393724548648660626551228585443431896461609683611991025115734037694152774506646150966340411851010268443345541273740539922175416445184322366213204398618336580002841736329691770188493410371621240006264516588959672222824496056498666338226417063172292835879208984141481738879806638862382417233199098481942030825863699882497377099950351995230843044083373642769242835855338498649559188908908652798311461242437707798007851034054890517057356375724402828496585468530589606803459094674256333197427301366776025054944829292905314722432848465151163662974756527777753071337484138032224042844264878381261644210509912242036013467489562152382938235659268752562940266953922020960776944822900545239117561260803634424613941414118662665174321342656255550172941717629626697806477080333017161892968477762656956989773255322219749145423389319249776828677748287621690570267059590877432589729175776507270374443242356884302479296858915555947416189670316398727771963852365815845994256576314782228054377224311985844547009958439923940469019377993652307786039489076893870087878421764152129486123295992424976909153388113050712726945772814342976163670154689274909327897532967079296972031258004597216515574606390786553328636972924947240300797794571720541167169995401877931770848211222386163432030875254245161588785120656591147292342028584156618073910482727142356124891266150589829253375362300387516242376252457882652083659088923911048599196912767224030772561657993044108532524780016058390538855575161919363379141811392448084220362367390000848916652237598395098066321509827841881276662898902173316604455112099681571831207459767471339639695955266905611926791388718463346233090684446628898950701019652102453872571981048637802623575995326725669292267536571892378503845975507966971380495678298441544784640184214131914000987376531626855898523947134144390552169380364400760242517055410319772686299555476345450354946791009605216311959434656987670251505947312249573135503815876404760153469132337341810143292599790930906959772220129631325335921704864804736014749717007124378587879663958571129481627118417647509359106479893173867856706175779213437635157825705727556946150633891233269608851563858358847119684598186987526702482905833351082857401353950287726457312605791220347221119887283141981927190894422081005391732064021115049562102223269092791191577730410174440707745186580968617304413107457074504637645139795805573333793188029481253938622522539535300476065288970682645573068123485920145323118358749765526750035267715688303173709884471302191811812194310360350782204853577807363448306622234303118599444940596079012390713368005099736668162186430882094425710869602564911027667700166553034404802197624151644311871731306731941260171993294015741640052756565485827375243051309679765286553698817169785263350660049194160791418447990490038960203464266288940778739950092926503439136869798680021750645333009534824181525666024912681453462652666927322748214274308733402764599813613050056774858259923691814916091859042933966501100149453228662945036865510526037496656021557971201468031206556216092778636498235416403853535296312648259158263445480949532078583423700241624331949570467107680929872415632459196074765002729540973690608127599074269332991271540570652335580721127484462859539690069223352120291786469669435003668871216687422231203662390294657995320140619905599970662717298200299762364448462775512136930676521476632612081130538721991222795511013395788675811511838106814486952585986146601470577467090486316870584577498202346907507021897561949564046623553463707558791496019183430643411255428603752639588826513596957916517994826890463032135645749348932220062143771097112312930108869740170920078169324017973436116940639925940948920266284352871005332527467474079127731641523168993911314433366770434001735477434526327260353024937219685746708795176057517009250874821832287477221790465887415835669200108667576789376516336437838376549379884977977569193285238451956882945088960261753917111450008164026329948576562631765707474125227695227401901026969166777574308274681946653778434107306997594425188594892171192446015713299465322743271678125453553349229817544259502164393907198286992617191040080205429963301846690420407209239420880817746565560349352195885966440184926190883949853776865501189382843116801325667949537930354092231580917420340125004400420414198291578750055244362037898407804596625184148569095834673001684585321250897436189370435381346910907612084544668734957199801962781217503616598872880614341308214272763888306459436662155364560005660866443351781726491881280185366280032450514639549466110155028832840203948396954845949090719906996387940744302356667439820997867334687311601693402981559218316005402207490825876425513113821889634167577970861185813835288243185168564088958712305805532010631514586706720031838171536857244431486693771225485978195859965240440154243680147854297954856880633140475128529115867611329112210072855081161741803614748406554921027487456007062150070276281337312210000351960982637085397727038046992948816084289923633683571901230235137518728491237126109990354447616992001205821998926547894430277233706195238106334635353313089977840285660898283583734377935142045889575827709699749424064154144299749780961468417032241669236104225518088380720840537426896928197767881750873874046974366127976095850044977587731159111787701553381944126874173342576158413994058057615969801188886278641788167770792496420528912818459716252648476060249789746695629469448547649634976012153991602821895312517088991594049579597241952399779279537690340057571772460230602817077403625118090435305328157892295184156071408943952546127490334144117949189244990865101942500165030590408351929124551722599185819837354322825152666116730379275024384652576145929445347860568613102690857276776606624803412836481354600016020932687575087962316281893738353467916683771031686704805176883690600828290399895368854350448428016701090359173004923776196886296830660806907876412400595671077604054838785513004251875362425033304964663253550139857930184378008066418657380212489958560473771220076580595312797595493727593489639574543375705864547878408483158170187566059796501950474524153215287757541847725759107198727109222705267918753583939656949173843446435155723430930230283686326057504369047679655264338442385643364420856040833930905602227405170375960526972519706055209693332667290658023820403103948234754009800684967855470793966444455193746311401489271283904885812878123360111832375141591079671851741490103907073705638347908278773307032203037824980164711829004710840732089474628577534609801602587075477829830979743910915230212300333510973926776021618005162406185378027394600901656741600570753551992288992213305725642735924221112213387109605770228807278515328158927023994194319906977312017910527086670845965136354957815173012621987792926635419211093582676579712575933315518623475875497798449250959958339256336158388246023823923373708272871342200900141259289442027207165512517034479234355676306299595701985001378424744658623199247368443548135373489920074581872341979337363209726574312531297422053559699203913055509422074713995404903125888131592318999986767717993295989774499147459104926803552050276922826327506902837273349781410574679862872019951520721806407176808211071625615486063162759421427273844330530847808971854242527936277354479648929840840246657135627321333379311505823502488301381034088627689680807821930501019414467832190063577238148640934557781283081180885328672022373300528003866763866805105199145510517363381444737165171582552890317456634259939136184004532919436881114107712826626996555239164862328538927580070348174135417737980401096611090213717532878593061837669933475838540201785118322081940421029227240730376961239044641844630568048025759148591271285954842715742786813181719486354840642321235630742230152047878701322201777951321309900861484760088600797406565212311596946833792132141743217728209758241243731252668224839650648971611207226619243077793215054735288229442818892687047258790130609570173082969682628345740481472605520315011762008003714312196626802661728090244475549661426471079267127100501362206104012396782466119607876400221359550713586238954416594102215171787673517162325666347002321972835261584504683894793634461996946643473843760271603873864965968068127244158559403442687561467118250459278991016528897589983313716586503698221418007876549284121854106847557034337329282461964792761462538909912211397813068225200207960885600781868714905009156849107784690015503057491893311794097293009035458077478136051722381480417781720594996772965422111964341319249737886987643849458514737461049768751154252003218650646893310933962915144673496903841282870052092838379509980329718066162289689023852607193251247440650436961993385872528464031104363620123595782489725839548076298801737238737445596088651518893953627270287370997061208815797211723738212347322478658186871159093954024245635477803988365295558755524848852171380023606965067911173544473179600161536205290855596244064387874359795183617482954592426375572673215959843880585687035788654230904551765761986275288843248044609865129343757379200612654144203704117433850974970949133273604383626886541305560589810158547126506772764574191169995151255666041792741100853475982447936447376213105371154989026988545142795690768901396146024431597795605152377759570590442793150970054859612796953136488334852154893818443030935447483174168720478411410961035504331509428382094052635596115062207332932116548959909704388577837093792590943845854265920321605161255728568144794516095518418996705299875360610758844676545459932243212044079911933051835565715863636125662021889674233930535243841148600461118113760974552178187788739679953061192778333918173936870233901535427115301589372606309171773514219506883720516565974184281046005928731249955748754161638941447403274728446655110527006322100875932198552681661286572016101123401618586401051177407904036280966626537632922229586619066945034255751561726316518016369935071414446860828912076497276781633659559150350048056265901739238781998655562940259786308665523202656447763866768349573238267227455882473477183523013764905028839526073628282455752137476382761326586085594025110189217363988957815678285365028772260805644864170332527066774751314443412957917548978958781889962422111369705090447712577806681372324106630939442775548956505021655786283527014973584793723699575356202061609689277012514878162130558657324712984447016492534673586817681122091781304776622710840228391566386213990155906419556536237387424760142179395136196913574917020217159045287472369861195605658447774391286491922727532810901420994693635045654679798898665039023160931282025361168553603462440509422517167450906047289470379501065793508372643902153783106107594775906430204413328819453501198553415126803575868274489464940460563826749724345001116804824759415489974324860814422161384001174898251190355166660818566745831331155297548984142217476302422009617874014059015429167074305693318690577000479072656766976683372505533848167443306393155172081092159023927148605521594657419594572951105774476140137435571200984429165132429434704109574375391451567205407440448825589312792226331734502795279278871294501628486747729589317163863613687855128799864927056892597305300667629371082434650713345915359394940989570490298889753765612415931139880393089938422753608244108420309177357560277753598125496834868447109598414083325295453163768069157469762956982850395857603534996338896947116903069265925947097684587261055617366140844139572745915729142376019153004346499232094554291793545654571799713118303109575859362928793645756572175917923352726988198405560908982553755598360963505732022946696196660900668571000253363209347130880052875075174049975480551158417635997534763697743000501689242366374311914525279257842019345440297841643376816706235175094607769888431326256503762031065228603605476106242098395043820134483966430432905102136184945031006442364883122938462828627915487557892023214908722885552393190818380615399431301999755326796354944240761962155010885772027843174137052453606977298232918012128585056907366419365347107632128953559702378700508456387947573905471341558359951874128267228460638750222883674962112948298402632107887791333680737784312975820566809287043990447393427762573119242281777871323695399365794405916076530201622984990427476784764809496481799126465005746866879544682765494823348816362066446883238843139241675391624272529004926901225509082927663057892758834074276084535974771632962977806757497044817567754441105715186430976581837354310373768510227387058938566121605106329153538523054478468264806460238696516202308878647788191550831966946885377905315268358698157645507952703204619994421575057013671382909903199325285151819651967455404831068513432662799867919327713849714805227660648952402928746812811690181543479504390824683893888132617408148859638143864053900146956643643288097511589551744446943466936602193352047392510217195687315737062226772400000561384331156416808427344271695582431296857872088467383224383590540079269698078874145646932402985223673220804496256998056432644103576282330608889523792788508478767435138423357401122188060116874546421934049844423754129511253636011708808693067523437021230592099168840876934001718308797080006965895915888321748678562362573890388054358111190833859278628555395095247005108563288869181834781648430830955900720057482861944339865612555809902939791914886587655876695020221498461497421952282589204402897338404356039622678940055759045179546097832431092395203672294512487113360110713947808597101153615631930807315351972571828788394918164494265577167607837242558438776298262500946748971851068964477897479703249317867217676727611846551545422398831296136805364292334742865550766293134622302870726906518826600930853722655631389373101300339136573109644458327006034434609247278072825348179644502603768348088475183928785424715501914536937505283507348953350717921508480884173166122412780316904699421597973271651130484007523617292935907420736643996020011718614683688080057367324455235328273967374175751855934548097419456706353692389413605815769242749315575580835090008171258776140295579845910995362394367235650672073065015227138892497538408944647746723793611292481935271811324400773908744476910714768308310408519421771238627138609344968134356417799456786190107120499036352829538448586342496679011887769007212262354401416662265719583619195290770228356113003816297582810834132966230272290651349995013486009612547964880377236999833664409339676591159313819735652172217756111713263428584821250794140993122961580870708551214074199133029517982118653570700951108389709766007921344743927795784458160801861847005728733090176735158526770956736140921097532114217227313684019449405319068283526792922685044781398311311082085440499233849793665781175047527393970267411472171435625138857097607076539516241015671220988245201393223757094205038863531192869015319326734307839697891355355712327028123622881512175419741079077364247063122333368642323262813985785162696505743208379580319345656157010158108862214205588883995429355655274089804099567211773825934420615802517510328810881119205934935492899364634202692803088792423848406881011532653574973903156747623227870723339675720251847504772864787364324845574213947040101203751723965331777463088442279582021382226357534226794250716989341242462011094181239008980530081157560699039289141041245869998981325684437760231649353578146913442862429076951929902767577719445839316447404091282221997765292769988384122399744504701240893901672344397881472333892565302869873275572886741168896368514802539068551040262836936899832539440624323147965908539956370856866216702593626775885872854839557939142943637317822691712450949660342242967144921187087754747502316834733217529284740543025918617685462593643229614216436310775158384346832968130004444155513048702636991289455187171511494340478958426768347574013678078830180938909162723407810074188406032656228925481012133472763258171716945125226417883147152960293170928161421398734259042645366142961413143319433470373952448239144419606306474782574687185656914286897942048684408824551649040127301102292514196259502820136255955280465423910880536138950862692703996058254555447406079362828554492387111275832429640343394765240986206533950737787380700954252635877138716408592377763186002417257093862525809009179648826466461219442894374670199289655382543907891408640487064356907920210102261438612197648966314970304143967061546661953774499897437806322201086539469428704959894024074655305092014013459092370783844871280909477455443810494430321965982414248892071743687263363872383285368085198360166836579372460013072241115144554257444475025964755362789365212858659844627439945680610480994757938032541814209876769568356617853367563690011744007855599647945822383703987941370539711273816852565682646270422236618742013894238996506358178749661536090210371721613209799711376819227517664891086867132069951485724839228152148356984421229020394676976726175473745337105626074792441635232870977290218297926512529274722951283160305969164194745061798664568564951487779944010525037265750002592803240547555337922530358014517682262280304826685513869313074182793514490569271065192144312149937845115226539325239187112067603855058921375321451887044536721261123356214754789680541386691450880944449852028293246200312319167736330857937974615290544690842291844154508219454767554120950225757701773377941535470741881723029655312196083610108304165121971623220276506013935202435989039663664664998951897767755708767424716984373602549708932188219272267380437763582514502668094172651648707962469521674886350810702396348314121940509794201778791391586184087636021539692670496278501398743062426612026066401339082450848123871435062929896412563082476891131847262610090026617055323287294270764539203607189362904378590418332803174976491012984550281129765874346215844067169997704969481150377815681951291845748521810141484911429002435646482316241222680284962341339391604299912828415483953107381077053503523041509547638332729205406095699117509024404569932306099014675595940890577158473485000263465191202177512749853608879913908081554684044866279087127894118342721073452532331871269384189750226631463326609776677682553916518558375795036663840907143752098318263519283903046992878981447034681782483896515821074130037173032683356562983673861469502586336325279502642064821308330020624212613681701380625703760428994262063424118538948514395121884182177149680441507960761537912188724543692512875531155661781891269435246816074493452916958442464993772814238945158957262183890065821753993012382729922200515423218884128060158581515516819495462866550184562483560998949268055338549730076661399554167979179614752152216933512807053792327085769081711988409206272754524257929794493954038542465150673464259196866108398608182367862308705661954893753178935471498556973601715897569104126950423246792216920692313919966665164920730489257325829845691379902393792113797455288979890623246205286299100979909212639935142546563581572297742301552875396621842525836632852787025191931869562691615727525454220449981323383655975447968291185085945426089343913504427584374134065059352010369033851264520944472769019613761904522587458625930623819951449859079669004122226923802339603776307174213336341100045936333945199147155891207684192600123661210038454562244380543132762165596848239283049275368025563964546272853322303361089036550063526159372382455713726852376377508539416072243598634026226099385228359345929768099408718301398044872399297296662045006967260888726962299504754930641700486085109374005691794656353496367444302408253455987196330731101300279613917290282781454169234741027508606726717758948261103347026545795176382023042260667704878358335347704838951783530109189312722300964652050671762791256255997518538730166871903872835576985238320755207720906630454512871634153855397831989229994353634645765291047823013621189667609799389000168329607266571276535506079421658581850680877312957579436033855416703509203779689055718679833535377183733759627517187618985587278664820849399924479610752929947518309905561089065865638408811926548944226271293470041107237959364762556120972390182601068767983383900693663813423446306039836258436158924109808761691520492579075285582353280597645486243425605352070143202393618450673552911477441382380886108680122782707594699704617773703667280977333007002565797584914438102705629631400165769009338517266302214811375051222485652147247832687021864685347080683009003355826470703616837920724694239899205802144095999956085544766377815827951743307530660778987842913423905779644014803435970567015663634790727753257661490128156763896552877887773457873028168400843519424932825762957087254189856922000388785642492198730909717291526413504616982736502860642040450547959460195435116108956806301624200420205807064161303788857916696671366548627064078118416158011478528478326118332451172666353891717776843454121315540618206018499437582709972839429769291734764311240189608366342264183008293286854646561602555684391938063341273383337601523021236870755988242789384755637258280881847118675507206613434365573301054962895504228152377871982646630685163515870038148728488335779810751720097462961766651523231419462089277131474099083280983287463530888373006373307618584103114149101990661428456397869889005184808010871073461961958877003135109908230627228819196038752957647703728012182755809541047204405248492611142602998590798313434934354877135631044802806894680841689265922749092867030233707760153001798330117438249047853309791782920675977421795200142082807414343285887452880880676823877167213608974651717496093876270132360789057199025404056621913164221064800239866147182926922799272383022877099951422965991545948055563047671411738663697295688222689567948139487223803652082749144024013807488499403973390959552335474659946848049441849971095913349552572844261025631473156084354034791631649683614754126499283021980388713164751010499305127777088468376988349359323868713058710817158564080398413681798567098751848573923023474248384566674200448044780569067398254773396732252944251967793592672899471404581426515855922518680543161859230529240402001339403192184545740524565837327105615678169443594369658021024784130091132017956532204380622802756017446429209985977255875716823683597866538235130363070231379549018640134028595732660649448307477327095827838939470535672003853739678716459215444592516700572860664871077769237334649662986482915159998519121813094768044784797741547385183679929929191840305576886933940464127702175997668585622438609291408793095871275363268199356963579659953736294211784136986517294401572172596946823690167065296655090943494643140451638126791932422977366798558987409846831770758751523727712393679545546543414060096026540458611204267769304238908990096571465499656205227988605655950259085943218640878209419851741092316971355797147298249344429228763460546669926914554117740378234591510897809550061539311340931656039782263790613182060565858985578748979655560370907453085999718156672930024109403160740245431980127019995411850542012913270128156521889115273091891932746915537485513552409729858942879011150002251694369555692238308285578333045878791754624800505747999530921717894460058053604416730503570921406522258371861474563672373086865754234449449051253375239474456191717240557052568400191644147359821024837730170603420042119339045571924191205550840905949563583793273493091635386717092746290871815737822039736002376942723413382241907269225943724645942461627380690423401115200737831884472058639266529448668622276974426210093209113560555429548777818188562720315438531515871592552432426433518286664681834999578217587093928398047713320174151302936491216806132859026755549081272456307224908073522604916651890806666041730827013713663603725240343216928226975455985378563188610783129390814247193045008219223259733519597272169287273167463603865255270090411231199111593034073950778105160569143070162056672103881744295452969521473632301921629507286967811115722831320674050688346183892602400498364395502459832789138942139829801824091839012084084905838496233498737551858495181708386970536860677293362618955372084792746862381285177944138316539610353804523546357346000091302923454743728315717704503939812334163721363286551178476671513051173420841300913636946599202445348416541238209248793267129300109688164484558149681833999278741309464771670791515008937231946018792201753556687526486898894092059303889172223075517421037429405070786541531361359914932565458331903028351878753286885554948114281132434843387987443546102945359073277648140306154375614423256793748503859084911655159539633532359095702370034124620672861583690835065465940992343317753440249965210442476357891752644758187126406538830412882461540117299227918956349718585924533393621135874600705562202320146834467150311789621430520435104304616677931902172096448906709789560668053410816352341954351359809690377462868767869193972153684252119201389355085645007721841565224738955962975964308129809442325376990839469006948906976575540876453656569297445987621758278854647247021111912352062245449669401452121235548326370742486608248009041934854230046208960471021360985842208726953311760250448138919343819650242636954720588717301110953232446653677900228220320106178561435844167400291260800629564511253209888870429231934113615409636097437941054904030127134824482637637129220126281177615726413517554444380454430433238161164671652767654382378774545203668492621263073672830858765250698042557431273710429126965610390526329986510068439475449274567479239036306185234886322684377815166285567765697436238424798054012300067060459989522691922492456189299156085528642062352735231363425376420778070389950935289122470163477079829639780991243174101316392397843132668670207635695535695610258646187895443348889890897499916677486679982517106576823076730238177056453652615274295777472744226151211593593233293075956998538170999151527872568559573430460582858346990035970524840420604277413153696430157896575737428400548262155711784484723534158961842511419313477593186553983434500781329390091362726987696176936321939673981218672781800516341956528266646917302417852903269152311445891795854134538458392023023010753517951658183453160625126817103260080334122261302357521269868714771741854672541913241321381718779227438710454160573821519500991881493498893980414251476592835565883982767293278426042646251783939079474596328867670511980278860255901413905196460332278199419789118392351301553211026733058921446763471942813362160172138658336262021176000840200254145356143298885365055688138119323649273138063258658476171948206999076238328112679097299242196213385151732591216858630938048244079597483788439807097673083444670364964620363764659999492234169522496474329435845966175222875733906799451209942991920945910962546753123198713560648246752812579280154579364343369957346146603626876446595941489544521912887374448245365469248737577375388510332028771552737247601970091401741423726137211015633754715117155776035946329953520064493284793820953484966223630470814824645074849091507162661567815372705415450591428529269231492188796272522956468183729829967077443170877924552735439158591239559062072279424585075376856433526923609220680251593648262480592536738662800396401437540040987193568920861318494343900157675359272807377478422251572308910768128605469177509163565646299022841498155454024387750391061203040236429167188790579228700140513743277152093690606597301581815318303874450600140851216186857701995705438618944898070623270549430080422397786198835877687028050421787827288109396688564021749555704450161547207821434422562266379267135825289803374978392340142503523090965264396877742924176887214841827176191197540890243589312964008093440211336388857033600944107906096173944990949750516198933026316237841174144450683604131425213033319884778249243069595375678960326334349368819134965410876182837949053373487941351589874815393110341463429987354892846549271320189705878690683838945896432776034700412914552534842997411524362570368104891344515077604340020729087276916094589666994419030259073627148301193493726669156438471324472505161873051122499759153579250231848980004933737443986029293055277593468510596480422641705070840820946713248441849609942606417030337770413846431193244320537782977434026071112952446139427745015729569632991291890286002024501874531904888141654076523044898374205204602451489358322254745113441001958507189103697652451045380882127158621523321496506734966145882625427408971506177402221292585748751566578872897359306534624162359578180802665179154586158865959625598146963230578133693905883272927938421187023600925144046319383512113247118392625292969004662470275837717791586885604633937441311226238242208400660576286830153102110270973923370192180718618166745806356270830528808194456622597365310910973346826359978073355087963594111820194130687492634501477631632888424896473069526773620858196237086123866924638014308298469502115234614194499780055980915489100326188788770977578670992789045810642110859656145724081826215233654820387846274471551369660354127167399365521561819830026597124363052814862151709460659527695411051738591304259484722278555999624737191188115213809241634824210248041129289750080646012099561973579446710559672115282651317092024130861489064409186411969517930149471108369839774337739104276259873349142105626150200508444186073500352784511733914962672595694033930932692879412027572899598856904272405466484453816860529594504062030155725097737995060259149121218244636581494306248183393858826218719173126676664333483436366803808828112639602699814638859080988688339788706054668775735498300977196033594281179150020701359774022214108448557896594247615810494223581006634151844999072266514748898492062263566183351849302284931915593664273723466678288657327274296736686418402104640111363822301625779882649208451001957353838320733781127674777425210350197400980708162924402682367505068456740057281059870300301103141331259888945639769653541085511247969700132394032606363355182699812638268104014637720273409124434410234313943165948561150858500700544546014210458928634527678579436817171301716126174557791509169325566205729416659972265290314766971917576056776912496859819975945603039990899308662037819415261378499586768184442744271705100180181581592910247347937156809730752052562108389574963204287036524358305489176480551657648066887923115773670525666466839859782786852059204185100047475318343074017931740303575205154452343702480331840640555074482762585869253786752699242343001440321360128781620087810464998197887021323039170605217162704066970734955960669109445386464004098607992249395115120552330816694378799446623270728365396253136981607439906459965214415267359066957419335634379457450120844805088648082587215056420437490938599430552651883263177986695698800737116436109772751222545234563162452556205560704336684186521496095356990249537917495268180337877626837302804917467327563164073011069688466333203754739308300418180923955902896703802952653834094341624715385781680028849956855778890309380385150174425235614820564146715785064473613397878291994513790169023125176424658214264212213603841692875181888220784523889544552023586668627463600690633104027332447488115980281532377202113648763939096745521815341093726920834795543862544307752035732260270162420891322090325280274744268365951076546041648375431587815295896497344527221631738677809750409228597948190046562283620757366463915962449220294674357984241040891947014667267691586820777876458340820270084356993396036198655152522060508338384462635388027750193112045249876674496136087519589246198300637252998775428087699912052763091155095682685852589162888316456517573692784408085925900987244508745467532395815216997946695834117579672979461380378191976573352775381007796602438164276359808731636773813713881990505703915290939121046567319803200726838526088639632052924566549511650552512081682004001592855701386265913482722982816234156442165162340543808226411378706174906317173977365938665183309383589869025958796361517638332337740028702465366418554616158356689586761594395822925839757276356997669275530429416367347174753686699751479851705886917226148389325756507096932826930711710303617825765075193935598185763068692774719723652182621313840743382953699600018211219871990296775763448321962224635419097503170362789914950663844495484890081238439880061999969642878411840488931833271007103595347622442780057899434155780547303098517527652360016076086625946638495766278602083226561141864892715535293570952804767829458453061787446451349637798076251821116061576784375496020262112104209940599070793871400738854486010742197926628749284599068965418091344223086188469783852727713522412931866290666382612739773729846182765359065514639591784097418011630036693625868957149951683894329563917643055857833649951433802202329520264902563310997136503293784961610700407523524994985670415372238712993938037164489446771317619992183789183067230166885970679622254551993673505883773999889715067204736005718699652645955022381150125461714345411548970315560156228524094425782192217374277925103621065528563849717415432037930773959701119822034762893852064054449699940266708157881856676963334295511188720799221885280546612832224612322833922794191036174977033611126248322111246389159540467462452018740551352998744100503696614695435945193781340054788672428158049564416510222108781931067583999882998565112565163734053332461872286693197752431626025961497826918899806809899341133860162993680447227112000931782147898494310862754668069777738229328637350778621728730831849680248529952016557421801450205068512798038784104747257020913174253313239768053684684136833602268873530019896918806676995016802438301415294059145472185408070275614260461105015690582612227878186193381732478679880548594464297281553658798043769787557782608435423577599967017829065261952254426615776393828241940796841976922130911506766549637606951584664227609594672797439737148110764718468449567259459519419689053877518086428923649116423150737785414863321911756766163551360340205052723661849345989139190804062081611889162856954911332072127045159000238125734830416355418293931336886275114119633281157221834843183526877979083189087859362064088964818259836432057438835586441856224320869460092445783588382662349707626788700828735385309094680227833696566510045840652069336000173127754712959410225792054496385003294706300595430654688452064926172695913917825354446518916285217764143313277761927937209847829914907704120482056761135785766184580721273894817224166176563983146988177110885226793678083195250892769840900392171565541030938549303371840746236468363287369761528992948244963340365225929143123584984051330519387516239868322443795959144809216521014134120573080760274740508082793751485526030548719564365361509526005346704576194166576229446641120080303871033409691354083364110326439149334860191843120687425155034083457910952440632797009453053044009580759714509384166250942237737679027581203185130601028564204263204982930582129987560631166519202500562661080551980291435100721730315118273594354386263170794612596727007203130553084170302957702953999706061017752610872755546411138690421358037680373577685241827052437488930512057441132087138341305817794156659614151403692822443828274746604914220073931163805627502079690456935606943981992318340522749288416981092252360717318159994682558732229902425436505674837108118858608069295561339716456043837901775799222502026472191306986593617139756232837702806021974010209394149664725218589206913463054528599361428025523524241240681499184918468100528097583788943010116317139388848453814030571260370929139933208560215429495930756775448464226260114953999624379036472977277004415684246995314333281643622687223357065511492147799467700751871587197936058456006783990462281970870823755267672190705344915685471241355503451596661452940018942281135603884316137060282088768208642979853206743805728844163235083332660147163737412276104420473322932378126103455231913022705344195854797446075616157785273989493334178592394854298112761438915364934211907647137241027648461328033404175977805079452188932970239805284347721525186533395352643914385496290441934515579062758629308807267754562999866808962745441544918175510459311416633863776537879897558305170811997073342412078544850023299430396120071470425030899757558896980649931256912898394640328721175995822353882905783550902539887590678221317612374514087102882147015782988642893612678224144523228505250056887011956920014515695725932252811079280939291569370640532584457153920943618164396511918848977632372531193342049357880048378590649372899600293700823120586801988561125971047604816175896337168786123776552613985867738757933984446557546492809241066681414745698918974127768784201330445250328130576566237648226555218352980575778400313793747632845026997636005533435202577300588396890307985892877466192427985160109815714704141977093185941820694873162669805744769899930512942233271254063269794771325252850354272099146033312283051354923431109033886757097040011256760516937945554706469115924598170413234017317429911371449869308844891235053476276742963417115758842386362916056139350937294282094798845727199204446936249617350995502970194523171477350941586591368484720138907960053558877258615828079103490672596527443160123632950020047007991216498976009195954061754596290205930744676534482337150615515321609918022352333297970713669151766047490670912677085716125052326307208432100879697975978466092140372497014944760342181021980209302859630426543335700714940493290201958826841575043922575640483369437546518492188329655433927462985031057267888471135492642380303389068885697712358707310294174430859406499096466512265265138338983462855132530293291469969792396474656772519282749166185498489090421998945311631898767023397195070788665813126114145836654453118597349591658361441217982165834932332293510847725108689951845003410673883834901525312618593438191758903545661816136342825930773929291781811511859119439921649277898167746797049867902350672556470800732408918567408929648194833195072645698360729975505087185932282357501830436268008783519440307839561784294126426410341726201832529771904562943766888504463124608501570462637420135847945086431158224985294050323143718662953478188344872182394220423278444979445265127167919886674088519894119620280841855090963637343480110728975136247030719492821218341932416434947437993740620302836320419896671870139700206377185586861255514391044989754435621925083211401617640008352824989892344114078881322748259040958456057763358192656739244863862940021173725522982833529400735466977353826056403523398030818701716188075204059407435775923905570096014259162829469620508980553634058097516873219387866216196682777112552645665228576369117127103485206507965463664123563544842215492910598279256668276742808393733151981649458581728863656630442975886725610219418171872050461117671995249535813331102877715727266589291091765177130670695291599572359367643514041804950936077544606155034083438124976669269695849242778665069957892223805418519569075015669815559957592098258997889966507023864436749353423954899078796052432854923661625362885051559992233489717538959010945822106706364631902465004062326844722121386902931989794397730341253627560125779181383782358106484098804061404237942513074358776053853325127461821066287895523640128121196986579836827042701074292455002453392627807269097311194336851777546025738626436792119534592327032522236255252532835758265377292348336557303679655589549632477116612223195917298390469286534846994441354856776900642018050551219208711085561973598100380827430963528287609904035107106278384423610554008534280064707418062114470094110248577042979672770563622544025698555307198806060874024991440732336111122271753905490883403944547015100852821104744315224908665906139931281366579635678460311531009517244826345057582451047580638791940335686358558742957189962343815413237889067720465449417116987064982832797741739416760313332453640033832709598442714735255752261172156188875389528777115271973609567378381518769059668225861953496371523613376173002471748633695709098514367610549735393498640019465133719842059002380400397369556255748273462048813646144929708263334538949429038205957807591512977098586373336863419313908472999222147977766513045448571619294373612838781100074603629008438434032419008843057546506846017659245833567976956348352300313217158920333619465434841323304554444336300171776244123376748493837906072104848517249467521054194465172553208208128090898519915944498119913999560732647574657411433055146260850572807341918125074252629991588677009951510553525134644326770132699392456347503423362849006102059205858645510665002425849093225800872565139465859139570917031109939456437645484681167192859205326559840681361311536801210487890515362877051960423565462187288800841873870277314616864522906352933550197554286820445159448117781630945423377718447828673387647094670868958559612674717003529439968136024230924244469807688232240683961902661179308166112146613127481114828201543106871250491265423266365262310675689120123189558051773551977516428543449195154661622339099648978652571614981353988325154988117786825593397667322758544369233914195086926757827398986207989835627165862805062813029445282207956173413647491413894499185665311471466587474089645103110996627557184565137613464966368353276208690493877901860120915347988849047163706005045725832879274049775252225722547503244120519229878952010095978626244427843781436804860799044399914462476677841989622916956945477187737056081366754382618490119668618462072041880535688753687382969581690113923674517682658553581424523809011211614152209508893249444460117635737710858064213239852972480907231791127818190758196366845103719505438618240453353773126865418199957810995101103506418527280924298745042818394982085279500436013401725113196094350004214656426810959489782766077463053768896876318815493695731232288271105422358596927417275383710554195093699461542194793005412302306204658862195972230161312834652886410619233689687566470690840798075377756460696384299666090761859745729651037063598012343312001183758860298694636008841084768852717975511074926791153710594292169263771398817567907507356035887438245228612352215146066387811410665033776956803702433829192624841283880588099268436116456520199537772670518908757526298124435855073911990443650002741852071602265369163041806696090357167799591443445954836632000322826517210380332908179179788435541116213082842082871340504330154362356282012386691563119515137348545523565395885441139648913138903483252592656104226532242691371040418922602554931479540534096334306074341361187776738294962848322061901771837562142211495371367868806914060397210576100848432966385394265042737233605949089967294086508533858046014181886510119369722132272936245915322250348065339891690175445969868490974493223660002609733277691999388994733797549942769434670704425498755711174148957571790662037791625550438496099636290201460479559476860401532253146054277547898873866949025724515232512941399716199123017223076182246279766222765623730168727107118926716491201828234146454150218514028728601025712487217716864877213346034189552612810273972533947560657919018374192437293485036590363770244421296613878829909423122143481589920135025886767042251321185066564906896054699338587778548229425267643038594810478957167979195716804566100497019241355133471403730784669226475570276252729224686061437471434091253723011582344760901930563605219294568096162547331939301413019898230769436887285804639705736378059004447907376365817204664542409282298900123384348639440504708426835240408835101275330529136006622401607179558358522523318217873295428302452426521598456081929322301510316067666334348594349247909548983007995118548794144523665186545737779975902259002693667641136498810545751028670403288570902399267862674828461732452045227076567199197785095153825660693948225176214912096420943159006408111135012025517136960960743655037321749128233127507496854709179197479155818173978061187285502206541966220221677477825696033173786157365832293486388174978631473424800309155223114945204436927268064207260095877817325141062462174300503415398416499927567778953300209582581500370879821736096403389794096576928841489826819204944890451814644556018053654919340643242440973694621084764905219325246772157464976326665430706331594669863159673887084112378768729050172098300224858499703292132552196644648762583917677392134373414295852730079132087374485204492889647823257003546539642908390253442183911351778747664031766167459257870792418123819752337404669011450614027185145786826668157449264401637355811812966298954297810715084395336706299817456163128848535787207903569991944616249156029574782837594196032113369875488290497492580611527586995356431714723874154161462353584287877863247848095232833972343943461409757254821931387833992492503368858259097560497489566105809196636285462960139024901479807543827302566022429006211487531755462586607350382852021531193879365960126958229318733391168385476209004729542831975119242820039941531831695889199069524059081460635957442164152412572866227174658126663417163375874234819404845813505600195234628142791871065461836992305378401453202544150569677971208754091825576742159597424632990030543246605416043675812298705821839715642761255597507205386018105779849576719299359204280498085520366920844408135704032204519858864082381307012487571937405282122665498913509752973675970220529128096072961030706965719349755988459431213959499216164604845498605835921690543681641420093987598219430481085915268347887218745374785801675030529341500733198054302073244357703620140108708260236580917232936974126351935550835065794753762535603713875468158526968613012934505689398215094870563714459770794389841320668278064918276240654820314560080651280772893344072356171032953304818411727558280062423715014743116289817043042383482114708494139926544270221962150136736254191735635645441230134915122409453416305781555114834911431597162449618019645161148693244149819953679931949351151408296337155571040050114540000709222902976024824752234083218393104217007765575509349118531486244410837077046312465305726947096830654299624657184962860333972427020203806741723272827738768587353603183603682049482804598830361239252962287988384586842229153898859080816023742284143520254037781177702795910831469095590422610568263726603627475090164574221985608307254258429099742248934978692602491063723522095112544586892587957105334542418008578240957016385459637875052303653570345990615863687274077573519114473590099100132457183406673447230975759208938432124252938942888410365774937369018915744574046429339093572285152124781951958693981277094034266667756112523650236943599827635695585923509810516538446312874221559437315430193976791942608878287695063607013305649526964330056362594034039187262957672365294922939627073331784633954806800529129327535968137432345628696989444366704840249056069390223861220958621692497143703903450109996713481758981705361170372240906712574573562981232580776089884693073179490451069660015778661455600715702066044694360486022912425186849044232486541498302448790747091518270977742898280390320345665299195148552291079753773125919705228325907302834786818440380883687248174808024302782963139086682936146944151081753576100198237852915940220854083396191285902564559069895443685773606085193285008819662005712332674123062080529537486273558304014191697998477737798974253038004232909158989877132428596495450050778685096845065293054257033152763823064262399414814189696129201485757714605828542464268717012062970889281909544787270518759200205590265257865029248239265589696341057608111741969938696060074943840214742675495988521839804319162736849458909155056571408855161271517077319127309100749669519969623861686085297100545928617743883285954691051667930228633794164014764174549363533718434155097969649149747675108476429042317513413617280880232977597151549518073754944938822893616550514327550863670947595932258313819128751155679312737794977280149978434046823728158479189892042884072373178227400540078871454696228079821997993060500087221653727986098901926169392526406275913723993233535872373201889964045298007562208915460899960956504194442579514393109437595267996443442441184529545303392081002450967642640043792429488904057913083607626231250945518245692601846137509316692979428890195468503839559641496749614134082097995810911327284686627795288823040520592365520372691898673819231385721770128456682969137890767100176412464917720791102299783633418487321535793915936443392338266241311109257117396367971793583088329025891826468832588839554440515119549312394283504895728048537061291242302872515230753293130896702381151973577861001185070589270874698005877728543695260837586609673981288542376093938284324799781053240748323465528714797413111701710034443140392327363145109695918352251989249115397015065030124477143418037313020020278256969950299481681365987289217488483502684639719507457624765174513587080704969959203346055713445865077854451806036608842158231267778763327984322637366895034085864199569949663819412323743138521496900692837754852795796439131267113006996385642551753156080936663403797460474560958054041094770245785079487457051487336660498921002426935232735698145131466304465339538187164058745839090164341904006904326742898899287632413673738378835452047210208596227626678891448137758764698531024185442956388019572526980127044694699774840472810990085733459166820674202801370422141897634871569695699605622766977423282224037680253575854601469662683167918927437571575245780671730558838186211843709715631529172806463896662499633551011759693314036938954223922859410251830277643415220398483315866366994857023452539247465636168703755254212915640479304335327810911332162886253908634866426207774413700302728789608759641203831345295615110211013344652053907712152731893617066250023772971065074157792825996105406071697222606823318928269667001132455242937395047670266535191579822634335017355147921467164565082181122662530380725327645912194235896896317892624826878198185351926989540817184021962932745128942781437436565559455019098444683665085166666159620573517481344450708469646139724490890850135184826500831838297780341662861653877585735836235999239155144536722615530597712376364964426899878754130436322499133997662508826061577987898700339835704832643142245512246856696847904912507448840732384939209635631212189966410723014796494095392288982785975267447115809127619000528691844716095756343540998221370099838256980579897974265200225656100566078900509501446111189664714779003606123285344590518344668204697634265760043687297788576917281229728749537039939769644635613642098455448817821910625879707876325849550583080739167931567197759996880896090323684545236655286857221061011759599156382072895702045127648730193965154322899941936147294567999110707728642742284448181646463921008549803933565440737420938938150908128980529768450976418885363462828581677284573185638266788572585396291033676000649881771074263461172825479170931088586111838515350349770488786177325394234607605734773674513429431153576245419805327414948717816251887373856699257669732417634805467695988412349831641372712442972460344251270090514407964793535122227737257910827881372039768297643419537618277142154859157436244821644279333354613660206370630918678399031257596684246672119391601219384859753259038109794967716882761144352850905518363122286911672478524497448257283139308336625309724653603788284169425068280602457095788377603185625056701609988156671596450573627408446738857656031677044294232822835245504781738085076365439317926866003357981692406756659284969155557556641575772046752000504338448489067785663984775650102707022791260427370276457756159468423692539245325298368540764984404367402830818287850651494912769705336999621495614566891560939087279675581393138642362422934971304828085462324259887338226190199116849432500300442871151383507671817043954702914584995221142299658439504120773904704043398084232278427484618694287071700597722787294478852570139897201966497066356184670274590056567449802212751907792067701969539411879631883229789020586115661482665179149767786731273898474727044311737632812765704105799991530339529763633660120292397978959806057159815157821220511359722714573248546918140699160411356184016314670457464594993572951794181819789969558505745407607441864212812807652336258841683975677986805050056342330037029636052572272284826375558022202529110872932714435937363827295663014074195968985421076239119510754091722616984538885910030194530079608586548241609849287764568531080734747583975948301144170538187018995179976661103986722523907053196586096409783914790090551623945912308814580872689950338513850284047738481297182627684660562577604209121824598264858012176014282167816006477903530377887023220282253094577362135025770852414568037984564550766506813855312592905897656787332707693987885783636881347154613940530541091676700111386939301304012634180995305752083765444639459599258551501764303897236360644701098974955437646148559442964593468025990831330032505923155312676006596664937649380313795387708854121907105921179545872358244887441858016293286631845734398967280409731623567737425075095908612074746663096577710664881882114675569652434244801029455719351236334123765651285347583595616095958661492105900609074310849375209855227659258577283621856767582597398200453863155238838818111379424240205717614389830893387345378000040940844425268319145752495488156382799545379340803396287606455690360831172838454738682169661286124256362069679078116901536782041933801752475520217854845332380727910825154193351098268513515313662547032124981230327148171232188465308433971124820611722002116368909509443932882086249995028744777514302850527174233857854445652934565541528387267680425668146674487089849135999126290780666527701824798767077971782142387737446515276546337773885763015950079341313370820187302958404579746680602503296970121272827688971632042906117983571876141915260789531341161454830917503970250080653779318984765370963746994572607784574185855007688253574646322418714817205681281769800954096544211337266094722208567707319848731113346065228537293779812427423257601255272553423381995741001701689198665733576765097614248306931785584000207433964697535527149100837717440697451332385172808699763364133411312397843777205087572112862134985997926214950893340816761415531331501383170141437352800090253612885816002147304750095195380075724760936358867452506470887695387181953863393367130526677660960099264519249442795491499722265874723980360036212879648759443418243062426194501343341590799199546809629817064529535937049043513483190054986953888060909292019488993022943664672567352963811265547657570203313400427568679211835356749982567487328220157299618947139371198086268867552389160692019115731805657592169033739702871434862333266893091035515868238936620448486560725477534806419274878063059005156565163335172625305487873826292948639204456896641892375780139080928389758939715465945269301058049556989740966903549173150605321398298513652372297167237647337536231310200788986485951492025010432809375436113071816628855375853824607935625865127519290072538538539799846242937879099760494251377909953345268501479979323193421905701436828836770164215845441442520306109982298772259999333740805954038977614378741294675298534324480544784953507641558728789026831523318795531301680250626223133321195381124372502711762451905227429597675358278734801485419864986234750439229250810589355522059441383658035177914578877136310985295882055783919576927301507080192018216732695406672882416044978580070503878277511994933042946056989130436275897879587350715461065231777842599553697912372954091182266988559909940990739796027122138902184003682856765222701048507441854059054551940368308692280991114832267441856805005363989142299560957284554211305971255889747897834510689108043291986021208722000985901802939272641360833770555811419579001482310530909529038876255550562806687628131852418265864577341178524612276807870848655533824293864377213237721165922421237918732977168503473435437642804955726774382960992154753765273809170717820175656395970459708715162747196358368274336156261093029833144659751054623413690322475119739266331388006107782842888414248052965339910871641834608126930484000095930371830824219974269269347538604178383415812597821063089355150539304118364144261288227935835561911495286955254672971004924461616850868131950993364413131429049142695100317605745078175268912754874612316896830764032190116512601993051768772806145379019375892771821002539940635968461584223183070191031337299734052316685971370618847824564041508064038517894978019631436919113146186332944248870860289423650817523553209515134820078920233221348334978267941660248718958024288481787320318835200206440337714072578157957294193817671401764105284775630887397446394937612255333689392203593277785597331494285825161906973757378000645313989980033097530456472898957737905233216430161935307291567346102975750255383759463805094386806911590031819450843355964313716620829148106860224419518829673474689233988481352321849349474989347469695762710125940036423279908560063605610105063307357966865478997657582102565097439079607749175487822304481389624982299645769840258537693643227725076359572161111057338113961875263063127293295343880001549524368733787145514922036686982708926189669757613268397426001209996107849156359112741831245203476452505517910430746218383233103678295434277648010491628460751317439660504632357206007130912955073507753200474637392527383332897583067222630399461952996602268098801124420287169761027409973252446724174986710325031191347176574069346853975623539077751866118632059090416175563268966376546531513166271430385278127582006481103277558492780064771208037249830297851955932736332562759879098442488548524516424218197754499475621490561715707211749860401340524142862138716658168666840347021909481849970271517543215612922619839961856386054262842671932518963206591123006354346426057447948342012683027117320028592380877030286739250902917020295208206688501654345349085712996128594826855051405350619357957777759529447311797251065224971155348446195621390781558788375603337180054518654042933510708284226118044732983705824413311810909835505643167313513748916930319250974661166001985238199316658558540165094702071986489832206032788930442675901421387306800234580851134397698683715163046349448445499024960698268437823449595767083982699814309793084732533941124849581904059712836719226172629896953854516264566104930127803676540620243066582166188202302195109413862045341802365386762201937152411203986565199099958597715064061456118046267007304000145090216342411715270288026371993074430377229492671295977985672191816189046148785635344132165841184398709320269233156631848568778225639327797757573425254152330062248975732226356175640915552899618492042391364048027468325351334282889788882434881314998599189454864740002704962327164866359063554491727139455315161469746801114707299013911338485604947645923098424273739961557395827644698399585667769583491618884345274236992130383949314637972598171362474248943236223477256128519573081982864625418971881236364607972615696108852285692753925122536521546296094656062559598955116868834233115666005731013002611923366024211060835499163233456552288194728822700438413601525206907161693961932349389044247104372955617916670087405898817726932500567429888613346152036506463912585925284249062460915004518660081045761500295798614936162766586447993782498460205520573618216955188546281732653041736441053235653377824652768916611672222372940606381989921696653365111581808835307230941894813610457842372586035373516332129517379138798736847827565408337657240700941709794823299193114370836169186966858953503266263827977728338418790392905296366436546446145614640087632114964115505261831621010474946918664696349770178890788433541599440110720276173340127061814627954332393290332596023446909528192606432663938385549119844127395264135999012611944986085989578419151882447684690154767585556467916600365234949749352870780351776454874709355588797624488811749776894991147891998446637696588599570728528061828515590083436909838266134471435197309368075859235068123167121605738601613837125567230610087134361305558155134735163137527589890830302532161337551982718347978398336790509239628769093613628887903544814674775341476315910400614139953012769541845927993822606386601241694352751547199447429509270261041621189290304158235975944673732407502956344173911897008933054442264753931292553642690387698458439688740609067436629315615259852961337432262652265144114266809094087760903333280410916708316729042572981586465078449516844675732872653663208141470944783104622313253997325777287565631469012669566336916380344762665162167857468362009075358121009317862136335855277923848665033122510954808183969752703073019126045318907039213768651948676030568630752367878187209445816648695834950679817652476025629346364000167305594837523476523451760035981008655386641524150281661502793536203159442144355945104360632022315092220950191474919048233016569532682586808254048320215434169694923641135748845622099510543771643845437257362450845416289539702816589755768104775943229539714883472983552432415640320302646214198758667456571921958853659200254273526410989285427129706449330897517352010285968377963223945006229550381423642905008649510014543525406449181510705435547595965722173541028712227015685523905076064970500135988430225669248219077584700391803764507249569378211019114672114421555479714991016187982775260274488114849076108024296828338568956478876895584253049717266378336335938030936329261780753521935140316992242756559817649931141054306244587205532033436740526290264749433870810855574539007163285800002689579923898666299990760440579935597907017556684817500838904059414148705662784359286075243702476951497169614053665326298679830579146277106270214566782066653000518227606146141706638424270978953753309348968784132820343419950712088828619138583584007991008928032317851407576012432506045467149478506843412974324083884662061536994681077517394971840482857940357167403700780688878713931207209715051526886955660325331126801796426083725499522859484715739397401052077859735805430843585360757942394676285141158367603466125581051258527167320021010735185140354954259496543768944760161468156428748716297067694202698971517068687168089971714707190851863263510235246043032080335539873178329578713373227931832986324834835587273176992221291994228533287092753135375009616024090268443528961268952055650020690043763067908927975450473184046384464113857319676578258095582600323490624397948391028091705497865832611134040779245794253124058716481863997161450178542676694376249445127094892362908902175567720205063740817938146617568568050091077219265846311230304534017211736536286639308592182058554460813598560272020339085845575103131067824716405460158754533069463010527200487398419962445106131564736749176560509701002909709033262629394153052396589952585139899585740154151567215006484090499933798414912091411050073714644600047804839018496336982536883340619951016399186381942121166743812832765137578304809693321626080571811324495729549260615889137652705800306962127852582812805750887759492092996072564443374842338036070798584035385219267190925082665706535227351875621440424652384375688875079174961152299944946311733516047221974005289056178006947817601277298070455664650811898767220918032442259329497024428174819118185352086586610517367808563127361160030524286616938235729019098207822065876846661004309085774809438410744787163438355670432900721361174198125346010640052593483957283746117130149292713690741068782729113181729142180277953705780667108103333471072370324129838906356869522631842984008059009052819195891995464237577417252428751606956898763459551544880272663358984623173109354104862437172029654241839884583622203477094905577693483147926509140282672333145464131727406902060140383998493642204521557322225524636114376700657526094348219931563587966992067628205520828338829095977274053471860929539321223773176868713326315192172209489076343592712793933132246347353647169484304998417065022121779560778854027031817003268251083775634035588277042519051989610293395257267626612380968555662227178382216984391351661539478350523743580542021004854447863635457905488223654009161504973817898112019223712583404522364177969020409638188277598661964248340322774445915202319820389657612647731571542089036033860865801340710371437834851090205300416771356223764680279332741743149072620271160552906426267109889548774925808828058528634860992868630078434794938485924628467717789830800136090427061814031714655623515769989982709501834407321605401464671816004578596405830503292616918198713689047083808084832000626685618736042915973811796261799377251497061690686170994378237605084278357460316520296912507971334075252372155433156446123269050738280915633677732976585371237090306182165535077620731511318505864064883326687879881124198940102844501519197844025777243516251892829761482809236616365144585172824341374776508904992462438850170716906785260380090928943417773755340885292581102659375774698563795846947657705636268315777663417393922824987846859596243558205064229479181637761957721414368617227475537049698572503603651937435005422513862198955625224492809212914632117824469212586113228500457693245690155750925418310654602259249213143906888772009647768205214566234670678198622171296752199026468432682877649050926118488343065748808472797192971397907326364854537247134013191146326763853543985677075751022047724458387948572630080080908473001993963174914123923348901272098939889048328425512530338169568025669315788751517043810397699763752123582261338665674521900641439825242733595138200868912565452124562105899490675714265353329253895783977742372302797561536361556233845800330042677735173440300986440561172474868257106927975497653551155779964492358636833010863625973322470414606665047835964260735446216860463980854468119911401059519707176545852362351141292601321741979134161949527315611705684097359242862337107475583480772105783855401164386348118316666946293464870479863452044962754936324387273238807866320263595849848462961302512654817905442907238673063565039189452708198859557382024375675086610014209012208528411648479443667332403544926393313933029751305229965898700288857768875703451463073513692329089487393721561939096289942772076874677607518846517613976670093643347346610430182467218017613011247785922974777738801367614130154652803774376294360323230026048983763876033313106253823188672520773402868089882235027213173648156718385550179213815493818098022938697003591734605956943646517312792113217328688159496862903432442340259193752926590963072825878796766556575332363656574754710665340507749977839304753127834561140081364995089057513749616696458915446313701515561212990008209480572786664971342504676546388074952710231265421935127660964279327852185289696767489257728994212582884988327880532402476908770792168285529005091167708729669158298272703976148538417974046960126868870128755226589070681543377273720007685647508066375489399557317961329158166067900633749639005551018102715955044547042989150792208509992739695415031612850156616986846953454944355548031608317992360905576919266703231016470001743245868066296707032838704494721165886170846330378426652920481670173690062627332982903516285741373592125387921379528360340652095352645371393909119700934249183098931653635479046976368567839735459952231512883582498502250158495196971073382183614273698340336584854519179350889926091475348739082820893198246143897031026092898808174161843019831434904150930801370529168340476611968587058115018910521451921450742056361069503075194536904662081483729427840907604423318440486957368591594707163121630094158438112242432692103433477065459195339329867043629634065304185653945298711397115892598980452948228448820011088339503038596698116274050516565580741731608735838925389371610781963856437492298852810096759429258160441088105044781416454855392599474527322456523904287829171211861075284954510640225517835282508599353444011648843011805845412884383758493927964533588370594760235784870678709630216500000640926206313608636334424183643683740125637047751808020238038072755351743463910790281790509723407638903658689758504715715542456762885708731243256551451115184561889081942813474880259586274376397238197737073742148198255046074274947279218577711201399431494997953754261953395202389818920500031751923072457663073273147040040092179856546763134432246853566632418170240762278746421041039305423864940415698332711043831113390100312540166732489872643087392239689952805247883894013029348972853682557930148651456960389970558449025599006549866480302894404510572174829098889810632926319269775625551274397773670653208480335809355973684193318453910044362454718352394587643410020596652805758251848095172642262407668046203679325778161304762835354761312243176749775542131906189575398584927509144819320911712168331495172439512679457764972922923847196266996021726082460169408647900558117693070084108435115870203139412210147878345192763483509106164244585012831767434778288944076625830139883987214199525949801620761670756860895311412784181790766381513268035754182565880065526185635300968238391940262941317726677725270655725343779119769697404922632247718273088656867665739732799004190477642005428099421480005487752115226762051897793134607681330533710694347943557132408817912546462961479469665368387414752452978157617138828890790229011620657598570325844293137521245766435908738989128678432047324532516246163800900928391324534345113735688953777709436014569079689226359610853546201115323012355006745172813890450517403546638611519821676730481182829701602402936896310936791221830175601765203947088455711061814162774549862811248361714314926992346949121116606125657659872029055252136363919117783350094780899141673079766401329688681722841828280051104705387025307740314734163775211393678157534684878862502859712962358789022429171800754276819149773538979459221503604786843410692667219828482012788108443468185338912810930854438893922505892135156221931615898389392800159356494038631321570810349945207803425545734866474892909983194078787754649856078570326913977857502135171827645128268068613203740065668725446948214099547970464840078903984499571475644080512900360586574219541377679335127310899626319793457717296098574151228874813071198584994011490845463237437810764470691640489978610687961522128570474680323328535536316811440855647097595357097601145063287297497593642186285399149831070562724001778071009893196812531579509528843480557940557701948889711231111781009202823321662060002536111798953804819904045525076122928102568485478309641267297200819499889733032013488771918733120342715128197518663990748012658166049275716296119266871492169974782539266881450035396141444369991892769974724571487891809223034151253983525052399473478420519259737459227875004761489994902964020409466010100415262274841651685038758363230711537605411531303974238378514550403902173610880032611116685635646135406830057092493036736347071040448540697983864232233114322631920037053404764565101887121645863720095754088381025213777571913751520068636587227575213025114417969721759009891721582293075061862008598271709345179987713644951857086733308353315458079463325275745210813741566694289194363918633597148582002630469344501567638717381470063966876863229445848985118117665675320904747545014780597708976514224891227775202715928494519484388326986552846415199213489755417993634994086202085547930329691814698292545463072590291368319408237413874830706718814987813840842338787498163053938611285161487297091034661373857613157245403200506173074118635343950036510299097341345277228717058666065922697933434972010281872650074089359981840582283531376866738590887316377282869449830345222467156050554871663219665473386829176309098496121756063149252243841774513325583015658481146043699027117138790511892553400301718459537544569451998707625715387813357985172975897050564470772860318036371424685377829174923505214707563296281459617048538598873611787380049930933124473513883895821510364151654693229699648440629260822040852801828989004472526754972805213134488338412732681341867492942071591257969484491727163484644823774428115544980764793880792266455884268388453606906564604501397344646758078905642877791604965606347333812044264364639599020091606938502308540010865004311236052351654614422686314555080680004600395906241145544718443385128546745360582641242798797016995934076720012872467455849123215111515441063714361330138149116709141751007711018157668836277464559047068537838563085624036072575523826831147806159369579065828430671409001109550528586135695771098236026788003728136770139236638063282688869825029763356058393039790761542395161352489001960485067533727962689488745977884383314755055691841622499515337407571063632372671068830728286231521017706304239898921830957186206140644080746972234530974760258682724444099131110618909455334428130208528411066117594651321783155445694460502400786166586759450421493832184475963032359676290366130331553985111123992242526141796894737242234027352553810013620292984343389652775207640141345820762129976118621793308588190002233080309966234468582479618883851967215033704836411448220481305417883036980333306446403927287269920142386230542771139898589266934153672323234848872010517530620796346465160417560902257291598445922319200127945888818066514493471244137515893250063287617664680970111351765888663363117333634654476842281343576763288262795780422198495112296329729520932327637894435360218713714304786835997617965814837368819191147020226942715132617591957822579859519582358048129015904895831218548863315974702681257880019846287711286043139214352551433446320791012801951920591432340429545347958624955264051665291489665008269098151685158841786398291398295328795674142082118442872386937821141306209194262163315306057541996207846815935524725914250257617332641559700558451001051798043454114730412362715843534048374354704809804203793463373407409109635260105292836242142246340062974483853517314999524565826413456196370543416514967394131504583882850653270652459298726673434965826373964905256627951334014256411556818766665221002138711758187123832900593030904499933823910026843970597513608764250531594888812690445379534286796773788180610367699123211623632439635596159072911193398470480990922780809263807987762615837324709731424715895803639593605027612747831095563311512994607331769278829775964385582688437906966306901447637131131865311250923053938571498261654902657147134979893782703346121631058221045633861109252456776115330182838827166925936987781819903531733025043792964567433680068261334799374299623427383892954886247005655700713639155351947506166046917742377519329829023627363305886931995046034520534298125216187273502501260112090127077999092665035363001237533356676934989901853869709185524185937707427132334993960318312131498634515954821708752037778525093999397614909654256756174714594717393112907102899513444107546420066639682619865266570443265909147668799113704845439662218955110227760734878166694311345321351121393027792523115263298022101854825581954748999156776113070475099815368178102576207637568629760918825032525288812124033473279894855242460845743433191551549779577700371657700274272441141593583551705959917823775750170638283123076778109472203874889539928571278406993413084216282755754772911690337108434770722420466769228238408147761644552394755855574712363059887581451411627063502418313708059205626523310120094769796275725984874097775611364346280544699392024203438449752693710060553976385336124498213950502288231119664731334258954503786687110657836592444252637766609270731662362034799123746810077245591648749724297810550443514355734068026736986152919666593504492916883940101073330473674411175988840876217848269409248467145171037613635851549224535727561876530925600037058324874905649230190791396138990200614935148438177925276100896213108413736933043390812566365693953163142996010260495981527626753573280298259006405989919346970355469358562806830622023050228750555567164904189666929659872436495527822668302105977439282852043984055560929624967571719539346410600789376914480845251864874817284136650099437276183990949621145968958536746360619676543406161194892745374304815037915440044328839968183632681284459797583297417143974948606580480022146328757616257052375802863670717741818758692651964075762360414845591814521006941907507704891060283459366540064408620589346828922864241169036842854001845927012338887137999519370090621042979757037617206660806404652574875059555468831737513038279725020231557274976945654303029150562631279156237886417325850310053801273312050435414381979736628606545792097456493005714178272358784128842607744124349112321808664945999210692933863646067335909403564461684353369146604852267399998633603463357661386146416872678098569679386892522875231697954181894088706999982060938780315150227639209241362864923078919818066071934197130470968468256811145246499777112452989804034680637043479892298910334384658070133758910554777351944633185171061219968077468761859934341439440550932894930734970801552814757108833538446644787632996406682472218097206439238007593533873803691725609790679563484599947565824167729172634758119079573100428407244508753201123621797439391348629862006508453554904244276801433839837418777405689349174647762927646761886732135034860043480426851061618745230206230836184315971478978299252366687045908920796052402700422144233362944885419539133745784966823464095975272067535383257943582214683534320644171387752076436232173587847861147564110597469608216039920015870675288990689992923042534964939616711801460503949404087249525409232790948374203077788863489847069481606245142199107798637342671358778834376835374111910431824449580097026061477458586602927731596777421631896391958998366029658682828165290982243650330358981222896342509820108755448593599810773787041292871683616756121394256066399211911335655140338352267710268887177831776589039449434818565727738163128712487904741750678481873122846222571303136970199159324451398623537439923317470635328814258007616437081492975912454832438952839721478579595598186103149439692626449262103733188576105735850153309974732842548866863829333646247162292986935132614456242862457304694561202960211489955513787552610146719483545242927379559138984190172534710960210709349774435088842697725493935499561336544229613303867984542980550212545297771789467148413774663579466753873040811313966310056549629172912491112054969480374847014788446375255431680259292138181602552411674369638104163230966709597171523284962703031830064848917125228473500611790702423901727384896166898292010024723351584597769627033910459506696920545925219490438695978833952389251210114489933584334320883892340429466400301646701249095695181160394646394241488428315336325914921901202645094803289921827561357342871987354311854435075617693619362518365986993140203558689658527419493436514907457339270132114045801672590338403819165481025282362941465782514967680738834471359626157185533343276921891548069734939857106670825691532249616991653462670026840935306588801265234260384174803938266471365694607387999431454486618092530202694039647155996243489439410262086913794801852052478655776937687179712609232774125505863486585132551920028117897173442449202986343789680282944408997606522589506046884675463668896503704785362720035679351041124746035438097185369123044913097149002661874242912952490714536633134177293447488805078948374302669305706234562060800038255188777417128055949974704308695292275954117080253828686701175928006284046021412224701976889846212623517120530689765775970796408807933032648847309707402608678734935875007879773948600685068760178919080414312119973496661473874373969932302158885468073013261202073185223179135673502621686391029039972797171288857435262932436811983166467849151376033041736310377588189696841812254696392433802754801903194945542454952387107361911899279359889422359499700053640907501165413841298766461629172353443388075704654759515130991120244567600733219562177713435445421402923911134358246842054968719284048539992883319300031031117784305208606531117518786972886667876483106987650822489581032353119215029229746730668877109242419029897001912027685990896317488564877902946889943001799484867847438691576968627900450885614688840378122877655386771433567511775601882542068628932815387206143215299040011568859050421623943594252989656197258713907063336314735378992232036236524125766454246101387510642518986923813770275734170762949093716082376263589470328265369380294678538274306641599833555301111086738308855133041647166860587685343966629585403838935330901718276243438749858008663808015539384010194629074413213234480621543405482756258277625126500923457109404418615633967049586488075832293993388959031990651179913350681273770176146786197427632715679219896697914136287438266115919796645499104271593435165020791998305449741314877112945304807230798486348449845054804705824760508387229603226382527561678380024403742528630133476905269411056027165666508324803339842228117534822313399039627521862305812849341033766360680174928507706991480526993908966722153188554870004670122159184170275750959392420756819054113327767217167283795589493447414852959004734660738101099190297978570792353829809884608048656405633610309616206022795445768932891106753544640850884484748293309245679414886371081006148463848116621030338297915106455394269923685013051265479604407729826663913874922983922388888631854415884002876886987014788615643700461366867093137340577784437370514270213850870166167392296045042622168181783624052269877940665762179440288154241504505080880121311860293827609272947440509592351776081113100115016580612747451876609324007086909246785207211762497011029288117716600519163010018171460112218766760731429819026832377459639993643214668753741969391243296293103261880435652590253289181300709562920741810778091138155087214149773424710440248614994418834322614558468414608820723428413109729936117253752006579254125929871645716026434464304881149132173750933156153381407028923592753306195264905662636559155370901142709049302619744430561331990265571683981773943141304191689557086739625505961625102347681500703761117185255852610694338107433001142963852170344602495386360182691270939127537262292355528966639446068765169974430166289860431851786598658053064504847316279227269674795321894483819124005794106457898888238343065802330471164931826569275601107562924063513406372585481152662798553451711660773085883551346293507515995170601736207586011972290338592871997160108858775598518263229796585792819387395938330291147036666487799672274860530160876979421776446300740360343373327176578525648886685424659209084409489157240796479045742392166935820639827762656107089458071263121341598164362420364983068457468898481212153831139596242529111970635564042984034129454080249876149320339295183128545644887732303003638427005920113895488166113602392018774151464662318297701366258535735784722145392142502886733415059302146101178243836856788447317556005570175146053968697000675620218798042818133979594926491302866975329840516114268876292050640798609257674899836232316663621231299558743570317403657617229240471908313339124801907579989102778160547173275628504515686945038229934490548577604880027447340185190295033588205765939798624222758765524351151910674058515220638626974211249137868190588747021332652974029481957749148447608663314723155535511533433270942276497650480604104082978009778942193152836701499977892263644653771345317983931534918084763043741821219439707198733293602980916834087560251476803364302046592771013989339754380058943647722422334320240455526847732021163341773720333579616284700468834936287551251185315073516522788956245438700561199591138993304772449283227638277832230405078269078087401375060861045187616275301210743480023150056532366585616173748593081636443041867949548492897859798699974362948485101424284083672889451837303288796612673371673770722579700269897882278649151255922187469752199657948965100699281441046696141164978561343818556322062115865904767009561268845692643790340620192208492661239368948351734806346883328067894746286597657739344580758679835703847513310871707480877646951965966011698990295066498829947553657361884193530916005269284012654109008584703318612229574284639478683579596376627969266384076268197287755039193490316379971141012734170837911501342677088849219866973093189865225757383865666616246519859824311523084736068256143651719190831394622156180596124879055146460924607415175579700704395663678697185207125779388317246592832270030547579265734920726859289620411836993101867406669399623341956549831817932866582119078165851273066366864083009608293175253675297523818371922563728787890620575096230157424262141330854264746519860192534257134865698492602599834761339603117428927066007977839654236421169763442156591199589430470875139860120355686164207575970447965892904932448449832314825255641955486594433446965602560263284837518407813173047695710205106242242710264056376975831757294800526138518654025877335385794153214223599020228011622700925951700900228242107999241536567099337128086453913904435860886751036200679493930149781596901074558351761618916132386639582223986536547823410787481000037242697762047421445272180088339891572824445547527724185730680294549062933157948769814649594912491687416015691193462631135254027637145849144786569332943690714881082363225268211737940361066520205438184786101909780623564452935948921510341622757892002076392426650655114606110798285065017341712823314191838606046008873370069536069188357491048293888491694898088351883958287839156771549715972849751521571232788544485392575786246729259443433647807400486551187059707004037661445069564862441206176082831296113639891337278277359536373184940311159920285238431528945484299231727557982459901281367715184086757397663635301477202135977583764494880203282561100358651188637391234841021332446235859177690192630795164481125986489012651889505720060558346793280171861546688178796791832083181055035968282935275255772523518096907800698304723619664601107326792140321412467383834605259884247294606204858763000258861430633790988800703457607189780464240936651962320604626889042836133440703081381418891269735090300398971819545221235156309375754197796457007250602316732739202895113956702305879857488421435971007104939649147273790996610777483087870977428589208591422376997465392363400520753980355984108712041993416524889381433125804979579955075162408516115441048870479244702243359576883933972168975923051319967475429488937848763629225765509139160982805589671841048696053364885091564096950230960048997252077553074886473642678391494938825442585467277229582454386652188665527995169915554956360389701429739410423317005521671971496769557705701438042395761303065656824727391621130744415347661740728870991306153980106197314669416226887716255061964940446337032298877442708360186656256417745349685939486555159730185802965049516255281312707853300505758916578990534099170543217338122107699651392452626332307757700600966610546223789832303979652840288454009106400126393481489915358574956802592748367303780711770159786192952589042141579219320319879166301075243004763795588061096633157136969072388385088155025028527637894911539772934140519405385213578768671588290652104030332754090212767882124464201372017570949482968453279814382177198725516189292322335330492167242544465324885433685713490753122770774532087767031908297434704041489343837086378203167705746056714066388650810956158949821912499297491895368975930108718484835978274379069888929792827559475768007543456297917363087482099260309142169482635362090997443152471113972669450569051045530630264445441599200739870016191474906234099594417447635093955134809133762811499130272186703660376385721739900741145472214743455661132063040846332731661639885607415276524093566780351482034751187679672212416094005637146507475623319480666009629329212658239030973316048698055366987192738076579951044898443102933312503398537046567599159781134492979134169962225613928939748207577640367968377573941023138868999615398838338797121165011113193410813934388209141039748995762044906868757134386781787682728659778188095048306825361104366822884848110272776624382553694425317153150127833026924890330711225279130069913310417773343687829607438032790173744740627876562833584061562506945243441830199560815520626381164766644691481392541517871662795629336259707917920218105628518110206597982906325869802016272647806010384789405976225927025149431254655729210324276783531016408243646730065137302082706070184844282281204062882190005708340928730297292111112487362656335398128676431338683237211080718880160216828297756050195585228649866162460306972248521504130558017343091219373463866951388689660334129964026549288348632024422657362573028409631804942817588815542716359872721129490987297390181303376391317650990134368158912768598723863583488954084915847974423903248431315135766117590739344653939236678448763170400025426972403984631334880410192813661561254738185759803071980359133963504774220408455291331587198359107221654547321720101836091918030575317721042697776760948206556557176138520569749496784155436716485413229140834393964245420979482095276530972518053563628937148643649255405449972391117609931018689417349204617480433371953651241753432791738102402999426530888068723157481370012847526632836589480706406069292239131168986010165893596067515016701775771338683409201385454171724005780221088374534238884254790558091002308059421846015169573208242835325752022986435050107318394625083311751203747831630997523401384876075414784466440443395757752448054868961720562364722787018684398613983111062617960979684654214223305704286564002819132486169327968012037139649389507636164613960488520408208417668421727878263547458236086264440023115507165723351382272089502024257589595318975318509862162892492627651981927651821620630660707550658638386811077515606149726229450965398619869624611046795473728343768695878046848935925836724827888033648410647639237274333988911123647545537035360482846382990437314321504061837693639394365396980082400114230322666033273897850428665324394843500735984666324253102568878483147529674685993284377257119541332603529789445715724723804885931591422536195286731194205285808959142626376299250895916174045456206362633223821762549738417052201220087888939051417056418272303476677786096600359187646903541005677448125492573308561800910336836271748896042577659558923585088802989935489803246929497271561461717555650407033522579810134954431122401412498719479169708305147866815759787522766947356523195369279129868913348645710495881148883832417664200417129760259387873296682551606353629992071028678500337212410593856780974771114030754929753631122601382651464491235304918645202841232864101663144560562000450532754011572174647132157901139815733605767443518170092869857604247047144486557141089404443442663864527035390240713410837836125348758355166935987707518881524467355214093187977339409689033215636677371622060020659219188776778222180227016093035115914873767674469436827403188695385162617669470918496684611493534215248256401042455726033497115297952276175033642404673162465180913329661098837639436639178581440462383466499955520585105051789037612100850973373438134057043379761239721083201213687155835103067170591311909433491357743112223722362244815761728568993251788072304394793722467215782182745584572392115255020113114544096998777388076461375842358684832305629766029947934086898521834545898074739736155646571092222028090003120325446097705230791120003279271441948056873430684193094806373158279718145246174676345000652573729058122548962170980000227133011554103721439743665005496395872241897321033901127564340449961694756695850477068325678376400101528643640383446518991716780561972233333292375487980369128974877729123594013839900169506939851410842305053594855257964986852947528043401844553267231751840125895568070220423861847179662303792602279815299301199578484917703586976354826351600512156867113425488326644398423573227041058957564842421169982023612638250389656493620267784996956222205084699717528763486283631150586964243623918590465403326024398999955679916305222201059835516087258652991128697953859416055478684610581096667653692641211888092088334453614404080953126056431475222390419027902378162155666200845624095984493899598475355741855737056164811235671519322122581088473737617906040168879605113650494221232251655814979119171388119198136102230039354401488820766038083263625323041506613346762376321912015441325274061384023227254356582889601749552451759916362035172370127589645097348040948984916332037703783333854397553993787435811515565692973317945813232456657268976027572592102990643756282535347973991325544324198409266016688461508047711577140143041597183279350830056595889732975646929648091926790244062154749930133813257374669664041821591244283684438752098559181150655673909894765798041576149047790598557181522123608373225441050368387013851052943855614261663274759233053070089107251376647551200830668388011693950509725080838226132528301896133726793216604269068427022818865019900964252859347004297061425244468999477195675586949620593277682956326972758796675406619736769019121904267094847514268373496584918213336877051508357340779576007055488168528531158915936034708635311167728381101180546939942611389433092153669588522384129456335877875842941307329403589263625513525995605070828897455907219209805564966837852173070565101328280808371641788999938200200250350803766236502639069300585209300266989019517936762422253370554039316278016718611334830934097130306828325051221617346717360886247557119691346529358036941174708489089666672575856667907666346746747798310496317225084490911033341914401960963354278450749918944197863267857649918156893585386587626437054694412898615271094113138959112807676146409870147266743999236529124050588966099465973698972089231053234468885600326699630174757446685483539725130660645766628623094944685375804508693766967344886641601085196201787592284664936995276793920746359179958883869780272900504888944621061279250285680707580870934451855854271879138444464861263510649091007381853973714594765918511163864101742283246286682730773935829985470162269399036636496719791364459994968760291158312504745778152351403486058272762572644717262164469037732613254652998151477812807557693843551703457144857633256220795543725441044777891510818728025260407828769482283527828096449985073050497742531178926580665438559213040373148032372246163953883260524881991040817230850788417130084721168671749762132907846075207124132362094613555448856889264693451089655555511455154050597814244202239741295555848550339798665199151013769109469367077570735385088217580452840964790464010729176869737241881827426503702890302768571032186889784401800130471132880322069768904188135230435896019278772197131920470574084718829301628002092303855124862665839909686835089868911445896287888837813378467165029618015394053909958732477305368902234438534445876775205969448008880185634772146263169633409073795107075437140629402130526281471970780843311086767122728793331283747384927529515714237435328259798679084929171024497516602300055601135340060502289448779789285483393627182067941309200623439693426932163290411063568687144388231416432217068622163904261438492798967671863566637974610747755480173905362434303054651899990481126962970866824972861597438374658911091460872107204326682293971418298155330972113935585579736414744933567622794219823684279711658161667841994737178892147584513130799819183204575151216345129796484298274129545186323963112690266674874880483307268830236541039920081504199127227261893396735384552212201352688266420257901081085537289604212653980752498732565231812273881479614688076714276380475248823906066153105633718229748639724532591919912679999166464189289249731570711135450495067603480002664784029927615083751004401892719430618743584861612015721523341514167774500508516086333313235252948602844293643384567425953930274992022199892875451504929705759441924449296715325488902340729322292259313857608011549545738812288837513484692645031100940190058099657788937390523257987054699488571175363582114298154092513368456777884810354615171484445742886452304182845140564085565839409932948769774169120350302965175601845031773301975998983808456897555985309860452438742879454989905251622365877753564885543705435447019920795987326470498026444305287019592499709460978855220711338425907206163057991683871495509370692153852477255970447972437346385845685277045863672736185825129656211674227659742422923029816090358124334667023620402355678546745426958113816113260625772319641102844879338592268358573731316449328695257201285924882861516899801965854775558427097635012451707949232376244705374563853363211236824650700111532572482624072557058170656771551247243509729726007394677447129051502939007319382870584923640962881774904221208015864892453511750232133768012414745491016154971268146388471367802896730267979760670104797494508148214640286937397037631457679746966288969580177518461025635311689827589256416026449967659732363448341451062515255826102864507122293811302229692857656358931503576372612447046787880036008778198180496093936271208591701357285833501608434079481554427942230406353925057787253924788920905368608943920471367488553085879008738068127033869906467417597977323133057913518237739272413418048402285115101227255107979961685180919067142619818790294474825299879947988242208283593750964191328066892941515857201347716909497773742572365772355067450137061980456382741154403300464988222939265574192610753005973239451194458782572204323414034837247316690163634539095851305011912484421563853215873666051029194629143944291006806079355439942274260447547887353808349024859757269001769572885166958774499735760002286164763144018242113990325030770725264278613039209636912062946127018468010838875973647251638110767816674776702267031512751157899257842770961567222693638513332227384883389937717142769343290704654041642853956357302375624976562529327489109663893380583891775820168112564576217991095041647495215327403803342382633291986293712721093483468903082763525692255070259057002158324470368666023627259188292369521359771051146201552049570596132341354239874268458651039982634450185660110211045448187216446242250329136386640746222092450243891590817345505294985830296785211076358188252555035131976319770015196863881390685384489719923287341425109773662050967103701853415916003115299936105591211487205285210825528683058186675145462887296024966455810490809048890781034318326699636129182602259113674691628306639916806444745066787786349455345531620434532025651874754493002338401214329441979527924675563753543882924915273475686293053002293817955608765057399378438621981751893550749807987551612185928815680595635406639136549791435710008804184482965628156240455654853331589682018808427654346291862078242542152772355631935926719172176882865716812825561947129786330590298104007203774153455266566571987234931169815607711324499468033331596417919232233678634780317272348755420906452638509325737365055656841336172109703918198644889360479094087587114546641878218963498830602883237829903263652980247291570034211579263624724752421094355313373123762261041367326498024641155125570615972196201155863462904785215375362519412234420914282011690902037989198099762681026981227434337654293109378827044100499600912879057889654701281291281772984236556565362115252482530448098491445261285663226113839856352398434911331948777177351856683130046165777743931879614788009268771130163088463659251007957346109474711128064643030207459479214683577847184757304813280644506664124281161364630468866095884013910959768247858765835123734548125522734984875010123047750276064732488483721458062994973268257465381454350588664430820075656404434508587155001930923654084668028384436099436381877493929430374311902834148242860746995599791374563756151765367696397341435380013250838176486902536073722918229123201465864287019181016640766509192041758253973295424947783644427235680402151478025653370178604777646496256566187958713041051917112738025266865267331293614522401331378407900912060438794410593076287715298935482672528171242151378756325748098084767512528885331633818468447262591241302712358187032916223168271187776974251565346804914380539522162904107466020540242601520684634655632542933019501887212351498742142772282132355325402254357914675310941149179980550970397333870958115065241082884821273800468183729277602990424326432233016474281715627093469230251168602236997350198485635193013359702499850451182277240572836736538563684874689734850432604945329271034598478945252823656035639807607904541969490853833947588495433653481201277883273937781959029648418125166869999214783912043428694185607458836377545839546588542367976961535447803978754640728630829786035128644683225690878916616994648583053463323342012772319583239420575524286604354667613782277995400453588369804437914218823025984479814070640927621144521321404048535878993828496548444661095718551536327667765419243072501894542230590882849509469650780971365067403545114483965107915886981056376253474147708122168168406473416249212518761288684226068703940311964365792887048581506357103780442628044632603215981033379215420590823856752579463944965187026528639243608899114073909744359056044516528134421918415016850283810193091519182113400993510070317950649381560153109383229246262332258351773828462161938453020477986717336269564183723914623491772184569638774987630593353720993045279073684827207185072721513120346834597517446036269964212407633461373316344753395389961476472973313249897984892976919276742561927863018868325865426820444024304344530000170359811982065110579813735182680246558143359959689355698975279128874955923577601966679029935200143967598147619171154762336911953685262156119139713863640478664331352239576668931737037107995902513765147416780591936315914586123450813431399157881167809841081534018931299734030243271843108938124912600907703507903462153913939398257104307536881450892225594141816672344552296084429932442089881643572240477019648628505516994703902314909100880034928684038189242910304727121306036506005844456631740886987855137996246520924102531387914299560585023676845226029400047972490579122993035656376857098594078857768872476561348842368449462237451954866655143813492864711647220005351973531726740991927461933804530223168834335435032155745269179101773701212829976475629138133806591177596698356996573403914187683164330359821143652208295258238167756600812576409457063325125760614632443963665609164421039346841718788366079124849883904322231939789012230968770436124050964588135044387611881369213004965807403835630397521523619477517411839963288210936822342633236439415009111227567883301184521537383236862965810878432620427521723014225078801149305934326620720014433126212110488418641130547213704900914954736957902954361759139214305973509444132771657189978866720899377135888699383597749491228024011208164888524916710022880819785445826953631893224970771771368183332431189967798541442129768335571187750417854077116562658268470135334900811787338213777154629673288438609613403430718812540248063928952837186215541162065712661794265421759708272373687977322088872220518480909092604998317399083154194219274978261087222159095950379510986102868349695210124756161569304010791371017484950095859852881646370793080348860242142061964029004126545261549559078856501753853226209690128727773863141643906539302733596118861341706873576114208619688686120103109017067589488981917264404297823866432228544973562469984047480608219589362044830235644607614734762701969031662949624342807381019291715811732471733441615344509003453070160468382432131786940415262257319747043966880387459247256472236920044000859178854868168223658468359772187000459666135367634674445697488291044098368243392084149913288148261188149590658121111451640869976722044713998514612338611296707041543334628424392660200242342207334560610681675417590282326912235357421175135534018977113189293283518901082387358684079883291024192552783866873888095895673720332272943718373091367553232092803064760257465575949308584829791289995877592975433499546350855523563447272138545513263737680369003482047697784121180536067420866623927570271365093088970548709058601535530613974979937647999461213199128596649389957064313781992480757114003861386720749958866977792852916306281039176271150377923590260639585283676287942675553876335724109418187328760273320293788449286584343028306608218407462678398305406344254245929394936683909910087332285823249454395770910278770321999307015054078177331280936073423809117791813145027774934492129349413336049451155420396169770343568809772108401187332764270550899871065396269787182106914455920215418260810174045527104163531960951035593611987802844189230061475913914031880629102849362370056161283912802460036462963400119725191068390166718505827227832884963238642785158390485316467806021934279952221714023609351880860056364246472432790715685247121065774551988570205087222914962288226385271522556742338390814673196155449931956172267436608608093496690043711112468693722428648499056461566286335284503195930593124196779560038889625194507921697001089278356258651493041024298042941800786414020579283311618436138619061427155325172946544997234427526049932204414993854003077624778755792939322094068304436385988110425817332681083194176314152391954096973472378373252824687508974210877409261070187159986195241846733961348267751879592004716127424402145783013514235458932097170327491805788038430264122721132800414351911193121807035722388868987793992579067324593401126210955781257026427787423821483425976990364872237304665324084674971779113227367873271225948839754153668861424701188695321598917895962186404066618172620474356754155488418425602081784190285781265223888392480860160280208705422123101405752036929609086052217567093420555252286486871653567692703695594770770865148182021804208273108242741881601895270799700716413327446511447232472038987333239322430179618453387583149485471916561928064789617079427693870393572599505660665957393187745972182649037959798983579982939661627819143646300807054896818459820091826537077031460906649403052719898362876058704683854051014488268435054429443885293070673540429047344686303337404699791262313741765359448119369973307906138445355674186020912812478655669710160597206361105332910041835023681931501217884803210526146129213950071054846947722361065366004499123574489864805267372141405393203448789188532812721389213460664908752507356169564788473007995671472979939179630562889065428589534772715836641590378082226024244681405245019566586313401160513808862583276361267155209482612780432067196971801244716639609065254981626890255596365556730888517246991655572011956759880828694731349382898789359216692117775683542495891769168482689968194038009674106000978810672905880439573512250870181485061902717668337923376409278730492532729244153055272876457172583173798206475541380214814606258289365879563944891494980918139400300168490244121286761784287300820370648789698518162444224807015769773506694492770344021706746887901013619427810435522027577240331838502257250158406074659089625520295187344959528876949253150687526203908242979730216362600692410920477538953012087229092547780331408927863493816817498886051462920413039638241218424195852714638777416945266605441121721049971800423463073211226321659241620689921556145566994964350584319309176494772069632474660726995252372475808229123673623837119691877236251687814110169825377410255280253009788926670400261420419367732989670996412082100092836398653662426627936924172508401859086743449969572979152740024291347027691568824664311957438629241204816144552893981149909916802605781780641798409392817450517045425658212643683191414120611526962731847147327796479932674270175929616072752716258697671278334484006799641949573888092172200654811058973580770461001213978234115628234304642817581048930588986101614938303445340334270384388042945604189879659035386117542288588942400563597378776795083860483720606301546265160007009166693846165326944676332785289425965181021973695318426766485402777423656605419518815513144849064758746992401083488705233620900046391373612642409341656586189375831163282211912372321474532953256741297354371097323784306273985601191315186678834506764097194684929035763376130860052638097323153809697805781657672680007752502677223082615836119872942584796435556472169331207809376076405314961575891032167695306200598674205628057755388836035044419221182142233813086251219867792149735963189444911993656955003793842394802460089448033327516431379599045456089497837258532718591284582662832785967196440655521960482084910691530747571327364859305422531474094288130114303180546708289905642069522018771321974765037942269213177472004652650136983467997789723173692273212985027840791715315597727327623510849865462170079009323178829869721963042965569419208560885517958149510076812728716771322059150683910832775904389125927558251311622388367931427294740835019381470932475695302489413843814740801158302969931637977448964164320438393100642858947845380914912881632313204211029669736057601614256631971505783666684536251167111732877485571626325709640128802556957759872695002114641814497439005057270622232388194733924836414726291272966729692560373692305619488515273574092916237263319916806119596975349081936229575492888734550227827520319484127674194603851446260334665146111567794746908073901208681375370333436349537201685729377795336380175296145757516954807354187629798912828273372949979035627469404094481447737670427425428209807468084540553232163690826416865124780686714356603110940557095998983359815820524214279739204866822354390509769056900791396709877787805937899681152710565291795174525730462381469094152413337502636873802796595887488573802512882153487856938420472673722022728446970400282266867099539733809032230642713469929564464662268902157950931786702000537535359115644847510369709133687119316922788385940503222749386745457831792585365353239686112845446326467527196481244082548044582757052957500019252683265705771013849444632185417093257038510315285790056132080095418959492386362989670484795242926544374840715638536362931705827166321738312213796100782370498352203850689318844997840909280565395436228197716312757795825600899202535928749360175886333940426675146250753653252206227182049225965739595018616743736664377808262247455906724172383734043666268093095085918118772920328875485043203068000463635422759417245918049062218627885441761742635800856916824147078256056481128769653944321699769688821939498601080005723374352400068087023360649138389708398839271764770461094724666694406385569876505011747488425006517981564055659022987456397024451583190303090922622203943047367005367782884099428506459683789982931555625560006382040486865138333514199598105290139732732059241935480653588738744348989224073530493013723201829661533726436487406692276143181614659745813208646297807158024169068043386702940153285720387704141641805791069174198647546435264493519041527319597191024379558955977473886166013852334053226321593698783998398282315971648642816459279974250874453927565888389919285702166341710680656571241334522168540015042166397637373252288028844561657168102691195276771903249059948750519918086629881666286613721169752811519976115381970299892507913731433693673440100358129131866308805679877761536184951111283761538816876410631539270700682313081935700299355953665150610526098833776430425979776079516513300654273414917458923925065677532582660153720397129947134592450409976404127598946771980137159463585456771743673369758920864669176170795726252221283240748491103816355075628361587023339807453601178980083973392117696480148754219527176771425994280219053132454528280055256799943693178319628477649303311568652545319917151724726384300759811022466904888777991510209348849819120395446702440743853134347458282572802486443312576605041224305874068943382526186039513293380818083564389694248350307581914443265382282755492855231627711680032417346667952414460660523278842849294992927129268405093161726712520316282993383652789741885248392939925501992708566934122044324818057024168793007031207062211329407055045872075589045616173323739911083187764624623048999475453308257054794413993008874929711305214879352290613811052443685449193559074651144052624082110353014896780508199989814117048734384616272912362984533590659072566930285876844502533019193700803815408011848521955161023898148725323571692629705407058357167154800513912124829751438012912125285752525434648489578319189233596909443728648363266753126913700405165798846695859594764261972098120409912791451927400466342577263889400669427131743524877315068797194529034777446488776003126546023195831923542954938399999988211127495246733981434752199924865592452999534806326003598532072888542665575067586292059205565797422615199515888524592221469161533734698485165859668361897237755918431800373352703797211188984599649246662595685817130161321563117073017558778382804143047797347029995436059907578604134722636001960886830781174126627279726466105012261506664698073219648378447319335431134813731745749691253159903049208253182075727665314179030971123905070728442375276187854463029608558109081085656331694168493945157655739683890284027408496998813375605780922993013302498505983992135077149914717730318221983429109860592213914293130115174256564525611255310516868767312584875090814281427252768025597096244126288982301926267450689972360217971899820706470219805322670821746037079087365347200495865083165674666269328694459015511130898422905860747630615970603575821069326144089941663727622396594296063352994794494827452956763567097861347519616361828224099713344503664556462727826707676381091765149405771833619258182451664344510757336102287869564107421213209647052192867612210901319335152137051584087765628506224912522124077223449999883229557459355340320604875301002076838610260597541954738171528594355746107317254455112926078759578876669287879878545861983617889785365369975886678089367189558259168676860633972340057617639522148242434545119887343623822063183660020583846064857222056362999559000628661130880580131182578912963000572652801276342495447293780940685979504549419148166054229857946619377417716388449771802571597315856177770892703536612479725146135979423540082389534015836886781419478344702991300610903291404544690671756971428986958477073370124514230319682694034204466958101887962190550057729828584431015270393767395348378836650686973087994169066575963134045418789037380339908800461582340697836594468955543694720557620474398461479504584959952133856309872325854368160984970764848652943697884099124697518972310836960396216364058349189116499999660765731510999948682751622702861937850483510142816664903230986732895287020583536314508192225691132626267220662388521674717191513886207752253655617954811917835523036824814783072125330051566606473453096980792443170203436097311723108660715410132441211085072083042667540552452743730508165439768550538882903979642602839551443529351965667392918585486304055423912423336922980448925656665547365994858513380499759704334649839212267083846055005977722039143337340177210416870506524364232710091593773840026283114808689538653571455191742268239796508807183399053870955583914248467039214967585690334106112612073873494608980978535967589183689542950532395674698907800505859976250352872223644220497567250767512319416053252609336021993377393032585494307544157026903930735501292131332727542070140084188876125119160782573258755607633936952225680995325040890180469774303524655444032125506317744686768345201709424369692156453362370086468315011096079075136111403340385054728259367902018190071811684215385413059389269453360706166320415619268911388264177318367019806642633522943120029614833837410583589368069874195049920941658221484071430587316537512434633970378559983937323848614500762218467049812332139161835835396382306535953035578889800856607513183200056837891616412649082492437406063545311853849633154779373663057238609329350125600686689749171394641363107404483074409497695526945304034549968591793949437024612507395810340521519548160112806214641592141976730716287443356450134095114277402372291418146669925362451090541888329936586175450955131457622656039067426722106359207559677166854040135351288551943008376661106092498300745127772860534843837816949512036603363577847883398699114447849846858350995821550193333407391657536535474309527095178770672369987682974103638057711007387846252707914622691396525829318362052046904528229698960835147580525262318726289350611795141322327584648955956490521394879000395515509702075283853063182469034133883515544752910044724771889823735058964092416764457792004097355511338333262031583201069179626575038621187441528279975545246333286147746559099782672763963295161814380240910056520568110803386073987813313302452766558974310426540790892440851167883486965631744702224492938870505288994887042162076898877571305696375695807463889151341181198146751271216446484260411127383706111178009681453037108370640689690485767834269500566714917812807703979822049581738459558262080598924020604335931865577299085209516155119364340157055654260671617910333862089476778298355251466056236996581399684375164757543053698455010956004032141782848118966467100564479752132106498075389305470902046969191241352292323097141142384285510599506746116249609425825650956481029011618980831221165623452028236106183133126649583955320410303862602088318084879864986090405759761856254966966484733209710830181812150172479505808145963360838779369620067314664543774098076597578906794719473730114568914172687084009347368355082500307146893876091788776505405268178910611073140399967304731903763099595194419722185882077883278939035951162614591117114977108890375727547164542226804922634619801595062148020985683419962785122058537745782171104853811373147713299329791888734207308464774638422938069361613110345055436301134497270007682956675181173098987848247716182125068231538524474223372982789565846133368004006952200092672151426099885412272356157442976588673401888157662215821137425434702325998719448047794080452380209342897607662409520659631316486156227793437522199797941896416484676799846933802100387552032378518246237969947073096983449181477177261701653548639729220668577199933603063291964408616987639255515621135653888193422790384860584319314021002101596992438088756468921135512670060940407713628124536774990600033319317971252688268218280822237391668273347076935316324039592167548739608016972218266494515905353224290852668549182969751922009003060412998511944101089901816087211421489539420764436758498896937067854203938019961771805944173502527644220602611518257001525007243346118945860996871961406242382508118914009951457455513520248817599192680126044185737397812666263225340181450252598253750519520110137835163991825773796398033709462128558281409057739503212858078111919135386467326220191441536716567815012036460812727194520913125240264762086925142160739536356793870010041236624335633377908036629552202680337780082050228763274048501977124670448168806696344160065944848640172131387480375482351933788913067902658347089501308410620680771022163786941720309585918112570514997295298560699230905359852272676247174320131366624852012637275019057844930972332927115714202970619880341832917876819784714113402863609525694834455174433439801703409841350639527092118320283308804695931863212669134449090011516750986587209069326345409989424593393128965018283566988933474628440482168967139244973733065230899672521672329736050415325848621643829576557789661150257557598190571957286228891128362289576546618868341587158387519950234926777880891984180487644703876705216266540811569264053412349308871409223027074636526515013515373198976585265499293282615257382618578761785173525577957418951625213264536974693735936303917842062895282036828305475881189693329052946150204821053887281250221764587904726352684051924661012242048434589503964323052116660077153504462424908984444298247670356572120349583671546717206685465361494552112972634928452540208702211666155321785018678374941050097396329892685571900943692234900232964521376749443236355824630981538165012521576244234300322995176427658735011210435070377259054079336460764340579450217841855130535089692768613992014477952194324657151228691555169521972004148190714002443925150768771195150100775193811151942862182096317524286681057140567819720931132505294754907948759677432280605710094842471545355126974665020127469788260971842102840497339548137480023524612746599118454107301441236402136333183778244839440513191884895492964489459349318811001648054342116672050765747091836567045862216998185485686947350541028402642649541280799383223759768740407276092538535726643689804191686492454723398476998331692923639995567280652215306267958966829027138063904779825152305030666665783787126789079381406454527459925911711685977686478543210413882573200662137549092570600754122149612755904245627739033404113980474598081096203811595035958332130858975867207548934428954763228024751731487533189540177915999580183110224026538316960075657061116930794157551714856089166114085093773173297742365151833990793130485832333753726210686268955600091734105901172085905055435002855519945069511572812203787266125279872673907524101042915039492894460366276044003736123562576207474546301296163983341613810108737175538372913426368802757781046482172453094719305623403310053547963634336553599528336546610057275872267603881044759948042358210723318986725324093455313624496504586674421550546533702969829992733260189371725992531688298956775629000287805054188368923483926546150023838486309316756733581132553390040728613092072990644923513174457966937396716461331424481523990315740852768713977841557385964791559320174404374238111353528875582483630262934879446604285497952504531833973088864374760123968508747106704308901188330428508775308996470590159855564342216378017334734349429786896053691269876618580051212766349976523304755084433396024371306513855608032075054718665923582418457354423637357393650374705826617897740117690163461790305915340759497673480248513374795781957976216646633196919589236514309633431603799608800766229404870122074646249000534451633847032569553686791327828353949601006434051174667236711538810557547233821656521405875125745737045621126443899954190343265426899260306363828183623286677729062354113562948019465607405760790259438003436449624750138905412609160473129228603091919995179206859752660848429329290045331203162319285102341546983164625385224695265973716958380449424186485545668938339974804592758996878595870317059484572612285448821920368916594165942748771148728426631266998425535419152376049678046201156890866087909985244155189101528983686176598690966413127198007355406321588168781675832205626911213520901420558573964373519158884629259962443718086127109233636391213173181108400212513147544517825709013554719375441958132312299798897884866746908934134358524055049595728480615902738323059133998752593713729515823849507504345905419907069015316973375480137796656766223782669985403719740952753954925397527302214781656627170239062872840320012921423310354969303810100458836179634476762102589802561006356437323477188322495229560632504993079341059375905768919109451773878401769688596444704384185926535146958178093469427979431023661559542533764102928613464898127999114932947670306261813412988704302051166515009947862782207502777292110450483991864380822734779948951134225771588142063994640781655395458738240926037777890096726813317401645020456038572160867017431822825322379626587612318450550787309435678295085417527000104395440642871400468687295436870198479270146968870921613929227984444821788609273307920387432893999346491052926122343858708896918820661120843837734586536391930824847608080590268940617009624597739020948766620589829283110275155067364948956661991730039927220626613668895126182110153303459156958330423815503933668728428485777470037653109815381936958412841230602880562306153056031437442683565830280549293645333892926082638794604068787902281965906519434987253375357523296423582458031720603892808099522341144220465153220409145182067113384172045897820715640061842796443779198575497640347635878364408484933280085907928435539892132234838271382638926930838288775193976255447324214938201381363364156768349531135923916765573153220500335724094511383729252375067450194932735390418487337472238712337475228971258602985563439943070660879029981274966984096599463416213634140838619841134627719248806081440277901913337351791377539324324776589196620305923510822139100239049145401711823484602116345443879982864731445923336119640000726483286537104977582252647142714146255095647126319292098394947264787161842931219539740217720003505379779729487052171028519712657806088568296898519478622210141284658998967779674546500098735041737934725439233885663366674842875024051475770242661097446387741846080247285760786527660486367478310954984727216941575051337695232508197927055523472521793323232579319711261397091307017086546436065625838033871980270296089390746118589943679743467467277026702795329624873157428816319707063304954674279861527771333436209946788758392873774128643331464706595816425785189137203462266298349280156866587125290782591565441763190891777613416458819080277658470673962851047387541876853966846306894019230043908646919584808120373357429170937139109982936031038992065360341192288719479506717105911754305836043247071225020671312688450578518656077052823103037155046540286002669917952478341574670297590211196953103361606317834291599353033334174705719434234302394788205449573240082217794926578284512088002246399261516937088687205164512780013897069174869170437201695602098465247339590486922374850942947126509426678612636369849749449705542614646862314548248859283566893564648436457796247710937539960280705575114847578337238667484259737249565275813803524050197461073011972965517236210456768120930866954540719577894525464984878336948467894012354514164548881341751858229352337276287706111680632375532979742708092284349712910539964650892513867879640804315164014972582651955838260539052826794061627123027647991421421871682228799724074275336602508807867123212644297971322475864587835882084636288675334786569409731728177026445077421647183542620238996144137661997456225152947491785871223449687009087986266076590403264905042404169783592799509421279442155486571795190237780967837366236954409386486564719055215209253798064591307099218565680218885904590300877338002831781563627944438848002564495497764853728187246851287487808875571380182806468828404221320021436034155017611629683963593746302805197384962973924111588645833055584801647486161454496075236956519933018614498959986140375948024501596518327559871253449107264147975290658565742235004340294217660874006713958052125029156577187613543623367030031513218331621953570488604448790366818010646221381773342428710938972977155386064756497377510343311906216589604375669816729369929031010387567573257378483306151675162975305203689681235422050546438989558163600505805291957582539185115685255666098366432471159475642412573259133826130051070954485881026123361639293992615968149584353784227993801828894928342644169244377363853426731031545366823769599479089263259264351455071516008184894700184776235411836201283614093017031600864044119107222918633872647757805915220643305025511368123556556922111809108676726688033032150996210529377130822440471126755178612760221777081822210198982981973678403337045661885255255370063939378495559720947495052886974612565058727647122304680159965926510870039347327557787057613987225438220063635041983462379974981587333357262795037328049453169729762436753351178571630025369506475134994462242755294626923018976734985908934355402855320845784042087441873993163502314049984975474629618122297178920920942687758423939572860039733867862656486430371229850695863063075567335704034619850916356644902106987457959992678371112241032504813447887081782585147387384538803801934634295080769468095745877376486561819108395568115911088131271310110701492754918149310818097727109182817911189322524641712178433034880711105158597929605886576928790614368364718476498147051860247387355254960645784298057257450659724065912304393902116352859466221313457074411296500616378987037184409016334273100951769920822669128813234481779191361869540985649626094290344765517715886438867170396214661167558522969647277696584553757529994873297585835485823261978390716438176654984545736806576245686598207208558494289792194482718315237715361830805227010284579459058778887461947462174249590733418781244188225382500777335028748614553254643816463947817868542373266149709742718280615852331297271880567173207950782195914416145488853619429538096188578783502395006763646852262205604983002683442901052055995162768479649764066940449366935130473167776185408142992849524094504348417269614609658975202153863540504051831696303973702772164707229135469626373370462127694400453664328998935346826437365463816701678205378585577039775596069684377623381993770352752454764999799248406974253515180406232278842676224298337181647664173068991622353905869446667713786634860486602686930356261156824717109787313280390001919961511925544112522748446914103403380572011326387975203852504584311056204637434733031208439292855319149350535166696942922437162211281483692688278598386925921447129235074990293332001795703452392230351903835192108184155819998026749572766106229560484445523417445941048030295451510074561390426456379749257969797305272604898865113986301643527462456669548904758237377042945007549697295171174801271066197083404784206014517586559066241651461536500196231415192801324721153183798765326121376592344833034822715044557837776585266483189091680228322192383301670504879933712938986718494345195271214730280440430590062616425362272124256858644639583244723603182452721524158697160997257637847137156193389471426221397617036797322946090328834390295729588184544662165890998364970722304930003202239162234294875319954998268937242382505777932185468846694271519532196415906159724051046706327216969306285550226966022803214751414283061543437899691122187889777504539708373034799702414595535054861712975942719898091627505913038799703772710106798805175781924204420835387859774988111372230977442423574802274242146693162957628271008645476447769419827058283293514653155937870377073366597662162084401533571996990281831243940040626316319046778712006767392035306833497221704406423411246528615106296485794722803699498386507460546476911526733070841614742701456574712304487707907475386254845267411575171145104305868017250921058512128757488186288197300479035029093424992581249701379098893418131715884436654331691988916945224908112782455639432031109038133684041348773874787418606622399479617347456310041263681662156343119764196945678346325915204637711177753596847526824827414063875871067280231203720839189755720094345161859715227693363117160668561875317413008334393401105014994351930833680885062949674171970487181142088166775440779255821307219963980153864971763570109682313267207435139707001418656623167513830270918920845539539599294378233593741769802335181417525566911268515635830971933654258056092172463404801206867143370917596381123621981665640555555042678964572059452527912505141286487029787346698244905382924346576053065333141392501229834364378817694289883114054179413281512534514682905143160196055702367869250805942887872073275590482800707144290472619079551259650888341628862344856935445257478582900006076242827679604154086696835578251110681022995894850427829347242777456371158874695827751146232312442153948666051222721812812867365812843330535027046000109558700985050975784734426500238235010636762597845979326154698703866633936124036210044925600077957864704849018680803175550818485897647272370762117098593194281143667124110375596058424506858961100565734899332754495761067898084947804531296568488471654195765737216222530368199283923647927244310153300507600662871832477162526559924573197438125832080074211938470600590402252465140664875442237806551473666685276198908496373234253277080955176774000602824720348692698224242949878203544856369860519929956386109073309246870004978217173824630256746233578506743465152239718710043664208624152241722383649675990311789169328950670387072783658170327677943402788738230549927376147412339811395282056628837841032544971341849258493895836547176462309225599959251688163619956846242799279905865600670108208356039086440104901989049407723941447832450649627932286580672415907067177005078486171342558961207085105324337656263306304114554852347641857960493509265473453932389658461473350656530113169093539047687979327230002175275509056066519222306102843205378032667622310691132503544802128050470849001742086219362023230196621568968933911375425408301720823185517320870676404318207958487904672569436941596864533451899330593394555551911962018116803073150748993928298083814680304926017653608124050597808552830894537069270216665128713829491707912371252252705487347047815606831405261731987097205022076827067967541211339027547054690142447318486542412209683319717842151476913210251750563103178900397043343116231123870923762458895991350581112659861743896051046141844078876191331489893132442860939396998081500771955855705781966776652156974815032027748683244764939963920052365298547625241305057269385406079138501484154043936674434895974725917034244314505718979079113999100902242349532482905813604639920245274972198937259097041826609317367642992233529085074420528109744518320943820583913556851610779042136763065804662356022436898731453438718867179491410953352843128613874767076993932410466380643498977910391688611025884850208630952148715670857000577087826130405425746247696628230004287105096013853367343394937703364871780337885968274109803644371579898305277319014743033232821736404238748933298446127443257345034639226441226447171414881650057943795435474689783569085612344830876131683846451556355179954859534741421726492942539148239498140898954950270172672128298510576680854212148017842615816596943273888266533307192325999985598614148448061554024435355513678948590505167607242039075152534246593100583714593276865464145310518356308554547806536303261885401893842372857013520815295743231284873325449532068274768812011443007540159240934978532448791292913201834867475224087796328006690447845311595391181046390692047342691524560436929633280931403984597017760750980264955658183482641344165948165254916791953673061322691935106292670378409227729351589911464369577506187211780131886061379602472113923482340954075939862386005792881431519492301327733770576954869371854107102616058989490349101615979605417606684122274542619688256889486323365537070707596533402104109859470062355889029823980584971439674705584146870079509842397063216653256650727510483615371047085110466367485239863942479520123889679051604017394546226718221445420367529943206345432004136892312253020311968712389347422869687805092549145864142772071248628728792416832193173174567738941215721106506016972568613117655731899364405716125928581764233512127215997022209655796295922844612093804981334616311327287138124861087740257298157589199376467973867134763372793517288416240787789842452037975445883227249344848630766801217119587189205164216982883980180979068032352890348982056886286851208077749793270785683570016278270743917584576734213638777909687536435444202092130792632929226008364534995580422140875623893558884026225381166989345159617525169980077482677401365301768025376011138531852103030439558318847436882020840367992456886498271593400987393661615842552131615305543607843169866736818999557186311152759228067042398920016275956294317573689751920983482225203339871256732890144201073132247571331866772089605690240366668600220723447571264725574658277055206648402403989764260051739272497303215877862125796062722085497018473669478121398090312377962387929542515492420823277579510590727871156063641154011163892948647351769038967572279507426669719912887284155809131360111305458014522762123548259304802195723152294445387728525420163218654186833248783039898364958751704996999304243351420235492199177337680493090059642244116732662322223144154619052617858165104022260282934487899258648443924145039109191041632164371737374599166364021935783729008536639028200395706067989218500373803571489813582269753695553883847867324636311801244320813253027225586464372525838109145732304962805589054030396544235681212646877571544846319537978557985692507323965526689698803945246200348017589899852273054472515115240933052830298692220463037963454320162323405682803286380447500750081034239436356904686843148037122575805784833616647867274522996987120453642327153013780778754866981156134734949743293656765535695036225843146568863972323415568590730666529890530981372734707456893170816836825996148797687977381665184258803832323305531000305133818129104208535020686295364151409574151009554260352512115649641685396000697808895025700102285058789384944861946617932957871056294787856828056623122943203318538392056706741663807518061542454983176577322835247739146643613874502789723192566268477737913611588573082564312295322450309838602183544893445706927849009907030676227749580419467667802088578346226048269875257108373782967457769300311196690492527533251960971760830503956400528134392130784084445036196360078943984970789046552959368534893815243379696139825950570042672017313861670738741282052624387761082741972372482562805579776494290546432899124811809606407404095661241030742841843538191246359932216401500248352864359133362960237976317741067823828597716743137076836312586159875008283806858092945918692619912000209781537540424565284517807073655113539844876878353566436401019769694877293722228816560618951379210764519293736562951305016327219096034636149072643714411438399145264272220616513486351420542162541172209483571227145602104396226838950079344557069297088394012712129400908164508778401802874537485386608590973042173097447578272654197370600730322720603225740037324557814940589079354056711234406828342935355575664026749954533329909387411669588660559924042497274813021574756686989224620313835469047594659368409594438722451384524658498446086623177653725604630915448830316007052609587851479771400392957944972433776160046334292808973228010031515017621154537218579873458756072604425002158658042344163379721349369151951676752855144529308463022139956011241252440273833585358988712276623503350924837994903112169597242846025674387051200827386398239115575587136651264819748139227357443794807272197673572687447968406324745186035473288799863617507989837975489882244763036368953958682817461178494665031557876264414384732533193690543872127229132025880411247800732219029925050752516017867399788451498015127765053237170266006570347698085327777400740529402584397881300399832747056938474565248400402777730251651911986524945442917635850884724151120516360828585411530880088733124763776260105711733754534741097038756129067000244779811666208267201201772867292892157009100005161460705949921831120517043450963689025603054656232218641060609339397671935360827440462644892778458192411971316791461255426017206008382361063682682700938324415569573523686011052458910598456857016218723166657507552259690285228343546016362574242392716256216033064376272749746912825560825653742195976130426701708418044011776395720536853744758885662507676366075565986461084276649315863553004406749947779310963413909576219204751621011980401070437210944353420061893113836190337187704302042095127344801913522389562070707033234219968197056465054603687556268110150633095674274686370571095081445408579253349984863047742984261008563551802662655728417349315150522446736507079216959474719655823009023102071939478128566965290500144303860291202213090009668568207636234989713270875687256349236926713725183949759332126954484526631509341071707552915576547727375968677401211646217365406089881989318554123337702333785637223587640752688433646494115627770210079388208544995850183596012540440326205405723074447671710029897118341454982803631692530402184409644435293301707626850526260311330252388560322862304029937612825626973510738252608517751695399011017924012886143893784718155198371196725440851794300298245015214309381658049607677389328908317861162241439828457251902701756767378918688105675194742816392834559851093067692194769321411073879444945212242129125731301075618058954834705081172029383754774331130673612411677375537508367648559753061244026373642352274257421269800831350896695922798719501427704278873572349089022013810920386940011406754371282052863596908498065236664730658757155181864510502580383213655738276045499201183734057887324703352697092155854531573874623391515425697071148553319035938109020366328083869279678584926540204472345682670101418534634856253604058939903014121833177876870444641897710228059562618476704969294577214969630381582118069560869255343244474904395568784571101801934693958636434504141244286908020224652581483361299997376734470264534080246287837977442160347069889237093115101488198018988785919657296336512219333088222372611628481499586866560876107174277735787747910550803246842985405333230569986613655860802391314081689585404279168944660989504080229346137548357804187400164762383891996375321120721972462880971962051713557401350817373056288455609956690059941269437020023589882181788695928394968138413946680934783867642330218482030812111489785763700614908991248557017378035003737634619914535354660565583925704594630142847617539586571651820848604767371817184635997901912737618244493266293331374413183831426454427688163998439753896188247666024404000056075148884891324913385845485874340878870771681687988031105663553488091256792065527010892877808359275715798261898314466662255992069678398855245236495441531275218919449393978929705896753191537825633986952378700599783837398997557566715645160465818223629948326958589938477252334201465467680469922585607585888244302361243004807413134252788521121500669622219516008781066678172944484656696987977181559045402100230592774748155424139715807832661979207691394669788409012085092223690496005098994716389020479707813563101716883287891978912442871387765406853261926281694013353511484293111264790703597096124878284897224072431591765759145742488590151700910339312725318475148613869285216889204378764833237814543795669434076863102699490272955437325355263403040503279449564361391340791537491875823853720819141937167550164751998850439271478678309441757977692267770634599753307092720487653792534393176851659686837709398330477653381965533880571147167531105778388143037287888995592633771853746019314443247351958543769905676055862798225873410850268038447085108052766637831195212154670253880479382286278454183318476348344946705211329862576475973789976364306559353427347121914810205050324318902746143519397141271643345433947744360120534525197257547236082715923002124867891153795420096415009880784162067378021809043524929598932149949967686406229294377129978318384915554246318830988763913676588540638029179523469641359798031334581298521606997619588338812337834452427578803691875239758921155479370334978378436549391379089752335671047460519194055984689016775362617910993247891048157945344104185063373710444819321992210425006072150680947101378235171902865718563988645910644430570835848364456946855798458604040337931628818156571226942411115253795706479438823394434517971599473863532491181041033219488813453422896659663046154473402878182831748704186655253972402645063737186124077648787131090013252336501994680795467839405870908022461515520716688560907547393068425429622397351861952845433588206424317492196038050512395035366924871535698262933434511621642033793212561605816796070421686750710964308318775185787041949334641274391146010883848206485872225144814916844428828641354601475166849316839474825887229578431699200909629011116282218323692544598989010824275931350203726341222882107812913521413384173240082936603616346589405335002919921880207552211108583976232844759059076035117873437747475665468388505519189820589644567751409756487697077169726641030991343185530365721894720282800640320916035109532007370456446606418344100650389379179179320944675717680363146671743178348581850874541496588162872896156047517529210909827895132284720460216909215357121371818155907768680407919749779311949497946029293453165170866478157255900049947695416528636017220187423791188307106264668918941989716951583277031470006519698814985599306299300877519331008371608701392481527713592053996105223981787248710681542079922048959119033766901517460175811528658011719263105792556358474669243173027094024040579161498850153315525826596687304427048570526228772519522316713968985293749144118536687813885732631121398675208004414683468161416885050204075415880592173971444007573861585238192791766881144316303541233070525809450460092038959685110924072841361994830851161715810401516903768920984879292407795678268965216668795984975239774083825986710260205683037657866899411398511967667685501194935336751314455628834177269445449644518780087570641713302099725017665528964478751886715492817642445111522633221627838305202842477814036941760733074679934925880669690091410283540881855669746224589412784821056998412425629360044139267534791340500767425504434070371209081642814253969364548408582956228391246757052983058807597350736197779708419479995782229599904150047135215465848410290106731325118834424915812032799734015446020966578223870319117867254836545373458237006503370942587124488209103328843390397157940197255980326694744259561639834329700505466823058352294463608141384702636575517628749644177780824946248266622229690045308476947228092004542574257865425102704654086119895847803330834720998986723708314902401642423822727583737574369417271561922849718391171947582461698570660105288730513682935650040704863185415410455662119271723421565446141690848591303750787735671297974681571243553598087053534102491018510404163530791040273411732668615464059364088796330671541490235911221337840162453230012213503101931397837600957974654835005334246384983449701996662817590265818113747248159309592390189679400738841618326244188570673787300188255447562821068945645637901952008563153982150511959199273753191376601692134430933701796389075540656876472129798837771392144041477598054036834544210173527828123909464714282678412228495644048364766023616231515518044616016193525893578213451016509808508132855543872453877371426679765384756818130094812533346874400816468385059644314392443783408605306532694773860151223042816805711529930756796386509550147853184449409539135782647081801334560943759390099213070599360124656735422279268897447592903696669269012728580036784773056848109918379116444768668077210491668152543592402128348449050503960272194667354274479308853822266898692534909980247012415222358509154984195062623098980682783888958632760226001753792300581919176041353471060164214917592526138751557607648991513662687241263658882363764214857654861426239115549154034573346557910654060161155751508674092393814618097648879348387939835837636723925229857386168793417411547120029851601417215707311900904328063965738901433359694785593282439296569657911825768038227425820262134235570502057126309836534914971703255883516472337240766610017134415965354061904653086068904075027172352092799340881269922522506334753867971358450030409451784611793952133987532446587880226480987785779558115003640796456852894225606291218596087105282908973177531896328631812220228712854419994059927778939109376
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Top