0 11 12 23 64 245 1186 6727 42568 291769 21258610 162570411 1293016012 10624239213 89721099614 775632595215 6842270179216 61434149214417 560233049817018 5179836547487219 48485638163028820 458900380113045621 4387012624265302022 42321922441927388823 411681611408738905624 4035101409416179956825 39827070152176065053226 395638171730786536392027 3953714301582104224640028 39729540734108100789732829 401288089604885196422468030 4072710647967776359626752031 41520264484482692472172204832 425072896187868958144355900833 4369001093937385099919635359434 45072837685573873783162651426435 466626043406633249377273080971236 4846848626415818129206804577224837 50501974063852675581558398339681238 527768984560740940981115128977865639 5530950003418854556511866720302265640 58118540404115307441088855526061281641 612254527425328813756002048872983962842 6465453112315216590448291259896413841643 68433159035195453474069141695548681107244 725920784562395862215504336681662948769645 7716570169111620779111453591297024058530446 82192468989542711232665739243633160585152047 877152557390664192735406673025042616906259248 9378183382250223025928981892405298623495158449 100445392552319879734458562446829441610652323650 1077651254680340074135668516534956102108321233651 11580689022493188370780599043029038231955079081652 124643949831349330132381160287261082125920131275253 1343578046252938070263641175632150833669556172520854 14503912563840096201936054594609646677152754445856055 156788801396143765753595686248102487909167594770739256 1697191117697569783044088217269282477259704078821110457 18395504425152388711095850674325788515257364568838298458 199635769997543045799854063622498431486176728533225155259 2169162992005848385609912636840083224998480865882771942460 23596933785349095994009594523647144011314597946588059414461 256987370778241907996668007800779746118595133707598570043262 2801849989695541382577459314126467673039170227403824155699263 30580156288234412465765128565392997985545247692211707438476864 334104087333487505357562781861147374040782075710057529817516865 3653905882509450469759578162129323716362823344476753371527852266 39999378665649192465608865452654202745622934952558883888515010467 438285281090070532033788580792645081621343932270314875127187576068 4806802362626605562438848904232938290102644327514673829032423676069 52764265316077819160850512128239625617311419755227347857125113348470 579691294232919194366533139648456318533375327942952185706018488892871 6374063467952917450085889619520326523323912861578123412071782216416072 70143691854715800154194914690545684665002088816990774223544818097595273 772509471250748074153047320211741145480738595961248892104916909830156474 8514373123950427769513899633492826995703649525679513406522505333344945675 93913128024007729659929695352698537551235154594106207593229971781638764876 1036611775270901898171339841609959163615693915523591503831628949468829812877 11450223110527466961023269126111114340921313830074541417409374226235312856878 126564478008323152056631275880357084664109747457198204837621098475275620928079 1399916655837831038511113155172761630832964332586956272916435173181876277164880 15494503812034559936380182794951599931120918371431154374473702714915194408937681 171605522634874066198590375210379452779917274054942814077247008105551451159662082 1901761936307306480945890844222037802618250750483319640787551542498459870344180883 21088505307413693691778662853862544732796103317158514563158329275988392820537763284 233988166617733490389747334507255354043620652223455407704410352876334790644924910485 2597732025223580501808852327651143031308530202423466680253954405370855305346561620086 28856342587584696422848047211261633564549349018099769192661131006596022535102513990487 320722207679702755055841961559436692038602627086263587966046907960843685345171464832088 3566581162825425369659938715973082336721887233531467289939549644161045301563970312112089 39683066761043941108013195280926093663113433870672037503947435866140782698299536299557690 441756820823114162068787349228304494577988734366953435281737206945521300596282889051888091 4920183175757913509886612815433229120707109058616143692661914525915524206381684533715558492 54826997617635617280938670959180895817162080720992809182312735537317806330812911819176425693 611249066808912455770369398351820646457934524323039884160153270381737687268015641086047467294 6817859108899163795710416841355054525810424348833500611026746688912673472165712284476835737695 76081586680707484848352508598219311585953913405749844485223901524757842341423292266202181286496 849392886077482450633109290495744678046780350457682006210911861142554000534415054481903015353697 9487048487066465903960743876128922902123356751463192349644297669489409250415460093020284029232498 106009091464005707563308911473041903936346289288143408613170931323318566973543881006870165252196899 11850611601359322355621907873646128446868521777871949258874270137649498922560175750415486745906784100 132531880417789777051436505065513685146279004048951026725853404983256898851417142523192318350981104101 1482785371288793704563536186916774775749995803049921622218886841705921837486371147342901348577016376102 16596291839839184546178777183406566346807108352333540918961750881948497087521915543526570833634577088103 185829763139100178950107155877348398249428374792509040025366117724724525446110650682468729423626390144104 2081553721150363715076637432760334971101191291110563272252752116624896737449863101086302008761279037216105 23325174906006535820913292055765092535534374567486056655693650314776496550095952786404983413087350764792106 261471293160243584251337791142823912220992856384045247934647070208724506345017967693234537045347211040992107 2932121172463173331803629551145850997947069517194245341169091847870583550408453212279636488782743152149376108 32892407617951804248655341894448830738334072051283364311499296511019784601743635340637156128612247747109152109 369115601446377015400718122922176700305453078380713223680833923973958801225829230356665880533593021979359600110 4143614511004927217102353356543177157048998646139315755613437383710598012511092819591882708782399396246897408111 46531149912206869590878003766570580519442912231603940743108211157827536304109520552368469906078736126441954176112 522700705261601254765576302000162401459583315526378300845886815709813920575760488216267494759053515174124049472113 5873604257796816697146302741516101208105879464110172017938565107712207316986306796565816389813676689741669003912114 66023124751817274472107182578609613303057424366828643136761674158224240135045199773390050216870340861741862832992115 742377552812750751194185604526837463330476796697603795966934487079897426586421230984627574113457983395135084196160116 8350040513092496027609981204609895525534145827888422374828960702664561913408045057753602103291110147954175558389984117 93947454726267837585022695007021006270587301893619421981805666003058049135169372678481937671809815426206762642335664118 1057333247932973983682052507355140565282143238723922825327447705223670479445423661986963851066997830446006340893670016119 11903289608784736530304912719491252832359166596247158317354568693780997336986034308991574283152127277954560465660326912120 134044257600902833141827972956096527256285462519339284538212258191997133024313517170401704385544237602561377428694467904121 1509918283019898481528980013817510224399913670939494824207020320419545865600513177036324234605832074905252417859480132368122 17012990372258317245688653043135034998593802670708503637607995723395458467680820927911828173192991177444775651171763382080123 191746685792582212727504919629231707420249649073630430835593823782664025431813871736548676682775962835503166716036662458880124 2161688624478786509739695012304842375440523870178273648509422501281915874134782840919973364609256562769994396295086766854592125 24376681276581937842984423755777452262614451076851974862619833139723977641508172124851769909842643211071545194368198035742880126 274960523917736570972020276331167741966736399615353074083530589769359483250171445138977380513730639821861346412924489230670848127 3102263182361233226379999618923743076874398948867511029636812878691863249209402983795733704656532929010755524367634241265071872128 35010450238683258620661056316638150267480573851571806069019710255677465488140701027489206998445144958019438460516138094754730368129 395208066251828144308263969123661410724821982211872180482125148952376144651934852851785343630084844416470849608328570961149941690130 4462325769373140390126294189241287008272053734110476786396763804122803239262238685846667493961137620267170531728013643576823968280131 50396743363598457079175799618194246456852268404360102367062283926331819829730119263126499480154070692273969468241047014042439993136132 569308672245354112329418113427297292499173525296861567847871431518885793614702498432859755338212386934253226305767771533079552311768133 6432735350818730565883310310111754608753246514038994531977058711496839722095269325969959085669554737100813750192708434973189520138988134 72701705119583148551788774805444426650905502370214022780694268392353970341832848017986457060995842824914146363850800014521301111301984135 821850907213992318204777883092259643706751656805609803122163894257311835162217130193272302858175463949466419394244490101973501678344128136 9292649279201397489855121957553359349020272183240136326830230619512902035534596185961909512034263050846135573651974157400706302635573840137 105095153061935002299218740211813408471163554413958698395620832178232093426757293025311587527013201185517323541027521923871467220572618972138 1188833568509696355831897906574557647193419796689212675914610296538241253832629120582082495422146216938571474944854142875824810496436719472139 13450960367082400271365593121407777932961744882780775200898182173481832210125504127807187592566961987312932703177979722809446486998771709248140 152222218127879971401043075139919179905050672965207479489945243478348030819893430369242930913200602897876698077653106774839582719654762200848141 1723034627767327080102876422190955849687853186119557732057944030350714781175024008400546242994417654725246244364626407915673187111020204702136142 19507422327161900506330139513083714834951523158934887986903262428058189559543185032049925402507955902881041074436917343175202846570711441985664143 220899346094436284385158162166160191645485446137258952256906880612031482623439852658515955745798502208434495962176982332619816470801526647807168144 2501937204811110368776868728998210640189793308838814237450465979770572806761694145442416459917572884827749078736141716906087031085036534562646560145 28342920912444647353942887514479712484725991681976901196446937111050588224909375499383637576265259050334555914416909104021763291914107230387033788146 321142547032104124840683137080655982228576115512914412066144934098065453830455545426949429660580070396390517848398773885836585909035679114368004048147 3639443448271073555205133140131198492443306395055286554880421110837329866337151378056200321645090253264257425108086576837944804104860572658864679648148 41252935209726588580400711507143930048130419676822603072860660925070865777377355262101104651235474561709670348639374933100880108171682804776086838160149 467688158474794924461366585513739201485581096987696740373622441606729095939621882830280235468795309573244123970224707026439737144841141945419192674408150 5303205353535419581339527190017039080171397996244759363747283795318033393618204521525708138589558680727288885873344147961560273993122625506667744304576151 60145064998107268970471119040626055671893124148396359633024987760400354961598643632074752253978453365319417097973193376750101159595946596047637432114944152 682244416614138422861344853582142826021312806415387275317162694126538448801766475165747374464004846813170200166604540632412863833906672740406058878961760153 7740292870912533511708961538087444726137202869416616178021017444030119322935606900246106465509696358502336779019177648688953758132175420922150897413513752154 87831682623337445890879722328940947207835802081306960101675230702217089449913412060225736653331185859638860842722363158058945902094474827767559729756815328155 996828466709173137991284843501206216773807030926796573071339585970861575600133124804204424458243620678262121263323928791907528282881110043114443122672838144156 11315248942835861656308293544281355892640745992951308135128494679343525708750351078880658806113800833847893084388706164829683449974397323602886095765305969824157 128463957872432340633801502882645729011634120206474301468332826942127346506314082945038644572109529000492149710018859369438132704564498043772404472828883720816158 1458717039235204706236404278015493539529301613603006816662011218753130052959297549764418824974799320850134126686416746223347662706601647729129263582597933553664159 16566565174507767795315508700301953220104702481382684104974003711036229444330422101008114486576227592607862310942167680695145137924103044847935286726832739054720160 188176182729013542885680999526987742041626389483746179549760031834078001643580533837495756645948421187744372656059018804431052779276301549443588252355269909597248161 2137798261077261552243333920762476720914419698086634393229564060525307307034473863254907828636978927149153087248645726667055838725751580465047634429343945173223372162 24290575572922671638997020968342165149358096519044411451692658857940821512598042236802403517891381661927993431776868125129952214798166678039450368017093228151105104163 276043207941532949791077608522387790778407619576138795633490159088374361257163909565196005506161953579808217681164635882469512691536956533029010808368213312081084704164 3137499520188578964104556649945848539370565721666706001157956385028327772583425252846748905152509049338793277121791470428032697497311452141609652483532340061694237520165 35666196342584797101933299306971050034556017422328827384497629202370548545149979111483845295610338412987983139011118919225161428535113711548754277770552949386938148072166 405504471801762250144221108922583806219661100458679060817371565624009348392421360901714614680628531334114783047966706782376795806860907082219701439430631089913371173952167 4611045802487259645025278818561365282192169762966097772629379497921535848280607923579401773061145255561826626031135499494633822017022414463815431917924941431586312142208168 52440568077922089478016794189757505312476428606090291964417906758896690234928342987806932425372730550358911611712443456816513964480748105026425354136378297186662795000928169 596483923135883767292488023624488031256729314683282946802643789523639291758086675116682078469611989763047093924429930327582641037634178559900940231622710506535761965237736170 6785670312351104711507865884921655767711834606500511228180997456950494708006011749442796542133668546292448729380011696678842238988764119896753062860167173849644207612287136171 77205580388516114440054616958493109011836728165421153181046172934570335539023322094854291470711547680051970209070572764234451523114715334528612603357469916765404147835124864172 878548684968982624906008365806238299026625283600900625911580571038756109528362200598489327804854344005615581207557330199636082176064861529414580218143824988822194564303148896173 9998698438552208758851277899895243935392908931811042614423892759902092217020816484397326271493943087408923435236170605718718362675031355818267365515016690822783713288271119696174 113810127043185069280349105152939898183063550354181361329071700472147592909771133583673213737112333990519096771625059196480920626442726021614515848082347301779377146923407576320175 1295619462019175225205442550985323504289718649662840726132189675918189803774334653598288558361115367621203039592507054836893383854987911910077012345432781509095812912793079385728176 14751373628579990212963137988125458098747397135105269538851694862745953316582483332692139737336592631435605491824851416049609051153078318409877465932898073215030077210202900621504177 167975231242680752420632195666677995574305012779668755794440001552815587209475589976825890415814381815160774550714056758811620623077976318982090691350786429239419195305656797967096178 1913000868286871688724557728430864327301385141864373167270912575540955098358985340535679863941143315503470667018945562317466763792032181864254660442977627568556946128633444140203168179 21789214945134393711760530755259383615693923049760500017351504364248121110965216072775631422875298046579414942393476502548982741536090334838739016370558818057476048043464009307039936180 248212625036879171046662945574376485471992636105574719890997778164489547660840810188520084263144737400230902251518804116053106593771572833536648164596517931424091535037211863503911200181 2827882778373980653336199315916198635362218856865262061650755777826654831652420066277710134834979769429319539157253869327201446470659373280611480848519802612183833812136946125098412624182 32222080793965733111518222777649104811037237771413266410188857492491833022654660224272050358040467434112792870112106434980664284278283326187168650335415827172020830994186077913181784448183 367197577829634516324053525401271504717732496041570161186525166712564852060500803240136301667370616228900741424466376463202640368961197627219125332695637289946157815950956749332495347712184 4185038831078899979487849917945041491546387680801170862747895563434935642863284146914169836057695304141947438848719211480882997173190722789230792689999050276012604284259638758498133435072185 47703699080085044885126815031413359051170990039493137833201016446737417257497863882265427133058211805368406271653988972233028203843791680335914338212373938621222660347828113212403556366448186 543822201201349299750157800884243666686293933518693614279122910894797963458351677729977329358061268013257273101347493260130904188188769846294455973550360700384086160029598654932271595403968187 6200312264045504680334940426214106715500842418854890030638591507210784057177854935028902489762483767040647399024377576551557968754806513007887564598199572250608453099570875451323733136744960188 70700322137850203517636826846410385961895453937643520386951902000061948239360038153932705903233935243578752377421662220784845500844400436158153243509469633210983841452457419167095809247989824189 806268852320176557515237836244934442488202766130633057650159707107477657324620402120068939679161421661288202488861559325590203033850564264562062024660939882095123716471954779835292499407946848190 9195778431136578577560992726023844008089916678116993658935874077900579977050575088686510215858754252493140438805538593521183800992271041333049485024092575704866567530764217471315095192204729344191 104893050497774947599298729598203067077994733606887882540246429883718609762316388141803637578169546317326835943074633859931694834649747609735513973156196907381279065375426575884449999952807975168192 1196613828071189632066719074307606658694430217685687480285176330730754127548799878503390160749048024630975364707476431679888748024381387126558414115938954904563877677725716785407165630841023961728193 13652427982981136867609648181945028570492962700377380864007159673408847403865954455472938760185914014009674014394698714871391004042744088946332551042672959874445782937979119595325977515068147480292194 155780769941173591340176749920209373607029615303414559279405709789593956613004602703214040460705275022376425836719164988361570000745621859921167121447116064419785169162009303828717088731789509335920195 1777728271572043782499716005671310938053555355841435758711605579387634883550505577177988177761605774436194532935540129457991296048737227977661342363976446723951184235757278188789829388849052835109856196 20289157248642119519465307386030798065947286146616790592668477909889221069348526465362943568175989243431243576077445563959937626194455007112410212184900567219426111750353836746463463151765127679946736197 231584375232789179358523248784077825676334773548678874979020225887696651462358449412746446307756527930517038499912678458841177994428668991520107612874403564592969823077591770278364216977203754954650488198 2643629854537575138247800848881704721331270097076674624558242374225218049714240876067332963134679974585955123049019747467107939792380983128156477479882691093466024002221317540717249997437724433403132352199 30181284798721292769924685975444865493867767843406353912590868783133703104254873261143558051285792352560160444240115019999310207186533886801987943671621832609736171414114244809404454957341373506855348096200 344603770494622316273191015536473228977222052672032859131611656377458383941395366217930497573160224573589660673995521714711074929814990396519658545390222095690499386347391626480255434498208794763271923232201 3935021432413583768833415643958331585884850259612725452384586538716550726773790576989749541306459376482337242609931977460109760838754343504343377495364593353898099216446321665157970453048256758750262918168202 44938493732744357021161779823603999985065773683878788468306185705765045723328638075590964292081045441575307004848688317883417533213813220212392617637520313264160739302373441202842099300502220470501172876896203 513255741341801032569042398642429210911111051663595112514250119151342215947602430384072116117382603899395236526091810760476578270588448009407356773775435776249871431600189885364425138897165721893598149925504204 5862631345710154527660109622821043280194015836137701380865895588818641238423108166166553602684802129989144219344304884260723112481675332422690805552708196818438470949353640002561164869265938173029396304431264205 66972173867348105398973324062975701656499336654223014440368420454441117351358470358898604943696553237860360989978973682496501396713807318287806639842245642377554592094198278797229387761276039000179330974588208206 765136339962891386342147857607641098906416701358140838421273487475971654034978528307781902463965847926623666833533939975391082352751319155360558892331287614526839897232790934878284698757424890889811366952734976207 8742295320858632619822015507566372949979988375892736427724281659041044183063970980516315398391806103578696190206413387678104087934161969872795745513194328598268240554477860039042484599055985144167337386863750016208 99897339502330457338485707138125001018869772201365494611503548817598932290582601112608738546426803867375952694568281006870159281007361702930646556832048925418322690820091400923335515565503285848146068460047942976209 1141625802252904615414622259058819757779094790230120492142953107108031645788179729937240546031289389791159592968220724800683341058372072277078549811448132764105094221242139216942470141897032359740441470479565785976210 13047720350268069745483850230468217820759839330839576717188254362457493932500099588307543367895508490863789964283290177135312423363243685411516781104056478402731041037996142571407704373285917262437329820615535230368211 149137248270492691401124549227108624171114526850978139600993080688561788618818812254919699036687641735128278899657424205246057985779673551114849513236205196588512643429195894576304780477255469875547300130249439740864212 1704817322848171527061154175605326705609857986548975612563121575689764741882655521697514747887383275248645264699640814607522473877800747181614665887655948159953041060836195977478911522027905433509356040114456942923552213 19489892065083570057003937242730387119442734830485886374235398634516582041246883950519765742581918631619969964641678435330960599612599601570204838253731766320199668882818790461042799882913597294209831342343595226693072214 222833512537021738162519630299225412938568003547939235773221769502827695883644632075114771952822302478932173135671754925072582553825280281569945064432563233525200366007954914204176390271349534583103326125791857352828800215 2547948810997501610155830946985537246040611928440238992725189485857288932516130326911503802101808934511584789399161556126359629086697211961859169574898559040816108258687620595251827984378547785906670422534276143013601792216 29136652157322258022320659309333212539777583505559853897899400798317338255134276546757940223483278476530297303307793725221069474921994438495353396602055352764062805640644755413883271290353940981460158402456601761372294336217 333216885361095611538753417399548269217083559594580971179016313735836768668411360397459488160148886398999907859811175070348249191263212684552663201281379288611935565946960407454308883205555407114306969791837400015974476976218 3811118042380526975367249571741524242290445848138692025102865364632428358231112609807832154400200258364783093002765389406691543302115318744631399062052373973855459694057555806663953340151488403692590991602999835294364206528219 43592873893575132296344444684126226953442324822601277266210075620872224290993255684249471400545298136372499903376547874077893428121458170692701561373394421407818085839803995471214611972727915927466923520675121086617912141824220 498673121027212314408492593486614472712210002243020622589836060346366806595679821269112736085529138652829873352270481221936886628863198136134274666224813263480466646764305029434720502275654901210749677632314249774769814046528221 5704970968022741921048315560093625413028267839182108420230452285200417086986667532698239177188961642984674738268976775481605001262170592865055443939635867997197822977538378618890366647176253345102729796673067063540943150013408222 65272102750898308815779034254964524301870526371199310791301277480221407509079920218405594864372988213897017772106455318341892389703332360139029452175728847299244614656398712410067210872960536461271075629311296489828353888577536223 746858152800645364684533444058302851140237483382969899168302205174463183718339164220581914772361908209216078356647728147049591938090109085861132228452668374312620717455600829756907930842749012867100383689832967866832865121315072224 8546428844858863691778813661107756533097182510925164813473335657106195073536772843790628010684969829663901776249978915258439125211167810084439429515198355903945857160078719376112144637043420486478310053534849645118424863752060032225 97806326689046684456933928721325082004665138359036426845556252189085907764798821260802985507076426187278481707872646480282609357003536496075751610471261843224223496149208567696102785654543134188549823125548167223860313385373180296226 1119398219639320148617617804461504206728626466670130609584519207953220759842249646120731472066748176639527324977758327499473809271858450912355912459435891479369456458345714276859616114236420601095512256992538079676515406872884124896227 12812602699892717074031191431428528022847561478875768561938301023297089409089572187924626414493435360584564270184528729760389761751774061158420422608109686525677545709961581117072675675220070929054462068757245906811629870074345429696228 146664458675053721387942086710261650684540599251513146652008117049858778475075365883706473240383328932970583528318684503120441461339365493610605025815641310391491136227719101416331545843092677776892928099504035885677274729456248926432229 1678985248355473170300888168534722694085107389243679888884305409575424745088297267682026680980419986033951276291479589266829329538608599167467571116626214180797230207886476323845321870412146582389838236267869759118005565993087586082544230 19222198160965892342430078682791005901276623592441869444102269581504598766541451808366549716996772050813827364573374687374339742326552321233219286829623406460429421868986159451556675360185430894598514587335955724575744956325013654180224231 220086344264175883696295827996620611981751078536005317687000563434870388957008700179831563480041026832075756687394084074280695645765165723661483216890974205463010230953133371649588512838350464489299016083847153813777298779950146729878784232 2520093928723278478496693057555690141312584990271515753160521029504679316377849058743280584667471351884430597416345079937367116966440911938533682131104666790870839622330390256499446532967767615446490459390626802792392953201381325604942912233 28858493509307094709614614354056726898218349307764388538627424034155161030766381215465800122553639088352706926374592021249093393893780490635019648098318400080791484789238115173289084024010578942106172590153655142139897529065672072460675440234 330494012488774441063453923670001207299518324982527710413973873872911711554050731209156778682590583245322093043732682386307193711437142541791572895983527234737463413714415457774552186058719290465956153758925084081543086358219403985264498624235 3785177645443519992313315139524343671921917653501586866888257931043061165367614995621267655853071755687742851009100863603761174298890665340026333310651643356544763880400379396576622720079157609967499769335155159198329766733196370482962519808236 43355219642438044524241381689480937951478832601081877797255513284998412569999325304088325999182734366064880572197715701556767174135473519815858166801655964131792990371960513951362543126884272587375680050777565002218458850467587670329727767616237 496625133135992605852847059468545214259089952030069673462264586099066972387560481566743804589465299245267414755517036587996783651230161743100867049361846116120512949834008339154079092843461744301481786529138702753740041971015880251631234674144238 5689156848664868911404654514806335354452212151067419012363501254116002879199880040184462221167567242330297837672114529430124527439442744692419801820747719906842671855634068774324533915787065371639394442595299918402560126158880637905089932912128239 65177659665471620712198989969721308227409156541712278231493588013957259735164295889010400408278451827382293394407285190898127755924294954495711800850749826563085231099736184513467113806061324229488380447137716720492155257909211283715003605352192240 746759911176418370361728904213807707215400461060232377154152286564553161316962366259902172928809196465473322829382480502493012432356726405702585902147842184508666906298495814455122033982898034600987894793690895390700309626903735155522409026165888241 8556464373592149071818439719868693124804036022682308022166777793039201847242189944605420692599485281721144760724835122328374278576879462481147706457101918707133300768355910961478730560396700406402902683124977657521769221164383561473826915374742544242 98047959103928835783908490391426319937520541861696594641634211451983733686723614938502287791869560023644204841640063789621305625764090877024911007484849587567838703825680207036776317192600829099560380619878749783905702131937345407183595989327065792243 1123604258362282862399777183676509341634880430668247496281118425071212230185266315475578992140295950675489924439443925014328061540798784758436118029361818366378156854029895978698573348042624667736735377052659813051513788522469631964016717088846086784244 12877114297647828007231686598138139337680584069709356160447840618823827573059609300360336328134974052668920750284836278289611888798038333972018032401156894336382262570279736177795158751532733951508956313445717848256243721236160147574477244637333562816245 147588946404679556767495350870418508584035743415028952537133493857581391472525127944709482362662296792004159548513840099979424647666839409147989136900915982560264750538236856932193394797691807273253824902743982748642400841650118721274610138921807291744246 1691682970442320278995163212698640686732175636685989361436005229097097585315822050203504923500909876284884383704344526824856650250215121144411975496654711312790543857863044405543347855341879779022318486853670323568440233327305960178211638417961555391744247 19391604442250058951686807602054012269742637034361421829991236845864933014030244717606541172864000213031297244043375648512171253721437815081786220834887752007592491793698962919679614773807944335107198113352724540291118311750598464023817861031600390166528248 222299196113765245894460080369274171015073118786785007866823685891150350130689525912964066463075218403048108492810985819267407223232351018260768196864885547746498007676916079962452748995749495782739784255672203663883995822193335146009407988719919979131520249 2548538431131339502359092236232208762386617628971319370555870514078642173690281564050989069825730950860539926158951065731054813555854053829134625787735298216484142267933071501318137865527032976502924992021177807529991748701294080736553041489130196189344288250 29219541363662446096224594434894015715714035141951811146248720395707809610580918820885071565468933114007750235529297134211474696889377676445198814043471983676565375120356042160833731054295403438224363231565164278123680371947345544132495668893854419467423360251 335030453656178109104184720041066824105814634073408792520272448878053828638982447530646387289462103603455327794803579060603970823015435769296755486659909366205865419125871689152108895337321090125683549427186860461556853810887635844612384122038334320348447744252 3841701621651628406064555229035341663068135020805308039444892328401539437735259793170166690761498071130881655313986802666992797195249706704043653147591962795505264730041483931253052479643140621562816630793122595893090361481812815235695579800458793982942524288253 44054594331258430628046642054711494635430986684192320516866926637490712017534305552428196401307212715924771576438835087845839279723875734816201405092450031693941975216792232973941476660737101035518534210190096308432002042076076995100757015209948546781089173824254 505227276813231535144363201640890691422032826939308281985873022929822648271143672514890031913677725946754996520309623508696763799986855960112037831221951389301045808097711870054869813196031499921319881896986717726523877684539596093317864143801409937013782370304255 5794422532079438289998873438707190431239840192350296205670998755791016004892265400228012687622333631854018460363101938000206338912839975949736535716704101936590548999365961937480229960997510302032939320766235456969728888966982883671712477199659605474978033962496256 66460117250111739218266444447308573181934297592522544230885998737689215814175156123071214316647592015661873488506334066336536957504902222124469491067971589942103146062920981486107650703484961723139924732786990026315604618547137777797577630361803670829783573357312257 762323664463509403744501262601831620493085040996032554378606702735503838500509374157006632680828876411708356621423552867227749926664208645398195731402352626798885873093602197152736867642347463302655473297651527364674326085621948407774570812438994710667737874297274258 8744698576336653652652002967831243919680861569850722785871690336438964564431315248084235489482917554419546841918454215202182324804693237150487876578412040944794414141696728412877150584807295492590770477679021466920217949118431147108563614114755448841976391698635544259 100317620313484256036391743657660299180807499486458766999104347827924604635273821959596012495715993256432523971317882114118850093119254484286241907812614939938702912175692165464578461592867432718131697734969751145886768188353380214820570978937926293951936950684040240260 1150896650404587761948488051208228963917685509475018017171647904708241461099522354797567753499784571644623259350816771641140037613544466554396682776956004154089577072213910818615654886580367424277251917843969825109608438936236523482102291458442521405995583829356261848261 13204499766050774490224838527932775356431067524392279547969888270252134889632259229844087377096415830488507228614462769007589753156335696140343007802938107645213263220767667362313839844687013833245807530906042718125821963205407695720235565765151464826852714322556979308262 151507419190899091965506640579172743393210182628567364594410561210324783970792332091095519487747908744992468094612378249338894464790356933429390801649784151225354929537553495193943954860990654322709182745423317329379559072352061292927410504875489415138062439242975127904263 1738489081415291782220241503625994798579026145448800561302406463996568102341416635724782321123215727917035038610879048777179595906918737819661369699610413376429332608032058730924912994069967364868655147311406346939230086677473128221877234402845432120212719734081104252352264 19949681038785513093965542250258647305016993987384502220338599406181516312861197371426338843879267146199825436940252442131819513134663022720185890520157388739285762384182089091336883142149556116950495328999669796885349341431515105528565074246247324952060933631418455544912265 228942105088502177813790799330354219289413494582729620007643147804548423400345438688466778149822665766931421774287030822901624520026231135634098888436559478126131027437313193733614321801064516632239822921710482575328387668311131967739194934029206936538433916117975809963932266 2627489081205923228317143836746029143460025813173780240187981583616008121916777416387459509171414763235545649601622945925357277737128850549905617395351809850620244156936438676213636316974505774070469361070742912966500905251731577549307246459343651525916166437677806175551600267 30156539879796840086440540893193297155653398327196168855075736633091897836925145316044575107228466374123457024723588065407728587381538835984016431715838011625492782546575477412172881038942818021938519890716921619932245650070340706161487911331315567757087496098946622960820032268 346136383592874886261196208422666669960950880093060927446775350714568717268654751254441687235273179372081789611786390940768515041080372912285218902091249170200571218424871440254132741943148147829479317830463627551237296594656045574789875619652449846545629497715415984015358992269 3973177427539755413222917638514133023303380078420002896763230059556028583892088639864782772008963046144872616338129747650022648259338788603528808695725530904980700963801163106651313627854414769092070476337379921967307300380341327915076327546519482429626147703162773162111346744270 45609304274037268473890786220616918154794517493955704437206197505018672123584162141400949784305888711479900812839851162700070481768618762466938061219440542133725009580605278628746038248885412602069925213028992155949994758374883779840249952262143149720633866601733303118651008128271 523592640006669446915943374368303595422092322574994493098140529066575863574572886512107711102600142499580851288027827526658683409611209915269605043279897327954450181960748902592151594043547363379891489741468732568438566737863043848736719379544983979060043237226915065715252862144272 6011156507234661138623277737781781839158237117423185166267053664910881471919084274771972495344326970941045420947190021894623898636184457872349298839518526741613255701499542044965992620189381430205520088722982529485699671668082001661616788615424208387509864298763177002430842384416273 69015521747453573226504610609105072898583403615662244229261658955777795421446670202920541202209265163133695932943007598470709580443549774369584231482781510139835735300141030125761904184666184622766942430326948171882858095532997387291165320109393296202879902926234430665809323936540274 792427568957428712685673318167624484597266407872573058460532238445156940243957659235620690357220246237125000681288307151936858129435932340453043886553262897238496091975058028168110772364209820721890900506428815738497243751881079759336534276553836163812306309616410509274308103873104275 9099054435195996398508009446561699135063966224223610588468882534781950080665400718201463856323958144538197752841593382064709664476296765177249721729513784131781629724681746726231819640243843773847190696186194875227648179952630206928346355914911314788209390408333544004857771355022304276 104485653347440371791441961181482380179623540210513003121065725879697874444000980371121473510959621030351277984358042878837652103197512103410651605711803387444164272714385845752958689614712454270181049756119319356540880541127757884843796770966866654249394748091991818511152903661796880277 1199887706273206159204485952547418175264199742408963397676449751049675482322064393837235608107519573285171328648107660133310204098652615161172158062258694073205364119208078415258022145989017003702943118476291363666842967647698412442912081535651354594044518135665437216654958273584853928278 13779958727340856228158814121346572941030055136109628920692065960924948448709986837456251626626010349074547239711521823306761059931371298409234026791751199054727283609998597247525717819354719701818131753365067231669175356195967543946012833055947608649840369120563410274352927070757593024279 158262650391639882712796023403709408667376863002268004217546913360069888129216356596649923588223265084436789797632605293764094301257131890885951451452412747712414105340431700779583303334690977794331762143447710957953305741227524616992462681803055681313957362493323644554747474955240422144280 1817740949501080753541186794877072085303696714777100711866333960395401172260712439190384825601292552861252355545935586049127511812505291736585997629201220720005263592953807378941428310900793665582533826846829364049961165135439896643970760169736974979508349552699289694008653798563684604768281 20878938847038274141216185952887311217828380453871610132350568200587933745359456262132756044983884092359198214025666482468602885888312689810087180678787523243429870028490282755999234617574684460139330457951913308366952963343666025850985567847191512318315097902072431477871518560168803172440282 239832241328516859605145731330268066713270956301873212701950399962655393327311007987781093052665106902425750957646071082398072692807157933836789957544845393401955901509457375107643537897747189216338256516511800332803281364345811685171549843726723946185671535733391024683915679431666981595360283 2755048585128620976417431105580682648394661034707259078602937864846005658048681325000826985036525408641812637174225727434056915835911519564455522843538565402146173401570056015399513323116583764263177926409861712653896917256414634809766839317737683634825715325270655357066894753631836633887232284 31649973527445324065199934285377199078801882943113524059515958893347877367734005362567217165909064332045176455414019730571800296419122946250418174162319143326794706745598284332756314333706367633903429541580318722859476319024829984657878070607545402581849321869296206414632222251748535459900320285 363613229723260879310851192125059208284366129263505022782010365993894431591975115420190363719888297659467316693336427568280327349356913438035227779770810796992513635921534969335770360333707259964713350544645675968073987699084376446827513492786859545353947930834780020428741426738817383965144816286 4177611806817747043194405614005382006168910522061393532959373737151598573474453109919697265845925941717987535114034217037936676260968965912337482190437377792863068754575215705476784622878681784044328871400382618701642621494419438518761978841565946424644064399190841012798582974159878442935177216287 47999687971095938685660982645496573001160902321447935130384487918167372109032148662133315548920068965453908262672288818071048256914875187319968666116270517476722556503392860141930461477916691234348578430047104134941025750007833789821588655757441552260849207953873996806670073680208374798606223488288 551531752984658226142544383081114303584216964863086825504480143540809924845848389918831994609347075450446999665340758183150812352142021654228120120454396076492915742371388573281381428668889854971037997704578199837575777817010228013412516164146162796655266060177383357121705563446797073797894457920289 6337591625426387499305006259320767963958883551800758733606713371966088375448756694303603458182991794684068250584960062297436880949417003572435816782057684253201280016545489895351545853331851326458207983367062754935357704737768007724844112493587148796378061611925301347652138433003707632088532100668290 72828179847775259014508635322906242688386728466330690476564600836771541451311305216093677754231195628921632355792051780227223663584364904328322351779870419377288240068688663239383574426741400443584390330959269187040455401149469938059465222769179353176767882846680751182506353528035701907061016526992291 836943205051358329941006598218613720365552964791442071988961172054350538906169202146396986419140629053349740952655547747672840694640204832090801493370874614728137164704396604648410882716867417669332094942889164580377013487370826735055901065363538681049656340435957115177084722391331005426920671576480292 9618640660146793270911440514079823281926999342992779334474984361435928891734472963041756847220847308170469234998187123030158571471396001293156745029276432575069038844252199736042820048624126633946883543227473547410339742412776765118049703300145164920391028730138409499796936326870723196754178485351312293 110548396919166793678245658447861003223568644432276575469124324390375526502085297963452929516294579385110489025057716715942565112738035399827307440036974388034213546218767467443467758863003247436634356481352167500253277121784373288877817975703770170365611599946883273836688610538290544883990830709129992294 1270609479552116497499275614999094088345992721788343260845449029495125474887017720198012688756872158356334473473700273567273688516678601799826753070266841395561308748883273871211714958371563798088658363371691165305949735970451536227914398902483754797181279347239036355569480857319673726968573887196994880295 14604694757628237982259117163885571595896817972474391723083608727380376041524508039820439947889018709650788114139613786681129921377940449131569716070221846543358187720741304762625811515933281398656133601061371357893186157064464130705133809583178977063868943709491918207932504498069821721718251445242249088296 167877885007419981081778091784441255123133492116234713098508875346078173955408199563858004642391216309666442207054002416969629603618727434412144214659649662992791094254248706065627217231947841384464839154840623094574284376319501933938000930247237649979321486198848061868765066434070548807070664799384761312297 1929811838289360276784521524739890088594410050426337390342561064617765562746111356193386722635164117231526465784318081436583127191936254520926738268862848181441860458157617936659413997716305754295725193427672073521907667871995079360101009536829750324736375936311215387322306220771515120386855468660188909448298 22184864388259073445726807827669781257231533823736133433365010843224628404920345424684858753683202714158180140050642638736349127301851318829940119873801046672662253456478137431538247315740100872917551307521024282224738844073234415442761436499188272768019461777016563563154842203282112693689179110957492827936299 255046160138219385295380796792528398068814129208034302856717861263848636616673342554625791405961394486384530683727126769461641832349631622071969276615058458477306601075164246964628978961075713655661880319021584531647428736902720091254143192012082593387294794750394474089349077948834007177246986191653817524864300 2932249120914693562814382453087519369269755423635699968462785150370472992590748444462739683827617043398869803771313966981612103042878784667974227481086096244898942606733345750535817180728401062355223765709226334441280411054925466239608049470716385258175340714796341196419121067090118156655706977884136042171616301 33713424666558537651080018041608632752196112554490812307243109744271584131376703661925271997187292362239679710174671317897884800662700259166057594379816190264905006878732379730098083851768913494838739580226583024550667058731232510962040630909721468241900246533600987456839818526947259229162947383364028341963920302 387636511467109350268599904157665156350159756569179108259584813176388820772768763721081760191739714408019889906428040589838353794817741245630349434829345004600921913577696751685260532648995724830590606691132703083291915044184645560310386020482709240995093897177539676277793918316188845727406039476393456070748416303 4457241342791808369283735727746145264041808529500180204640488553680133442563595642055775681563887103330596794389785683942659592862465376916536682869030686374196434018101197734350426296867379043666794599391811319626442583043792803710014429771352021892208949581282975991169600560045103308796835821662846357436588160304 51253928965327446200670597952176260914374075838640121220606226024058234725452747320942185747667385871207531709576727730904523706473382600539187137616553830118440962653845799655113768304224157915851461879032474816886615043911369737155554922810055578613500278161119188841309621022671792824418839685797541924791083968305 589396545287273819502763526844906423739042864283354629546912472329367342183691739405327906101416678212029306584814607888356616225613368564613421670110960272705010626891810534150326412169417761361723538361176455886250944819052893632613015911986638090636382518107178827550189358679332841264015624504013232651116694936306 6778089405998687064512309404650498777807300876062456009851164339134318646836986701770436232684060906583778039614415072167293523625846072345393017585644806666410007079000331947068506736128742516665581529426402434006510677627896797172443532450259782817566790053771591546497548224845220681922567707167045274531132900384307 77951801873321545804619476758703118243000824218348270334494342190239058439866884519801002861159668313072037694541296199032666357127429893698546378451351127276339552849473368643187494545434119911234215093334165373486153325611136733867340747812849434836548454198837381248290953587291039832152285649479403772771925390784308 896528412526644075407774142401009733582940538487087470863667969659309293560831303459285959269636687940291101172463452679400357556000931409183901163675298459200497255978014039214073386415658718616867250231629255820168284636100615736049430856942341122300629367725235355045815267720404898494628529860748595770466263321248309 10311476764053421078146620072221987255799672966851278553427017810972302026373781881818619491305135767733631620223890211007936548375410014739957431269723767343725367509183986961246826588461639054346787746583635782626328164019621685176110805671584496480278083471643096122365327800140060059503588939417675959719334589147664310 118603216146571865642517913557208039349335340778752228881977197411555325174405564309790182609860003988661385314037895989682097839756382067524474045623746315271855721816981490038518098944981294382895146001185055984897426259139615575551078503501145195443794464256451281754012627736891552938766390488434762802993112891679616311 1364239852442307519125641158673786311137235126576050827253981271984850789369547910168180281119482157059150228273774418645185744225283807565753109405265899142535836962441879792138786318188641469314070413100265502602680336642095649452385471278982450061525639868297606691062329529083325456093167534109327086214090433914279936312 15692912251640646433569551383282348361203942190616721731392807661903948766447024542665256285312824151975142751178090398223191747598741117121292336086829533465095165672054017784298609373800705809940710735458292243356434798860045744450198020053165533868504423734740827617053153271665211845257663563365268982982834830036554688313 180523934438082622496092497774508084173008918749633763823702461036301552714133675337128303299905682613032669373573062137299011327818077026763432251569014981169000368728697986905848241104706825688640591153937471132810650890838906367152603907107606187248389714011208428508987759210891789750749240604963634141688344960141160624314 2076750607726784767800847160034492967434471542753181845195886634242342752935785872785997100010061835042802579988134577221567310337228107759938951417593477228500754620386147304347393782975838769210191318652666852340927845958667075090999572551157287665750005689771973192651813450353406895388759988133166184864848298805992132544315 23891977558499785685687803390213497053856644141375355721174412283555170901888313386169999741022309345750240940822538543060325597281941769144860828833164838877500302851402950863950937421090154046351227261474662420262624589423817332437633897888267356683261337324345083414437993660704602477792682223619870872177154038464790647296316 274876701571405486074226510752813293859378175843425919730026239632144770374223436950247089054659192906370511026314620593967784995745331292196952606221996110499522332202434552611741258864004635537201020911890657643666228655917652407823201564540181053619725800680912497563222248417413531895125070895046044508065448939962520250176317 3162581528774624410758688078219351785284791410488134743988028278999561385475512484004230874459820248940727009467688869602318649007839964019390394735030805538772325545365151840286088646713181969120956767337938928855826429726418313770360972863203229997783890177316632606960188381834786012399668154158545509796991416233902378601184318 36388435439175778262529794564165886662445980715209918883201551985423584485296509468769854823383104079381089336598339383274464879174590221789815841537497080737072673914796677334667816883138141089856000760837647318585604371514109994565029212225375884162087045401644521715423880414169426523770450260977376575515458349103347946970112319 418699823337513119012498935795183583231334427789608799905874563186054611137536950526486839025569586594679213386480251519397111357959459143960517548052302731105844740984073073047768952486204758340363559160903758808859604974377242589335068482506405368953052688797250653510066390209223143381744725385660116335330596673161272234288384320 4817922425981293068212779433899303066520102741456181079483439584131873065218996997696689554770536004488694131664851616316262150866040155286736213162992277049354790100170469726203749109110976444731599476939746034116349557408193624533860943065537720525033464330742758126429412879843419940705023410535759971868879831846698197215383680321 55441420549424486617287893699703922520378592687761504038499004666180984807521142839404369180183830646295014770044723243883437587060032252614341051198220610527445282612277989395122748727580936970737909508480131051793085548840624485444203098497043393752658282126638935502792953145879391285227668746242291532263920248175512788209579724322 638008269698836291270247399408833944608857813913510756275083968106638959862519084815335646153506302076363366539728582735759532490840930486698564467662501018093029250134381801347459441566075534250169018213875877759114224890341967718338680452526194202654428856536718245080994248994952912294518659088939591673952245752120203537220403152323 7342358248106974555246677230867371326958982488347104420876403220386657308787123902203338657315661450698858819697073175100210325004708420740065946457012537997586417959380170178552306313054960421669038308391766570171891380664853467053866991279634577941599700814100333289056470886794892142688170178175014711165497414596915887456943059104324 84501035516314984616328270303045972096143965654659026028662799024750054818287688258655752100283978512106809087347149102335982282968473790823156411749277727547331591992914660938917538002034151391350516730425079781246864127726258832522497010869966032246653784175966552195916273206057671237684022357195478208692842658402874616812080042832325 972535768290232145512404254156154950240338502472796560112790440335457496785744320555062524205703337242664767967142159896171138925365247529677098589709780216239776112850190722690095714849857992803436735142112688072151522914233632423038560799635938646672425295356608904270108985299031431190943755225423386473473468593670798714895815347496326 11193505619133909585910759795309382771717133663933122296577729181379749648692471599063885024903630973072824462495414251396092510893208230470546066203216134943357603084673899900137073177065072816337737770106087463691981275328926348422085857845001534961826182720241011825886534394855253116039412253746204142242919727039676238381994963650368327 128837872043158848634817211992208580978421936641711060055662172560121754845756323394217272057306391489055232030380866804275499293901971392500925209746629334691251406684092162780574420309406945114954110396196367232084867433926991563814260646286205654228088117236519286006881265454081867618089025087052926146825559465838907420359576323073664328 1482988368100365577723241548997990028291883672401453256042132457274034710514493239608072534534603472512462746010785003884502519708997635519169698562367522182040153204632484158361332388974528724264906860674906330539232353241907392194695456785757835091647994192257300084026744103075237663531032378388912126269360308775420764206907542401169248329 17070593631433943251615461399643036038089541804576578406731502533044570816337579013069501537333585978017983519224086840081945474005000761608810546169979255289339433735888618189954918657560230277178472493997978493466335508042805148503667934347553575728174839519775632177849901208936778530440854676295034187716291511236008392509594589817987464330 196506119815184712295883000011008205117587191980592839813174039357176560646109501623839548859166669190807953513885662061057020402577996112630809692792740413437843374959210910147471964119946798353786549546780620017648106340667104373797404605402552174845946947422042414966545127279842989613186339668980457080998849455893382814863617940658289696331 2262142780982182240557314639259574066468427016289239005986764170009349786370399220321162687129306776835077073864418372500050791068369340041012959757281877043879523140711805801396775248041996843036109251015983336578787040525655629924947128778173353386284348244210864946689181431545821280734982137772382453329575126968355350453139042309201194880332 26042359112182063915924919848704335372050898925367277165559096258538295144219717245986391490990738494243348322495654603477140674271784081163943215909740250003812421622836356229073602070827134702137326517556279591066861994981875270690014809533688345405601724346607919703870971245342570123165585116637177424732833782737440361522563615348047690976333 299817454502905637759191511348141102303425729106590598563884355064543422571014180922412408415733201674522066972360640316657646443862965749314490603648209954396970745578383990127869520020150126179849164929905096782961090595094905809106090853793569415585075411859751580162926501616425793677637958767935936186856404557418230965326437590919532959760334345183226159624334561018877957428455781324116620626037384214701825822330434957058435011458991220838786837090432798687143508948454803481122768787901336944134655129629959756741356976882489889493009437690713557615666637846081430747106190469479223019221110641968113591284203467471181263995298200600277159728159258911985908173840539333009709509196672033539742807137361328289551873568617413794333618534908394905468597081547483573603589371341622070097129553795039877489179920309361474263859563191695192118093277723420530088978956019034005536359145412779414119889615858813399322490736069533292386859179687991565242299713283448421669836756046539493304241305816339421901016038607223944189776655051308121728336457597227145005376332497311599065822224441438249095130536948721420364215360105969872051845873491275375755219142062612947942190017643370748405828165686542368902547906186665740091390101124769121129854584804483629330402952655516129228478216856141391182114324426928246229394684144425619052564619787975695220779327374284552456856763935354707818233896384337526895055859306223639016830420476376896951980781454206666017031532621145855280922257627485939803510105147854273250581871483815039817853284151844419916438919034343516950939424929148181032461064104234518703275938600847627173068150642768799836998196284466292167953154628615449846921862622232250779680412240088168088624386625518048548396794751575021706433860670931497027696221812260403041651030653581788712304790968804144775525403494441004190512679964690794278010024372116943981178623167535586574283708511499397238439678877448069525614994112673788045903010395124084556072933761690295077484378688468905231565407651938765993191476425910916067315484881293952753044724048574948172217289873401381668024347304160339698639134785432462179174613105715619059011806145323475657153397120778827444529285353896350286420029549295773957316696155860562604494278534312536047775896442705726607328792403689633056210165826054227866355430000240752774033724123282956345247340308979995125866121786277590749167984964157372566727929549968449424854568351443814725759663874322617201350464340804527271857143772918514430195579378096951932212050942066215066337945613804544961392218547087292276243801753171687411139438482171845177054744450410273434212409705900202407575959096489320708050316993356822427292689862382633683335608873440421948255167935735775253918223573061197577899544149780271607026506321353063773432090292883057042197795293135137212834192649729247477204912730220403319201174177533411384573394225961493809694627521673200777653127530041301256643565692437295676700858089676171528859571773151759212994659975028444417349540013168455358706606588074122623158548859737888706600681518169116464686415252236917525987367481911825007453434451119678958445832076877816120927352733467788279873571167076720342106699644110126113250069642269182104692693200675599227306302664668315546716225336343876856562344462319902556994624950651802327030433206467561314919024533272326160695489588785122856548224119802326150187110749473306764862219149537295686085048270213404790369020206121862400890073509690521457315514863525908142595569117642094630445106318974606935596228569868834312288450643546194139233887979883786593617426501754651886598512423661389580727001143508893271449747778089907513091467761443159640517828568047206280914926447580262071834934110067008984756640679951115764153432767651882474817725725760206230215280155189843276769171228006322115051733560997196317185252318061932950944233660341676235315227386945562859863756340736344141529359467033745727299644777609800609420693413587536067839415450020177618893803076592866733622663709325013093660853142064042641667774549317985016683342033385700638677899876835053305983927812994561420736440349823932750535456411937947815358990400349040222576202361714859930952127287733796530033039038073412651617996991121743002872267816299771705532701369920345163008825182953808696972438409383825485337168096570975957354971107256005123944119354684437130469787507027497770395776122790570022570031335368409957148603062363750497393720180016837455883841575911503828259968634458150060160837898716621559888927736748437140918924418025545528630836002008906697021025707207943596809900553998333846238187875471675316226083016475234618775467982552467682209773280666451366643900911008582552903657290368380643787853490645520459410657343790317997634699857365572577890430145334457911091845834065790545943378533838667570299400059880056226913601813657925837981029330166822789464399067158922042250294449044127502723635828972568367353379554802122061014238636448114010324343180777677718696119131426112347216264588900745343694889449002591928802300710193972124056412328315017126041169189060906676414015158628573723912524938468010960675771047236917027074189276800705401151230046194770254942353410413871853180041299448956189552258268476404617172075049949025811981757604817561851578673633690006583520540520734368051715245969842627811676507757165703268928428092503105536348249112179394960058174237983311474327335240187607707390228781984755548206016830314078763511357407712357101391241941602966604027224567960960997187832845497309086604804815402562562606444905032881383559481961182184547887331606138719707792139351510431074427786207678469421173380415499008588908467212140123841714658731033997548882108534446483557865289094374050938515234928695865424654764119988719634578256810365931150783084831781647119650584071460333268673560736409758219920073864052632277965476344374221470076194462570234199720747423400093144566948922445618017652483934284111393927120866961916279837624299498580165007793505515347121310549926856707644403862830853287594394194393915551879705725684275802607350502137152697880894564768350330566185597457788909749852682748695026375957827987121427900342002125061678410952773424624815322548834997381697656574336170652291260635244720942073769409802828327765611944531507575283951870291624298831455776218556371295132986150670670252244497169530423730552941114881048412263549246377367672198863951260298719584545632573471037185502894214806193800893992590837760351380813359678725175961243186741980973894234771389624279577972798374819211285663744054575409436681581753432928779723088328433371757174912134768052803436120509026167695051796457387182264130919911784292876401615827685857363642699193626545399528795156549623823463981747731075145223479374786023969199806288373041916886687964316642919133344495101075164840415711332234726435243871298810160165629228686297077890589558013155867845193266818107619298863222745700223825062251600209019567355202575277400840350099120113324527837060502580682006497098287269663885079852948253381656885154787392694233034269407320676637341821392187017590848624084020949425018235401739598276111234215440578876695392698689252729882953668178906990875531569033611504786816353505432648692420308674993751424139740145090733603178883373331780922402382680228505422815336522006902987326306387691112908836611393570261809443588548014277536075944447028689214416131554437655170479553235107194354235372877602334048722098473867300450856159048455626233747149939590492804326142910037468818319845624104841450750998688126275917303598558895022129056867807224354582318374818290029633414445538995642345839918455495224429078197446715587674746994803810202363320490884835278209184615976909297644927625225335790757707903605262642751496040001258009699194976583659607270473959873286841696669649282468042879416820324386924012999553535982074830435627897120432322895063815685062764315162007077511837902531829191102885830687049595047320604835567092197654903714755774972950155773890288435232111920479246599237095645388260568726172104779723047225785276664065416497559628207193719608478697268023403384979558444371619056567050157506831714464811639519003949789907445448147309302494066947565296493455642243680637725043663457373897049695418997295401855457983199462935877396042860775788139414499321684314174331100611904356773032551312232035368790017596152631699681948062484962264504244978720832456468671482065753749771528363844012294702866111704306175800378105499011254296469541786100466737114690543006727593562107579715102587791621102156666196326907994041401416665186456114875640784256419954180142135703984458927119466555850081888217335718061543562285910871839774501248867904404289123154208357890712827450721965326860215293548346945990031489874893869498920584026641831781865226728019522543928632929481846163060274644889292250782442663150720130148153927536034479553873649592127237646994273915870141383856254776829431035701515813952975026464698625194095931123329074386109681179895596552518375085446831958578592223992416361483390610176662263243291737539539467712104035810263410830497477943299836909581921604421336699642426362306381400071112641574590848940937870464129230028571073229553230412362062183249209621146553037427916492548814185407635604237175474570305495530395843486061490402937629713692464032098094663798384234846285968911344864036378854512190285575221987253387817701271442298140141314964234053950491571257806770666348158394194700835911826594965996658062971603778085968573362037073654307246648781361344903702757880675824649973644232614931417578507858481480137357341741202777612267052623007437863539489867747345683841373310525556866447359257419189126088186007266669762497293949635758294542588430146743760228524339648985226142452073982363592384838540174320794154455298956630131842603658065839132903380225277443601362829917851134156993214082132018290590017220389847991536698147420579621308742430944809386059873851465581570588120969819246626368629664308858736550737075438828826984827829845588638827788856341975142995662859963888164350295573225864422992715866010429797449749078333101349037052650280927844719838914230404850133147526068134136187600014534420380037906653650762952816321478240036115704981993159588682911813655232412944964872289140625620276018361865931383134283355097482099652958667080198998864683616404318822411930760370171765155386776065703462895404000152880266784558701697712427818216081908660211362175889439281289276415273441361399141661045864113535029353812373881369237632827366808969600624320350722462833086743622909976859025095641290361427187245787236218098684044013524506368403804665322081744774155047812599594623359886538919982989696797753750498395545808440254598633300309491348933299646656934032839965621561839071516326618387252910264041066846574464893044054436932623038228594098679162376504586825535792807022618032462313537289606944189788661718281455070430574307356001482427077741131677191618712731562036037026489900086497923632085788410754801360274194294573310287992517242843846723355849878222136798477015780362753516263689668457339730156779160900437979353080764257976427796149162709967601838921016704222703546964821849737776404267521829640323535863662258464834721515187669875941769261966048837793879517802462493009950514098823037005594296825502406927000256504467139721851018683162437797058927714772198436424038486612165162328585859785111904941291382169283345417202062068034565116448403001119410634644641830815584182342884177475446874294215218256870343695101759808641326389189156097816792045720290251860633948415691778487158162114890171717545461978894746307405386337937678686394061916697814074791869959766331428684013156258478950691843810774502338941202903578372167221221735427729504036527704960846472289597874345719347307279003255525231304472353468329243244183420005961812975048052274507237064481940938732007577267666941401008900963038814087404333675720863291145251051717143937080924821819763210395123196154442707537374488388948689170776309525426973269462435679943445037358954780412893541234889454529618741373746814585143157467517608436809770871070030692604217902403663193165520386637803111086634648746118225575948161773796877507053334904243982443314644140472350964470670478595623529209666272375469795411590378225443570648186447461789616697356966413846084825207226302713074401600672281053404031396146732621837575837504666005572559854859274567286602467249315020815298367336952132385044794272773850106722831911690391821333187709101976710718140413798436736804313396281695520838683828227203869253463141984807315939499415179036334409495304822732564691645315282624088215685004330482321612778289883774522986133483080164839015549951492018291092852770078851921678507456443621423125630997164951225812049279222720217683303748790687496104036386367752928794416351603549119067652893450883228396558625839356481259563737085790732034908052545570841636842421823719885127759816744571580712790471800615586035665515826929241652312707608471864623978303261544843706085748503220240561557977235593960036763439586410024420169974580225678788854136481330556645732732755325059345996012175490607031994514327091365350478608322416947316493141129982103803101964160131196920227344180999769390374559685285123685982923696135279781377785280912149383750403694889823724572453771673416754869862963484452472976321411431837614031808607990578916687988651589383639995208647526664010496236473149802142927698059088994596082255701358195740633097158844651574320507534394296477357315276666100634125954526104233912959999613417260578040775723999033009875904164244872830678862724183319892449496247966348264596421022283723640417336888315875831040697650161637056365096337766989979867699419482937526862203243254316037556248066393209075286254484280272504288073076761270261591363680981587785370675345880134823287283040645154256857932636230609780933262261428471019993066455494476865828408769204827114480678596383398457108522753679666773556538357056484583166364825226678053613386814223225677085396404688962833043740044149532598248495870587259160147237164974121283624318678008621125963893630692490823485937759789762756107281810494154937625679729804278302004165825829436980472272503827738424121903691022029952338718816596714555063454237571363457584547651759341795458971959158793533227130533429032119304508585569712840438769493667226092639165874531227628696014294744586894012883834279086177217909291799867804808654493094257091456388615868163727490031019144169928434451583570174146505481467526229800286464170924006164618754684871213865319754860621538268629004388007097183583976687447570446331180675878346072950727953382009280428813178665770137664423674979783644769177956616489505890526896467420216009016050179671446549275643126912166089031373680260291399565640212220968583525786979939402727782314561328049800530617484716976748038437386345515812215947812129196730974371573278882689264213970551275605367770336628798389413352665881744085708222710050878083034769005844005992839621974049124449116159979231261893462427368296422399991908751810779270868815406226073578008584476023009656781548470223878561127965129232909109450035189236493572669661576820013577173390776688496476870104254253303394562680976636717899885725636032400037499542572766077735750970328582217595005034458524043929010517138637249479572810004541537017231750824857630184496444726766347480738894966870686820772608869859873886844084238657537352715376792705174358818530449707336688440207682362758360628074913736422329745159068563453998195165279568106508185069028925762133867979610653666672878749717470117350177368785398019150511815879910287712915834355203751147600599868990068806435780014677939216430064463528486244731233922534000211875341180011087669434750284671539273182179068412281849116279946630736558818963303409570423168145700923610826484883507632490478665324481138283807262595203959024597903595900093759448408138332030860304933853074447662699464920097972115264022881379342143944264908967007458507263040064284948110808672818124766802179502083761323077962864944775457069831317654384614812431363448074197288344308388906248664662776642595466621352183829355719193445935653451646439453377585945682066933208049079725662198391757925643992534805993976330701943809202599637098886632603763491951721484052334764829853631472916984715630061992497636489679188444122316149787226280500336400854576892071941864362334524028793341918261366935944989428096377152543182048504954258351468761074288163864330820164956022850956819626460233180679007181552941129224767678300451685247397270261503350979131876543771608761969539068909216736414963825290506729651862118628505386421865025458121679270093756444996593048035033039169284440659496795059248004556846138733484320586890022310424668121712276758300624232943266386823624370706541023806228145089798292847101123781758785175055491852599783662977087360239835882692099297136752028384632105532621171560152912571753135955776927574990810262188634870583554766348224031048399488771236356328883829738346093917422183572947829818291064611953141546719805074007142653508937004539378703821875126979216424345223694204633750651687971054758355507843418391091147174735246986716226714276122827605726731475736781912572495107843792027894481926186612320450812411459676100605066951286720849662439280109266576440357326538340784713948887976812611507646404232111487723643316533377351554255525212645795345973545037826417103055174502228516107613261790060427299035002710120472651505195325407419001148617340615695816739825015092524175864814325040210023875400624508754674720144946380062172495029960081596443724699629000350440746748928380233824711422125141348373713571387544427247438165656483129077534838812855028781463661487959940666081495739879104326474893922766524192118600524760595987924440410137747542783615807681707895658788496262589359964339068261938247091202609240621081402526917751458092750764658400862870286382398743843239332342235807973941946707842450606118115493596028470579950562171599742850863591580823119764649037518083812696173844732794880434317920968904798915951734464037481330323153555515263255100420025594779243423419262867426652198689990801988586916094928057397906417795655965649904873459112831366668992599939157536898138846085074085413084135505382810854566396184684747798384208410423027708642003462583119970790159598574073030796355998665842310357459608330358227951247176207322413850065243116772912991869058131843823108978661870187263778122485914664599233177325491930349941057916063392320215638077019657440039931057247155464972812483738642376122097615466875525964411316368434574348050676871029650756105873904910957814794753254917260706326272457976046599727188604619080171387681728514945677848906166971380778728090738846213594576411209846329113910092617386278814275877418478176796710649886261387372910662789154816383358508859450172252282021965246622286094116372178329286404688913913269473746380997150425079230302741737958739104180081207879132521625562481669028558905782833055543528776771934839186471308658094190410640363008046149037613394263096486022586280838456983288528270159846421272300738212562741632315142634236209558190095489133325873257336927818846913289501452112918381935490793908073308956192342631347000323844134226633812420154433442237437600017759612240669954398944901937098623230329515820081892165453335866667956421858658993083191643934402092121101095313289626541003796865025111678682776991570514104641860084313355541808915471881472028035729330029966462282105963548919908785481330394544879447406573411821443494666096424515506907926733914451156547835793237247522581184687382833110800210915590693242175377923854767611317524033344942116710484671100995712590742493483197426108789079113882360760465151741474620579867913473002357145551841739619331434871296293736033217426442073036441378846594942475625039095866545326099111002865813716770862830439112950419007288243211472959163040143282020927742101392751653279367539000976303912834247016015468224657635894217978355033745159902063617784551584228066998943901020957924386549818709288371172443773934311962803534248507006385657144640361726758012558557004461511143301953764271859341402715874186585103974295062063070522033176158983684129649376435747338036277809302700522788251354231746065541989468699502264563910165014252975086438061983214385646234160903231894089330312423339621776097723304573877568233048010667487226647340981298362352795332023826825220991094877740505013274723876340890211164306490572999390664137787335229675916394696191470298757555863866948712879753174637555917222246063902589978655352134870467162240796657235924194139264704895512426204066741457384660019195801801790239038940200614902030315823234695706830584471352120199469633263619730734374874578362862098758241050866771289675538650727589467909288985088257795383653857980416874765075123581017032430301733648217283887312955641243969600369472584228933088783599841719123787524445058426276500695754719431127576581056497625849908401501795555971457017119529506496840019506686832610293447080065329822589317989612253907816100059292813353584072964662436490625989558300189952317841301115227070708272123449776893782970161511344498011688121239068099555332625292297822504414102676286300939513871419111737774676627703810132273070064389843427133840672910158812469407127208837324616132935970505308901437103941687048396556869605636699009693387365742148162460761992860336108356160207941681065442997653136573700664731885616702925433381003156144191629012940028267679838965518209357103880638158311368648658460570527004436672352622003206169973560435248667037725535951899647880998286151152245333315527407671373741166044590363622350256832215900943283909727787184457843131631346329808320849336421216596407453454618778012854019569498228777778826077102064910009832285109957032882103478359830031896230488521698348742874743604874316998109445413982955065574783978722825878464012115728727156219053896871848387578358978538338738282086535028033342319655174938088128644114168213863867547772666470799298776335228242441404031327964860326986559218371071534035563743251843911121998704694181978724257147591905484836669648619292806518199916585453133607679257191806152267248089489660020361757128224356924622600419346826237998842601291955785779735009126044338013901865615799292277451331684210359399338201022842411290394998951254844610371888122039950081713747240717462768911032450936642914709059033504012902058944494715086962315296228541866734408329500107891086361035386990495509934118439212941433712210891387075040861157578538569971966893884447382389159036997352273583464545588856776708178803112373607978509236524984306169292565916435551798209028857159414611587202406936140366005826811895476601001885737705680314986506876566686588997709802384968888845781093901577086868878454460070762539052550852617603559677806221063268615112087351102443318797842055487758034396666680435765361197651488604682755239314927397956492162217818380194200099201886678060862577766959588279763859305767731848957278444129992850274381665976291941532890008842087789697916938607753816725877923348036604891673435358669843872733471855084219410309629789922633402674497638210575734482136311032908195704462903201243506448791745479925071562000030691042213149342992616013771675452728895153577652044886899833249785591847521516132010372763439220083941721858476233539823829635118025105841901232688756478573669431970509820125648639308564737895873548248807216604613848837287585938865838606191477486782581576979516054393167006634434285169734678509489324942411544507056865479348569278034165010354175283527530551257197921294256662029240279897713704750600885050414109356361369046628511893430822935730531197336255220789959976487763341346890312318921507642349541558819239519861971701156796078459683328929561942200925304494663105181793635737315422638981598073402347381491800724605008919842400629055426780106652961710893907875988211089612119790305495904463093136800435070580313731875256989451214197968983500581515652785959670559920888877954241702230595856783285237699117038916220527166978314010581434787384812443912267276618470893509180812723928767896557679521701704012789708728493273639622911776827924254212499441528307453848339609244482085805287901055034942214147743184580684888953931135655802646951057099556804524730107856710934676847698319361733255268104110814128090384163931643723330811762615418937621725374119239645394112043112112681007349387113628072394076554149232441167518039860845708843852442437959653392109974351841421314819063863474139405391037610727928693771144409888660255876371687617603972643057611975997603827655114958353366145064915178679178929267658028920368870267800031111235813559382910995880277969136651562144836458656844074629247158075644155456470441926348241960847833607929080052327449320970183341066150809720694933127708857711491561326082996993545573078173369887147841748346865949217195092614490576705693971026518053234270296868388886118940033821675513788130245502787110456303884981782521412839830490593592287459368753668227501756947316544813486212263187041653734038475571357698884679454416441439011842902831271100314029010064908086924547687737856887384746340167699405844312754460265130014167739505329503459542430881743227107279325449728884645222054700718641703484523646969744003356260004958930856538788346373726678734075598052178178409192476302069911260536403988150178743069427093082843983882366070809809638439935175190810529124532597921693739816348455738846264717770442892741409408402615107102652112255870128748935561468555177857025380932468342310868754015773524510285646405107042503090656333469216229652600263454843195258015874988498263858067186550833565308742854875387607380472939075632976881890018021380887326694081769395552513903205693501672918186767727487575836947200312561692323483157144129217323606299246044818400817924004058058664971197996089412604105184778636555583452151420138543322031900557395537723055372038528244475755557585727800424634902599589584717276392942376859122941350307888429991945522963745028817159217557643325896180714555380265012530372783249634184545936847121787402289899644473341048417200624061750162282846407624413637573748176855721370179595518538194423427495987149425432965814173137070136337738374511656657236946105640146817842941703612435552436054699939480556464389364030083493605632842847711193387440200207931600463285376924261058455722767481608965279363258686608288425145475683029792425008919761253338964132939383339390694626824536861414431838116879926674170454661434089822096595479913285749298432189936531918808832726802609228463510884117133034997278264381633208629626946562941367003537221503643376250360990380901079574441486051292040254015157164622911673609367798286052635202197290055968471169173772141107809481453814636659707392578181016528048254315417730489991452328510022802126239872974480481755653864738503468494399498638151770060140527136309994215181509363364685294667818011034452631364408207318843068823321787278570291755622585308634437358840414934786635120314045400050724580466248779559138329752773923988081998037068574709470309957539531373396804036232050971157922275220923552040597476780856865412779859112318255881071315062598738540695364309066771272958644440144203908565437319083858482948854907815379348958390000521381878332022247761491869397095426256061291603764159761474030636476004524662502858058467263886152031096281302210470810342481448600737281752946725122673369091409211607592662808246174869472741349134755235556355125181352944163834301465503921701067738694440471904720642515781412251036910402850587301609850361699902209206217880187656768193484716573083890177508651552918051500583560480923453388670041550373317345508152382401501950564508153769262937800426929126971104932212445853144225654428475654673681514147042850756226876735793140804638631117832288034667894427183031358519942887700645554117095904007460932773549420354644678150402789278804412193307203154713811532846790743719081640582964979334474403283103525910432362723445398234123039692997302865282575934014544562421278251650428637519074420382134703666928797485622455787687189237675104870148086382829013655301347650202111045918350262959343296717868244011403623064748976882911309372093934417186743856050252361749128748276462659223933573133958049307271344229118801642436699744087243318941771092156287571633025502674426903034529612730006471457079462900644069572892027786318322656648645393587323993021937151670810893088182295544327793729338040126099567434930977187395810375186826943556829767204054786246488218525597500447968793159273084949453994998236804322661238673227497236266206111331693491573182233933988023280393506778237934269503194662807799421572139531338947102449369284585426789021025992993104438971996077090697941519179714619611339499657930576795539207142096738199848076840711045932962472036771877312927492774361648369333718445372839250238133107230690095921712873944973057317027129621088597648573146351937466132989644362071935287666375686067871118918041509928938805622987516761573302505272916816590564449569309561940868784026142257974564684762209174200891795629568500266971896237104525015948995670363181968229101062076786216736788583205387470321561710502124896861974387459451778080975614078217313284081274595802166658709844471827006300014951546813006882676850840584297541517258409359308586534818900023982247175569586510271116007676228756174957885983496920955648219701631439956482921672523645650627304378746096206947188289754409563914171834333485426839990538579274747322567745433916974631783331968388967405755320671136048405348032286495381878984913358255737184876984123686453746860366849237824993381475696860769614649424560684840914707990797924366647271343696667171279456966179267863474948157625034966676553788174813848513197722895595622905222884521195094530952474025178946908348223035552237425708621980495180690682860513242610025981510979529468342092735610586862973614438144561041535908283858770469423837383164004685860763403043229892159999961900672532131216975453632695432477032750734721910522513743805682639017917996884834596109982328824050936251646859241016972466008233959648395634082030712271288191380924178722802456868546561434262881396900849444363791222209474571532952219037503814176242179451849810930111662012057783012935801610349565895336911415528799080730018877302598861876530663738821482388054246682621542666626985565140150792652835845969335942641375850308015792770353137011356468641095930293248016391077030468399016822901354375201950962728331004600471418536470468164920895364111958606654992340267005103821356521435735180069743814172308178061237881875116508086249075240699042446370832867150463556413722963426140297550179178222435634272690557997258082094955108419217766661554296138082787631746070904421773647857744616014110195418152457181380755928914272826288495899991958194034553894562389179681205377236211119485944832421392995067567205276026520907785042439929436740765782232728520004872342572777914556723241222602690197248229958448646500101765945523064031877765049152248724758288072458494772004488411315910525240527736493464963420569571198504641206077887370746131361266202889224339514769958689999366331892963996717898496740010387762347069965265711950021529222023032770187877132295151425830159280826035711934676754039913379765291165752814636098554814536344815985311827753007362709119629509665731307711597113612122164884215665005198016211241326084566040188353511889999312393950252291011831265333463584189290431355911259054408742970278856403284710188908222326028387028352336358389547291074287127806270162124708127130716735480430931092464494517426313211276599751331193806397965043912019130797711797664265445130237810245119239357501453528182612124841582273572711687984454028940330948469663238731187954445126682053361054605390255529531671203994595670103515675748932872060624324143010354388730379036252752941350452787648713510150335212104442629976534754720966273207818690720380560128605500101531582441288252539637464557662231140291899996880064074526377577278804251553960526784450241275842192330211607886299520580872276067896487072475476127986642315439545074320721317072134826458859356094361098336669306255050196586850990563144652365211086841939887175888870594297451005297775721750402302497015012700420160351846441534742583459705522660896556596538112000477330283833952083097635973134124785149970585427608308378212484619685233642759426687229698991218748753682178083765033434972924956089772789630721703475510706249680126672953382101936068081748285360868938419853893937991909783237941666044879895554704888877230353562999977673438862967032010602429977483796924233272372842390485782579574469709840789216145164958286154741427411479633902690974425208550441640097474368712698662382297025625820336683607646926256817641599945345714743056770055093112535106950754943762246703934931050660829826117983856638251832179426942270928015552846297127893892927286814407448720232928626765660173919073448607642470960035135139498580852941511965391968284153688882273867901447920985963882083725896065866480369080720471421610599362230389567468237627321315905390588871949261478039637733423752909643757219030032644174627882268276205796448125890288306008004819358885855866894288915911262910454078415634136512636158193162654940285476760833900739196893265842598843077942004433014562124182199780541211467809397952630121749605650272521384847527880443648042068238148174115823362997872899088737185532966358844391102427022534758528470227103072805273434054002032856034304006669759578378630724545812767867067569188249866912888101463222795887028601987637226866441853414345450356335766832574736037303819376475146765807555286195212225081434880956663938424102390229834629035530498811796355887825258711022496974209445090860477708665693119348012559939108564304491813397664540491246705820636659391038706725320757902596884941783139845445675137005891228309498958328940378150001479865459441896476875252058867438759371043625584819872260846059085054391500064527635613986279627144330794169831962874207706362806441961651520971723407557899739517255465655801499941167449213997330459372748750335548001265715686171489492008172562127773262938915467896661059541403935070160840690547789310262111298670519939820661518044917847511091329041624127164146026463443512590500261634085958332145888514738584572937982718120337052056097802913205660768234738219524828514556555935144971531161954599777922131672063136320775504734390481327947478886851696949735108312608807044207116065003698284678672180339519117339317235053473360852466596637363584620077155338364004378467666789556845501741243581295479466344910525665265418688323259223715268285937808972376244895558541164728728584951778167799999309939239729139649316225338927711395278846261258000323346737237974733658696502310418980400190878049146903456177173208779264521156850099268555529037538562925454524656358795864476709884841890032210976746324451840396550940842182138391928523060831547603705887138533793377080985597782664680235938177513411730782898024611066092083790150589753726026431511685530085950767133615442735849655808159584753640786940799351269483037895350665664084843866050089269801909701190937152458843960627644676929897270720922819948331565535099469989244726596777602124702055191709213424531313999977853995253806656569175524585667889830071328712415564306187732787788138205935639609814823425642294811848899757273440897687966266397141975413691290384193046008853144709612114228189959928672312238625282288591514963185671672359891715259439235469153824204411346719533202251987284669065874464098861125988842611289806665415226972542852931007929378977285025765821783988008223335596072062257001185382134299747066272064918433996422716315947744166641752135545414854811577639030773827787245876384095007987702443674168737737184610686977289064904964231094432842992424685153811734363055817807247563551105432042537229143273030891581997468374975632256493808097805352971124838798197111781057932297895038557316816481892186513850268379490682590191668215719446724210794857390724469214727388880299044231400892628433386663712244067059086064915620312843218667559572786323925168332226126555670977357527440826436923749385289411908834777296097327355804838727072384693833545476665804935458635878691594257924241263355727484890261118681519142743935819024243188054060643680177378085228960479405693810157940400743397178714383613102463969395924232278149250006110955469875736864413724688833593171140773380134767209754009895987085893134577146275329459043646158802715867400023464094007401673781626685557800538580228074191584707970441660969831735344344312120369880174580380956693199099092366672319769835980234850929090251365765718949602269624320206191628521408425145838496081274091575948184906921722541893287082645297899095305924309746278297184220077977560725837672622335667139628326716655124333141641209731463961211129459337454957182381058406507130778223725705847806572799226869726515836902587166541286786309991018590855634293400788972248158896444753712917731573067048808094890666644048733561930268642060524519811572117557929309687151433993379197351460069921192910297725387773542062951302594653395833886884261683560164327903790711918697233668384836274004377625608116708578587655276689587271833434414353201894372454533025998676165765317426639866905938152529061692012154650892134636438599338899730664727301481876038382410301881667842125042750241444378598597465135185635743377379519209462102819618501985462035420466387429763541930768474920913256187111651389129762500472957280190339796834232150933905737838279351098588967317553330308182953635379448185759364271943546782994364433453277152792785281828736622397104502278669183358277072335388509810011840112614385502970799037088011311099338797735040292450461784066354456484751043243229185403396546468880677832654558680953396958003180979681562047973500263956347380557987347605331465122529784689292793846421605853432832598756550581462060844658771318796398521744392283807248395739958902621324210418459267917096209057720470378444824753120767927889362019711745280428224373315003245039538819287042437087478044016603437939831028960634318576542497200022708206728199860614607604331793140250926093022836619402610806429898434897534587534401384718993771886644416855731241983971635578686742188828168118040619277214473178271664470300891155051512692884661514151592380124860009896775862738637736114687606266490745847651238979236135367949365847216115598621233971293020052552613561101700862873429339481958950075240726225729924292590342622844789830918526132929202055027372221587862857453037644267363330671860916756859788659615505356830727392753315257882253823649881152758217535574374569948424310351905755247140574082305095000229236430087688371342073704255486521762490809345447147463190916887880405611840936606800269656277711717770113253982814179113002002971510631492382397118938596276678346516678030132468655222632403082794469220106788458037906752760409590031732369439384614724302990563132847275263959290702439824652546931957101578880789863390594306554030688834409845277279560231174654600287839030734571853038495781094953410217646847507000560112684557764829584798872035066689673816341750451145395403829645422298519014297798138715048376187141104705439078743657226175358453717216186760152327573806831993156968288058248820467128355301923169643569609414125285465146912627702966869518552018481471517081657248403292922083651119759872431345269685633209875982640057764168036265689975527813395227098786261295666111604250846479890667062762708508047999984754073191064591004798727310233467842841379195996301453795319612570099613221376151603637452128014363510147143487658597618620012901980700005234989337161379554576729433770006091562934262784847834399191935469153091718284194620932684298187599647738729354699757218790768206953841198463134988519200447578562364496172909103685267637262154795524323986333134765594203460005825953183614550850221116970673267183216849957095652182582345027362462438049193068412660878059602185228608658820229726571314812542540087071100450466327607697607214455801831215628462680479641203976093084203397918790551769459459890151544744887540990292883124549484045895409097597445058729292489334137014189252041754358434148616569378043393562406000733906686516453894556909699316261292202245673795445432425588909489495431421418244334602548259822040864910255794313839271941871459646221793493998488454168333682316232310494013983127722468757176806629974957882211951346489864304828774197832924910604371470936490507141057560300981004880232047072773114798662124629038361605678350428729791763190696076681456959888669275555827295990212848931961039666049191824253678154723095070770674151358605698950037350802302909467572801451558521635769247103516732106892581505997516400473356539189630071728434531413630120770418942878312892675454310091863051509020476425791136667415578136189850191005051822748737903735708025688232598180789678041014229557401764263184653322964092888150145459241446233506807270618712576583778650579526900454261483529549317352508993335565975586206669239934850622643634493245849856615503795881756373557527373963984132047138829471924490498888742045226880731380625116909838176010092181500597131718157032586390938691103464363332273823364356135875805766023879248736659899127205415027664235318597543726835744633795049072730834686655931333073123590495797724261466957568809430030861216155194101537120370994128419831467080901883123303914351829169869499006402223287601971787586815848302463340049137472549610572828743975955949719925406017453108848998257186676652920092637255461035097818949716528148561037671863226980687299335031607646720866878684632505846221092364372560772816238426464501829341162244367084837948150107526469877628643445205054097234968362191877499696338270903998323245329070813115397616042734347031441479644675251659904480701693144330665921670070421132466052988946658160155938242812236110508815889770811126735859221475535641116472239839930429551014285850219383336684542241700248857233863168730971374392201688951484794590035650727303780048192704998818238126624668108676910355522043400283969031265815774883153005628697556747869309445505164096437818074258231237984185952812435821526143159055951988212259450031245860338271522663584313676434907768407264181430547144726077407156541710744609367489005011507645597040982101244996026284257870955455568134182298538637042498095304974835846292459132689593173639900359520116992055864706171075852066844473787445704391829850549778483123107548677881088631244122169974632813139693807440039235353507709632897592842794334554928008217913093030419290676404455499585912644389446369647471465090069168683091618313565990295819573930424654427108480805088048100951636648155357098818943379739476342178818721789637276831359647953671035124528386219817308024998915653029015089630480491219936896034114212282870567182216808431949640018205823576362850482395114116488490805002822630036415306505145916179652020221098947043869836607908902269030714120792478951297125884071161197271272758467893342549739321033311655773049810918695396591875297195524391090803454320519058087963889220877458125143074119104827332670403039476585177891766187316404222596383498682773571812310319873285339337395153549124296450696429024080837612703455310632201200312488872602088425688966340803840148075156665978086243723421943784391781561233304908203036627399569086825010116445426919463114922891776222578100175217295298857809596917550672806198566576474469174339477782238541521275753856396369800460350502248505771090818785730875539456044012596137430318005887062161507528937847029567652770730081080677236323441301361020222966852814455060692651681184295088382797672128005563024631027127577755043313355047982830668831026904584852844768868940406291265722592447878865160691735976700809086031542920721076144616801377019499457495096160054636716431410218789303854507067103693565533633120986903810498260437148699456764420273454744135445222367876464291176664683395335617289445562946662661388661459263705382444114545797965388870998951299422532634960093910551683006092760285648510340312457873298586933005635985169335270407919208209102506833676670378946903475587363531153870309686845466732550583822085240854823452513095049486655182775235877503524967089869447887865364482733253844829377619639699171768307610788441919497193890034497783043828849746323982570936583173742366025400555559606775649015027505675460905038225885990046996665183017251560929591724474098866345101507759044421679758877008173005897779267952306342015423763994279423018459162985995307289567802811555658673476956846447741381219329215614564546087187173479984555415669533763509980219432339327728068180282140169587567731700209006122518584682129503377106703566491109082750422522419227003576204769537544329833156660394837726312168021763886061009004945587310101814763432551853216035026088708611635887852951633201202709141143955224931252205885644436867061136325698883414809884556844319398383009156977889281924798243725249667180124865291001873790713049096464464530803846209218257619912616708473015024778504888958975358187504558168787286751925808402477272635489322794582096517470323650756199727156009899049924645720240135725188344447597077076446104104202837678300011319736135441772391692040069974026752164594944697947807504368510787764315329030590739170478541467622698796549878424283243333006034753012943082792218263196923724481845264876286792192044422402333847320431600509800286297577842301243452071598317295702719514724854744815971006054077147681855072140857670343916821491962039882688441931116015046817606830541554195773526498796822794671530042504023635182418035134903379798139776311228789039856899060399664970241632786108789583104296750739588975393468094973805572875779351912902870134124443700392230915185202270313914632597727826860419060761709782682336271579902798247886182488720567726000285652680948199676164452587200632507001307416830522846315115869722072540303926360961388984799807019313944808437437936607741813884594613194091817725820505138192343032181723977214002265380932199204337332108972026392482061309992691968205107382941491735624702056328204631355133300949232462191266835904106914801178297890104984021644054636486807205266277866210293416877913963320941955998382605928701306120905627573321571914474941503621603220660794457489594875295831930281643545477199428101625644629879685395922486262723387328208888784747674306854311669961079225528887302135027788018246860389216339909203683707403389294355353107050613430528204949499453884165328342103556511612639856407764204139252413627672443042648909498662079218144584293042750214864691013013232355071833063014075902283120046084755046483559789649059244150615076425864269082255907108933491698701322010391029386111593752939835624747412228044309666203410714667032677576589285259655067727448967372844734508887569318997535873164603279295296149069585715968488549498257080208069256706348221903345941038294462941638157223669872528683807316641646803018424804980770753057867039120164569945867037005143167085215207781019841812082236646351820825079931725692301043162574050732771611239625880286467150559712198240387616817301002096696739289826846177950082097035636989911050398235743348612452923466858100364417409647612603289800596831665242120934770929452524140938030064663086084483985610788316465219799126612052424219605903775661611242006217946131346612967324026079837966046887509016454854828034096247923179908497346824821384223706666922555035086847105818738145240426195261758619901056435821055807647772959854852550606103789267473098774784215160274504837903672270765831411025995910518242369155912090968377435423870336248190553830969355748423512176341499246191040226879239748396198625793052954271739704327797905067445233512671940836926369471101568044946032838877600163930106453037771184884408489083922183698017804345831416162794028993979305286244499837438860501266894919873914633198472681628046550037044288216046079991731937379701414066687932102314292302684881585547219105982750735903560819567577001821070846522190001333452122152907077253968321513688119815890343713550081834136514226605507708134524132952947611301300432515340716490305108933892140861148992252846405919767723666869219470053107338441032151801330400137613645053167903961588233726452582308298907481848521099433707345684154190709405394324483774150955170858462280317425606414318687260257316384707685506130442271571636747555310003214251579569695828966074404342019440087381841983385455349941781137933322832467457391032305430875126900128647417146504813152804306399048300952972728636764774515475596600901317996346186888700947262324010236860051532633110239407646146166527682090637953082245877041411118293264798952983804554950806829403844516141015417689623889917600152911027985750149737287604483777642340287267131904194442503820512331977660119541169514109276981431668295172319089792504673784122272446278773872041498738247912642958021248608798898020639670837497134550167656470657775269472663088907920971374647030544988429152628063782854917714688474657286762620611157676220158667769394027027710263530622520326310956991803344252883592641846275201235484250978467826540183098582999316926247659889058467642237532614445270931585009612986160602810757109108190047977763409074069955972864543531727289830828269226083401363972442229199421600548348296047136474987325219842858545349522651993146885419024574207070691551547834630463789026521919313412442473730236333981259103196736398837722931382991206431499393022801535930086489349943650486509384937050279583437263984995536234964809231308191331511522497044032265758306749889714760751320550988588830044055133325269180606282508629796434368575934794160045381930938738817496344906428614263922223015841980434630451479262788531416795534805215807357665317260503317449207088467119882693624137764972895784749710251623610665953474112301030987366856001540875766680556432171933397641773406874659545615187628363918494344805975269091092822767182834277232394877657552488794280490562190629841288233713063229831773544104100192877552439520207091302669987227202348432186996852612840973660258943537810550816275630801580050297258697465218780230244549463786803202867273935002227726735663026259023712074079102228845541087199755339576094848906356837402635716023354399154194246757027059402938575906705441637832139475929520860468483685728028084755191529286259724297575303685684692192098086682959161002630085077731708135696639879653096000665210043068653431084177801228024025487643012167700096680326875259145249069823933038046965252195440561431740158448002106427035943470102931652114092338750479916101237337000770457424346507865645510931774831340385001819458993528038905788766630490349230917684256800664677884776868601535839007154311352058913468239598422347468817195248471897563801872846361830508875376258206844570352583600059600478735276606577209948307704353843313743994673319023282089732865206806421517895418517764958525078141374856147855936418246982282570407290423028099441137002971264885946170378343176900504720039789679865130188356382776109011306532825437177936787408646012821466566907552508797640558084561262772400928803130053917465977730733022916954872009049652880884141054460554015858407555857245217909373524580671281613812871315062479189087537763886324644781036745905745430712061583532078756488566452147171602191615248408731329140386492039286400557706453154682795862417236710272413038930664513987028826706770745021732253758783318806718328235198831434555833131629178738439211784368980125252024487479264713922724427689474026021389263503259579881945959417513743272339989826602451245714587071824117291120303388339306975224110762100082328073110650876680783091792494015062286369930836543709891785862595363276327591414246653832357248580266977674651651480032591984552306404895394946971080381352430017240530939968517715716750524183658453559832023919331944745054213302568068625829834794345466307583534165565148786631232320791879871364078460068877066575306015009573698022818100760160522916931022932518460928857018349164941869347848473075164974947292339636300169137476845816850770346052076052201710556748262804496299500599001017433861023641842214183484582690469168503230435256550014876762723146458036057726863391954317175119916845793723658154438635172145594531537617773135569309896324218060102355330123556042232947906001029855303191596107850818209374336068230085208436955169202031468017772172737817105610888216671922393353531176274262949281941809510687607155648792828530221392890839962477633683957454421116325178186334543315188047657796933660715537284591946614523203193354910202450090175446615370914804092270996059197338540936826508889992326324178048248562287711229784445275907358496494559770204689081138816774982566641726063202349393251462986534707334128347681425383916671740250953015043681443180091194861932796438440874194450525777101155379713486899849940200559366683130127484223082160894382435329947525105753822070872807514283943105504631593250601533192007801899207131203647165040109955960846563549079267309575709919867395182515246022487888664669977548933818224554758660302154855314133083542215992452330494314796022417474250326334450628625022823539275152076037923444717803053296631931157875509535997851884802616169602106805320104753584182921872830706210777838793769205717618715313648925620844266314344108567943703421735808850072488265402651928037025947574291418066975478058146204210130576864158043205407085713227941595082837014364616957854449105324608750007367279702308486045672120389699230782271381393208849593646125979207129202372561608448478488754250391190200060467754158778359280570521243600908088570736286120440953246065282394980887835174502228526940982065639787581457678824430177894847002528227707386161062005687418087838395103582992359699982591561453801238255944644235751430745493127487906378285634300774154220822973916253449060232590665799852028579393892532546769725853296545550818227537702587295688334430363449427365558833219992229622274860394464472164523890158693509513825910579102462404623001314819612757742734834847847821670972700409710143575494244901029979215007360182627045026144315602944440887411835722233598760479782630631485200673349500000153638391422412488256565824156876626541356921277996776605328969802591019205249720362232575886702749066909338961476351497923285306949951547980592842872176899545881042779422744432322059777065417274953413783831900283449155363722691971689746524012462298131474165867860266518960121575782067616203443695960396600768374204793259264046334674134252807419039336577311855376610275347729157133516275341043443152296202962090911934446578547371565692899558237251906618130245914988596709435433372405992048590852548229388305714004732904383968585972885457293477955195129611127065008545432574199062262570742865336988114384045224763841310108375519483707623530916938574303870934256683615119409755912207517898210422841506912439657572683555937719843638773216667958139725428966847392315871192010354620451763021922584985642428709307161646440059735493224283821973377158325029538177276939905606914721589466898268879151890926315183930433119147180316702957002052350048356094497483931511820061161626591639038079534206369665434309458036945605742486790525489712908061261079748645859068613043287094943442762476625882358963768157820452313565430226006380019874465545302805443166676016368730703742050184647907215016926949645240011597380878517926580588514914094201305538404697034420395532111023617414117355515354631675443028263554351364654628271952374393637037668487815160672359580787483624058034862010238469417435076359826769467338434801905176191504936470191808816341610998080930661692571277314308279309880740086809413522394203213311138172776816780798102706814705357058749985651141349271690134210015019395071095104146153109153168235008053135766564153946572713702949077451174619007002627692917407105599637933966132533856505868270190168861571847393462537675311491410204952787778173928385790683255433267408593430553649965016046653473420780975610338268785459721267105605680507324745165454852241241968482424714488705249632747165629029962200220951600121684274811584856728807983941195650719456934803651533275032123944857718156815654659609964581992529105549507851930450611496134958966089814845153434380396294412508624347458185353525101745132769115382689962757445382142327250104760711879530534970172678105772866013404093619116976940467997818186300802340377400750247422755910483246108626083023843704377101136557063458131246761782479709241205260397882159107236421778690924927624613174699467398250240344332212789836533313298214980657477774491137609500458067411279753288872636603003042285310341771142853879931322292685715053291402390665419793285326892689422208878273007250519393131622148184842674763746959959617607678317527017760358152982677463547275971355259131593840545570367893379280207663500656616140853524871287374970054584585617525352576478256209193194284239798724801141747782533437904389043440778393006703364687138400945271576638838040767155321088093904373156262601147747988920903333703034339696046614695653402227821988657171544649172550566663606405093020087424517975539687701567228465528400682859866366352543400237157220666544490140697758016906588477252031277557952588227883135663228550008491243680627025765586308962327389395103183506260218457278737512674041535864485664933514724444316337104134761122646443044422183914472875344799281015701116937934234853137991913543034462956901806052563993703635246982479256846330334964838265754158496770120259425255179420840402303581434715854360501595339371109264605178628966081921273800300876753428408721395285304400520997144466060506251905110126314764304257454997345781073657009452428650740949761283246495606205291476985989937296844290208511739899430517537860509685482222613136706254336930823358670090976439250822386095621058630327439742733316869440632627897827444413317437487970669874183236597005847144159558341588373886181953152129533537485175028956847095300834931292038758388285314057792942590236381843796878435313662326174403300445784172852656943245426662391533512025375061165670462627016917190518031847046956404192212911098770892891784978650014220270798021008501403541038398456311755247860620778267547764802116928762959073676019750949850404482455957139338295423980484114054838761110953918708781353789507611116035244640538793907743338078215193386515223521630859242037481520155501664579417895945029047273538931048494649316012213452053573568004711101176162968017383785792150969384188754227549395346834128154592176849741902599194784187672445845030806215008659383986274336878271474569857896893742123893261330069214245706952950673509537360952372292520612640783014927189428444567614829903874263555287320084871498495600537920421917827964791971868148107150060170128339983372622298577936245588280349721246259004365868406434689986630070154896875532296307002896341866510295774813979491930533684510560363887048687424959934631887552421727883650344964721272403905151340593462176831335544968879253625980714922228142639896576840394862744162257595874890954190212803851637268579655195664283530346423375491945951573830963795218342637522304808520696833515742994815185320252833610361617914667497661003355686177098441051211864198184593903070147803148693668030226983371765387529924090712652278403348897452389145204487374056124420272176393922007962171402189339997572156814076599047019625470282908826084311669261627872807132151975768796502433093533318235520473147028405088694026547315097041254815636359775114871873173411392226714627717799439701973759342110748674233014662754503101052062362790696943030893179214834637936015397131124441496604546732267578206399879176452474749928300163785530657060121138453494200273459221542565640086760428901947084651674796954326242646159852592545478876696621774403142221688600796477798854378854102440358930377099525938396945644924247580592526080238790654081234125141239658581120804891593013120590468987862852717309416100804741698969280073842728726597252030206897910661555080136058458185524634739863545687798238882468194471616243943182137073172901086487475079808736100129376189795727618894695938489531259556851813577151820127789159706157399909053154098784329463448521455563613612045163707295108327811263107393550949165936638371487855149111825689776213446527133022946408951883342483743058199426065196326366500161300215591990595420078144583564231642659403766391749700876329371386234625393422873684172382901981953931166411524751963259916186909773946576940547210153428334837987706109788030782348095210674711873208624835854733046390581620272294289394938755264216536241807139194883732495215893679934945181721604381864242046996616191357223683140757296658037130532171962897264138333510783297773987569228298870101806318859268795472330718246626167639856640004215798403257267203991238526808263801861137333175284930935630704224350520106723461031376994232956011991281135118121890206875837834508751666928996939378981161610074481700864476226870502499509507757089223475786065912850500846985390390376143903944856393713379459327401693310834191273125404260630973595473585314458257727624917643747625084763021483515332221300049836507870259516843302795780005104376341216310991952829922204492804250503234620986717638256226301319865066321607844028508398258772792498361662269970721456579258723799452501281069302405784336802067867583941673106305520417251444653750793582434717819631769019319580267529310820671450345633980609227303925592260530960644772621719309179103742577108462625900929631204760495232702494543963078836936707106253618706655020885493654820732860341415985205416141431658653449925938792827637615735783385563021970144188770907327573538854951627173848869268509863975117460108129814501889847828279077185868119101589746984970219677321760624822263882527339117187359607544666696802344474744928467255287103622554515309019705450282749763318598123675281197843981427057121188958077926605131177674855674156016971446441428373020633655311730887044783029718268979385084450398242904513704303754528554185270955574459483987994997116947138673386181916351045437273841064516977280576802976065245593128776662761844408426008767289929713037935020683182120982685849107153886182586687146930079163983948853165251765119111741948184301677953986491694946178883617402416823557678920569170967772689802989971079749843567240622337485287249287780817965715103474560594970089545373395059660997876221601588978181909866449758610801307466818357902917720028345818667945234432479350127448560452010655262577086377539151025857499818303667546415412819931457456030530133135474923584773677343106130236464732855393406655721698049209117532657115605605930488855159232683068657755894891097329197101051082007784156337323111015396406199888148052921132831000429798116990564119100494235751988922824818376271754695264324712602867121536485451781037368530914773974899997073977311743380732989154461440390349563051295952574752822734316321057304640233551192668895795376988154689669948786448848573444804046298331285031505811858672642823234736891593615929910440581455024805267691088289733044351924754618700949421806730395355742195803686697867850677643707503126221049339367941767626577818729335862518785538457334345047845481263049166029643836968703220273884515800044037512228216803088646122655857630982938324830808332315308504117757102031346037116629158701703244643821031978959264240901975009413372572421094652764346424925585365475447292963729890041680566965013475668254270861741206173026784314958007421444814676246927061255861740211958938951790742671642275133111003275654139176212480858610325611273232575400955504570192505356568356645635427108855479751360222044222736731196155988106590056622699521983358596544445077624880619337734883666188495601096916211853151996397037285565212834766564261596900556726534060112726290555917265453667737121672364985079348925036002015475034583675407609516129381427751737749039096998699191603295533014242070306660075824874698814716252082700095087451276245165462199113749109295632482540436576762823395480925718000060507474320024405388270127558368029924864177011210517123778345295288547421631683417256403621585025552210485668741260681886619293655619957798566602767639908751251326295437979306964867664706372935559922897454499737738611141710951773888479482134932551446952518931442528771976010365081173985493136666832856430029327664627329037709685572503269053038829794056098670121338038142560143889754900345265490313440459219350656810464436314026061230450858998163486587625700337760988072324836245968124530714065324508070432540940108035611193872022954004554348395287944318213904919861557685980297184033726061063963727863084581214777256107964353639925937845881594391977537332783461679451688163088381634710928412075741815444209271475977006568352958588244552257262987256582174806767218510911590893774495791651848299457809415569394527108181450607838004718066952508786426074227804371304506083596292926161989870422853763607879520909850852200396064063799472378428740155397612124453521124307680100439607044847218758139406046728809950540300499378797580140846302880090505125070888807289172433559498111102504598342356313654590672054338091195004013133798480739434908442269603453739897571935507335847487135603358313227959581789492567404350228216658644673415126061604184804305020713276701087120496438711662121478894110547934088751527593157114077729433789218302349138889453261948599571305375906722396185793454890025648060086978027982396450727959501262175472080688510457114585459605696030924930121468757924828394684212672485834320444481735887749016862569070605716027810016088530612847825314762979891471138827695822066409920975514417855133857598207320216519350170119536241705990922945344544119611753202162214511529440635702136718311021880340185419725701323473702863111075851943153128746147754145876722601950591927327644772594086400806458398158712271616011548620593236991254700346409533786803654032178559810968579741487897660250479032851697351452107643190509857834702372931242398251076448831872422188597223945416246950329271334932164869642972221178220039591828200935191326226026035619782730890392480383726832766535860045162638913157844213487247466166695578008881768562552638360217103921111290511217725887795699940752555960869119587379086361299559382662555940558007197374195951210154548063355906436290093966634825672520877341838534006972003020074404931059449486118811044121397687658350050816338444944772837617919255652772049236622517009627620887924240077422284310574671162509026635919420015329812903497825519459717079449976753039171143552253444871114542283710543072595521143730146808608280424200958398781545490860062292808238581791727519564520804265664363385555782969752172202091700866011759605097302615998488328109882030133204374385005933325968616878409612193440635373826482296547323963230320049919771015869221494366674539907890405930610600689911796320755871452018417557823688863984983681650305942573537453655977188579478916386275804116672784682230572147002916626454434457634544909128558009805189407089981837738978852136590873054283021598205377550768793648812882191653584101852229794206304741445975613276106302131427957568585463686031095893365405394469456788607814890440050772427216688171608506559425384501623794810340697197482620920738542381047113189016186358861591178927911546606797585036742140433935090350574973741973563379510251504800618145093214981822512211593557954247568606548135251639921533495317182358636168688165516611173516358909456976195374692501391633438874498505023209015338829415897224349089027202270851478986722164539219950522173945762946610626224140848914889856230058842653540526660662095915075015345072810246491778848940313068396973801770357055392371717294649105309159904318262593286455665570684201460275222299929937548183319052301901100338101624481452140105245114266167249787314972063654532972828395407175537870488869928306361193677653153159858124740484212516900656339718145461529528417040577135497521301831815992434194843038699625668045736228347916289783989909523260613419185150034184834903672130894548804308444345219569613842657768354854832900461342075126868164901721070908823062971703558553458071118856679315364768725602503468073947614805328911845599125816271066425076177589151034395043210919454556999839331362328548899486409369601174229168178243032614367723634369453429551304739035161376372774617326727538833218520212209145129956304352277679498473582518456745750662048802741460345200250654216564836934301903190100375855359610969221071953809792682252876154460391878924232428849529666660413919496478910391256677354280282410210186987127874922815273437298170377178423161630092849119893651407730464079001694652043382988055812293862458073155454971060212090954988061703667938536989515929973179891234902938147586628041893924975783073355854746425645047180010541295938068798369444276903366184921130994428910486989082320431665304832198691945444641970556457156100861384143499986343828522403793505484105749831638181254080483675766377430383806661506702180518172427608905541830060076277383543609589533703709029449966718519674460469840858684308827257551315338488886158321501023493229495265688353583732684849222995226594153439142368457138478547684430063597283285904585044502345773168598131539726742384222091824781972428395778496511695689534916685152566853106309780749538491765065066416420696051112138443262758958099428944797905799922924825955787407964249007913211921253302653317390345120796105853104257616309713163780240544330591649560842607333366227473122544386113448034929680905836923196597114609900195720717960878676085579814178182163430898288310458307261550130389688643490264286062974900257484100130491323131765278926084932658081562877770659230061304178006299244000926297968300741657109279762745165508168046256744053473123754092256948954031016323715920501933449026820586580978914016076066806739638525488717383273105207817194672695744563733923848512284514157963288794637408032675306480770453593484646246864019236192189815748862249966970192479664637045975783692964883423585781767981647899462761356233393562681885438190239968485942089241299080955941763891905814355977893632932877657084541157290612835926200702693567597206588781437056326240049430726019543846511721445868417307163325266431941503252911362765787442804178751006003144676886865238832758050034515124323231963682416773977431797554696145700812643457884728269441110192663760090749911308816622754536259323038286495022249172305157148233085735139504883832035812819103880159381308170835831489905164517958784914403251058829660842634093420432581794456952584904285803861391863769945501281896587492942815700662289458437762385929080829473769020575415930321263427447442103578512073520023763570135758524124550246449535518258340667704396950072657169444282238367792706833084709832758421806672078823634578484495144974382403751409856838265686680937828807249240077175605852955213263749696951719112379519032398514644877567096760968382964539113374837502379299780148268843636443874436167473111059355068039057995471666703473393129794012623764394338299509581625284676757934979255066057908570807897530966443516368355651077883574677911415836675384271786242512990194072113867683884447861578088446779679010193196446423410364905043450891653332413444964105862026457911429136049916426356008272697154670151658691984027762479709053911135810703945935360431319561925129912873414779704984514820450839929532462212484954396148217742335539166897534343317530549921240874619882375546782192693196457303312852777565819120617682455580820000253921618495282229005054901298898449638912415370243337058628592744494795947725697410821985353013235824507370584151132586602368613331462689924228037587117800229288836377297943018226277872416794559260966301552020456030260798787953817969504950912049747464000668926205914949898825909773185418692585699366321583266666469595597290511826973233152644651816910672171628162770165110658305689213413520520194473275156635581170007186595138777379132291400783979085316008875839527377692459708525589061693162268810101118930080727338609796270231751879102987422681392593866185108563912722765826102068846031869378056345296834910899643969428627167281256411372956739319798293273983509924856145185742941051333560909522864813332209644029762709231382220543379788658144024699331654003804265649854869575852867590955640481845255879768497083809316758750113480990283777851271228497278055767893052040245544361662840686866283881845061297097102049240651381322182749909522043250400644360275230461229395254930580953104837242045995700074686178362071812057654736172536812048153076143328451756485269648027230579698996689655195212594403924240545072878304607511037972169221364340517410582087552015789835090386853671553561033619949917172091641914436085390976970477070774514190069789349250306362598770873454545305519005080163342084996343166437613062784548718404265342024411004633438727814915901288392403134501915963382279547254135361867387017740014073868164606366497824960718112775571926760280376072660642561156696579784664274369731633599991598061174585827407842416977633311909530005783659677993602217100897573717185873870257942247135754264068325769560028603864906775077450594497077722202014082195991280254998184152429034070507080916604462851193246874561783421082158534979231657930438269037933970836034233983730341946283129424419359721808604830984696755250073331036589448112686402530869982118785947500398228290979290912339155762963586632996233773558400703926577255686356863030262477161023609498828242938655149905847348371540348814099358668202426376157762687486372624686236177929705616929202144220426858143763390103288119063267672252826389772550477926552785896287212378557937107704000452609857603159428660003380008995799709950932286687575800811346777300634240956022157113904042256162220088568643392491310053401641195463791926241169071512748539825245461982386187591962045035710758450184776742647820336664044388733252940584370059280329913788097806431052313724725685074403663688492415908362214401190346648092463263995993804984490263262441377079054956124658425749310281319289953680352745735770841040704826537241953595336996227633490220375750832128926508621684623640475383797112994512610441839089505554857712776667632595030806128724219194747260917779210594893844374582365399659155764276725685946482583746051264566090839325872540898725598581922949515517557673386802441476213668026750748514191724358101849131998085029801054029805395254435496979790938979600450456339199106926119003203735562708354919049145737733080444199128470069396799177806537878365469028270989476084815081164858649792203238632168123082047420511794850081188500606344218808242542415091474269206243713918956956375602136114912088479001258627858094362794051470984080464942789213050282430075107622804202678719319177093758687980817558315871221626239473564804085571499878619014822513547635495673346128811166719976517527569298307227540927795331065817141580901212268982932949761484850311331201648724596093005588615478345618519201431502872978993473929505857098874020417451417054322212488721357771840298360030010271150063089865224678335787548309888599699132779738105600998241516496787310671808745788281301664492069985738901099141824675983291245609344286024181704318278450197170986931526260623412808664188561147383347917271526875692074800412485505046906906995312743591446752247733682626478419248181207295220102376185475574188262727593697499820387223164318663814473755289873970097802877420513869365199525289850593285041310045115969723193780894604893066768263124068271808127739866850679029719603827845197920336890493309997185363216056783397814100506639177114817502237181195043658060350059920661838282128951503413188601496537719343051936080593640782990179307851112892959205573101808249239958248925339530165136255709677258630011857128734271981747637757278324276095763293237510590913292916739027880938151640905080371788396620952894170775087938500626119427790621190604278081049312391369678319900537572301173682839362971833995160326246999591290198553650515146197218363267100281970884409007222634040935503556740108128232689052384362413275829890609149396249295633613789395172815776706789747551888841579897361775719968674912764754551649023236256748536683144656453322642353991535341553556007939746795977251561742621108627245952553706332127280032959898638502425050683857131035415489000540497265675766555160637028610462320955638870428930121768325274064115676267356770568191232051348208900359877498160502716288778271403263508438946615017414590806307460789640658275150348897715261583876614450617511687786291200432084863089954439716761575128665571705496885462772956112084360020880551831646576972261430962558402307521530560168877478410587534378702215463878742822378773922795221929931579310651620587444780560108165577435258587753037609492637422137307648908508379942716081659424593577963679381709505552124251569072803869936181528667624952131929799539795565875363044950403256165155086221649972598615150423714117427424219350302689327809166364888240524155795025558454989814059046830492455804733767195771255485532390762356325491205072024694108371407739263347165947912855829337701198098011035239489688187833941185118294101404848709431711182022298986474218607868392898561367480901508048222164920824850661589117310072261035529423231216507056575747520824129964543478450099641025682233366319381682016386394863612149865062351341010873780446223268454042447878992243978794292346188683963146606807410420514236523128621004652903195243535236555011983618855354806537767522117793830320942392713896887674525768434504009401457121184899147430942031723120652479961468347347578265650823409806301625251163220723240142168360387668249201049342936145899941014845698355006928791123150999631452210322983248341184368490426603138842370490021515490699461918398844428763976452732588855634001303095152936289854668406304115838352918315059203983177924488231223662792535375001241987780239081176756810627496342781809178898087017236535676839620965900655792208532052858201243026382357464980797296954142101874253002751593299744566772126035594977505540882751060715766136096364186311207555546752588341617481262072426239185023428386176050927067190629056208217920227814974462247068090881029879877901635710162539197398707151474519737237372827208951163984899258875997329652814625005117740228728182034558447173263951010397693442243865411525408693063242398000090481938497132329934619831188546440223702750720907819177292666071444386501311159322935622430605638885767481479843698342249568226858073541382256743849193679810984618021943844489333971392623713793681753160995838654606019179552824554044289883643192881268171258889370365619810066925030439521617688526577885315731167238405103129647869300290485504139299995321366166041297382497394706135019255313251669264342453349693946443936977088599157508727040007761958184421563846456680681198443068090550528705965173246203184197341868873125975097271838102902469366107059014945625768187895568879521704853440221197325153327642251215286899705104124338286644496141107456477829411930380187291460033800152887601272008736023515997960347780562719927451320565371821641900218354823469545536174356340050010222111192315534410999965707703756755720854460190620156760531671478156179456051136187174606611867407439329200993273349443380936315366196197879715677940902438713603187536288873408389712392334513522395107645007623860816401932393009085905110989384917793267994897543053968323944386482602976700421125190985100120093163759871791437332523513680333467763829093376826218494545791786527241725277695195463817579341544614137567172241381183321562485315966014900876247574325928759301014527567427532461208444585779673041056866690745519300975081954487213478156537145680441846642186955128017890848363020096647089095153820471791513651241842801563387654108145786621219004266414087992181229842781393590865674321396322949678049354860672053281900855365477341538206296546430778402340916251337427786410501909403392175765165753807865885096643215365326343260941178423717660920228796343571462970785711876431188971835166221240229500240899891463351141909078418754289944625987266045459907611096275404307991631489557135718448225836157131148710551415338484174933264192956554016858113016704372254608181578535320545781697530206153220196280887775602158437141770988623176233901625553566725134838309940261282193729528745845158047617140403372077810245432205287771090421579410587145853606525057154484151870643024449657802353184464953760840381157424714505993472648439652576285225191949401297338198914326610304579030212362978487147918048347195343227025897408583895434652442669973568414139823697992732741987386383986749679791888605272977531484614030823349504382394827185501105901951022838661847869339767407411702002379033776090631665156714481536336079784207455718099952082737369586297337725206402912870630719620244181546835086856338651455946566921090694389389611557614485561003392535802207272638407907480678823392085824563500419827082433949203072996539551802504512325734947369032694691063207531016141077431548521088017366546836084708626725284205813615719117690203176183295009655769066718691422599308454071205331718784121636347052924376467359661812359045575816145290107937363095382962068406254961129916028052465161973284947367189095436568616055190512933721495019110927557160446149316560905983178664315505880265057760729872413561374833568030502171875158926653966078810952015251564693403054386661369470298740613269983784133854221246785212460010566860502348794645681961736830910347067646866467788317319826528767439895510009048932339170640705927842772111335965643818351008889928740781445737848906633993218502548288265798414509219377677682817227347906994623899679726198006548168698676498962599305688125498392183811493016647669020091296724674194837134458310003969319690970482206131896951378274009860392357254873789062374857227333164207640137127631068041042537785833453048523186590440121743496440862894254151562741614771685167480890955396334998766686971627787852109331653745261676340323588260852624256691579661308892275374412067126284728294716873253127475225969519295671639001619974321997694698981542400081803449702441092728458757797083476975174346815272012206396982445461556934072743370068518389333501214995599788517281792151392734716837744592028734571069043485496029625171056965261515059191211498446039748900131029485663728009476478924746749128488875340420130456860931157772187125823892941429147311217708994185767234007196776700400239470141371905016798416319740051786507427626700604619102984746123555628538320493428324167161833204223687862649030740440764084646321439442327489080566458397536913090422752152118973261034929800153219660968052194733797005077147506233384578641887661009635350736889675753850885179026589491912807994049348491343104097806840463308624950126745206628469958813783702789032371138784600657806564836456308562656487361103604740822142014247880602768126611756788710619566801974095561833065045797410853923481608033774844101467877684033624082449489934380186239591285917588704031355490161137251810003689239059122374029374501992861333936038792871462637935835224374203028880202583982532009851163917976388536707736229132009261125558646375956841868471101160752272222173244324002294256133934632474994045500485777194041936145571492461893363479612015999288430017849607631372986092612221208529550335747528177069631953161900400979101799604148811903284414436656249147237987307716883914313956730321795580433415563050021639242567428483123522630058189651298375520642070324073220206842288623421538586793737990822214159438305751253486206389015470714208519115684102178349025124089372081173946902199981449971940976669053983264720158828051408784727711952442521756969451037073736145295958419309943101415157233693494009697555908323895170371396518272619439901725537680172204020537671656461318401557229560776925978267783284064368992925414301817693138159282279757250764998565794935685271030803344453423724742944499315433738922581601646582077421200319947710047402817897715516055546015336120809664974632438902702301607286675291095449874317198153705232099207469073604657468082476177419996576991276379895331264520133780814971027513130455624694859620829291952439817736623964867172357013513215001705542010496762656106749962407940889010713293471733344620009599032534330957943207437128575145936528297802202656540174116204808947727145298388214390023809343176032729412116826439234801513858705765790226684462423070625762043490492454455489926478712452576055868387568785780798551258062494996682429036639350208742609515244747398604937839546417628998537449079621863799468102820874512292933090909854208034408292350069971840509964803430986172906204093753384816338121326452115471080189266369872452448218661105169156458168580324318206993467153213954795292689346730507449970771193242866799729394128622426967415529175255036324000405563545907988374881503630378760803441264382502666105916013901719380173164548339761146137674139159655877070443825816611613281494894152565145519003811453301495667031774610275698767388926995681231200824554677921278689416555603643582767773077842661912695755031887024216573763127414967378494092676637359552109952331907472752059098541227534299458538955047276481787730792351793268292185963264228636522178918008121929791714213113043528836747697115657681093848460118018286812223773179465794962849781211190549611703681985329167628210331479129328458783595710406489502133968377490149316434369054884775158000750638297841601689592766771196490327756478332867332925347425091720825471021397412503319683820647186206990511948872945531099313900335375452732550741101329023032202764139452516618662462020686785027529641711485792284443866349239045535483382429827637979591728874847640404435040075492262316242119742559769125920018602898132588699710870689556689879664523206915995214744658602530882585335146063062715517652892047871506161796340999161766413591879620665314349377302963931621749687598287024897153125750545772053367510607673482171454917763139884061086566557862194045594169680237850537386493488113036384326861582559422395915258273304432162590574972859763054615191769999630052373023609607549461105226736077285905255564625006351409290360783920895558818803803296076660524850241225073303871770580702374542373813983814137757935041465049347660174838388284516848723481930246431169836981025040898316893423594376070452423929886618853707179073044996178065109497590944070156720483792668599514183089815611967768241618854733003145554876094338425547225112964144232851364164797731285721687210393100369625816208427690635902241696344025504528039469594839722224682811570930463849704812890117898366700330747341394100579073699538674906173664467732672914886448177191425257612652468188594129451208346769006120117086667318759391394927714782745046923507453792753855316431553668906021923677449913500062079250178726168968821671199769173402402079785867272393363477963950408157626226192525276753906379801102893293826359242013074521549095947563076105873405126531603822312461911701806715264144477694473342720929075585914016279981579585503130652121772351646665297686119671827232859975200197879378831308484981873006137844034832428542612647428376323082372112349887526974619162686568970483793798077237350755793054541100706950488525925158480555353469813122959587079090363048832004130405779458682845844275867936105431926080139589710198201478686768668231507483525029236765198447067994497601339497624509775799105368245670622051405353790757433234744526320076209729402006310040124023827617532580665702034085415823285857951860811163282703195989953695532159015055045887557961529546504028611280885320183113074842542182740585844527584005073963601610819392118388611369232282640935594226814467019311813895281108943395219852319926537636980656224660070947258025550046276652866657930239111438261852971545415915034304911546654261809309025478585359270804129144911362809201127524426590436542527280890309917900714422906159409023237145329071796550922973332225360916885992273172076302685617908539833021448343407665472052737018560255920168424462957334068532030911833815932623694213326922017100433464486281960557357161453031767265157605146217352215924067358556286002656126869491003300546297897046429534508543264164926427870375293826884136952103845452439110961733263698300840023762998626741784510814000237072690427107507458685719523989274491504128918535307152562677382826248780808937466283816468409366159601270599057787020556664261176016990270156102953605094677708064213862844042166561798159232463422866943078507575264303888408420395207729983455004615590630567607960958311616528428146225986991356809949586853371167824740206465477736529906511222310341236894747597430998142743735960403450527808938038845539476305972711476512727726297738106550963301537911694658088266579123296375803880279929169381846569272043095423267797049737149749553463325938166031007990145965625259523996540010539193365283486721927354178090684187606213094518598482275394771016968194060493886021221195996360469342319879471008204023478425581168088702108369932200784908096840292426363562718537120342644482096036751860358123709933073457109806075697660183145506602016529495189194935537545666690826710264287513340185093744356898671176343840342009382416148754210760514751895263419952238730348854723592272782424392385333860542943845020752557826589132811763427759974280917658517509339584162419022766720292342152360407289558959026194887550486848737903149602613864299812018621193457865722103380934306309222769852670654642957188883035316668998860643836909476552418972940266721941929902167415965601560763439261681315678484469402665251632323798886490442191913051087005087847349791159117892513228971237924948661980103565667584548297253057273881744249426232676165535957105098334554784382262201623163934595100728655369396187686356214571278182499651916121190886073896417918054207102019872378938054787261407033558304938203399699098363282468588352226751153642195831617869982591019636310823896652566066460676606587656592470961150609586026875658287005548871755559709354109917705880765953729248588343081573670320014816087346193627171596074588081363971725743858961158642985752337471368647962195485783976501789143672072732116113527389185353168759947466974964941926701774171587227961603493064521363280531662442934079492030715861342393115790046756202711831098755326897638905797162588692392570519652009995260592537287332300504630634364639578534173449097225096757782066196196552537148596403810548623963111386662357593582497260922243891589496452820736294414706902768149713371499793640395548079893337688471710356584699924612212138509415719763895300198202931116620255454116656199994152233906171093903708077915597883301910440296008218996602520182673466035532766008898969008171650882866781182285897829258275436384131138534437143546900444731809739377974941704872158688532766208025371359092464461877075891276335379367132983265610500499163849047124053530774690360099143031168571937077475136096606826740434406322550457035386030881113463186438104973906154506366530993052782603959092435195267282179897262841606352865278776418304844417401446798128015786841564237752764637360863620144750488703594141751830686008069782091628609181000932964821308706655444018318181113289836529071876409654701760201209495616567995868123738429537533564141482100658111205308024783429998390339534140696637739007672150854703394554456724218010814220282346984053388623983705764179813096201056458602595599310602324705290850280530498300460773948697044769078867701290336291206321682059893448527896961214115576585227718399486773830202059263822114751426458960252152289506563767404963959222169198650341732109732114741443367772369075735446095563863825915304940759775770845212011688063653697905896955786113418161656609106991349624650349884205373292462094680714942561765331299077171017616072299246372819861293361753263236157230967855242343696820430367259642423944162655827916472823021349291783272371889867079570909617621118713384534102509039104338909589140129066867510524514172832413490422576070807156739111612228845183414738564845084160577087500656807759357209123006523025985376249957200079733110480599456054043417382107407135810632027183917090711525529947181583870968914957146251339320681908670350808504311699631394081622436140481392970344220543476855318490514775505085239552651731810966670723087177902674014256081919580263386942495567551868705215668927605166581278688206393521916440465721287136984979068371197433613612436647018628818934232403795184657800599839681514530849003532481172371253511857123864740415417315567912506559643524351272209214003269814272847332817759311679537274973498673241598154691417118261521269409555140097593841898394863375558864179418943698328344562194536092288255110236335089132962883467649348357503765492613773113182074990602142965693825130019848689285428207559699196418824631313399640992748438490865615060753746223360583061092863944630801115771019664099612292915293106161358721996664288749360731641676406282807179460233083487236354909599386889992070831564906787915915950245692629461285450128050697485102493591047298991043328536137152215346852186274605265615597873852147176194906370528285490549460578068962752757037116076258204614985801937023853248565685684180851890671069401659380645668041639126619287310933339250939960458880087504717916253344416742872730561129013051857084665372103719596258200284626199192275017222422677371296925594799343213420039336338508801798980968129770033346711357740328977843927552360122952821599760933872750449352707657057086299305006760074405815832613419038005018456662319204427737557685313056913717372120807637961868674733178068097942024085937021051105949036896537158647250504529479492040124109165219571862140421350510756550192390264639775927853330464752845968886098642831365757953569778700333918792974341160424813319295042497414403429577259156322133701758404353286243396380463638011669578178337128749575901667701641803652065123047428911775392858476319039748534467783890828714049579345887037056458153599183561255197828594008541267149895424087433268168092490848845402137613279217524539040942797437319997033780271405137039050047057086398232828509600481668082499736897686190149214515828660709485295979014002817172716754384377468053818351370446028604350779070368974906746144826525742186634581410781754650558759874543186725196932070396407416101716288614422919329577776713742353712096729817889924069144164244297483561440701794130174543739907414431350477152874321231319086592947685188943744900822504276677669343609633785240668308932833598316329039227233780534505723600919494695661700989342561370711946159179587339373807330133754304226534368609540218273114571508451648762224011919092557142577746141792330658056864517838039504896645021961193547678579430350458148851243114674701217263863023875028339424539212280773151240809960600956334107837181570232665699280842373662165636886125429021696979885668615421869466221217537334049292864928245874045992107610585845788116877157808307859347605859639037597478865662690136251800463498210442562947531713361366272673893802996785732276414296415865504822176511529720144499284325382152976521475621112484561493597325941728295128922448143082995190298464493904287340326876471271353957376432778945339121650185470330279966377542067498691467325818025123815065615398026710415070367693079000132039613969452270156282809195199722298953611037184540245560779120632292456108248858473969602993118696744484476661785727408018892813827805659680458309865144283049298025409125962756157254003332228908852824442900626497215969445990561871496369560883426760872939637159357444367382140099003820061341494065794861910797520743886630713903523615352446847748222119591136268836707990568134099953603978240436664556038156864312050647445366740871807371016899425691296221860550695576647322285007327560589840918707376416233793920957125894793897388372681109049868460468356258559397847370863177140225019530998610000667179670307882297590454128406223846917255250285467869689587180522253621590731870375849946047562925163339367306143034523585012576262856183562542676909599502185629500115354311123714395953271775480460468855406100374891913067097615709258845413476652295928027161394373284162028050989733526349733644478266898180391683759634256353087669203241591666654885376276250488039638518812926766710215648570019855828999459461886218022540936932428845943780815497989435265933773064629557805372651054688246863103303024104377569651725461355359597212891445568626378560007818579792879676086320484654017695217793008542328604983273368601700260497429600624983874739034237355646330471363286037083684419079107371823207933924617416027837520228417182407821175422956498048005479112459501907639378063384935779939853478239500169238120040598028151151046715270409681592397491148479063667140203178414469604657861780999485806056562804109378747374231640394555278498066867874620048240084064032683215561522312207416151847786125064648060261226517607722592775369220464825188866290507704919287383804571776137172336043216505455412236714134175797764867269011621399920050067807026096325245153001013527461888543380137663020089175090963083996188499762782298100582477033846738505119209290818698582085844312415799532765123507841045678918654836204821804790461516744529913382995040758941990328057765193048382555438037036182375315877698325035135542243168152305850885954801419348750785610172082887257115150254945206193588572552413865666082059125676114918094333187579597251658891531605501506310744513496634615577456539986581786124954044668423109865366219069625959949908839001303147769425442855946269773903100248463610532210210475331551781724262352469238509069822158739603337560446947750454443975799956978920793728807112046027242872249769953754557205604387119323642245358461525404860071926495476516242610593828711098063918340740116717975126272369677307755528122164483818365513450153105704385254835298933609048669848465314230970872618196073787894979890768967618251807968129006395620846338195154596965997755175054510200231242320247631108207946797152418620628234717555997104439715772828170905448525677763605617518638483061122703441837975988995392929224810336641839826760604848006958239305048872149961266662872357105448519314504532627500957224490444374918631663168545508736229156424781286807586878236060876625468910286444438934178060428207249724966715740501397496350705254468688292004187202363847261663235507794960099397817445846720224278216105999495078270663409878902553219011780494927617214952873934486545785766330797520319343015640454534713295194565046374506946430343923642427786124420689235974162588040456214826669512077113155810110251507312086032410809897647391040309765431564113512857122997216157971403304471303151351406419854485858997886160377993867502122479823575397002587418415613469464912957467417612829635827873712940223439516546588542233227017110661427468149725780605699217362973138738456401935329151922966689553457941551512566416788595487926319095211932774688036499929487461626604974442859764132877001063356634697575450547438792951713264943522300626639185726796903538297105247666380218776825268849904098509600027648917555478537273247185113096822877958062701786152863889063927799888386586283478550418178495451065922546538505159918639967998436675351394830925091382419217073312927817917153591667172333613760397894305977432455731886351378805947599662646270207508732240938063887120856102998411116202984054768087693898478869545589466376693328898120934749980855313906910668186242914325885254020566187502739325352731344785961733991684210263246878978816797944617473748308059569545578123396420776143434473240012878942458099752059207179843480555495314222931815182242933952636152692851850462208863852457169713585081956264088639385544555632809257618368500425542606765347055253587287158751152118367662543271957769175305183904856928230242142574696546204388571426553597884535904180191012728318036465382303909060152532818140464824857229960168172715845013997193396235095007715399927068182176548787708662025012084023467652796256846504451932796882318927882223608074692372910980425152893875275971708713908283312626421092578999830437103031840967114161896511653187470440422394348358133439390356522829195992388642735547404215854273987485656480713030109755281711897806280512390396029461623592910724271837668606308053205900879600487579083913067203876462356276565320517116114848986314727769423283425386285626009639660825954404187224800920664588995856220403625582832109891737744707697801394921763385843073974162902039213267350277094874483718303539845284376795058207334541178384549911315169408430583589008156166152928899753725394994772599814910165068855132828051655420339525080181033240509924149605658282112691673150418394073272721591857799508155183275554415616291486054390162310215936949252377528908073774940303356699272642805872209475680446863959952748823800451212331486518900314670723713007021293191113704368043097435685741266662581117811821551575281753202983519139079900701200206912281106705986827492476872028767597644466574836601870442828305742236402170927196405762342911019847467699376974519541392506018566129091832638890936412477904373482828521684055010543323641799437592446124583581361092618018276272087422727255702031846789415889038948678947174919717140993235215967391897754532451371170669018885641429568194707180579433798605760829515642032375902423545688478106416972301407909106818032649268378739941503033780150298997734509407723432046824102049955979300875481130792621330153039968825019452225729099500400104107169466770443488127189209592550456549445276720966009602513592673815578180732068867442307072069785605258189872406020148787675217745644138118487226074089058829545822293970356251593010851970064395531865525498753429280055112198106343461946633066210904903098256447026997570967887385495897806073654169327193468935058062074808851868141626313176356330317836406206680210131663582372657821850645752880462334598008557300736740514660301864351422402413950417451328182833717055072025401069159342191018780585871121206650830132651000381556694235430354355455910570928334933446953781116043141373346104153732760761083337577837500269257661213358242021366353032814300198796440872610090175900649901934028041764197493199720860314333020461725990140113843495523551295588058598588841799711756311372198495384784167634584325521411280073726893997505427117200110901290360745637531821883313516901621416482293887268434571648537629258843096012128815525005654359659872572858880751135017972909870804730968243264109194752582128141629290385213454257118137498847756194651696391379982883502283274922750340951272445092812281588966007527968114254894507266043085386396822835918952977710333878946224418848459697931187488075282613962539936911456890295125413106198633105780178744389126496028425633345410052695900479064143594729380297666193227852055803265197188397206449170860487241573222627580927186216373757068405471612855316328259724251960187030839913405557831203296648877066939667990555070715337887889772151306261229088084684805362296444123047552056846184978215568595980071866295740525714402381286278517011612174692703627519037477749314723849130985206215409763313497847868682947078163229605193276842217880156952989184177924192038984558242118259319366375787812908407491507991444453940097313324675890185441995807229201274957693112551650998253946975671926671779769187791506735690267922253420675774511986876642066275329611763437390357419793318705340557764383701341599240815840785549182373157737073523092055418891761950142384480380320083782110665280761013282264940338286722749148771350233858379494286846029643327421072240484569579792275075156385016277696888118570252556971345786384734629938052090626139436883603604812302975350399719859350342837365680444442879081984803039480013720120907201010198859368863534582312269000722415103235580534142148967715160397098736454568717004942600518044693964313131012649382854794536615268161421521919426571847519226147029744524818836170808560989196719720522208284126716254396765839207407133314188155825404205772761731431432819841510291920517337973065093445552185802319648278239066426504351236261883029002511857436652064209854501431829889936409886131811734979808850221600994094785105564966630487951515367633118318838513646803637896966799807425594611225015857704011900970585506890736360418396313391047469975150239488409386699945074609857663612505652994374780563923332906712042361660015890566381477335189163384192465127736700054364808984712419236999894281050347332677733990969776641732202112132434852554712813330261485120816504561105795819377043442765982614169688041027615147988653119480687633070359646285232982209293504150728763888820459072055625290367066641632199764153430522542433670571465880665953913627845849491202427509258869913786544224147065341302997017827188572657725832867382418093144942183727245354969895087986163155935237307904086259100244593076932573365193850043001054418953736656756011480548212538687995935617250624433551284259043817867209440215908887508038231730886146724665464743476996670175186497892637278089594054513345739949050988828536327459367257507876220049144509589768212160811546124174850004128920335655146937035468408869457726157941525549001092281102752970671422615009097993576612010950542776490697622455729262080071951391147664369991761817940812765157562755192941370377962311921151377654074398683691577401546882921679360404234915938101624009680650360900879558973506096057840116486509742149611753503774663900052635147979760574029732637469402863751459359576180915489063086735035273699540286392928119444214881733790576348434092209003271183257826560627408396502907286673492766497311791037242257040040350787604692701083837326653261917969605408170011680092860918846432017630793952591156028505318788637716220930689494319810232866413635200295804227014470759700975445018211546159458014269562278565583385798018230588496602940180110551140142236539113003588143847193722825245045632955069813729655763828732440111920087068058645437744522382405782660047496103819011223646202640838475005936524395846991241022524938663414602100668708149877252761850257926579858897355862298290363269400310462259778482299278092105947796947542536002590713254777058786975184150109460907219424733717642499172275339730597470812944874355487315382142144875071173637956294652763385146299812437454443490694989670972156233375162612339366339638156426379112339646926494835313742920733762143498240094755439802346558927692855939176232489406194778316912234871002480621266279309090598276234633768736026985537397352858663631093613221357578083712059936246306813073389767614682074848125652528368299678244240734276003016608083015611233164370528333487534710486048653640317742710071510135164655308521504153721270072293942843313070563140786872944375247214834558963883514052648601175246765665101209305045632917297833002676026788309499782821875745200512793588573330788737736355353722140707562746048459150602489620309313272088229432031426436605748797139041462066474744487773118187286586837329198337661691513232144707335488056045330450938075062215039611573425524722921854952183912476031287210721948398151481659434318858187760366470894604192230193991948716278590147022526982462235494932041038348365428658984531859763531767114355914514876885724246544221022121688204929222181170783452508066743796628021722585227972081742473432220819112149910013084271491057914695963453854293586498173946142987426777725406719450604805949705188463562540412461064831604334222838031918276177958136803528791794332428635673521946530933891297595989738450175790586069600494487600768868885506886906384058136382809629728319442947883403751715205615245213122589215335260997835853474310600633439980137255475501848099695295169424957088177244943586691483673772011151401731193044738545176139452777950774439464959779907168961088204573883793525929598923880375144483775041726057914988675062730241741828513189474171101542972404155861161417029596652011963719601348168797989875409282974628856888453249662737121495241399281672822450586054691224916960365945528403468147160372146888130078856224966926082718487022969886067279929975147881485773877838026491878126790879370309250820478868285815386380490893916003719971091944084949847632606947244368072856260693467086106929843419618891826517023645075086448849741315787395034478249382962704497077407069609028140078777254275695492168364416014823597679258777937746186518327938942178421972713843479720529316504824695458819372197571911462099665471073765935038415797897065146728461792494087488887371377227284474902299779433712775688114654361265689772600940647321696973167691384328680379579461059105537531071069432435777164627891835622882299125208679127859494475543782689976654369859258830388588186619168515001305088430014799578720418986495461308809730275886849286726999253814036037762261963961647491256370230610406532646799326755262079446595368401805933977729086835192060348993435180001061676213238624734937907204234235467838404310216340395700106707470040526437711278413703758358276243243530057422413443038041803485661138591245495401751572704870079420776655702306614398589149346986771701174134095602281165511855955885079248731155084652541205052324820097697492798466292327396756926241543594885542289910897230045587752580982237780182136493248377422531657390902953154516658297143654632297125245475494956692149126543667939880794848815744009495590323377112760493293730008418443568874767195825745285648126744517528821646582931767094168931725893438843174621525469028964421758336601886748309932235232613501116661119910082196470769409762731693016953138092223681463797734021543475655334427958783825846730394066661200511799718028757879914894443602198043370938953600144069957212892620962775916371350569096470757460478832942286480305569118676917125099855193809184478337666751252540216176169703506886637592039764903086441780571400009238413767810888810879512081867488980155227481503080094217875793434953389080124633704661632579951606484000118509976171466069567506071813928790407000230300414462507254456594039956288239040747709946912328073880235096806295832701290034751932250177765844432803782656063219219583564361178692736636404440912332605172797344119558413793227768854239869288848901534697497880318144417532097648885704517255346647500368827965735460717360691553377073743233683864427997164325136136454978744449323537356320445551527604263883562298478709738968784862225326627335427355917627275165979404236368339205988535056212703874943740242755366819326616362794092389674375721232244476649470120473007233855416324606636683546777555027889978113260127926715187790622672076105827924384205164673627256610882128704066091016837271354670061129650575780686581097990904885623798804732106091219317449811262531924862657522085871096792659519307482443363967328627983198414571700123264672838900545503242815237742409610545336557068052508086611865227847009128764738973505688362452032851435642464952065606410984434981609497914958446458787915156657550405907637008187146240521227902448475213209653018775260318425800487991663559376550324487263280240238778150890613709251824308318201289786356436470558354465941831756712670163630203250566708506714292797810004814232082968885552068881053464776806554637035936868224567125927593932476339794952642256387242812681013387811931458106820675418957288102714974054944333156169987491960687391301480179621477530704692029029589638790540816634757460986782577104025411191784723992508845495026823816021460437653229372708842793359281494532114713104497076437574456409087913144953451821484824525889319145885967995050302141858471746601417580629600908661129422698980507155102047618846845502668819699903560661284251429141837368280731922407835917235861155751871557997540817510953891225173008027332069222798643016160332424055410729096221133406855247446953641397447335232442195716352000568145724824561395631833113990637217237751060965131530553134488227861420565025822899549795051916813472283612106002274772337871738499029775931036736743291355063700869784517443924401459232697811565468832878066742167049452784978607192549558248539845317770330729857088563234273963506683664280169539022033803658422172367492490254462646166745462029683655340452955205048431086764442497010135659579977750283313047256841209842033607633225735339663459830478311157999486710743911980089141088478355476652390076186967336573892590945688429009884233903075463765407249906135313461785678322338917919223756960902291256916863656423086892054440749379139535383263315853950275376897102938392381468051078179070169793605296897775463978674999669028979502006769241767258956284356953689294832064560465461767134723012649706981800261629167153299912957256058117384407928009326125207034053576346683106800169249071843212206206058039136679819342397729017860175914066112539030854303476620413448103761082854410117452359274915133547968905204443785563304491313433126082062556777303628631700114197682777694570947059059116180842263505429649398988630120851110906915583471731455796753220518686012094499708097241028075462365710341897462576570195153119887757901667977023705954007304777728286219953477441734932817700057062721935453058658711484226694370442812952602595348980229875433981199187519838063970886156158246536806692964985275810439922190025542710865500901203772762006533228610018197269499571510030879438551054904886695587198734183553911420882757913185670127455289053352428716338658065171234644055336324095278638404454970539288643517215391565246389289130656126506489519828724683091767417538263964174706436072630776508091759157141869657318226790193161097883012805820140329515330270371456385357357442094914200140765710601684704867180992571225842036623546553261414085636868643751253426398925046144669850430274190908368223004201116045726837241331513548422427041880444739061521445999573542585813103602565313035245152396919730508862262066163056673872606452611702785738975857304834363582135328941102489816627278087320605553301942662296995483257719173480484309558354086871565139834477905934514702387650291678882576360395839946770082328127953586401534803125783613229368638656858607250498648657647541407867282440321440553931843769744719390196381434195811383064317303732726917828435300533092925675586916013225336495254809931120138546587139707340857226136027279655111071687607027556307788720837972049525852899815271220698877900088239240961533343928750932856071022873995626596429750746997880452622399487187819687332211888909090456340420500485392651353744063723047278618242658519200066289645807958219218157846529862392820646349636392484245475419855179892042265241791061881083347772593293085477656398095321014495317121151322417626488013366953967444474733028951019979422282034664164744170321528888168311880164541829859929795051168353315958960911352387902625605637112079050723707559145424819569937288413509310122477902605394641439211761050919288068541760573302468295525519416373470694439760547210218495482190375979124944663142971600361716676489708933841367482032609188172885447965500165641874954665687060597818331007491565455009121525505474664535886834545714700020374587540546794792535558781377103618469314076338190533033366765601615017967941352458324315187046931661582468584626982529250332964373221687505974643987748561027548574901309935509564225379355920507055791576532989145655369751764067147609738854927699815245148255015628699734556840965703489358355577194397295322533504139614202924239686314382163925436109747866525536216309245183806325037423230127072574350046399636879033176082909830320472689996701147656383478896475648924833860524639145134392447088498777178847899164623338416080963927592087709577243673364162773263886819573335407954171557749296526474420686911626865011046350204136347183517835403356297514559930821495414990869087542772731483181797068152152754632778453284846032764498881811826896344437627776083369822690347793752581668692844824369469589571601475253938866157603595065234278787237165384896659698678199877130705436234917015753122642889169640220388133781249673984599107380276904604360804762477442319794610814877210258362494884316374678269849657540511360101007269824719761658838374267286972128324539008238755995997100727501347733687688943324163167070479345351574181423284242955783748333355625037490566273038404604601377876297430776175622962730530085579640990672011848477052827220760684652609993571736044345123606948966133146939192717072665240134193515029728140338158408995363384086651940411422370767625887387537771196089128493681454740861622990500903301765512968368932563084388232880566163452072887586528476994898790127720071235706138778329851607847135159437556332387155830586507367220194616695400543225281777399661270322449243314735857104368835840576468849510690259677196750374595989027608384063845322925742716942311577326196803119970895799473435252524582568448304055552715851253763612706098859191900723739515270508814719760087214614643889346404619516375625267566086716334486252665722307595126198591690533018055400561092428000913773861880032455853286636604450078933125499097610112924406984740338228142465800890071247420179427491119722179538502973520985913955592444460604857978122056432640181785739155875896318479982823118072475748593890701126878802321889171046793592209535209362706046915591329931811228421428884793929416394896559652155587703968987425920577542619660320803273603875013724351818514836961699286559257077277188844124445830009613967272229664128644976071627070344359017019477492571295736149700074565519542911889267257828463821034860840179429824840494194199882585123786494361917620186552084298795569417980867749515213060109847773159490194353430629142554691511504446297895965634401515824253517392458348089539543705867646290539802329058407659696990994163376516993134395554218244670110200322420943428648420732227336904111496152199917055357303078510494632413773291128399553721130284543338182881962890541570616289524441615966583520240368272201314070396038057862800482377418102373965220971230920256144450357494025098962455910627111250924432364063524362809204767118892026610501503750449660046801281479210670674891615960748812813399764387258934722817774741169335733336847108445000296257516282348375579248446371030312309109746146323001503215937898036195776423098059020106847950688836926465986382296557706037272916062619615095135162508560344007474180037203054044261041902126291162825779754943547050473777083078414638626644736214757967851006375218261147972939370264749820367374931401404355957810090748078048512635305912520082064682175640582598643379301812365351246089744579726834965933083567564013793818155980494173535691490540303457597757511507454716488205070436545544862324619053857654655299179565308643549291598979876568471628218715594187622527864804052415293939242034736942452019160975248282127773668821943109405483655364407694196663965753509210338186764316220593766827788725892118214722380171288070219316981615830066644362252362577800591377261062492188208455561851998669071471798110088578281551361611768657183744972917651919669054445956120264342818215584839905297083223313895927462642155139407682196804052874761201062058501171257740386980060718933559276031386724894325916960580841228549251089000963515602583554713031426523019116253233830904287074452494919885006542997881766746903895648591263058634482691878630728792041761456353406841301775931892324878086585354115037207647368836690801704581900004791325685976382312591753748656015757676375835389282995374804471372925503140906561865196627766138132693388293701636227580917208995487356754420030319559800208895232522307047288360245578095440716803730346028202280596032430703314844910596256250775445504230402830888950684490222191460075344919677502522403454429219430446340465926143061309902727204300599425728321043468163212327319200990291035258197363804415589429658046240631975178898159083188436557490601991829698226297593932979538403627421038948553644729432113031198760156652472467739686932152930476663032642028970697143893108778560090689330316312982815877445026647691896865121011315286041828671525823202617228844924868766637911992727826556362130315554878422671089213452747758121267822093982618404418965973929930595546379382973451002302426155890403600951563201299515623561483442281219939126712020060896306727278423252331668766672464794603193167468956312337422817089177900474365152247029287842111510924778531488239192442775131276692810751974274055586120582112690262303956714787159865402874511796577046516243891270776803629113331956440896526598381579317177331440087003555950374172684050982305612496685279520639127657411346578472445666355891440040408678645032546285436856290847143397919336865942115924695246794103751368664939961641426604183771364227575695817641173039476563508928350490984675027454847486910346727083051158276972130548157580531491941533716621949528865890955924811946368337571331516170943849660519966077693673388037611104831808414523573786699642335402353790200950404490128416421089268493518282446835652740566508833888871907155595779105255025415916308281658313043091723958887214348213126397944973183211095816478177665311942499402386108247756989187312501139708669477415136932931422812715330672452087532724039992182365492703256332095307440969924541399619542995084532618923748698820763119409712053528272809669423892385864680909721145363380448024693231370433718721812093097555278100460952994305303688085722487476569932759580136866880694035448906161019851079620574980132196656071605199101767485099847352656270712866074242698215629768832753649212450362052196368061919968884433222423074097967757347631804665660136896270512205190182248606241085322776171026118838759446879969408584150966293695758573361794848318916741521369541277071681857018981049877763679199175086764396791495002908269081649550043882705898630723548856468753848053428951363292233222102303403544184897026911018020439176001088736847611969445535349128486235443693910047475675515219461593465373820691437915832203202066304886638082219626497269584523247303298470125564027811407206770706479556265249758559053184847611841285496265701006338360723086023893343903122279368872055055190916276531036521652809461315772755056897483378138754429434968274610826509588247319008636103241956487442311405990507835472940671276416451643912629933029088585174736931732817279437756488383478177685510440335751166952992905992543257709441281250750738687796968833660471093838364723377246550911270022166976839924924697015317184890493704650131648231164497124396786430931322516421596159886372370030656260331550588014385812307068029969941887277388656173811611397148902166578988247422060790763624842618530347876411481613938383253989855342694163371075795574893265250656580289539264066888749159779667671171085377710565316691332113121152249412250843191971869422181531138585499513401644812553300323562497725087549144990784592946393599257388492379764611668909962950879052637402542288858620225285830791735034716393494919375214853013508690503266156152874479971898572184872438164050566110517034783280247775572566487472731787203126619698164853491576963109331882813951321652117508323833538717195060321093157180966521255335133792017496160270423527786005150140135581011963764622955168744733264015249839302284354804288719375261204406588881066562100738053719757703703141149569790068304078054028450368982769419264891950109043766127512898855890074382971072182631064502389165118393708479008802744900577673788717668729056653320135950192343917023277560484428948987040436999583361314739688445250573200412204715103904587234104554178849951110337353439258423031716474908634544194828440427519318762689920990379436777606795040205976956963601458276632747384000547616496616896465250496635246876820057976474783043907439515317046300497129601699702844345585539627579953615160938480103874993887646715385758771750223167748539416205949401012031558700416183851358188860960294043002147052200727337542269933378183602075164235760535251398239760434199763213572495122974123518687352033507148651718968667558494616343758809190454321305093023049664713380630173703573871490751165969649256441620893408214856764184434609947824027113027742743759072580640206208588270975652704691442325248531937299977891844317616077434403880065625348798645474961484358302916724309857978300236575397741849770825296700997955640389677305732280337168733661520364167764559510568526529673473896648037250414144183055320123613031650650953361034580466683058000433214095225993725757321453251253788057559752670816435342396992517706023152368059083181034519803042186494655944600444566818123763587885245071047676120063969408402278066836348388913960248780920864501823220924036553786492316235390630917124511129116880669723306936591593597855775401556017140047462986276095879411583026486965274134686576334442968636858931365764420265454149835975140962905243319990723476128984150540593609938924588352834702656363875408889806751022972354422239131470514276050631553438805185573857407801305249568904288127655790281588273269690909581429385624456609200635658020810295340149840429768886650267235247903947037817103570045804506819358123305711171505219503459609390208855271564362462157749752695444711110102903843130631322926368684225386940896603438231339489201999954967293003500634912908517932448022173861098104890417864164589801140423494596073579549498399394117325300343114227483210052799433407667756016910939271577535378905175926557953537758544590363066902786153899110921018598361651597385769804314237845514038769295637283194247503900028900043624063292122196985702074753576061478440387865630333892617018337272282745488389060232162767778444133862851280101829698850901591900784213655058395054822759151292602587902938279197998933967079399184038340062523088273444642335645040619989736168584228683998178249435335627420814018310707559646297824844575284932329387412110487919357045867033195949104451959673091182604860162564531685560906816680579386521624442392473558215507388257157684711175251511693382852073975132984912879130989368831907298081914893952453981785825883971328591420264402718764619804197050825920506494907353516104166049126970196451132448663558730654975573841929746986088815725540952267929792552997607462659305036747086320060678888187625402042640745823736635720746449214676826793197268324408304233295315294633638882348810677816763689368637023886234572998623739253024582595356748425627145872632735170536468580538392897146547755752187016362010544591620203191408044966279418275697413113683268708660538888070231295051312500665210949118856598093802781985793580076627824459955822522802641374123087827415245398731946442377253653550742532326156635219581473952372910232739242892547684839027259248647854935569645526730243459880218877355661569488727350498340718501117757740037102077431416231596256836665150160927473411470798134905942640308646027318357137534180949238640129778513212431606358409951196551056251481241190001040016992862488209096818044323316014762803995654325105288096647897636388046837320360682090449375113092797324339803257000652890532555138043235597932633638612415489258341659979055760669083295033937576888612721927771991374143396690105335947009677390693138028553813292586532336161235323984255026458141650661004074219731389702476680062737165097471049480180162937251421299946373597283290880758804168896593563131616963378211840409088627512983366721052467820233634843608992988038312449244632989121950169940912753808614014138861241106937675625389021730495453719566215026726155829248916537299735460482050664170518588684574458823375357113735906671086063140322759047943345753032470566431995523776079087382042662179383643873831970193106519198673365098062192743849775218723306786918359427256208914724006657316732598154188648161376244530039487793602042576296473699447667427439260820325795907703486380400375592018128888537123478328822620753651448178852057173603287127996336501367890568018767866809568494283062061564127654815768655394056594651870363562207967175190646438682485036901058930343204065588472338557064914013192163147396585363817434317219472270488476553694801659683871454739836517084966394806934660950696713010461814551242265488591453062440970716550551590367561060918723049634614868731592562438440338315078088611035695184994656180198982807582930697510261199254324095963659078942312986084077477498316124425739941220708652862808291158206246925804221417146817536782280200256638295848848433374271462421563600689024562525504657670103238833118582558768455676902593301234296145611274622337482850851977964248227700124453298277662747587380658658515963417406780859575460148311113057086830977870414912038394103680614414654912121123623040510651599573274099702755288237205789220358832610115582306894183867613593133443642706185442400896087073868813586403354313803401519286314928628555280187928819995313697264768421001595977029775549274618731465301201726254728305329048335213649185274636596476204446190693389559119832875106882568428128843300139792350314589617398930300933252677049927467711353421001576165252237162906442280845229953843121468848495361964221298473582952008656297649952912286155627700080584363968371268762949353021990641447663947651475804925860916989678589622066204747115957128256596873532659795779959456411606007359758810378237316303096858383194043256121527151533551170529300001438332644697253525099407934399673417489592539386050258944213323203064762006694701035037122335379728685623911933257047038334109810984215608407702797630106330645009653069011611910495220894856546975613577036157099998138665342936898414820532460110350938313409195548409276569927394755512299942428055789077827356313980849921395925583134911258642033740783533096216523686627565190234107379689734209841935910093825735047655482492568208511920151200250572540858973483072826630062745330576672205223985643967954561890766767370810940729491168597101122011015372360696016479792254544944331525999868877494260574161192791721551203881470965974324592873458266273501842010273447499272180106649571236018157594049233479902296414202899940062036196026265995316655312852634892069126380952652151841078175638008992763033318426482124120616408742387393355694531775817769061911146865931499578612752928346144496619752240145627288413024005904668053585445986474146501338887505667785255052002935461880663119768224121801693764206799420326119569190969355215410855046714522414219220011925332541515426807283571540464975491979907417729422639355532123639449536490754403665482735263204078716500948965981170623638888010092334466866071467878290106107443020298261960619635916693098483161750933764844094310662719523164909964811959453543650132794013915895137868686039565415425476878658905833001645107092363380392264265541938778321034836730853959234973051665531067428110238608907769718559930433703690131796328049516545224248463850945451686008163423309907000614035698365719190504869723475048576570793961652087303152606003976231521946780593610553428326621212394669267016547384227673981991098302106869136634678856856872117056642480177348817165146725416787391296449683249928107471551999471142498696529999712399775256468762940301895686124805991355170396515496008330575660532062921770377627216084235368518082901141422228626524244504641360814811710845463677423147095298607729524588550369615017961956253721705106968106544546995203402081617495371690878446811738861976882899113587735965382056137158957390341177856309347896381294791477761113319950149631182515462441711019008560661822185173165490848708361816928964912844985078106672171795350960001091772379788940369969232503649907619205188821185963925779414072829983029540147233381340115547334411928355798375875130609729255809225918169216903650470204000038375227804256008710050364034810249357601724187718048932827932293665809920600156882871498138561580701621454856566630570751309244701355307396094840267410819359907701716175342926105605504897902568761538343722423950997353678424727073208594842241572839972189146350237929165239338210210087163222848458896738132294495627441499624896805521961958890705935126062995786928234654512701371571799925608260839955497036091365127134210457374759230628978133213290240559719276529686800319742109280501791860428994790131881061911487301421650116468594192204306356231536381186219319399435072938099550801063048787896992759479428338415926535125884406832649096821613674231803112948518992814229453150759829312700464869953853005412486011816193615114584711220460012547327124804400045388012650594936151726823306883566506054204161225437036373057115488995996163126828883711497293413007835622406914710799937918437565562107712167021779636226304927628505235444019332541652844375056619169722097027862352755324244495630325706011848546928106421253291644015317445879298917444707087673204046526834072665057774234670645607265288218240268034770014370578516929581602069591404295636895389779575388458623939702291624278110777897932287910101373363987918066171843439490562254409502148302323649861415455001662625033032390268587711113705206030154922956249417981461573960246550396809516326022102585832013046817762464398472443103576115961632373796611239962808931917102676735303935502407980023936353223671371154898985372654505803479640835754105271438210303725687789435092835458235639207396800262452850687464896523754897350968857059579506910749805660025595075332885572591908511288935554038881583649572684836372120504821501522799515781942681284638590331861258876383057301646361548871881095716813557013314804661247054215037118185560446855068017341987863773960922100840642110113385739813315091842647206082833763920157146704289830606509047156861594160008590809095393955385526940908859860430229771745257953714358900268533743696448603243416649659434155281535938520470593442006680511108144617585715461881092534721028400668865363712790242395458227588315927864188138801343756633686012104823035333983272318217096576682024079145542970718176249085894608455970067567109111664281388676186182128388886977707098715698826617309068440440932582401440085246179564292116755808980103758665450993563191029302534694767445393838445474361660674356442969111519054465311586974704260033039739560071239359537572241232976408473047802512623092896743117210090768450966860494536469921336618510147227626583213539630889233968611717830857102382772548553821426314720405595325646914206334117048279046042818069949949547040453121469423192990157443975384811614837705512433337994255560058393669470559075712766094454535917616245687940971664776841613510030665423096265414461387980482635167157212644661735736752405757226421495569854113058562126838977247883760471302341289587157015716437611571967744201819188499574162937627469861896951585279270211244474435336380019610334285881872914186800789790305815694245994075053824642535898877313921062674940793503816226089028802796758983623139423920283856468018563215986105370217880789491457644298892260110936659588897266297500305917227592705827559224395766763351680741434357898328051508517178228023912326053262557559126076148332390710627759839648662484827278934055059674969710028632976121681204464392882745022352924502444631379140899701102079830143939221547107563637616837508306742718624150368430317220175075972371045113695893935525514859822206724805594747654541732504164367643259099677075936598957809489967066517122685277241228030253183377374435218820617722808112328153208336014057173274639591999249332291684979595624229199256255928711428496165631176004173809272201550158367260858046854109651662027803578780789854390911964354069209728586138335326464842656029956986733361332768322093151904011302432798724486430111449710825855773364086103072606377719585702643052719503173654194699562359692763557670762834084785705382208641982244543132653943678633743500263318499576217045398121151468923356794913652745713051816163529293477697804666760277171883366059760715139946802942592155673043160768152779772387377522258640548550417910554772750987825357344082296194190264612584480509777326561683582781180104440766314470790611686477856267364706834840919306304752260573108697473556302179609414018200956060977251011311927018354316596973855760291523347639882428585798001283054445593506593343428357076518805955900337877459322038705068885754755360748232559999814731951142157990333836812770708418252806074373062855079972730708954778449579630440066124272212756845103584311728880360661649267673928122005559555688242868498907573301390350349658149174082707993755521478353978084014958899693597206483334646514693871831623921827791029603910551917436104422133663367269522285902271786705582564680899271383804931518280756126374155272417042664387219725473013417621604147015334695641542157389123071709710305451808571369714592641658315603993508370073631878642921230816358571779638448485409814542566621644683128926064549959794589598237864439605787532591536115983054009608646533721895726720546091797286850517983225925929169012064240086565164944924015183366085062986986617435453526204400730663884334434709063314764087502936436658099422463039937744272955586056175409816227066459937438134861419538963487981471090773773248687449151656203865834333515284805736070798370750927014593833061717857747070336192060416294141418319686557177457214633876998999610527027428334838662824046138236878758895380112763808203938416813175239180048340789770728966750530241800361581965073634762797626969022466451232204298457324006574968652857114158259816247618742441815559041634977182702880496946977704114595281120274246247170946257565551131750505114298922076182340784494288490468323454862595410542043751222132884392403840609586182384465309831839949093243692330281471136241869724797462982814396730337914260115503926233579437808692568908218222032751606737289012700845740294202580513672812037999918297113234842013000758096860114914480016757461873949444691021600012302413015579129978994911466196554900045721296110889062945481258000206643057852072442883118133260749124459339987293497553751929542363628707946697628420479475308165602273287593101224273540116369222904563436728268133084655476443382019698263578432179257301134601175719220686032071213230585665099874025164651626236063737784334894060559820821200445490078314697561185072209764101469912055349474714575511466486106786776695350112145731575463600986194771942279146592248888595239083840798613766327319409475725822054292744164215253668360438712444376552794622307494396019259657032507619443671223192437924531235315374181382525964543155847122053994951132906317184954948683575100164903807311374490710488575915228464768774575213265328625319268629115509044857794783063615013871940793565470341994077838819281721150257061874978021110867175423684178955238597294582831008092578645422607851453938610326293793411611543499869540437785099814656298301519841714813376271009721420161476685625604453170350612887117370479723659890063908158275704265167297675998185439144598086117857767695527732281379636673354139430800836334252512722016768432108733143617666009250839127019600925453686633001120790572592480184999916194129013155441616581865935551055659834981928828313740039349853482721167520919462275563070433109115815660501587130560400785985743039170191595120496623031275514947808274858381474313214822233748880164095719414574559821204962858529108692719516260563086327732281476383239920798837305868649249189288270062574100373473787542301984080410333178355075949283221294439089980339030267243748568827846613487002016701530576748169506863341924300011056347454108311144773465078567865505841498206819489454938758697340273728612909786783969187648604501620061630970950617615932165691166967799153191544649098440626290158375757438718042892058987722301286182876430000509278699797730175205528338848544278466871043897139502389302676890267480562010289066673747637261375676688556129996993188270444644750471456012855829000935433210426086525873692190894532643646265720810060969190472148218620895240046125655470040710923341267963330196399571313161699634555218059476995341497941777647510327006391610074012161703427950446729911432715894037732411257068888535392567891286297731748489035045607409625081701312011160994816387037927260170555099066657404751481001240627467328966545452427846131053379493301397996099062777791184620457064061389667771853974203932245573641066663651128002663255963965343211269203310164133382136441694938968766448301786467560725250143420375667725746182516174725602778127519419780971111684967204243615355513550881833622869964960366428465692364488133898247443038050002884633456816935122881902538976656708119871398579166231554141255815713586573312587293515063045703908029599573672537966130732534456235805643688156746526470861623079215566318049337304475892200730687729828653451278023156763128834733522331080206745799028481877954207254764574200251213444704286660965527875952659878560651105048854521949107536819920614121964903590003745256618594224391259283558293573873702477847010387266506593813778275203021255198116065277054610620927006641835759875767227285024855893118254587145160329356032896821909517655506743869636067162321614615334767420045011647945900221326779885005306192628603527009810588770322998646597563746414941551553566468277493502326735764794797959845287851387511022137642495837473670232217214754828826249397746038718125497607394450108845720576279472110520300880113488021734780884846755539659704926091507533925261244105218963155677015371713042976897533073978175203963874416395439100127211124120779522414721687444625268619941088012525154953033145606151412178711620775945173548551327138540400533658445729446277591550627782674140868592430388109836575408445548321364043667358088017515338116362733447877273887288644983583216472631037495571336786418259769601621847083844216792822261262019139694754214515643044270849619490793502112340604167849087801666260737254491872103649165549283474432728007494206749702661354619349011142137612112368818123574335818868372193237254384918386855965671569963537537394291511954501519037284835469457119980014919358086100555660545614987505033156429839074373067272241556687118573786299393391034146816390954629506982050656699414605396943368069767131205159014786174464383813126161635118357425504501652634907791310693816888695736603583503106075499035099456065972182010360998942315700151872665754836327494113938356665450130399500604327977423306593926117887086873446220053216247495297666230779531998607205567916397484699083199684362798128121201635821975286107088292710014263334296426072977166030316170421520795362638140150083370454078964114273219758859020114721904438403985262521300071620356059764423800616910866625180062172464658734963539543757862739632562704459777055803988908571460557700711038614877709962100832887800040649500966801972311830942515003856702385649026872675942522777849454204843610601388123595787231852049601728617189327396884094804009571770660093295037055157072855516726770909481764443091521693098361216131226657530507714603647749821770045885393839130027857358093128125935606389313855182252592067879821173449655833528736722059130687380277110371360739216336399661010594862308823381614297574500318193464433779109902678912380951124940669330732883912702372170451877170929851065072615107200927341200167970900062390817323387049331240439017773950829483302764659510344660224001207561460470897140320247397848561792960892802620167890465976298990745564723129910270685107701242688269276988151858487125226278257101935808499694989129538728797678898285939982318521066862999846182192211506383421720458202140796953926822511363522201869237954262528744107933457693824233621122903068228141219055921017045482879830796860263689306462430426476218724179844291841783797265075015300503539442737138574538961471773811757176694435670502013151751217214586570063284916441579114733580171460653943113654832059358509534344125905850958365130406683406549966084890388680482950033718615644220505484915479910948359053168726936075347616813565167535602626854895082129482324875787881933428679780576975099211707340550064807995685773390472704253884796429280009934435171240593656471262390052502212004632548604658659031667921418680350584334352024684270907526192538377133269982763673199842257995300516830992131297529032384840368842573425966701962097033345477743881716436307041883336850366783035385366830579122234225087044342453690291213124900758331602869086549284008652989208649961764399660150982311841506421778176270688185037117689439415475182164172309866727727910553585856032057617177385026193750670961721956810004860090312746237005400873402598782420809748139732789890576048182051024427176971482951145963827530287403774006252028095244691860034853896935644339786562590888932697701565973560925747591563325088167891323341476672266330823683074143755928610869053720944118232800274002652615574299696202276559916288620293923648664340780931677838970783668125499363059197888677355844818201772953699112824687884132388692306403047402199739287112590102892016290170474974490423234944782978079917216097880870823937169803090936866123338454552982861165524365226961266915019937423889074991983570774492420878169862359944875666100190523184808781686034675125374421289434843009248318103915528213955681209925487544080571463286216670403898491297232681512268979330962747980311076032957293802532202306693344831705672819288879680766958934463320331072290905041874895252918905386994203217087060261409638294276122238073126807014461239814404847121185328109671908904961996141095624819197093766213403435996863691052253400344792082289721138007262407795985913432875024636175502966002428698020573449153334967090429639880952892911489970893818704009396230159066350891831856330198809279896857934166989983765781281130143727704428164982600266198635090654921193883003196945449777170999690111850067467089996062341967663471146744036506057194830230946031021731001290272585076815595127464430778666375345539766552987181584247363454161266219083315434413497851774144089606794178296058061671038224113232875163981217124865156893111773585925855437511995915759918274839659466330157785227161358383372818646864033942532395641458027220369712720447001400574148477163693126223940989747109812634910008853109358031471610579407198575614370359994260291042120319766921327232541906062977401873455478949154543496949009200018461154934031245529080391944659798918942595564364146414738576285364978740109268436608971003130476800316759788041230952235226851441100461074566790319082905209608057933674484061393369403554438353992193122096022918224644798599599712351587625614407452752944320677938931953135707901700165021339429624826853867237419914534436086649623657256210649557035021629602439798309803974160378511779779572542972190229058981197866339294099248604894554203957502186979927323971260126748102398847341622255827561857704742652438266368623456349591895982062501562916265032919101994917343205874133089773970771534960899994241286815854115726506848695670721469019387129235658215283462399728077252834664571655911320544121864228993318354557610650516737364883448227150004416974296162535890942194322001428010651645700282128969725517291919204568689252035316778109417517447038321575559036347123201754272833176312125336117380471207070415379882639610320578136264125440362925789275624654373495237095027418752747278708516473311330432394611823083385159125950026574407403147948987361488845943191313948840581998418260491859169453063387564330228883382103206089424135075164698555402464275659316775530680049492486245284387510787381401479968878488330547493844849063058669682677566409680618598001353562069999951792091033144902317434172479741883058237910571814708502632214527563635304258370519847088826977016053012090627486664473300580938904162019620186137075383867397103402675573971987290252650649415117462827826984510032076977937817088179052048153478526670599410625990702123352886801584444331324522311845669939005293126744945238055362675776324848038270485464273813401293475597351283726820398134273039127588838857161439446519883161456708886653142294647360560202592574913103974460284324950250940388565647830695215928477859404504904937372816979575780886762228174968390895366256119222758647761114818609485866964691730868251751387473337062535380936743525206990698509633721525371436292466606668364549093055952641548118965841447623988259611926560473286083700341808827396531966521414844673370730141425603907926529131277531864058388503111316534405523311555714231137245130067603190304375686762871226465338859465766196995954498983197318712817658651407200279600965507364120436632641296707622444654520128084034171260850573588551280972220520440311790367446027910193674860338715891163018574940742742700290101448342397028410994673347822987407084223710179077665735662246638654043783663704240325060824770357005750280310556018253574234106419635120626708602154995353922859497010061657302594215387855776142240765035068979682540829856625270636063534952521397590410046359878583994805503828388240122956544433503469755946772935717558459002657997302246376593624076202001639232789113049201234579473257346081929418222307422882549965973683343311401672567781125697163997315732220664388065010022251362491722622955182470872249291991537501170976289071915361634136487861565980756805702597237467415724447941454036810718863037447791339581619887307111590234118795723488852284172778834901050350968949435708939419183833686299591625735804170762626600552376536677036063387830072667244025516621903106616050414084851375244253210246278205655117347741178015518018526736788341032703107917957539653416492831732841832893675869901871495935910030235040800625714411705153606816591287056658671415798637491782488705550067893850817134023828360058331926243163905436853258295448890003004554289509767975396459699598514190176460223460181760347040588644540002826253580171452920602314407510709676640517219837980755334162001381831350979582986383309028864069902433374928744811705629246421997063124284696673489314057053847294542832970705684841027141128743188213707748647662464791794197196110389013847434070258521325548634535408601254960694515983664499279889034032912166941883788710373786726604756955632625898246289502297455423150768908896538810342956736828636535364636517513310701516330692936413242927740131942631563104247167175355044339459430289375154443018340040776725539943732040773970782634373937905065843843121955532928136943254533246616046219186212818734451767382812164725624930142600186158814003150901683957868154039647934488248839540559314170953396943548962930289000878922976889941440716902399673949280337016396120559267886820935222932229849666541573095577267006240442775334745374085056086673309729002857021299259369752061061861231574619392219354608682021783471199640069628292929120168063623752915699210272291072230707379331715957159444314143869000994344440546112629110039482414020918559834546951659838418924675583289666523840270620517278509958227363174246329630737513297026837631741645746536796714501600349718014824320808768335984806043361053205746214110064536493736162184940054907242315082340226187978275106787549670865101400420917446903315195317872143893657940564607060601616151613067936408513323316472133206561100959224357441468967420703426832008893492842071382942432385157901368144313619755305556144633020703998830421833933899849543835001620489525936633215643560917576089432762824263492833074190196073022094577800694259376813990218089137327749881243077158215759328421401871078191221295902118356706625918379078551236362528630127430385916546807716440158579457734189704275458316701912109999695761175535249995701205158091944770699524116055519088943036586359240278709170688857692004443508475541827162733122255661805600041288760950801996907705790106460939190497635987735130676372082396228129265691313235764427503535063473169179175987796105964294168434676543090627976563507941019555240195365605184694006770756459108470222167840157160652622367872675360670026522300714712102809581406531567342302333691273021579949405045849854336217761840326921362091889979541225565260068093161310350434519063177652127812061387422552372642804385507634635766925788394005089858965733250041508899969176072665242188863114757132782684684988077718824659937882817694251206054292070914152549806226776271452651203406262354206340528793966371110122006453853629171066512309476593169666901460504886838882019379247282024946568545759328587510898888188350823128251281638679814429621271513480388943098269480793920179490759002154978215105843954077532781667415816314727342453149532358680073686676767907901922985018635779106880132214862428814019819783371243253926224964520780716457847168707724750539948032039156768898114579940826509110804860414127224681580775629055108111522535928288997110300262167686932226778702357722834930856073923099973871497603985181159727038615941202035088311647329930754048632170897411469884845627258759347648577393375861809494578814397701862149414665828437256705942120544546789005884578813133769604272890904357877088188687523064994230039849564140229068012707511109227059148918980830719907962412452106853437736328491891613276289687001939156428897151606698389473595608121782713019912066272250824812089239759780239571886090281128568616536858038827236112548218826274459159092463412779473753278615500152097231044558370888507871916651600532710847790570589364590892826719781435559019276972734131020795889309105499172724135203419853222895349735051857776777700905617540970362192067552785566917638037605216972498923792132073184439404787274949792640633197912617662301249771606624703970720972993142211808197200706048492828992371405721151133788873040811957352969428818900902458907853072643810884086784967824485612097384381911057608450734023600966493584449356379776657694206091961003492139286426383148952805711453100785360013670457669326756696174122312944996035993931490812355281442355334092263674614477770966284927900585113517278398061419417377400524367025388462354463799250335306845662272649303695857507424047923671365946736403761781406625102486783363695351440941208783010128727190984432373647525974084199193367665398589229734173464624320178818692714464235383193073151061792709162653417787801317120594821109430510064063422920071378892603348317073112042691395174050962123079166119640473669326437646678270023146651515735879985105788649276030556981951385137125995596645716130484426081396230025411860946168390090204029216999193534043285522785838933433484015141411922963152709411808775596379071690284681916249455031554156319417686222971424735382024608956661238741238291085412145161869743063498421131751262236772568670945994049486653303372795289342129455237252188992715031110146076918914908136774450300800153428181770403884232325017096119540146651887080063608961802939840483951035910377859679392897548810475143182576294077363905901495999745386363797741919498286478363078412676730664487395200635265437891577044836393429404955809368926937032456260551560315963323777109659633406200404446009351621546908685076454877474199350395075439267155139847959697305826495891114769694423921451852356773614030822305677817384941427567540170952161028678490023154958331430924689169225591716615501274766403853187552445514654309941221019005881079684989517448647861895606720086902006332209632202103269911142029275456516834041858915490217254052854645656832962345482943503620384932915791530262413125572716439385829803687158658814164849761529369893688518076431710680497238306337715587924044035381398749011848790603280197271659203316193887080806091196603776307359067080954977749688531968636307407407640897487415871885351460753631767739637593855812965126104083572775775675276956861278332403941981362654863980767816983503169668548216652478489288087677518438572485281703798698786852420968546380002202564843098786348450414935612178554464712511529800558515407388068144799194162245431940104183395163562797983521930359496263227164363033479255922620427105880799950261157143626485582271351237259416215121557390199118111475509648669862912024902998262249060354696132036909278548634276513762414827059337761769939453775954947015131833448920468849661296429881241419675008980005645854385553824152102697656806337888504072279146236856702385649016841550122803965317097668774463735601654434213914610828000842519650047456140320336614539673961814203085474707306792611762487676332481003383653630085750116065521722821855819771759436887659718280684112865985466904177032032876475776770083615636404233483611453021041601623151055134579822881585045014196553197050534896495001942549339889958171463553611388500064718489208815927820617222643719746858634698310226444082514054114289469574770891108230972755571437344316024369342413125802951253100464720401105376149625115048909514970890183187498697987963576415722433396734412596974237361127495002982083426146623552549621113287522771630172843638938693594027815602240060101483434877505429361064117415677481676271040638412316258884217308829778261263604509529490098480819068024471744470691412173790660819803237737685700564203515620383691538806663111520022331082205650267744237295400015290216592176054130761055067400400936852670756743012037629076279421363072873669385400563907273230302406024408294775847368373760603476408663560947651129238814133716221881203896484262065432664524503583693162006256879359606225100228339099696553964757951297218747184251521588879403786961309117460692140518741424734288467636533170939328931510128287521038768269410261312460273146466992211554124170842582333791816915026719694319785675113763510540255736715184433692189798709432251248414716656523759753519202920448639477523946925149270979215962590334263556711579242085517843470800252377455090688818525533182159342340495489154510765088990531369995511119587755821531051290560901693987917653624792013284707720362046720738420732440166080641020587422341547327820380761844152183714776290493189782932067402115732817368641583241754309388662324306017347394377009135782764171930177649830258538673934259908035896263072748881750514207896833789463576922797600915501887071490168453796178895622640095340473037403242099694246578791151760638046323930243467429270319453391291876379617774669011300310318398890233079403817533822084671732551883249110103971157407681639540666340641648667471031066232973647718464055304981462334406086223032084839777179439618120545672853226089980971148863644717549579171720407852452541897392158269480629613491207270425137185758132273962804520040610948293951886480361741828905857981785612725828759247955127339864208806069050805194184491745750586373774418938987088774455900361328495841021191668679580382037132769891170721736498716770795479246168682200666958307775452612910708925650529269677292778591523783662485309192874919535042679776861399628217341370706738527014840665364090647576123370182787541925587235061386041592708092888874657449519960206797640410875676115432136246990321539774705720239877748274861784715073709004069443790834332104960007956791552641640527431395850984488615375949373397049966943427122943166199084733320750894955987898923329967370146560493399785849697048945123985380070180205286609221165791032801047199238470221904238565085917214966186917296407410808271924032193872210353381961827806142043137182538414907040675043262327281009785893219567390441621998277599397879208154567909739229626728999637548310965987994969070488091752346670608528817614124149726948936506047945386626648221806340854044243486416508317025122999359944559750314040130653430492110831588621812281553517358122312657176849910603648121271287432246007476508405642411770084284612971622424893681122791675714843014603696621146943895905904278219871436642741849126472358385998227521157477988179701609714149158390958485557930834472143499434855545202762094778347247271761516269503849123736420687856620863634986944517310271341714831228035547198404651078968056279097052512363273856063219584336353402880889921505989147183827792032562499634716338176440851098284820675635564058196419779729715160610158504264979226323166701272568524907544036091299372325289737044097006971822790030361319320471468376573615630568752455467610737239126492545548372620793963151655834880155661249682842540260348901501431491504034130858988173579457997898437961132680565502235439040704266127928811567532815991980896924590866824173811768522363511358068910474107264385920699754684729969303847915174988647733713740683987719320776563020313098247827185085855446067087727498555329071331473426251746685727844522121157215378222781900001791333390023870323655607901699336140926562793237335316715358046062607859592520480875017159749594930075338261920387610630622391574529240816269963309164248313891165403298012611270529690250424100889821977662665333424998268483162499706640833220735154371361506529370096135592470551657819007402401500610814262579359564648013968134173921552867092942284687722514383544614926712982507186760463353700408915087381669215016891348272971378732403401153382715872590553316575805916002205185375320992679503865912551052392646560644995140421751315622837816060238290601695226699001966006532170345091607899929880835325951846403465089650448490788804784251366272873105700715062672597162525392574599706805577546767988166714869484554096424180289876869818022446468536176166047507735861627954143890014837072282246922128020077253230212404802105394562240136735290047173330024794017626619864537968017827950603681320265755056219910487148857436443450637196954696450109704010688283356689512316950290471742683751537182638125748264618784853353151319985311366337562653466572567232196322085817889199994941891273222887200470533703955005431575745663095454307822428132968181288827229395373097167976776375997200863719206551429968645115259110045545998085312591816480681004631966031864019820522455346648179125006845851970211933880197262960386897239945323022396789124220345664433307767591812193878999589206724419471004551509286193594802530018971556035467333010507183791575570923170844532801801621264449794503457070213047864311887330047789030045078803651970146693872738139097911832717113094191524935788848571565255740643719735887637222037659239949546632126724067806845640611183115589741134881233813425660708519361711371075365930814555660489296488463048035892161011507944288309680575885170298669359391221991679740621961052627927703888878238583692218118838332170375429732419070542046285720920602802174089083111100566461334966833107224880633698267955940790631055984063680796691092135508726980996763006137680985955596544874311326358220890860865137421692372469837670383285909537228802598077469097353874824276188690608833847645256350914993096729861715696241470022440909970883485512595445090570697424295260886471378742804254640693230987315252354723406625954677467498852313273467550153959551513061777211798440741277771622628482348805325523708223434486522271381239416650270157461865671982991780064329546105398407443713093288462683871075405948611135489932368302261536692719161167912754661560478488656745953371152116070489345021571006978780296517081267359644613553205907960699142550885148431060141162325126471546215405034865778120806947874668927366988505997084607383452253507829799644775424465551630586544581364622704809940041390175609829345872493939658513799102339937173882113379564931875117048820648626091917947225195016293762715679628123013237310681506970251378521059349076577701699069874667054915046947641828251475152312635175864891080263620290783050209664289792549598020531066812113486539690564395808676859006556788501809620507116237507015903524736798450282327448193469676327002927504540396583093911240697595460327416046351626697283755547371834675435430222619884498457377614979361114273146071985801963453703769439925467301456281802097236507855002870527248277838614605059422842222720648179091019396103281834979938611069351981523615737414923402159105969935003058005546992771809505487983772243935046786355685411356952382743152984502669626389742656469883652521665025385648507123912547571322625572904753805988309034008269628437179808486805841749679099982895838076728993899270847224666453938907608567467655447307818396570176520496772128383550204495286773526641212444824311051772007525858558639864531581057548356764583872260136035357648983570760753979531610722679988139950699280778949238361569881604228138818005920318445050908677715690853403330947544653022277718570357223714106369712291101896030197168663161725597176147600003029209844723266337963117895329634854292085056966492074349354719042947432324210570399228194329622851825252252211506532622761378731638147129581581555711423278886629425541649940046442508691962275583103182228219679037240758334510825088440279399681558816378470127262008433784486090011279471584351732835545243350203387314006784351628548008732863470707286411763057304517871967246535607985894116786272293996528044619796998086403036937443140786164995259425867308917769314146355797547983653270900988341447277378775644815353987689525139035710812782836451119891501975876317483126517814531525556453141217872188650928827594586314450401901032046187915635286447848769657782710972348862327699290381988854718654275504063315296858793243649382747877846502402670736857259803952719662463564352221805873200203673241473799748849045997771634124951741579076724767455210594134348730954746308122684337634455135267033775869960711488551940717917729630561022265021660387888556925792839071313155615099497336595100590689295300643635410400083497483596362922467294540038514946320713579091915128010746015858108436016671331849137306384024587352969955805389121754891184155267727229142839766586910520694674563206572167703850878860520765371444827294192161757045109272086266534076167011883903225344791483490294853112105254946523015953835033609148044064920008389064952637599462427872315802818049337289688217084273293632665675775427161724922415783768523308832651278298503189718546476221994337494809527342457324512428884084437885314729382914935123189036008563603768976107176088272800862784816666919578630854803771896307658107334080230324549711206274775423365712923409827276810178968071629087925888845316539283458171887992418437333649308778064172499656670601095696555701050030351506793654418808248543088311801526779719142629245773473077484070960353572267276003639715696007672113278174758521595270083674618364655235816177634866452257571552802161472150553691668573681942541015496051500270243123640445039174545745500058928479107780402146425141073063868219222276992461072262003181900946439396596724784084388982358311609044306263423534703673541108401926523223530043424058130471252865488091239294033612369282234111624252667093678283641294575712253547689432158861601435198261358389877553756874161075245265948351429217145003988118276903768380928648079015603487461375209014673229880929955767956495884858934681898726393844866439491894068042131156193820191085326644798283561264900218861150898185940610216081849514029241740969843729028757246354975588207854339682796351936025183839686122921814445864417314971024483764305928750500229309228170969990600628778003065647729549781128171804867974247993878369300331006193343350400563403009999983893501877178030982991739980376523917896327326048016505762177058978412273728687679729797993107956475143716218566533733849432569225141715437731183653895019974429608699269208597161900073503472186779385124558949428970582228118863879015192369699197386863944786614955614965057915287656926026781688133078741430536265320118298880212824829989248286798560269619324366879441807745464892595874411687165032522819382197475669120281406330966537480034427760448007096092729282247073094153346841074047733373782558245237790342956504576905832192347189738483643413521274963095220855586926300392083734557154231345829344276129029954513568162591594481824604771922401776229218697553983188651170740844332118744221619747443760951074611297704945530661483158349481471789092300442618274728564328658178438476242663342776151452560654432499982379763447842551696817473045216027399804385198494955272868499065881616000789999691482640261090559303153032919641872597314752252653167674648122108683438329231249963724814236276406433329538513185603421975350877478344927773840529497966646717970106106553173189980277194599441475869315674549015830110258533802692281843674116691886263274993343543655128214056720850250632842949293310456221421736333838461276326897279136645569541797559239580616669047313165532070879447384624300985249917677094278536459531755247810756406968417321123998697695551663445442655939551960467711646785901345447282022125757119064019779827530408057968624206825809649881393952308829131221607218761577246816600102406555009790772838594217294561355031029565668442304336332348327999100815954086038685996013118900238032674216426052951938328944096455236594453812105134245495640226758584091819661338279734995674384243414888772047220586187812021589456830269735492962492591213403362774723873786059867785098722227340095601622807076386966501391279270083065630995301577935056789244003642511180818519739932133740174328283712710557875846269886932021734769032839274416168508648697293725765912502002396286454902617230958975880086827213219109822587926775608030962540922955220042340633758257607198870739810164309215116716089541675772391003883350698016560123301582402003952854228721999592564818503052517263412986326962827526565803062813534462038110702606208626844385978780720066050274892064338067399348432460237695889109819213682350544923171854462386081995579723671058836553366683559669592438250644120904088945641380134409457493796186674376444034659014895559139350358564510530620157343155749803208583340355245242317920791571826590917301347551949511178718866948412826039069327108751189765703002102544333758374794271686123386471753487467770681588881903452291235065869240114898733302258204370865906424194013073416884968516984750890413608288767314341311059054901555122939307685799179961571806111502372076612761913756119391421490802829826141011878422534512383085080714011646672701944808250972878805575007467576613752768657672200962890823690900323031732531889678956230011164127916688395465347635694266408261462162354095069825049246035881573175296859695147295378692736263264872311084597981335221603676380097708611075820983374881488141270020109369752056810755573894490373581725306597265463241741710632495538870954066639285006818281469532269406188794785552001682710822334500280398128978757970419574014129699379292294998272063776560054950505554248426467042482012480800649000238418830634177757951404311647179291839071709557932165469106102354563389553758440023132765923360036772998679818181913235840186037818700860951053501005012189526626008409997080820371615032265652540343395069100915539169618872471970156511550661206587786551351922286385395262165589240450658737118897280877129327185435705500838270410665502562192515620134458473090368170600981336033500351774971005517731434404986396041007783909540945890929990213244139535459838084412651371777470297502182057640166994958027621832103314488932556306524036168369269390248110833812751253875502954601234244728722390986061447421205232568570876118400703554014106984751577207366335609043929933657186421962992564738194467172778205752798457839039309086032063273349968638498936390419118721585151155954653643436797963998793142570555740602837983235590948302816354570267355138258255120324095600671028428538745624083698372628196937460362254798383589387582199304386601660288966599019767114142913854818833102861162569506061472091374755975794161856363512599833925271272887130856068181418349998063409123868610229314706003854920105157124950896923152750280754146904668419540053139177336853309763334658291170343451080579710287492518745691027394251249820856163709316402050539409719487091337688798206039207152386991285889172053103838572112303659471148789196347314787531724185617088602354595508102435255239853377928455255934225251635754153827549165039654170102931814971344154107802462783525039193744858535638042052752248315198817090437197251290282039854917442892883686249869611282432074818291114124305001180847199926552683145229411800940026821964306560077972111538008619506232896660104483962500932636080838838230155142061907527151507951596607714658663055131782264264676020750408557860255690346555214277838274315570720437018266237657679065400211400378494211205679927127602016531717379575653250024035505018294970895548077064265951692636867860863978611698085236759588200910696948857911225163541486895646041288670498495947666345804729324694398881242189323317894011701466163268937103126116992820169116670606297679988958627433788212399804542743528481363095736439246890158088377354262550918883577269108353510900045801165823677927582701188092929052048247045453128400600097488729478342734003903055477837687909093021394442133228974164382998783726205361693692436216014621330380631215840661121034190595815878731504819470596745660398310712658753504418930778711544187856478624055877368548064804315374447182124611351592024272316710010754928057147181769017213852205696518017777768207606852045433305894709752708844720904674088362380463445245875523951245713981705739081414390849838688035661483218384445110788915141773596252906554677437952947832622112549189972533107460874088785419954546240064572193836914874353003467992901491918764806643947382478051620335026267541509675986115435042133117199881965238674516002368174805197696145646651557072826586210688952815326716433967342141142170802155820783523630888549666200967177397426929944411364049848893207515001181218235381961795964759129329279953666214020729762315573873934541396981014896917645299128239172825218326040814019301681845796025858363998131133002812744369744768951489431238627280890445271261757499299477601718643563403358155644005881433067690462864915052349777018084354076230354543077613891900254568131034054253691292151832359619625674428930322626764085386257780619715148862972065822006879475663170037098055389898496239008316562232770012254523910588620436013563259554362245821939207921423762560103477459922897805504039237144102067171987457283076573432009338615676266559449410897085523915606523483409613890991220535759542165917326021752902856268775624913280694847928393951433515845852820431449892177687319709810910198450090113414319232663162419162864210610203312896735981973884043214577975202103754341236986303023206176427106509846300833222888443416834236893242434348035892307280718857361717872000961244825549954777551866214791666973113827411976936251088706950074440505340527412102552263389329980853927690790495289508940275391367361934073094261341329873925470577250423257787142703116463848274868878178109839207939033860729713205557914116964771175884735533259067031659874917092221083602614369130683624842272266993632638925153875270158394556665882758211336803493799176659927980941173711494794570136613461749702948096791795362123747914257883715480272715258848789422860384934402017040129894186192629750778955975520325084939066341220368896664188151638588469018536299567855736914272853456807618548739314817673547086228631823409343546275645624121619126615041487602288115506577456252981291033049070688766366055035469745879163870142826070121171519527432282483827473601705778920371343701518554552092506643117263887692622849563458922030565620131892791274449558918894458549100959779386760602077995719076267594717215287481715829553457866611736896290181571689074781994431969057259101217280502265401365102118245536966286012623519584899055956304466707624803385473878413724573277118003579001333914494846387749731043610116759110514024628288371951376240179742622726696894603277119641412484424497098047993650936893568569035920462094080899597259383670867266521796302061791687745821444454377348342411145948579793778240696545208177799969986572682315629936524934670643328370426037372903616647793946231775595036079535382923587293240472954795445029625434810677400769536712300555157713765036231318456505245848170492275221573652521746626021833316467091906480622838728643309601635155177660903708188898103318254834670303631166566847690821347414724537123151978614457867761926571404017637795152190895074224516208800453387285152909318207039591137376990778350528551970028858505947160675117058261611244866728809996466096810482441154397662925088554765416886774274699205477652981156306560819833790606530087711402011338835025916694233192364924107208859714884759703603980496666252500181440383121807965905466873912682496024012931461794842094252529626993887983991777784754215641425826527533030470466925056063177710497129786855058276393756701795190393158693333541752332055754080997828637041968268146860984299107953851611952262811327712439295584170039546189729112879386041939036336107758855891755605943145267068619793507192376293226138610845995497465523522056442644353296982952266201217644454341275725126712410257447671128874386811145560498558301814759025175976239528275043492296473864506435934155069937985654114871683597446467689468003320459298479810929305463580069587826462434053702717303822709371471525035761640743917707332366762467692079933779995547084165598914153659156882496667292512629975900864665249111485137293773388985345856979363613095010406856633908653706182688085387735719721991404442129188449893682312020451457336411889020668636151934425403236021211254372027682259665684600164627802612563040131974669891050797134612544664486421312809415228013206419149599031835249105304280410651813536946929917557815609112201245291270982342231289651379624124370559335867147342305213724454597911265939164578491573885235554854608945530756937183954281200033837472911530001180971554192761110658709157183563958608415348090920264527339122595506938050152496622103560612636457516736917278193064973897060758665615350390954793774159057472689221460889409328927151317754426973559768904317479151718466833886880407273006174497312048963769607706866030961101813391825657486059006544602305678521849303051012632379733784026962387680042448110419480884984214539635227842763106377526498189434537838023968516091602050936926411398395521171843482409125982704375288372007151066646186467967367482657689851480332726134956690583134736286580635882976446123904260207866652018650878958635606244804240976136101026295848483354595551517696519141875466267242107799034733142136937759194750637656596027307602211107443963603401780065262397737732500419428172090158500293730438926806041215914078220115494668404699837408931678453593843945995619423653457198490770341076822950452048170444852905856244374527834535846440005616385790656669392574950455789441298231784913082701470443844872241655007831547925892894992602526049557425372500206874129304202518408923522395551670948808171357337470107187290061779818207230985579782513023715539141810132979899821558918882706625238449145631691324343989145558161520256680674381669688730121440887328583260810784680009463782742999612426101076421026932755057162040229913456672492686525685180119772344521264240064139217892217553206900469392414447170699216654848112885044121154211976744154026328131232580803877945801235522458982621030547328795886993774674992178696610134712575710749350492282942675215116676012480954855816481648229340421113780901994185779967945784940367807814726530523913308538448943322631456670454797003231215649615114732074604545822734286513460423363026332238690228098186230306038807246860660602207360292109964902670634544579941277141458830095121700040029760942297629681148519999824477893522029637010184106050167326008393478679426742675701892037122656572376674813318538548713771591600125317512140218600462449171662294120753353687994195086919471818495446932644140343888640941317601506376296544777479073319223218926222257684083552091290813028394911480007983619929477783981449318260841937750733354447229143425081935941240754582562448872680910936510402844208006160337483430313760306245913191266335949752720512886089650036394197433314331376842298664360958745680108780095599060333395446241323579143372867152688593739699069838125552154340941970205002328546892437202935991421781745642967194523948713210780934470558136644289567972411189111577000242652159433639155779123682759712142503912384032406798511926109854657480942811672023451231238987295549836241647513864700211352675254737395264557565585778556139645955934134107558021924726632126586599181650778877847725535867115622495501710193173533599965270929353272325916430946307416743546943912003858642238007038664551481929797235197353440621245187635794985099628115923622099482735486498074859695869952154226117241258866814974284195515078875200492363593841609297227105100346600614973035146727582504305912947177007999812236015164720827641435107542581607807181678397184672610407149547237285325110884327230570099319602237613270372312903563446044378332501331562654205438127453369442225549785043940958859054024659475118111064688229475352328089852981219923877673553923384230317541085926737520329000991831854258202703068071576091359147881960698586452604980499991615359180082232569694481823373208982954730134889327954005969759499812395340036982320047298797936884951227606358300138955770966410898932689564385499812335899614092645006970036549838655315783385309505783051136014678577838633222883124565822372715606667334332851232896416003600976511555234204787799412260322785787419473433557994161366027478818358563405250511596767046002839709637076942838158614987851911602962434214509256576673707174505740026662181585557641352987210990607948440423034023188704993289290869352105018760634234739123178261880659602939985545291325868701314087687992292523401638913747114070806332491804169817571984722202323105313102407746430377600341472619347581322035546737830661208025020958591777030233184344581503959167662951700508502227407792568008304818320333224272138805412839956074628808378430038483059959024494259976176028201411695146842489234251773731034240420853927871591596478206038887090651317307582134498009723753163429667112417720208874081567844006563470251941276048706929457927404456882968658484380452327412720651005224335351033219655629518450463013774886260809827897895429668255225671767893687992841723453667481928979824163094193638528957102874760429291102909396517091714262020249613675322038184730198571647657602964457903333115159665022096094882963917267916961950787445289490358753787311620558465012189435105142100695013961512134020542607221652285979329216382915856798296414360651467097427305719036587022871886007327271068653604453562817093655631000134664738535756603054178738744498488808442136171473865404289642850616550237838672387841195240167846611695740186490916807731937653891141334825616699525050924122098322622396953601709030918202551933163368507816542015514195062563341706778821022394415019108398208563177923169010911802389737307624226978618143942858779166324581401087442187745590762410387719677926017928032675949188470785331490956915626994680236280695969306008918240932373405344167813794356081524444843784633570246677739500348248091939143383089888951807556802074186097738670234853791334867259580983806038293311303180583742595100948718969417455862854130543172808869805931171269462476364766661672221167483194845261988367304888165296139965487876023346673009331850968072999574502571092270504235813261550263594629417561365341193407368467198459596115263669266984722953263788667141236799178071512420753239970544301582382187702002666974439470876557824933378448117866069386875709450535149352386278020747935698190831261363698349739306627780998173381954034316148605978662991482510703786314549205273664281446244019034276087045568676109969260866497571629907249503969053205640107488702865266506705870429225655190269754374280263119595239363388983800954095068238489202156430883501327716037344632742542536579737419627240884675855915848325750469207942675458250666119173485702514724712522942621044295820048214411514214906079026360051542079358051003010325177327514690979008414091254168379381727199910314805965662574658665240434158881626818392314004133995494856900524960827733277838648704600550543739684812264261015081095224425487112182228437109836246011065773416270515625505051147403457412695404039957460698887341716068479709431587574570985927630722040197900820236515406980421697638121356611882636779235290072875401778776880636342404548727876632948166771274072348407121015358697663663987938270640955930327289258676125381044130867395907599953172259475422926862079112298474926742798412194321620286151161680608104281336363963019375803430266204602186566807301461266433966644286727321535903345933917739195291952758900628857605529135981425183807638615710710700011618495689537226040190020458499515181499277070843680671696081549942972553151543623989102222355406149457928470023390897722238927119058538669355657940987951304748079359426778679989076805234493581108477277993388772943109066912424171570885057154188652995500764062443347453463581967086305701610385763470595249719658274214908625058363704559945866231592291352092674968739671080186733386716113102676445752276207908326781476117045390605010781431250958658303152631622841353498108102643801405267490180297007768692728845250753421285806145418198473790716961223510525791407194253597400273279286491075691606154492540652152134087173430829410536408870021614122988770350974585500981956974461639788675033538572499252441564667451588558579150448853224994328521555673478684201797063958119755830115580144675279341328722194770432364341582098276126137128176764950805603334545070979679068003790689937444960073078704070888193170330447933404123637815689660794015551961988222088561632941921636142916350393690438154448251309575443750571735225288685372255524420457262417936737447142933884501549123633420403316900669290895269624156897693447239936165574528679171021775061931081576791402467716854475830722611789435574195778502050949055199913987732840284845212348743605276097573401939644177089563931900158121002942295392146789474321015388830994761362233186708961259822484063759122189857071844046053060497589072439541709930792114199575125586172147268771360471492144524585752829871269975713891040723249686490389995719308872113416541740134437475698290732394087178823560812892591269880716141334374961193337652223444029974624501342807062116264014073262763397537146460268140786264635338721181714030082034340837902342672697669514141626927948277723903382139868499906486291004734283073819235733260588586826330080570813784365381802228942843512755405980818926767564530414617230114583046801981462794551835921332715758316226212026042128147013367710845052423215860936681285118959876847872421978322740877403288297996351000974497395809902492299507401585415368819605228299208141201873653883923442402844656512248908247711054182187694472995755482597481806647545661110994637355613064468370457215957733832950023136340590490911422422974670688896964647026162975871581537285778011786314780099117549988154099637879819693290479462756936660964084777570339452332620443613950594140820009222305589763212997390093927054721281574372959747538279321289218977880266937503863364678499836756318029995263737737707300150079374818548583060851063770832174074548232767131916260177337072831852488476584816069680247530407937892801964166812295748561840003681268938353473666336126390210570358590480211385736904695702514980348540384457721068175730736223797932830856836258462724825454490456595442977038155104927922109427111333361026998298618408212067224788806202569688004617019467438312492585134654611443490182296973551590693307752100214884628201291318793074122404878734978929022777000360759204422623312931460890171559532237961481725911376640796877531070120813866583915451120427339072589454793272203141228721988216213935808908329918819696154833122506118252375443362637875120340091080442726648248840916046459969355689774056507611318062884335696833844023091388085894467427931966882543857647094360956718501982682280671847594815251529011405637346419332015506480682265990787227405360210349226308980837389321224182964851126859917681676777269558309816421506596654961977176398335682567323056980869980250174907636299471487878972874710377614087164146044679832994369378438889117064491777150501993552224556346713691666985321503649126233008925369750212220321254175973725923643718201463811467812262596260876078864166178651281586655822965546937405605704768866490934767138983871370155004653896556326957226073664390556609616134937009819499836114281088801770693988419088475531284039807068654816621224034909552703364513211606524595480446999344632870130656009993574621681722898202275168643970506030124509704060159638480701308383875457920983749381857011427872223341798288153985890289475997403992966833081858767418065128708620615476475969619206973527980141065221068233437988267301169479531179511458350094958457216694213396735733388382826457435472462008991268411318260533002653843578494898027093505843167409487535561383382899513853743987261080469910898810344869116379771958173601750217100438781335587992960318995496991036899653373229241137806072656859374156993169222911904417444922810070997453343234096744476701410589328683683915333971678664602836588907948640907229137563305505145191926993208965859496782587061588228064333444043415953416572891611727530035458518141576360690755872677936267333119977707629522143038395771185443777803300545185866612369334593675027416303395549272727398320248248151688246481546325477281891846843570776947740103785581982269912704853208474702096156539545687060521920697173071309123261454984470574239738092422990833459202414272650198539689968255056706008496156459684143481814217343399751864960037899123278367345010013004042811660959785251040125564121126594827336168006018163260384762381750310054082391309569579028969674981027597914113585413236819221518644584947804393576575230479306816086794435189875301637257794750692986082248659294311521294565502030642447061797490713812811417169675662840987422014707272149267832726335831106666998472257802751571882508183678560098070824122591080398833979863769640054300788700247608155620848379384863295434368429682048700174816736518004428866274965314093280576140714739965295202624685413729562123007647680870399588551576266016226216607868119783638639265046856469118431611190121514020732263901982545281055381122868722506463552832819654357673071345266507334372860061727891573317579382509576802323677073426499271158586606881483537184806020144700934596175337731514778575513555026324260601686917090887259546103836324068244164029146040823144228828242402771095923914902526166538394805336289551181009596706555904912224922237060007690461602636196233816357420563631585010145298925147424398912689141774081667539507337423878354722558857543900234008112276193638533217015742324350682836919784690102630320961327352610260496243070263855386160980024072407728634204621718333853776473114503783543949485169991926069821699526864793737122836637014136575746270572961560623400958099083019538013446513616961464864659675458327565379039195554543144645247329457771462090962330603583912237432340160526054207627598800149130999639211081750148114463077114338472063131718645366638361756559661904144491307923107545384038867348826783250154404420232755230245954235308890544079510550642789516458913540455207732665778398336586957074659177167314068298404744868227424097905748896727776314358167016057063736454078776049276316039529231466562569698486551104605620041677197093768910998850766746972183440334409431803866396070538893457813336896857902680463384316712864463039286990751582528716064168076365125922058094823642374372873334862266449654860228714741911772605742086875554381357621865993153116279550046506260713240300926042145147473167116795166009768598392398021925612543072746822794414488077404972519988079751527426378760724890752194319229897705674801623030239876678736637515770746757379590909750863072680447931154399936255020369898817424027647759926165361998488202620396608119388545766388915242106621169293831476382057262924727791186749215022554115042040970679412604822667858760306911161784892814055413245934330169436381100511950738369836854920502251639548111637662989113455148933399575108000112071084037205506569121375631829413693100165883440531514843119059012951898237370166145600528404599696367221832731411207027993702642842036451531672388368573054648910230964428182334754890607502080688643577692449120526246282224347063543397849801369584972677740351516925358589092477391459160303509649645613546172777893150359850891485979093271744881984187993819793085137002365267726815882766071046503217689040264650540139564624511699120901075979715619342267447680195333491411148993940752898607872815141667909067948504849774563902569165694086907335241584262407886217718324104617800124473916855710886357619830518420750100637398061861395910851858282349348146212145890591174104626684717057386815670328978748997040682366727878900179299792753500976142361587398927093513062614873460315119568678491109216392757578630766558995109916721167400691873917537607077246206203603916906745118976498609189914184570516732607127709952968908099846897457101709283695897273646128138657886201423824629750573954236727509270177908435088862787878665708086497804670540787090591357599322446637110779235872653489746328250045266572610437179574089935447291535939206270377761198926604409029849345649093786204159651586266567545847193146438802920389217532773835950799210174275005215518697159474584491143753614000674363478206134844096509397066161417710309751061706046340255221880618361847082632597630854148997556118834804287638842965995735397196671492930122889306203604737409112048138093206301511473051749851136630649162578887462353445881524048194941568543362032222787595350827341436007599071970540882153058986100032465978815387405206610468148670144352954423596084653989854534690301163686908640580816281315017000830663261511558505715243423238800169565354995626671995427728773870307176545923162682603930265865494923248690925070691118057487668319765421957657456097866063534940296961173307752845505812884868625084898253162930742952015200603458693272599232622440623383166249881671952934261823576844941201255156795160101159394697132920275243813009079533002684080384560020801590792631100802628917061333055411793150769645534365509210408299681865206172044193105260863516570349047676037056721908997166069100959519483768344350929665415171527127342573720456747978066964306739410523739163418247385059629052093178953456827374562403259330844513299462992875955083745580938881078682340348291390303248295296619971594638734330674880691100119709594395960811040391990877722304484468439821522661216859694984603138559856029185993123223850464643615982831155123899719168703929180537100021182018574097380901445340726295761269663509397643911226164964618511404760195265850197852738414826814625216252529347377775605720824938959334015162423213682139769037275372749294588433162205883054301280388380477245509268399582320777038042603724877870434852798103274150063116190444418014161812137930719364584615274763719972553119870379452714112196325851227514216366002101435899574152128466733054497925864988829351175906320776938565824531332516475029915795219009822361234836601128399685282913039965599086743530835159450034459523030954220856201458177717397127967212256143025062670573184692116011218862416141684606197109724328001548277191379643418796699576895582813633198501704364962713000475774618566143132318114910901208126142750310069879869162943777057640623588867646639208992702724861141925856722434749942783971081573061114161722940308919082443926780683015211878619496426055754789440425772876328115477716820728115593514328655391113896030359654722434558301313158794184807289228716437453863509049603047964862477900537319357474390308564759320689118465154319838549558183467012789994486412176575905487419304752842218261361207086239452858513534167172892127521242162267642575328870543784237649766749255193120853142167228986761579844167468672190257988517388376479171799404252796596151004100938608390198631913116674811641669313442627089783854290598360339069893690097913889338047127688310623715371465446934870802367732636289899116127944737653484948362023138158348709669246503204434205118189745330289647312512668579550899300891975839530129392500444665490496983699851868221016171406688534635185076709445014242092578105949879557737277614059481572864180601549169462175001343565857465409003795798916048971118016542351398216729921237017632180200436988509952857417020925977760764248623073072740837389842522879551488284495180775285187462281043953307651755221545576919155212894244955211559006415383752949019029385202978535132447349119275999998167229856188382700301147373165556246522202928426194188456418360420032356542421333562107486721855540137822229201377716064694155765780153240442595586052326084803784047278360512858671991092147001246195370611941480362945280279549131947159712280842119099090695577234515976205724204014656139256322149100613813325400507930110492660175194179586636247997473856213821620677791275839268823144571313453232704873890759532478088465127446092285198115037333609913973389276672815270286567322351583744283823108435843987264038987882187296008995676004713081647494027637783028769060817285259863289075742084751028150260275412901489147157074262668369144839128923520538431215981584127004524192427478845908518747052165061547046516876982138833776720463208761215367304637580888370500162126848874433322025166467084064457670645599986787938927159486335438810957176238277500726398208695180494382287311243200534134434270210694872449391799696064995895999540292822232909886522499449452644755426840122519198497504991917574771650790535419980775698131644988898440330913060086603913403980678317599377340758473940668900817969225304057317647822558267217028637231198701275620499178193466674187624856203390254409216147784377142274985172955011877853824154745438120266411287969400875689111940912787141866778337330952093833189647513356210473897015838869391447941742119268904758921369466076083648210850030337667795991822764514643219283995502197772135718148828653440499152111017483495101989613417188180246674508366091932542699809497088785571121959315946719921596501649741798362615596172156341742162632641600223630012126977642865459269620915056635549168215153331572744896776938523754415663084391700586173266121565793607088147460461225622108815448363962909205607472558300003903293821838232436468702066452413317479713326967880152360352081355268081813993089083162914804435506794598776006213245678922811968780684532108015830325052273164145170688537850819138098892038543936032049280445540748276529277434587319676177485941335468035415162548320492464593445252231460677460602553709415329796295113521122523213936955964941788325854763285203074031199589696626082660914170948252337406965012768085826506722893769511975312221133411274162894900915889397738284845068577339786590041708706295062002521853558946376036704322631446638128228084290574349195708058649677762187128891329366656697242358418780767825470748740702473013255679222074948349263307360523273659578931601276698455313244776601799256262711323996653036723557438534742600777636325467344388169190710236129799502216879402950867504817612469191273418837714772993189996200278078048272541638419754719637162296527325002423341825130701810462111894399507134751368502930678117930483115972764495220687718842954425617695810651437225006132254890459231403552818728014267129403327697788563366044828365095496923166131093945928185571127573053551779719819075612481545480916655367551117486502595313838789975191931682963563638202139539066432960537401203958331634992688171264871570190476284067093465430584827709516400960773502548792750528213744143339934958175461060946911562353440698280841235604680079891489131606902084357400140123914314077704113714324315375550000979618636253740750488558901390414327529246944001254827174016440498563602335823065854936450433438002026548991161209031458299104081759293015643894433330169091404849573307623301875200956968651091051217000733899172299708430152109762549446657050722406187068866048095686261871995636225434330047938945970557632462990372997272043045544997397738394700476509208706675180580790776522245158044046058007935437027381472077351138737126209344593401630009631146964660622221035110937630414353729649622752917053818470521937808974983937504430529630076770614928364246159333604650859750606222555722680537821283961336819948303952412318095747588415803276643480229309557440371269932543730035474046565144077662787520213180417665885397628814309309760165583793065144004189082434999655404648715757559848900892977949426412958636373971459477891834586881433870871348245936096964911961549919867752612617472361597288642793143350452349040591961623778789451535417590464760977360129824613433505828980386567035527623116321653440398760482904363647550126238202718212521633515842673051309907954306129518781537612362579240717581089999022518864640403687839881441517707318443547587490160237449171124824970062161102145548353093913501414392292362332610851083368087881672625336300697487601084437378230920131926472287670339060758754645284834000824716267349626817726703220333349937750111795022316989598113797698217766193338599082368072704700377118172204480501416264810776012254067267245059012057640276741682319448275223979906921963683277322584508778643810177667655776631390677546050061046357623729958601307690989081062581489736717391805872415960513980268710049382526123187361301642490590507459109466764078356094753202226895378524301602836391136487028410838146514736435936060495373884411273759972949711256123160767905837414501824915724687335749750221820769799595810992753869336097431529748269806021431168103642590373394305776904628817518908868761518930814428610744812440837665308045945930591203827196241867501110366870459579749630295731452356942757277538412645502216291967194092491229768563832783111671565586318281615570521688527822602045966469478641685840849504347993608023936701437009883982542476287922286766484127102843722746005965372038758567263904358402764663430664144932195772917515667445188788655836796085076318059968626494263480914082312909193599086851225481506730743059344682364683336196767373764448313518898646224040008207726637319862082340175622961171220038902562238035727068759125279581517246092969188358518609268838974301600032404420818390180050060924810604249920313640906660547428881665236123981748975283580166915535948736158696139907766774711739470477877927005565504702134761043087184739178640803504967675184571702976150957589541234758822817172308641977194197749178017839743987494756493754978754851901709940379130053412112232842547943566892566425886994168070896456256310299442237892479303389565935187270250641751320901459898446035419108089936913922533421343623472214064293125924022023071607903787977913813256083361400753160378729832198466885441426637478673649296144765589228753255365000740799610963910381004465162729374166560675689439117398398120543469565305130639051458362111610266762178824617929441853395247509003594736322934298901711895180137498600120837879406779206846520225031650622561373901241767054719000396261873851819284906523145746343697070760222411904352819352142911886990748429658269455615872673996410780457062308494924253596497795070243520185965942187108833670362260809309129760855565322030167162743774942756781656774855160931414255608690234618125447073108130602183375593589924556717439632143321245045628420950756503715629615104703586853663093538705921772631253876010563695709459841631887638427881575324181944916888331590727917371463382605193613090385884611641846885986192757333042194007821748850043637384196157431964566797812066106051937685721454653032985840281038262551900103317716051005635972491109995758843323170955926806192858170680595344719369485234951739560280481513535663591307323724076722260993455828018714036787282684782793412143818046234092624706994983935273680995338455979205901934062171999646236008949318975216407561458016135668706974631450968537617868132734468467754668637458724556037853771367684010446425280472448293169381383627264522580770663394879347830878668357234992405072707583225564555031283832301830161806953622478561415743172677179081514609020416704680071475935575584054401941616045733631442571470483224150863921967997404782461351739643079310599460516391785680198631038292966721577821014190814802469166199567433160728170843987061264311519232657878991235746525425720232011391948205656929038252116199732939668571336976232954361913419423109489957665113493689908528898637568582509102237695757001413927629331744777348213097221079053041091301778113230125505282766081624828196810447839360916966857568269463765998200723536838259983011803969888309259284260785098319886002922549861210473787474985685377152345520507005208227438403694722800532925256785495476922215484048936018732254231392601939309656079952519304417876500589992628005900682330032383428096026441205235967233785299226595497674840879385670578810290049503824609388057560086287048189250882301558239357283977322270645756581805156348999814793367450165165711976499538892654289070615206939963456367208672966320714749619733901756881387807067317329235935734999281871270030476757621402874055938003642716624809998490154420028194785886036108492357811945502494186872383275500242853106999038844438476174948200731523947645433614842417190826152727764667710050630816434808702508163672168731333913982802545625317159620944259427161606246071592683251624517322513452475403734663130910938018725517321463095766581892573545908666392778203007369438860712284080263156869686332016450520469565187338768693960012382635039252398922292228591777095761777041346632423369486544052133896808804482062519182910224888706913303049822248420214679880002960351435448646050469949309163622042162876326785236014696262311161440535569733942090911057477594753612275088213354441062246093340574884117975535786872439959592284252878076231862636200643890425842866171171895404986662647040306198951799361999720057595413103403117883919599732355901449780689063410582195165129313582396436878889172922701280623085208392058001531841843051417372384636007882749045852768506694402565023410676137654192511949764257014122085262596454634101464761810367804598690816625728732599133999049448412722137227594752601635963996879442260173800188892798416347390045986435032612516835976312314640015980197128574406161338322932521868972795463536805677974977236608716698768949214916273747111172399884832707105840161926690370091269654866752401031829814198236676980407465264986040242222260047949533192635104445371865829708056741637070306399872077150706697450224211404631070081997729333140905663835229377262861963050141135460183791620192472238130167888957728624812358192159443889337249131136761002928374548560468334066995716137950008575549504636553520755122350256439763307911279430933793683685332549878209047563801766117992138275401832836810352366493242100413357515037803329538318026789977863258618181182809801182773574431885505900615532779950447211903800195491642476401322350213601008410510725593918274172201346812995137458304873887316131450910734282563436864340167913549492001022629784536609561398986352809877381178579432789395529434642880885599626887081226562488844848788780116556121922027727007631549175818999210010643042251829346788569181658834888680095448107652254595352233173481707938737194309123152433106757397416385653384386485156225642873251020829729091991681928982915255163456741192498266692792501891501482375055104768622482830871275878334221531453533227669609399237819474835242779143163955023397144196603506509830432499494201454482206662808695468049311486877866561482617526666256544244104777144173609091004421576006604725890240934973056093417976734053747760604489761551540532758422751798917662423835651955706113338125504691883086084939792437607295419443470860442721158387157335465196976312722992071274407334551975652723056198960260229927917685256770686415886670084812762897756049359526727091421452813212638837649703712693905031526142364550535817883129536003777763110029509694051789841238204410441909678794487585956080336829012553206099567665148287253308937558134709644299779820434301897704744670258676037522882419051558319475450888531763150765246947020864161456001687788145828570620566783240882507518196644824905675649106627177575320365984450937698005844057597103011257280255455123490099331152038079802075592428080148828461828463446848124504955638575296622567062029610489983233257290645701850090924821861151980618425115086737501446032063572091137967439387328006670217885905421036361420060567499701875857743247777571179463575069128784231909362554813619820529977610206792796738560328995764013664987329562876444895971816894641607345479056710164732311010643157336501325359305688949642098068610929998536777785022617294430745858190082577977624892119652064875089963251605501386389287057142036520665865971047926088300263838343592602060569643222533205201233580157119138755272288342022391930936145848746211356692128910427795343314798169168976636690706787273923466386414619821383781909643536388316706863015224919790118251740605276450728629759024784293140181569432442611081207687033628292879329915101481326232758544101088274683204155210828836276229702296508149363399420136630403082775089833041551689214249737754504567642737341280086024338903585381993352555624267669552977586517000221032956273677286374271815282898510673287793290086855208041951539090704394151213250494008449158678268391686047622407111909100098792529088390909584659765293827742259180015121333264071889009257452360444763251201038020769523810863339947099134762978812792494973760872204781692902493846746125008273404552292165355074488276498185069669229605682840474952282136849354688042771756563498986110019591319970255796888629822406885634009413059651896206447363024792144497285229860446781465034097652707480659982058212876938057519064287868225763961617783650725507906383076719969857612330815945890636526033965229696974440001107656559912531799327060899091397601813200076865813750018727414148574711885348362266857294789650204442710710176766815101252495981025760720392484497520685069146703440876137535235871287989038313234010565964221107282265732156927272682222854550614171099413932014087122212494319126206628738664965965535710038786199976841647445788277444941387457513557507362312544422884605991095809559602298906175983384736305708521396345290890768786129866673801467786006598685875035778457857683771781750245790370136277320841238690563332369925368362376537345789395748095957851509626093735744173344136148429314208283901704221186790085576323096759267781916453509839038123945929846171677395225910371890963797999635525571672420043800213898194451481037205819065615179537095942697921279687351537982671331861597577852602063698333616013538562719630753246327090782855364431448436905526036348546771529432692309759786895402805428666024541553829183165001859453280975068922561407995909992130017444776996775918890878924465638392638941462436485423552713256412488533875054469285716280429511129158837188988371151579102937875562386918696035838517559326632577253905577114486516921718635857099406610739163132185786855928125919361271457422784414702715925402624770232716578764651438763221943603596729256803093036338981392001789181695582821183646720920297521881549180727423627166602739394034171412417757882021792859328791275294470356861413957474231575987096017536923176151135182411849145722217902381285206760547567459556224332113527755795671686825955544926931346381493294662347936386352716579185126726452985658503924313671417281006634694713483547379426530185547251882334392475625258323038943219130070419529582269197299289534371130323505367681345768968822403039238048460059417031757826972733884692141915055591207142971664103760649477568267512585584618046562184723166185065267159198764183952688325498725540963191039582974465081988894938257654209502565195045987020759693463046003330373278131870241540231740073472175718762777419667688626470099867949655376920294848227240050316275800807665339112767351230476119778474905843035020159466776969783649349918731736859917030740254152665854192306349561831105434150158748801538984888300860436420552125349867809742975634916925604808587240237132068920930007932913348792842813263162409038778685619597369941612414034474430310628103481809340202026436257384920675213487005625812908110911598331434153659491184048008447307219112954385781728020598354789054639014424507288304680758324109114174238469782729074821360183235292369711133934727153444005118563351615924823219245566352479824116648944570946654021163372758607089934461556736672285329804877684000775661540831993073654508326121057061296909725930090984788852725048865029929478694795611812011719466626189641939962058447835273734349089580354591544409130093424887449536938977034943163973931938105575377855261681141200383240352384317957624971324938723853518233773558182289641603232167020553815797808344442424438396421515349894648432710926769534779049350689284881250628709833402726862196969513934111818112599963353852877303507635660178903902938000262148358859386915325680728508928373452307349122470652251386964103207670030957406218535708832485396766652785033821204018144611594389980779724580011105850269356535214721490416531008794126131741440716399145625379601169653134256056882297963178285963955860148223630545487069888072166950432725652124741437501858265358798892545562761452453776039739234226341451773951206573791205277008601962952184220883081377643430959875826773372898247108888528045977246783643437654903679160791133041807004122215127452833574912332939212030918360529050924545012795037378586116948483894789572560109968882954291982688770965432365842115935304094790916132145028932103273103814183609643013779506557888475853380581299331088594491381845859461279686008925775714563577260060413406607650509443965544708865673063503071866108296606034717751557060670772379784221353380895968462887098197341341705480638636200947275794842633691004290604079925531975845788816720862992413088714823832041729927174625966304560929594499681659774904614917205319421374393137997696338718820151691606680584162829648024512457240274670910373391122371693058921836721435112120772332554850730352956684902997512123202111902367446826277788659877705370970263031577642666704411794927578992017880104470860849735266581890079026132062027784036691377136745520511548435738963058356822427011901986556426213210862550708561256686747591598115810503988122225407261626318985088424805649152499835858846434190118679121948736167706184833757037747224358502618520598526255663401070971907438280859566016074113377821957682676540773111356760284789550081491246486930425554723575400720210444107617176117102019932342296799961327355691143687597428450430516837162840941958890180608128602862158685850958407185361385707928926547602935000143257127120042660955297112619376783390794023283988293057005841263884583033895011567010787210470425637057173086559487084143892987252640818824569245060191652210458502274349984042519061650466124273800612363893249266058101693109506390248939495266090490420938861391515907413240006461016139167674917794281533281245494340399150605091906173432894432694976792238427772581232521944329291043684090456380551284779090441062423525681688029824503574775039823120113090778053443442883178348656316669313992803951029310958021406748057999094788939098676988330178046026061737835828830335628130090649872827450485038572746337817839959262393443065864700191762539047738327392730093789406645526755280027893483195024887153780263662216207409582981320192719621376931000536252215160526255263231901319077338224535290006485557870404815720019724839250158049570735325417046512004258473154001559544702641025253776768961725952877589571999069964031190351648975255223890924237615068815932855929531453667467621034048147198534260353247251440235333956837101681365858407934277835028984947549331494456124943475823648132031260109000299481150308049203432832257573329610694386886051173149287508806512934515952600293305110593916637180360089887087977607364817545242188940161244785571995995836499340631183370171862219900939096507501718824524531235436257884257498588660883159698989857889698042248214925334806654743342595465624834675665469876762610866499402835373211038216906679606164132477950310420455836979735843252083348476439226887207201727356651456028238161036674471233481928125369487292713763948329607062355291209218574440352319777402343153162484364389271266078239682807450737454141042381326662546894721170844064462944828624501019415018346252931633637243743946756451233684566883389407887015700200966616849637785314364186776370200268881736567378453939320402007072756427873014785980351587047648654198057741198893868260372043387331814068396554030017672797904655897261902641432759632115311265943178765932698244549495957605720818996374924802736532923736573552782201078567883551723218145817843478389967726092540786433535364051327433599243134691224900415487072956147839585423240262724215870835856443025657784953945642012955949559007784402333585426888668821724727610878558614379052889137205825287218346832391725932822228104783039903853272031506410928021626612154440370464364753047094872156307948303293790345908252737872809193491287598530120571940966578848269472249467464455523094970993727521916673339496432802865613642987108806954438996128051897372214948563256190687132635201436081085571759362967580183568155610215987024938913016392288529760851707571812119826741364415435453850254060398771937495510318633164459309997674124107790819014951407595506329675128713126656323854839722924180262777597210845865531449408221870115983702322885476652689164100578147952082944794048839793926536379026171236409694323529949741977708276081473958671833655635457046698550383529653117990712712776341235966278905097455370356389115811155669151577303325018895043972825060749395856722967409097150881635092587132745799287885811481440078497225120096882946657269879345994733961020481324413106458340723522099502084540815767462016034073583470949391442235348084172874187634651155764583197464594139133866998284158235032815231742713424755458736812332629225279257527048070862141045552502232973656954122456082636147741419620452087364609193079347682585044168540603138492015938080086866467691538056290463734896517946273924713641785023124274611493336468322099497239316033317639005554171054693143654258006358571363414474740577832038998574084075418085473059147156889835205885306094706099078178755832654504141173305480578860753591084993363213408768769008258298052774020784001753674314360051270834292673441506345272656778342720015737749284477659391267164535687231121249052406934249248660881984742601021236346966573571453015985270390543884597862544935982746062564164755902178857127011148696472582361155415976374028094423332661406158371403857210644295134315050811030250595306221773031073579066885402491641689774408399159137814291764258712943684440222245326251009257706046597115339089308669611875746067202988374223516081005994982641047401481597202537063982800374756532341346980925204011169280369148645935065265386347231698783806834963347682893181313591880675233338651255912746817471928167421020411565619518486744335464815456807511220953540388670172657030436731591787722823645694779638682288366141478435932524293347551209383618923556496706806641648991787889617582782365390031556896761946829815022725020145511133279586292108416724129956333288975274748871702712889771391151718859361892412232962819103200147819731090462754176019873802180637594800631444651485312067362018707137293301687251644301031824861446210650152959853816115015231876438062833717005328151435925902806483097168410855804591625245874261867264683554878556500328328899090371585706371746684306353563183166751604161259290827003407261383636984375890197061415971405348342061907376621707740417269068593549555952250090772176944457251362704770454946355797011767277978052696319973907324327765466430717814296744226665696528615286193744411382499849352245735711500541820229951637022236181873815969046595411417575348878213078218775368844360595253662414502235639328613922780539899112774133433693713777910281041652654535852688201536423588228487251506247150125916666422435199435591475648733994501474471011894733492218591578110830320165833535937044403002018355010480839802963729540539124156376005905089012473582772627148457944424198687792731941423314627545148651950303527983219405449554504105067651895172669675154588920720302682798581501500724648055939324829671000573114117738261552533579288286079998790984094071464921046900526250348931692589080469197077652976261301298193878191137799616613954139622896931198084742232200782569188725369879338228011816560316166514250235301058746198655395280605997233124225534193945488342892285282718662618030640325283257162664063878178086229798825749697397862844360584690759622000064703000198371623604184183212054609610568414493323342548308062557815595866125135272991735391097287261745815907934721939190861908933269849582506730516409398080888422359608375479239742457297897705339893468936613650386620351004154013676090992184452745087453838531436653662871939278862982843411278759075653181942974707128350843734695787421947195990880443967237032546246611973959655085420074382861068040063886986419785201928078295990678064764493305680431467859508232207826097293723239221624213182615232053669230850244161648514199168975399109686739355987336392406897421674790221307111373676187202758100562331205857008626142705772578273844516012495903030666397831039889133913734899711238798682952020309974482152624470718707477081272093596984985224806488237721935979629524192198259741318507928603423110574286662149058343928510996855475174574337754012676968619578382506240727202350398789640552316521636886125085030944712933498315488530532071816380587984246625509386003500131985094812237859806732676518096269206743914047102489732484882997852943883623829605323877435514342618649514810881751659632155260989028303686525031616512930215866314031863765736882006435298553390835613107715413141818052244834791328389724760829431815844019153637723394312549925060427149598375069496408984350253760363279510695518890362753627271051478877580720191432231974057686271536793146167397276899921433852670521205633293525104592968844994400255567710017756765149091902803766760176013441851137480007475252169308632819062777600749677191708470409074197538138211029171289159004834579279299497780323690403881090721255637530395393046755455939657120609888239812621559961607282345379275650675146892271947011965163717389356106009591590196919717214982117813622496147883046289456321206783715804554952612846004736044082772947652927587267515102090333256524736748948856205517114921051051226198092889977249362289410931590051874367968634307173902789040020614468871390501691495268102902830397669160837445438075051048335813869985203581860350459793572559976355690255184958948387550440675217958604783445347258490276335629189632421110804706476870107145940214007062751531081233935985188704792046143333507294514904816129602579023433796974484561017459713350173559348055463894385037996373229150768583098532875837947452317913615972195131320743905751182766470951587440508707135484246886090478652033842800634487149331518841810660197558215521953548282271245789447292718475937175951584955764945566158757099469338772889046256048700950092756527636535947356023636583350426991622002509912382028742597835522310441864077234157945982538024571988410979188026528497706510088520455867118210221392989277945158419272470147984609764037779102632657946812073651002984829583754480256449521966488590388180327707537127246846976858379695717915585620318103118780076137838008628095885356242368049885807234065013185656375307268749027987111991101254404511337126284466990392249361717439175139379085526294713822979840370647483772139393580511612627213543695233536130188794513648188165072885671500633886614179678912472522969352178783838901036311644709258926770108630497369470943511754172591220606607279359976281512056428924455646182722387723884387506247757728730315094835431668168358600333151333245663589173225501952941547146978219966768725760894992484036037079928333392484296614264948202062213612901522513472164766768973304523061579013213164966106581983230598477711825355266489803638735747265243541526846025171434042156671048168493852221982783262439808070457627713876984872277775790114326690814990187634971368624061777350758967126005411451252446781659713575723333403600831259096875860911924434347078519354460551981088257297916667639416731105513725465948397412716589882927878119105861536248384736110804365207317087141429416637985290057971468075435614487866626718252563326632904078140950269794951024560976163616015654244029182745051545770939617765518148745784508319568221523773901501186191389674609915234760947974170894660490630407313652249592770146530396297344886304926659721845654572669414857044850380645949294093105436967195171471431287816714558814911229897567279002069613186275453936861807997145615745289138494870552793735671666925867982973963184595714586584548564310711185640086353321979018783931811821844292060567814580169675081293571989252574782775606321852543135238663204379923585091963409410810953384019099543698060100246791663855342281026415425059986574846931648398906340672875422438872621272340405855786118766500804694722711926417505647074494722132557765121641802700870854516778194100184556511965092458729480011677320608239316930586365533226243102581047123517000847248126220989397166637748519533145593213535867459550094512348453212911233950921936218052477164582588513178892828622006824427527324233338313700778124925961200053172672866677515710969920995684811338605513603527452000313950554907178682375444527684669025523181128923228482873231726731330884462561539533538151937039997123217190075477189630163534874359258682604735315791491217917786644154767776436612761796994695575022345984739561290149112972651812296313658335901109512365656417104185840305052546236044895745825247883049072841873094940279656931575714662413686861192243506822562882501903781440220475788274394305034163172899764034713357369858847431000809877644247633842923983785943283855636298029885180206453731283197130907675504043331288891677342540243150672769348779961781318263556650517535316771999548292248106829445634650651051491419549564343061766815168508598050761169190333229775868129879513093680512733490691866393045338180578935188310604869692463855248872746033530531094773819736234508352636386318847438645311808268512467476461061097383206134729976696712757428221925742089867713316481754751346298301441131535720872379460180476575458072381289279713544446024413461681536068519780920700221968926046226128068138549371952482353183907700049919087444909417687478472832591034984759624093830894517381067236509449869508321658091475246644408134778270014856819772380780333513489900522372190602632698407561669967534322872431258410491390930705146703386451236827188182950501609974477664589691415266221178449859091165157019003214672186996759628828860163100177744651855809378043475099133926694711796729374717675699768676960896809041986696468335542721852561741325006135242440450065813632647345687718402954479909085519922146769947925018231446319070232219331417636396886215001727768962881265086142781589822229440695868376248997595167280075572089789744063313967546104182195715310989481286583321903022797111843840370670228397084726737227565216096789863960840076077001471414598329054138253977186102641230562070225251422271514503477888016736898421071160338640658405932795023409010547468406742922912654154548211916570378611322078427653127657430448191727115854069415413957625487879171493012733100527514807862025497098829091952550540637214656418994891548098278736103320959174229970917890845080278091479595153364294090633461189533959286676218090037503263798759837448710061554780555642226027456400589315538478113925353884725487792310130003953969939302328980859965288106680327356592811363738647008734097620677439868361847617425637878174861572060373578456896694159527447613177686408320804330976656459360247815921867254109158199076559075656501401242502211280323432841846289660030002106814401282286805705372145887789964880035059978906385555450483228383749639598164217471422342268298381046514128058279926294238873458517353972784790243314719542945422641629235054962400641079791676489070209078479126398597310226338422720975355101041002577758048209359066601549216735826028076328917678745858056520306774457145048941332834498177598398401859876855672298132425802364675023706852544355894465831131715220184333727888778342793907052170222977583172945907331866144032205313069699131574037680565655782222407879749927589231960249240368045601459167764260367212222045696736764199131678233415856240113905890041223341629931041735403106820396406733995936305517888713436432358793834506611827998516966749016817941397654963343256142607648085019642000542265718964748978304863184669012261453977052671681733929479029007044868434701172243582821423224123690136173031585979645428005903453906343084091686770185015964868287105116804990062304185218449626233190953571143787403620680886119622319949184732306402412710753317642193129805428022365920850398492468592849822452914767058732637664172291573261952421593278934408848321250860874093506107128503036378167115369335942820463989161054503945844476204234327107204934977140436967703032553181319161115312601706776028075190609342982719858704265883090838007561144150166948750800348940337083204540500531629219054422341127378858205434646731837467708545489243158275726896624038767989800474285489807326288466104271171075680509941416581458753361011086972325606894227792297037750105404304059005673620659957017222977727360553523190321290764018665896483021534226450905418346412480083377121560433147464794329869758110999255016813083498296746289259112519393729057851464989266046089027311569779656829554957542317404261576450022991116114307057889854904171087770052808906018195922516960104093822000290340623919947704918102691723923787949253772531501249381258488044776591929736826387918603980361623218790028834201828681630525066503428218951397419677577906880680467983345115746097169551848433961301185156948162578265809314515308478914708087125454942229414351509514256066486555638643030379352549916429262967217767381026805686181687871790817470188357183697112070139496282729915545142525294368632553400895897061821593368214474091909422637456592485660403844663239241296014410838133289201581742017888830078713976641775907855163858013248664407533683949908004440004357035590492272735668417830762572157426462703677674208421640165097775251680621996584724000173867037964057004077867663537706883407329470810333277737111719386835931853190457756434366194313254948292951744544433954034982737967776683926031917758378781930036519214094338076578249496447035368983485130671707809201798091239039244965642768566116518254983321244087099684254367899499914960716296269777731018265282648725992982709973489684604971018871603647913265535522203011545593055279012520240435415788603884181401851096581539344054011849222473911902387411118025769623462852384436931924102628803490852115194965961381635085851636366550163596701214554103535648009621546610470880721944346073490379214691006418791557626899765602413416633104381214847967424225760374093551675478707770674572329724902248851058002319043596897475388467994636650719990161459014740261210222248360844651483171255149501600105350269359859257635166559150141487277858726743746995733588240835184954433904076451438789781850452941205461033065575106574947280516950402190271226068203968236595526053421462060844504436435949681929578747119311209219794836651691574034398248718624278105116915239339454317229325380616359433771041875149024165066039527622850033489333868876713452807265409724884946199960795127230792797624430171821011152433968365132280874974396089715274013796953166254612246088140204667994074509200214191167984437330475492445171871634793832817252391276651575336258811829068171904201360091363386044123510246545891642789111950047399644592417634302550882652696546891116172148069657294224153411089986618996619621816767730379512924679129557646547328414226535745421691245757696294266138633895929972059220295562283298599517498573630508123056702948752587476323589758780295392241835204449390686448991636204017002706093878657557612898199945995045445598751410323160709857880727645332579927128708385425419204163974501985165228497546395395734832333743292256007753286955619135164815676221172856117227993396643353765956128728045965294932592451927744177576688390389640987306282311640384711729419036123051751478282231067681052076844331323298795920007411599320780901769742200243364561357889623402180671153582735469797916328742969448605975048759408246695859812504475734867163334457326543321173332684565174561234862425388295924038540898569253961179748508947739604992850995935436405844126132467360499035422659337722862467028140470129970366718663522247105296621066910366691877039565006744103795510086976855950203177757015431977217506903941820699121878166072971413628874155558837614680387159655437532714820810145850337966334222141106996335926777295977875198959951179042659370478521041985583685369944221386072713986155955302654087761994505360222895806948683152753332835692177597904932282961590449791469422068911733930118831336728368886991092981601993927809039049737530215602478863196483967759334728143555343379389059750442664604430048284874218539210854117715046587120106615255469916278842290197514510346420141557178457503095973781180578552535069281552278145013919056938604942147323317603939674719428849835723246057241138845324743360447519770418112946207726733129832595327667480277749005919826964218077578963212150742213278997531196322402995023987499022993734532411821010765584552530500873558177844223244578699276581975193708261257287059694021302117480701651329309303988076932257404275067467165863182273360234921118996845894753289034729263938755139701390536256425022711228354678571787834387975477112591395788970355199131730788686475585086226414091229160828035413496853572559168246740891495056220243238298617118547508929717411045939055262080642229624871454266634710792721531200048361434252572329611884221068692497561435878474321490680716403112096021039310188036541868475115396725919743122528175284631046490397345485633433957369454292142563806413913049606731913671621669740169590415407786603755133949077044670938637599070259859806897014465055488706914914386886647193816866917148118477478735067351232648036361505889250477056794252411172652011950976626731259068096907713650156830208540094947109562562050971314031013058354014087954928389040465194460228616152787558144866386004790689102263183274860653532607673409800284032104741138409101263982239233747335812829775656024323688061772238350892805250317831906776920175142756990080001216609845181228899095902501817871277797438648888252861244465074212323522067067183086360777171392242449213292845603284217191211430243969293538668080967088901386896906508722231166090247442491221571467971519992366767023174272831099642734980139769036460725160439019709464521107735206126868891642915494063680393068194307101318010589408872670428818041524302351734324939969864237474721369352437209761075330611708399155751045782143376671374306995884226240340361320608700215662858031148973749221751801303639597944575702005336705701786295651036502186907075714196445953632638170096735967038307347879553192488709283842786556315944557432690734740852102221979175037394018556847960389202828676991249740218452398474807213551037552403205961281227345030576765565595616737087555683333100466800179489638845006145537869756546091926436179375544515484652419704769538718839723238167286617735000213644776605888772408005579821976502075938720248610386337043744620617590344553804307840484453465674528878709803333038487537498902881753704570218919171615809513044403682695118891523104883804763403791641746096853825444703681921202112476985195883224740317866345670623876827001922338155082126176056775207007693703368723265592397782435408239319823857606501736114727306126753648468016870056572731823522743035149709256473994560559593023086317309004945633173679414920100993204542311268110978223839245884768977729771176104904380410655758186917314942327201746793087263323399637657937753445602022878191687783281140405669571954208562894865184603644271054339300849749931478909634949427433368470585301858647465269184227006609106200610933471487157289245241062107621771656749096943409955036389325759679259257361987695272494440645164317651285200448915295519401754165846228383790529738826860345600515274633476994098521073789479956291599946174857183289176495638150417426747074046030444799525689157444983541274180812368098696699246408382305172503945634800223318585207726254987218150047293677439839349150958803532697732468481721373232652789930992173763844601331846210824411370335640696122516008470853280789589061441005052657008215048324966021130686887602151404079349148356186770941576456249503949225044574524921532765580932514008887214543636634699588505452593946165802527620813564618905254284635749385595528352985199726849050373554133373915692708281744351930289937611268949786825617470920761085492605679444210706099397559182108003529276858535028842489895763842359807162440768932542715799460415965550415763662735082077329639166827877178179649525825708204340420994873476615912570321384301231367473880774022383918557932225808165611153559181694030148296891824339693870325769864691066614897642023531711822193947740623281395970507086086572809917333142410338752727629421373235504050492062962929720414670604427528540350152056744441323246976713615181644653479751525907164584510493588001347706015516240696105876876701775411124621313510539303800758269916795456862767127404537523148214198779229503999093364767243683325389762608618026100935738159863734564566449276204782125460041027215257336924089871887838323775090398804354881599552846787241852521847073878687010066054745394564974820768273832589260715766871772484421520447068244680191405430197917156518726339642128883493993547576209669656541121402693834726494681447965762219772804609142140676038270232006452476185927919749458396166501171251274844987667250066934488307050042599662552076596945310153889195157697969572073805503810538158793561123877447614443856294772377469116526895029166422880949106333430680123971824258283188063561567969721280515650259734698905694927716683928078073051863008311931764728136424781552551433798653000596028706667936343139748729155931588303132975877396991926527820743655484087275779370781595653962702923195510301197870524651138792838663168042961401259949720008345137266610937566172139756401739456214745137524819875691412343368793896924016270159545056556298760600772385443329456438719271831635900985394659239655016566726552063423980158911120214110994145582674208158942126549042816247090909545118237300542332975090646041800508503797198509358778370593572531915451650490637103722747716363504072305597730700874952152100671308204550074988811500728081578099125118747523262106046572887375806073740412526547783385907626088001545792588730262123835775973444188034412301139392761742577343087525804277900718434421355843861458826760719696204984160720408419977138931861136367643052324392602412039140270684127566698663529837048763261996781990619699985742326816579856089020111164255852656800437078561081042826676674046457881172329763819020395366283277882191536741754762292319184776903791933487890457421909175438215474391203581823368323493839179126690611529526883841747975062670684941886747627540924231595910832289706908893516200883599133180980317300533945072120072610063041676635019588111686945242323332300775909601744184053265407986795732694778883048857545986984696792987157984674031424101688339504777347487367506045793959214682698775823065012297530147513246643635433617123790031665762378510038461591014789218065189085836598950437692521351787934337286602846877089718978400482986726013164251033316447351366274865225855363179592196060190287025821045162878254415209917084089909628506132284332171234112029397590627306662633591595655141682298609514121324293198348700657896464635535939368214033747195217255671909750515628359087263021686296096269719414953412597561895303439081170742348963290357227625578864232976683877888747876642394093684036559474579630307517175051839523310480010754465047150373739008813840248396276866583470336146983287039575569681398533985087539420666925397655075900592247825404605852877612498042785093222640632294025317345282627933438718855737884008749455374800039594826068477623914188875170087097267400255571819394745720465471595006249041972480276754919552023046232757529288379209915022012858630970230813332064564884260308021250513812256213463825009297519609544852408029713546995274880481987842625542672150899494960809507590809909337032553524597261880932974024926618761758454341266384868375822779362161084878540125469776901576001687781496037429341681013962934855751547299754226954804303072013193924349707505616127803159352980513302993311287189885096516590123854211288005092357480747399997196598121172143189469932729195154247528500422940953537587387266787974269438926953901641143899034744604970501108493138841206317926497507042452000464635633335303048424408647603109818974225461068479478435983889560468836932185816886194117827731449562399835989001397416639400012326319317243955275281250490534872058528395037324738644595357477737902938993538870610651515001529745096612301722310426383022067486426127965796718989241586805020829517149564745796873380144005155524862265811440700360110702073147025735836606558464309621477370334681019620171984880243853818394130059847584098981403575558843362342021021335537307734499903772398869351151252526268062589905531114759555062878803943967113104376076249024100851189306176769574908621137921107276593827500348634697553963432239573814663829396942307047064028240582374909378471089092084734899586171675182684784281578742967922721368315586383909033610832158722724594211492852035010575771727744623423727028313636171626551752289214935283202306342904026395258539541772169779875235174519298805448553594357960908652745847742892869866219102407256348167539419266574089854280012415341885351083026575740238890624504077137055259370375734665612443511958879809332749418572649441467037500247616494406638253475024957548007734808192250088835459723057954089998326812648472647578936636933948229328706729789612877129287257064655626056360843097220624825486521542413018974916778017497995760534140203130693265432259999465755999722414530548175366563376854889308136866302220160268529980586325139163493834420964931955186872568756433384293765299136887717789739419172792596047482646962292851087744853307692826955111770284278006854448632172698370204254375279265845803491995263104989464112363881840640125048249934675227764219229025988465700618601166194626622308766880502075306172886997433128426837831879693433790283139166628611853175231966057008261309884025675910064075410919716274372078120289890599311184714843759385567097942683743183726705312932024664117246807065491247615885385386433333941956107600371746880361512953938994058019057232668365142590840572738480363849359925178930787591994441668861341946863413490890681720907635429339831670769960673062152545311088386078043141990846687854063345654708353369290597895200474772466541894725240352905147123265666180918580855941677533196656233468756757244418654493475132767532299804043838437707881675484861652080178816853924782151063618719705308721849308114694113906116737639598945737559122431536582858215342597094695304663464172254754574663045489674255389556172484813239648126777954325882561245410691553135242016256015279305345395644258823632921093128708540076901576358923959120206335240752273920575694381772286809923847551265927347984439239280757823392209615974844415118295723496905714138456840051685151288015266286237406157332087503980167102226854081542453943664633473247865472035071223887294869093770818866269071044162031523880604967731893842436413094486785987471069602315393732446738449700817173694722193958753265097434416735581681133246989564754108992807721700430613018852701689383488291812497430120779314846137198821544323354451201139686352644859553704172681162479498188400741925457209638318850821865953733347645890242723394362825582441892124357144576171041674959013371129534643616197961998750215977712355020252885192880602084256122974137722992161053797055905540799325599365206628846342947296003584167134130946396428968802270759961212977386906621596452088070218397302190717681105108157039852211638758967042124875614676056093638802876378537929828790596682507312607354717869342296295806307710094362015320202038740540146925637800893539318210863430904846349052626131452439889764981968672944009355432625215758226299233930437373626475411656052515349668941774927666645610184380676939186944710037051667644953790176112518572002584662944392632925705830751520885285237960051488303736223544465829246410995231939288737925645242833970793717210320828444694675565266639740001786223873939795334305272604928240982424417128369087957687134283030766756053058616670016246250310654207304799774200236543287692268845832963207039693088692131742486320093073237456265978455411798565765053886936567543931960668435340423515272123257309701357406992239458501542594587678016655090078658955095283293815316059889837176365849973686931290953331275717014260926482871783335867311100194498243371378180444504289497920414240794926170138312745895391641260620368432723273945558531560272189840107390128059952748953037529317226949692743941008034898065318924831686580549388957646007537418330794009555575392822868627251761267180059704319529144415892148728805404087944972405704643370094125724280356946597014991012069422290437273018601403672864520329744274790398882161725486798122883229663664364176915986997909050424184058033096381225685383292866294973867697020476501972291359856653473876533103828095730573740934551475569020864832530193412445711611517702413426608892424937648499110457322082292572827749197816154615695719293940109306551585269093303516865025670594254643880622457530100840653708887132370278913603207986959258900492307064865071600774011853176967581972513349104503977503293422893364360146731984517071412893228054015070112574216972389617541997783153236010126206134750660710749478019597200844567394220002960646383442856234343674400727370339960300028232915997732336948217359061570762110879052508524271837567306507326822943975565633016695312250624100312808138858069624270072200145550855463626927073371439979945242800183631261363919946884583495299583593363547023970736448952738516519981832268043158416264611111204872744569120645269192487220002813480713232772398105697941125415935880238514146574597297656920796651477447493022721288592539210124415042964685921998696791642619814103929813883176767470589732777384479557963498547887550464767711715152377471058205811788402650879279277116405050909103383893789440640137393392008059619832491018110930493614643275922868092566798034232529599920910140236034846305502384290555245901063410576293624864185976813789137933186351315685083435060791895814139347039974007865829425997187064216731787684299681426069795980045474531213985478645691957822335551989980255005042136042895208772681003960305823718955345585454794035228058283207773592500774360850491267556949951859089216570152795096084022367385958169069663211439859378857542861657454792167301294679233513337005831241374732022921844025272520675707016820108988518978045375129717832088564630664518754440709443532797784522025011327906307491619949037147293923838293363261170159029680933747332771504949817437665185015263733208929223796181477812120784783883290681448069295680560426385903168521627520666935771926897218729547398298073211771195729495910465242091218461722406502476026512034244010593912798847729471060804144027349155644268634564210853557214848878300788313089335500504976738955927995957106820774612521476906219542852514917534648943558802305033751169615439060198861995515728538899445198032779353409894987714657997496591398762296613690693070059481797684862778657566322732373644837953317529123785818917386497977621127336945805497679136458647699701367115249942904186303043921368551964551301194287340461026767418098695037981387670854727529754570664413232877580290003782051177907760093719185863484025946714438364731542232376783985483672370369074577565491848332222607712905178077922714889529754379397816187541362933749047052571822530791683823674730938288922269356132130143482982848337464547342792410071380957651616900358151146815230326329444322718966199624934341831198400007613073684410147694592514347754984776251629408811590035572639080399806201850428732108412149649968238898921255312577334078245593536416825139100878546393736168206465878589600116162170530935872071553199473956061217539877342423634084409657075154154763891034714514004386165916573756003512488078027539943193901601845981083930188343012545088142786289966282845183794552282965266875894195369840241893600684464747000722289206901895558154470517333777375831574594202852097212149498858799527045012693063425777131125003895931979260581735130300349026786015322725210321362638963536287800560129742260937501885024806911447423235049589727585401131657508797846952591795347006661051323596650881223689383187101030381624785602368299101111535661310719545921611777943261284704242656441848170928789020596638749036915444770459795276235635150748985769577805975206398240418947399585895275655237479157006923969478172320488112675745528931010115235194686195815488190550644858630756769138646748638746619457813307308943778732265700971922067318267176952343819327136953578072328279039117017639184253279250337489964683638180109926173820225357971329869446447764151238752846060928620220151507647090939403712062436601327970079535753932914434584757525555771153681425125935421977110297465131734294940065316416359633547722776564843698639350070630900500600510242859756058143237188696770619926846809765637184340182644869789312883764595717183345931823094888569330080448730944970127977241233356507532565334852007036846917679954190887369224970666929525655627239256418503912591955911495423312075497919253387568125872758415157277377445128784976823617138969676341314359273057395980178499989741859738163980616067238870005803323012533931308025301480438003445886853020856812890716352623191389414656623262176240388280053099168518568914955694620889084192601282772112347110762885253380180136776295932487264696788155557093499220907265170653282251030530958083350390745190240876534252011890824679833845214850616728778895140910776326820376232651511488549055269451285972583910012375611092072745026742256729061857409668724380607619430426558083790782732080174647030723213604878944500209723154331157444885452658835142200061196262130912987890969931448385824017148536770631450234515784128185721880194180496427889346579686231665050196642588201909816252424164049542726727979854192502680493152619305581385568043035187462163032993483167391911343302440009707519696019018667600311889927644789900927998582983702523796493586204147026506518977916287834852493469829622484615815072907285071306231039600396305128140210976812629299476312852853607966735182069652040374143500227785133601111843251780383628257566599172875589863885619559500189634144676682404968314233478495061057207161992236268690709911232002627636187095373963683372862143566605256294356573404296222487122547397289516168909326331664150860841716673656902909725704462470926844471482616196343177419720910991917398769640919979311408425748942612149965232247316395397889641854238646634503632033158425885376743276767208713388733094307419856147526830795258382412141346073428819422073497653171018862108365048304749537568533794814395699345996960665662336624157236583447933763461383184161483701673171298258182936517863233561553586099217042310374476555533509369236701297786397319174539559404374129532177467281493664613718291001507050227730430081043388831156070630606426072315421633648605413812565611909062721172263689273365725739289590071528867506804546038999343218749183344063455209800708882487844690736532211368963771566120049436686756696939719234491294318001294044837332269582807482087337899441901259790456110203761848886420606803703810477929460075106527267842688423692501333368749714607807632742467882105086000389938855876086295492268475078514597349944028035589916719460829147995599072974342076928920084085231466785681679249767360473893487913214804392354663896836882381484698838747429263667155940271662503055475182261146464039616380629718906617925089120589885503665352055614649658681159243876911405987378028727103068652211989339543096144005623311603276664385308149966283020619090459487001630490750771944783426960199131806660573631944197908428458134680204280376232841305626120755822787682418198098005384692240145283098878207588158136620364496747903495194383608371694994041077881504419006067505074504784743954368638615819831395826104611894298686342397425981420575316303064968752656059616300911074621138685921871462230549513653002832526641169074725105126533723796335065284154538389843188087884719409768842276721906520056519054763894574755054070132841828746310772063745641089837283255186577989365242067467935809592913038912266399513497862611779937261749193542543727166287684130883884612214600688489999502492775827192926075906674856710030732499455037285227450617511596019056018902828009086005190549467933211847160688471640668874938771668884510672360721193294766087677464857151616508582733004051152043143114758771476285233149621243287670788489245304836036680923330911299229658405769970602908936967853954271835338194558366337145969900258076484969582685991485676065839284633314062069660961000635775731589781979189099567546340803511060093400086740585514407254415012535950448387301526712495505401873949261550920973332770726603587259984100772598900252447940023501564532107349151543540389178210035267708638111549917068406031404798472966474443556568914233714196338085519101250279466716889488350253924952259457478214294528789704432461333966729739588231530480390201033546409064640150701854633018351529993016212892653111747326884063764134281662465331010499171007468124451252296641534986379926913662065532456085910653429069545578582590499760157445556344042093091162158073798889381990476886548447033168522785175855664507743838382555856238738172119536855122570481758160074258292735197497225186970041535093005361040950293863751138197386188054073370850588094853313290369253772079041531872684103190950752066691794544851947605894982086087773136853184018833968987118471096912189993138786178210623180774705678026569365633155708832239605872322638941662477515748326164197814680932715456732349207555838329102510748297238709774301692229869914680690039617176747559811934717124984926864879896954047363060117729410460484860610498212225670983935839738703890525943666455289689039451668286535483892303954953875701731767736283019620722065687558243589411766086880018534565968422942355522859939046369451844172289083761949447043189345703565939671904407435272738831519079280980353936822786961663380531859571066550118476910034600920530675558942803670520531962911216273595888489087174236026210364895579401049085252211771346137702539615552806279092943039873729145302261438384043176282554701276207197301476375771352395928436438998050130399347646225505292980691463749908527920991362606011982807687851893016020717763428387762847516515394953099675295644893334418128078545059426429730590590439843644307330219200840662358646339837023536754755397573467175569550614875980563898262744109915271300762263921701213834760109331963935171977007995587376517631579153837579141698570602181622827930559680901524950579608984400625970712970607358322190350442566994041143082952394561297815671103665423568448394296336567923983575066009974968539338460750324619621993649598355868840349030949146903685337245530481708924044496883845378392880258066292842272996770116343994375798282050528081337177991760170175945813933235799549059950358697151926539610439061070774185683052229540826615268430113704026081775948584905033897851869473447685140954032535205464106577611685983085211658375588291925670055086806194273649283693850529189405953507123492907986503790098903628653970742108796035167881036019008854507980657831041609503834920406158801709699797539154000814842432534184068382560745832206087123997160430957353820139167042437113885874868969351487699163286545008319004170881610448094354078480285613118786633709148132795229830480039877581178568215104389766969436391775214162765195135897106139777640083730325839887305591824448319063673973140782878694871205996169964780838554525190549566698325802672801695374876872910726176103571653014931483731428209716440723650048138947945222371440771134893451385635004647508919097926615209634805992238615314240510407097634499559239434010871791393760237032253383506152132367101115848632200998516662730788450540879363706101317216064053083467561064312170377596483099626422342257900970002966580742018656589586755496923006418489191426611766782126984664075792114311613425445522745865735914308953194836580485014289987405806388459162056660796633638404846763659027717636876700108747175029260073270299498179814953951495804348288409754216086767161207605443974457409161873491035880531134856475916031004635269743950809874206099702270830245185529682734752006296436364506287486147384822338396392743721679636646647582068444777520385107239667289874356905729678643874160058784488657811157132550468744657412454487480167776344500295979517327689492040905758417595869856595776600598477215640145427094149252535051504612229843414460481992170929421182310649546066538630237394171571106252315283179458445582693060691393002290221578627791133899502245869830033900338307827926367560657430662168652528683752292627472222669450798548657553799693915390183028480532044938063676858782264641441041575471125643874390341927135625203617365422179077674412212242501240202454282566089543858005369977205406973511693194802607242340171002444250154489451899914735685560292195013883584429978008094520169844297499704198744929146087431453157977243569607862095990225064533102021498882408239742538587678999311830780971790982455492417567648005545465277848287483168467184983850509938957013211502116014743417817509490238447154963917117641030423843456664515084939053550132320155975904223636890062625572245207166794284034532885340144773181340046652113938309378175391274852160065173303079850568433659232538390125160393544833392980151362998900745641915106006401074587299427249711206545942669428949288264072812859378668961793525617758356916378838484902481080168322557850230629096336719707099422495925702445146704919022568062021662544141256164599751411571360698243097966016997010262938213466203176582713986873119107336337262323382514806978507894020892210384363177216298609064975799066181066545283045642279640615199041687128680823379691003960021169751986739940581895999042399071447299492559227340279425387620634623411069214820555500744591870215802566397076529269264299863601524139567685134200788514714758570605633063726558275238934390773718881487169998001603968709102275121801231089648665880627058567133716507431426955785396737598620650007450253133864696774210256614577958549028888830020428863667821344640189930157122464269513327006721602652701163933248911408102483146672484434811095358928603104561916782367007026959811364123193267694611418278850422431431896391348714173220194929153834584124918468689297728460305472090864709774322328952337848696443469858341733747637779018415828171426136344592465332995768363601936756756074659253083990438896846722179281492773703471149170072916742689135757995805074007929084385337228464837086380486996050685247963943816134207693530187861211402842808037147672138513374598751057068231261863773110732372191267475829926061007418935111703756531353733139990841550575569550099772477535687076885076417503275018558391192636222567188894404582842676984339696710976085293079717017320474666460781070196706855185530521204534996902582934689416529092704077524378591603142569149319129085023729894657023839330150737777083987406960862898670123816001838430503266513011730244054894090470062276927608069088150458621001042671430817446127174291751541776568087680327476987562694599071325220232543910834664676807900188436558893111859308022311575741185494474807110372030916088367269021876693536631849189625109832659826144988694534449707630841077189310804853876097236329964601001957364422303171161173054294909895802341940257004504741862299282414112493031419123349978340163952222688445260084581748273654178155313799777908057036219049002124699026923972980538828903455134594705328941234113465303698116254417559486709284826599507526115183810515324647574295267238900580674993164231618093272888142357504412652324541645049590204289750088771037419382905015298424018886472610198107875370194304776282664031773290695046948726418073461745392385431609388217593646919208491596329854752179986321245025956984070785449707749662143629485467857646146796304664763583468046238030028560188205365637212388458166442410114948406597572085911733711358813589043347315557199788678109105894650476035203931712969593947419903063039483568846281640259990863872827322558565057117064877858414415989467304121390286083543974790391005253661377712251035353586999729267392185612159436937813150655873440023610144351183165760881938612732777035259661118430412966959118368257118287596894827094795465811267519554502012461643226619501394666389290155870767274251555111600060451483151870671713196626392306389236141041734906706303690767674386502864707264145264197431561969908371108833445650755211453446796870253416966524178914908845880280036264181612576777327744544500011562088600549464915923653101743013360833991524304407243561436866870269059620465168347004921608603484322312005090453025019558947330752887996481928531024312460524647486560001160650501833402832470298367319658735614777735962707462788621892166778014016651494335724996077882845964950161196500699574764644205696956922679093640908903863498252150552138212029256307605780268581371912159926564789088219016441042998676987565324444015336497581906670826706138366447047598610678904952558759982471388486788146501687645939281600934277779831906797082404381223466097443294471473403003480077413600367924189789292045804387520147309592225728123961584951606426703482525202684057832052493172341999537861440123189017914716378430652781570290485770997212434855087610008770601001704000888011989116457480090740253547074118051361071277838001730235430858132445456873072221251450910163804892485580573748317239667518735559385547507118659630280613618307178514661055180879603785736152717997074582539966262739625839496183069713573799498542129452545449534766792538253290428288576971152532848942277552069475665974670777831678607891150220405049816354969168238656908759668391183462997475189256202988339045011178834488339966815257362547156399565047325635009552347509243261133224835887904001852441985732121660974611673926724821619903619944616594136194144388395744459627615811174030035793312417187341789780791537048111452755907151208356098877477983307914215780006087688140382727286834284376490139887764177940137696194956419323053431312521911063855047218498033030692340266336356399894446759041576691693327376806569221603102712864935384994258778854728043548803881636704779440630179733206310361330274215282917965392168101142408951308834267529475872224506211405219447487416872327650141230325229196598152682247844047667005658539802110424490942355606306731481904038156320551984531544699631032402632315255053506528716420549433382181731727528822514390091376157725343161781774692580303308828112577737346979945997010835362863163574180509582124568688854931370388703193487438622880986732183790409987451884817557871118853822421331115803405619116039587609202456479929570994292653983355505178426913034400287236349337501610556522111090858214565067196676089981099922105174962780211460825524242242307222240883495045314400770989862270168751392754803514336910250897844724104326904750361854369152118481225255282353888082654569868093055489788087758129881195216674171267766540758873526609448318581812895299157120780510914314342797870663606938852025802864653403621477496845899887552360999279807020829585838842111658304411725627828816952185974132968441415982486497279343605524618098931377431212930296072260236334260075268596479513603826285397570293396130992385253235803643921274539960715449649983324899496918332242027388098693095165110642130270302658415608283373493469307566592505870833375065137448661043447765039486241029692810180859701776304321845152916929805196240812621207258198548352392050505383789573092251250824875274293576449011929129245582006173627146707828171078045590775154931100192813248572115078879738960250095718976225190879636730832496675546167977474426039098973640111960766258859610794636649172473430306253218762860046953052389555445885351126698398326318625205395310459990285848414095614064007850920987654085126102736937678159241337600695899396812350417698081473944914445120515798679727937773203686152645137317914044954646486630243623333933248762975502168174659223765267147721985928760336638833122037506605095684466508694865567503334491841883074157900915658802041784402527841494726113974762473024952683390348268791758969498818221580872208491291516938994274483594320327270405853129241097332782930495446002616599427256152116879449055247418931316732532970343567373930431796026023436001049499425390713852509613807010789497423999138545862262996428977857231770109303785456758381967310755871643334220855815826147378867272868590867930822515337443226319192192553832354272502136881483876903761875539286298343325415883736483834435484016690851919854655328101443728320470809876168193909548307754513116093986160821077270741020934559324137080371763839070996912782686917511536573389061240644058541846686009009212257994691131743346740304971721520719653306839193968381795586012974921721284275368074912705350381533236997298521150572370923468507945263517170522625403047765830810462734693373773247501492031567530264938567548298824932169326933997089839616235340114400508325504971019571547207858498618848565100404488078229315499700562916334145684300868176460185915109615621027045357775305868573139690768715711641054119483191613833665360227856048379172273842168154817382122318593057132523529244967358800355446907918215051672778837506872645432070261862493655495817532151356107690270058378701880850553367084278323221631566770715125706098119784707003987880499556369802877630569580041434478817827703272824489568204187969494620961546223603623887662636420999041140431232710641796272719104230461854976783796502712964499382630781780107709396118634797480821627325395192647947603986581845614939769211991655490235144244353173282894346233305619754705949007131942883852156768723456130458010010998973913183935825198346969379101755419775806738503477366378457750045413252973221063872660706345435590881000803477427077935071910853953171071490227494835779719528369264400252649559053961150648317970623476659574190924655869535119132673468854131425595073399692568353735487456890028042038623459421972885847072030423032879640728070228811157105897265595025056671643946657098113968741523847253202267785036923177495332076717934813286024632220806735595865044285591338319810669042900082335078250695411567273348525728438977433439841383433692925657420771421358923083874848396611614869678753908610688334929644968119137912641341014631931580074630390873678492357647592074511144312918417186695255713332148083810202139779706485307668621216044246286699351341329926652596886142388376530227481115524913557628276037596328606556474908884285128578868968906879811395666633768078338934053108380076110090563626386350581930686116048209245461299004533613775519826494088266711601101525369636677514393790067555628091907114041409929776774091994305545988938690114713796394816930057392292990321722512471363234024618263042640499406947467102788618348029250334080780096251945994160380992690745089976268321758819540893732258286341970326388429298912399477764571546769781901136305652762423617752489368284427637186867608897150935466332875221061885410569036768073770335824821268963068862495154308314264337112302009485182905156667366436742200986117972267286286185097916083881775194564559930869304716124492608785107093075349676418862333663812082200957707477375005017693084553179088102025489910359372397374671456574291330973154436693136592859768709729697718582042885092401408100168015642989037846294828190356832345800002530322259924728506084050299559274294090424579942786775993783390846045509420843582902523965110151186716644665690628653672483953546856922834873237795127948593863122698990862427965349057334497494400512245179927121467973867380662420376785622386679515050460081461400381865184855542592109200998782692997258452174043782969817606877351774458599082454529399817900644385058517287227945915039927194038627171604351027298031158249486673063174847617764565635189692338872880845250386031347076806289229687872331107211524422423032941646480271844997219635741414700015986852520755536251724888194259148544590101250854839002643016411546210478612418033716836409239536448343572671246127775032264949961619659640878881729563532869710081761251521070726543842984375396745213295824646545496243515899059312483709451851513410873774312241926347565285131220444681649968251965030605082295076281210761133539821247928090387201157361115279104809528701258202083049006941745980523338765321558807270179912744504294274491656826612740810480351350683502466122878083234956638890799941331504424883193297675529931997242270346420990736001873123691438136741903767962321264651660244133549080064002713104645250433630679701496465113252866116246143081132997845252466796594352609784946855223430426030073354815047454482952277126350096123657816400032417733446899306321107025859950371446528663318235996616541175646943165393909847491307440477823961096995768329152451482135631741080746613851106420423573536787143994925891145076705334165472301876035275662247453642301248602046196792774108498681164210240212131674628470577210285536233039214668635333725043147295921317347838819962170142360451895803290341291703594823213640641500402089709858158118578044875788073558747851571967562392141407771398330608848135263315863664146033146298938862271871260787508543381991299523339291069237403935972146855698495411894912116683240710636507624300876882439274652715379447167932471543942844557237253428754670610758879473018242316138489288033805770972973430108700679365214370900837484568022296992430690823783893729991935430009519914042834328293237354608830704731416562614934156508484586517425248677862298017041361990841431595407698320558074201081732941790751111203447927621528543624321687674962985468613980207513859816934979188050454910203629917417833221312788166972305847882429581938591913386519660356372555637408631890853698151612269873389409548493410402829121880595745757636721526242498310738865944686149782289761003435255887892632646279631696182482545132517957588941236094245704915851018990190428423923384552101484984187639509976431179542974511034324168803573727639104694368167785582743321653789165312550531452549440934174297644150823557858757454474223809146666755181175314249413498003643372279742985441168270622495434373808494974598446518350872509958442617620922774053101548897590962818149284073524368786737236949950107108560076847321289535444739325681988730811436698988055390453205793539388838233769119817823818615154198836159138468825798988536437969242500728246136470699707255835472351901712107412113870001938598945258514379975891115126456736193953200536586686125616943557531772969678919361749435134092988797008175719237124729564802719657855709120321392185153459593999194940226137755770276807209103872073917927403525071215629954245618577895341389486373399573140449278793681017779473767971770445810409221689849031488302776291710536307197621329314292971865537887782027884387315081068668602005683865216799847907475319977515990880135982717877379040490717536128790253634204485660377016396539426081531354578804807308936799064705721414379608792527825111624892851083957914109508457741912456497731337956223532407739126926110344859746021182652908778906125370037554585383574475619088232054556063654228967802355706580952749792289227510373916517328041823456744077448896705910586339581782933840409640542890363821019772359845283108261520205545506246104340922756423299487048651920385546797490325621178151226585943716145991658877200790224516174507969531148649899214026032271421079671494450955809976786364989044401674848361827912923135277670445408476991608738743435942676952368579812410262405581412977092913644952712506653277732015515869786275931531750895117432894021952440382460217868109168347358541682930803105375933555182127444845965133665250892628648337153710784016511423286079064370356194660898546696057925787664323974425487089290986468054064471403217372323189878744873494764787494086306269054632034240651389886468623884364580229528430571726244235039521591992425698970611340883365511152175279070336793684218681913690432344194267143263682191179666112982776748201773499167809411586431562673506360751551350191531451245796899242088841879931444982168514116318392283273641506735706991506951359126161058579842944428951058775392823785042841535138311951946196087571614080