0 11 12 23 6个4 24个5 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 1996-357699975430457798854063622498431486176728533225155259 2169162992005848385609912636840083224998480865882771942460 23596933785349095994009594523647144011314597946588059414461 256987370778241907996668007800779746118595133707598570043262 2801849989695541382577459314126467673039170227403824155699263 3058015628823441246576512856539297985545247692211707438476864 334104087333487505357562781861147374040782075710057529817516865 3653905882509450469759578162129323716362823344476753371527852266 39999378665649192465608865452654202745622934952558883888515010467 438285281090070532033788580792645081621343932270314875127187576068 4806802362626605562438848904232938290102644327514673829032423676069 52764265316077819160850512128239625617311419755227347857125113348470 579691294232919194366533139648456318533375327942952185706018488892871 6374063467952917450085889619520326523323912861578123412071782216416072 70143691854715800154194914690545684665002088816990774223544818097595273 772509471250748074153047320211741145480738595961248892104916909830156474 8514373123950427769513899633492826995703649525679513406522505333344945675 93913128024007729659929695352698537551235154594106207593229971781638764876 1036611775270901898171339841609959163615693915523591503831628949468829812877 11450223110527466961023269126111114340921313830074541417409374226235312856878 126564478008323152056631275880357084664109747457198204837621098475275620928079 1399916655837831038511113155172761630832964332586956272916435173181876277164880 154945038120455993638018279495159993112091837143115437447702714915194408937681 171605522634874066198590375210379452779917274054942814077247008105551451159662082 1901761936307306480945890844222037802618250750483319640787551542498459870344180883 21088505307413693691778662853862544732796103317158514563158329275988392820537763284 233988166617733490389747334507255354043620652223455407704410352876334790644924910485 2597732025223580501808852327651143031308530202423466680253954405370855305346561620086 28856342587584696422848047211261633564549349018099769192661131006596022535102513990487 320722207679702755055841961559436692038602627086263587966046907960843685345171464832088 3566581162825425369659938715973082336721887233531467289939549644161045301563970312112089 39683066761043941108013195280926093663113433870672037503947435866140782698299536299557690 441756820823114162068787349228304494577988734366953435281737206945521300596282889051888091 4920183175757913509886612815433229120707109058616143692661914525915524206381684533715558492 54826997617635617280938670959180895817162080720992809182312735537317806330812911819176425693 611249066808912455770369398351820646457934524323039884160153270381737687268015641086047467294 6817859108899163795710416841355054525810424348833500611026746688912673472165712284476835737695 76081586680707484848352508598219311585953913405749844485223901524757842341423292266202181286496 84939288607748245063310929049574467804678035045768200621098114254554000534415054481903015353697 9487048487066465903960743876128922902123356751463192349644297669489409250415460093020284029232498 106009091464005707563308911473041903936346289288143408613170931323318566973543881006870165252196899 11850611601359322355621907873646128446868521777871949258874270137649498922560175750415486745906784100 132531880417789777051436505065513685146279004048951026725853404983256898851417142523192318350981104101 14827853712887937045635361869167747757499958030499212218886841705921837486371147342901348577016376102 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 727017051195831485517887748054444265090550237021402278069426839235397034183280179864570609958428249141463638508000145213011111301984135 821850907213992318204777883092259643706751656805609803122163894257311835162217130193272302858175463949466419394244490101973501678344128136 9292649279201397489855121957553359349020272183240136326830230619512902035534596185961909512034263050846135573651974157400706302635573840137 105095153061935002299218740211813408471163554413958698395620832178232093426757293025311587527013201185517323541027521923871467220572618972138 1188833568509696355831897906574557647193419796689212675914610296538241253832629120582082495422146216938571474944854142875824810496436719472139 1345096036708204002713655931214077779329617448827807752008981821734818322101255041278071875925669619873129327031779722809446486998771709248140 152222218127879971401043075139919179905050672965207479489945243478348030819893430369242930913200602897876698077653106774839582719654762200848141 1723034627767327080102876422190955849687853186119557732057944030350714781175024008400546242994417654725246244364626407915673187111020204702136142 19507422327161900506330139513083714834951523158934887986903262428058189559543185032049925402507955902881041074436917343175202846570711441985664143 220899346094436284385158162166160191645485446137258952256906880612031482623439852658515955745798502208434495962176982332619816470801526647807168144 2501937204811110368776868728998210640189793308838814237450465979770572806761694145442416459917572884827749078736141716906087031085036534562646560145 28342920912444647353942887514479712484725991681976901196446937111050588224909375499383637576265259050334555914416909104021763291914107230387033788146 321142547032104124840683137080655982228576115512914412066144934098065453830455545426949429660580070396390517848398773885836585909035679114368004048147 3639443448271073555205133140131198492443306395055286554880421110837329866337151378056200321645090253264257425108086576837944804104860572658864679648148 41252935209726588580400711507143930048130419676822603072860660925070865777377355262101104651235474561709670348639374933100880108171682804776086838160149 467688158474794924461366585513739201485581096987696740373622441606729095939621882830280235468795309573244123970224707026439737144841141945419192674408150 5303205353535419581339527190017039080171397996244759363747283795318033393618204521525708138589558680727288885873344147961560273993122625506667744304576151 60145064998107268970471119040626055671893124148396359633024987760400354961598643632074752253978453365319417097973193376750101159595946596047637432114944152 682244416614138422861344853582142826021312806415387275317162694126538448801766475165747374464004846813170200166604540632412863833906672740406058878961760153 7740292870912533511708961538087444726137202869416616178021017444030119322935606900246106465509696358502336779019177648688953758132175420922150897413513752154 87831682623337445890879722328940947207835802081306960101675230702217089449913412060225736653331185859638860842722363158058945902094474827767559729756815328155 996828466709173137991284843501206216773807030926796573071339585970861575600133124804204424458243620678262121263323928791907528282881110043114443122672838144156 11315248942835861656308293544281355892640745992951308135128494679343557087503510788806588061138008338478930843887061864829683449974397323602886095765305969824157 128463957872432340633801502882645729011634120206474301468332826942127346506314082945038644572109529000492149710018859369438132704564498043772404472828883720816158 1458717039235204706236404278015493539529301613603006816662011218753130052959297549764418824974799320850134126686416746223347662706601647729129263582597933553664159 16566565174507767795315508700301953220104702481382684104974003711036229444330422101008114486576227592607862310942167680695145137924103044847935286726832739054720160 188176182729013542885680999526987742041626389483746179549760031834078001643580533837495756645948421187744372656059018804431052779276301549443588252355269909597248161 2137798261077261552243333920762476720914419698086634393229564060525307307034473863254907828636978927149153087248645726667055838725751580465047634429343945173223372162 24290575572922671638997020968342165149358096519044411451692658857940821512598042236802403517891381661927993431776868125129952214798166678039450368017093228151105104163 276043207941532949791077608522387790778407619576138795633490159088374361257163909565196005506161953579808217681164635882469512691536956533029010808368213312081084704164 3137499520188578964104556649945848539370565721666706001157956385028327772583425252846748905152509049338793277121791470428032697497311452141609652483532340061694237520165 35666196342584797101933299306971050034556017422328827384497629202370548545149979111483845295610338412987983139011118919225161428535113711548754277770552949386938148072166 405504471801762250144221108922583806219661100458679060817371565624009348392421360901714614680628531334114783047966706782376795806860907082219701439430631089913371173952167 4611045802487259645025278818561365282192169762966097772629379497921535848280607923579401773061145255561826626031135499494633822017022414463815431917924941431586312142208168 52440568077922089478016794189757505312476428606090291964417906758896690234928342987806932425372730550358911611712443456816513964480748105026425354136378297186662795000928169 596483923135883767292488023624488031256729314683282946802643789523639291758086675116682078469611989763047093924429930327582641037634178559900940231622710506535761965237736170 6785670312351104711507865884921655767711834606500511228180997456950494708006011749442796542133668546292448729380011696678842238988764119896753062860167173849644207612287136171 77205580388516114440054616958493109011836728165421153181046172934570335539023322094854291470711547680051970209070572764234451523114715334528612603357469916765404147835124864172 878548684968982624960083658062382990266252836009006291158057103875610952836220059848932780485444005615581207557330199173 9998698438552208758851277899895243935392908931811042614423892759902092217020816484397326271493943087408923435236170605718718362675031355818267365515016690822783713288271119696174 113810127043185069280349105152939898183063550354181361329071700472147592909771133583673213737112333990519096771625059196480920626442726021614515848082347301779377146923407576320175 1295619462019175225205442550985323504289718649662840726132189675918189803774334653598288558361115367621203039592507054836893383854987911910077012345432781509095812912793079385728176 14751373628579990212963137988125458098747397135105269538851694862745953316582483332692139737336592631435605491824851416049609051153078318409877465932898073215030077210202900621504177 1679752312426807524206420632195666677995574430501277966875579444000155281558720947558997628598458143818151607745507140567588116206230779776318982090691350786429239419195305656797967096178 1913000868286871688724557728430864327301385141864373167270912575540955098358985340535679863941143315503470667018945562317466763792032181864254660442977627568556946128633444140203168179 21789214945134393711760530755259383615693923049760500017351504364248121110965216072775631422875298046579414942393476502548982741536090334838739016370558818057476048043464009307039936180 248212625036879171046662945574376485471992636105574719890997778164489547660840810188520084263144737400230902251518804116053106593771572833536648164596517931424091535037211863503911200181 2827882778373980653336199315916198635362218856865262061650755777826654831652420066277710134834979769429319539157253869327201446470659373280611480848519802612183833812136946125098412624182 32222080793965733111518222777649104811037237771413266410188857492491833022654660224272050358040467434112792870112106434980664284278283326187168650335415827172020830994186077913181784448183 367197577829634516324053525401271504717732496041570161186525166712564852060500803240136301667370616228900741424466376463202640368961197627219125332695637289946157815950956749332495347712184 4185038831078899979487849917945041491546387680801170862747895563434935642863284146914169836057695304141947438848719211480882997173190722789230792689999050276012604284259638758498133435072185 47703699080085044885126815031413359051170990039493137833201016446737417257497863882265427133058211805368406271653988972233028203843791680335914338212373938621222660347828113212403556366448186 543822201201349299750157800884243666686293933518693614279122910894797963458351677729977329358061268013257273101347493260130904188188769846294455973550360700384086160029598654932271595403968187 6200312264045504680334940426214106715500842418854890030638591507210784057177854935028902489762483767040647399024377576551557968754806513007887564598199572250608453099570875451323733136744960188 70700322137850203517636826846410385961895453937643520386951902000061948239360038153932705903233935243578752377421662220784845500844400436158153243509469633210983841452457419167095809247989824189 806268852320176557515237836244934442488202766130633057650159707107477657324620402120068939679161421661288202488861559325590203033850564264562062024660939882095123716471954779835292499407946848190 9195778431136578577560992726023844008089916678116993658935874077900579977050575088686510215858754252493140438805538593521183800992271041333049485024092575704866567530764217471315095192204729344191 104893050497774947599298729598203067077994733606887882540246429883718609762316388141803637578169546317326835943074633859931694834649747609735513973156196907381279065375426575884449999952807975168192 1196613828071189632066719074307606658694430217685687480285176330730754127548799878503390160749048024630975364707476431679888748024381387126558414115938954904563877677725716785407165630841023961728193 13652427982981136867609648181945028570492962700377380864007159673408847403865954455472938760185914014009674014394698714871391004042744088946332551042672959874445782937979119595325977515068147480292194 155780769941173591340176749920203736070296153034145592794057097895939566130046027032140404607052750223764258367191649883615700007456218599211667121447116064419785169162009303828717088731789509335920195 1777728271572043782499716005671310938053555355841435758711605579387634883550505577177988177761605774436194532935540129457991296048737227977661342363976446723951184235757278188789829388849052835109856196 20289157248642119519465307386030798065947286146616790592668477909889221069348526465362943568175989243431243576077445563959937626194455007112410212184900567219426111750353836746463463151765127679946736197 231584375232789179358523248784077825676334773548678874979020225887696651462358449412746446307756527930517038499912678458841177994428668991520107612874403564592969823077591770278364216977203754954650488198 2643629854537575138247800848881704721331270097076674624558242374225218049714240876067332963134679974585955123049019747467107939792380983128156477479882691093466024002221317540717249997437724433403132352199 30181284798721292769924685975444865493867767843406353912590868783133703104254873261143558051285792352560160444240115019999310207186533886801987943671621832609736171414114244809404454957341373506855348096200 344603770494622316273191015536473228977222052672032859131611656377458383941395366217930497573160224573589660673995521714711074929814990396519658545390222095690499386347391626480255434498208794763271923232201 3935021432413583768833415643958331585884850259612725452384586538716550726773790576989749541306459376482337242609931977460109760838754343504343377495364593353898099216446321665157970453048256758750262918168202 44938493732744357021161779823603999985065773683878788468306185705765045723328638075590964292081045441575307004848688317883417533213813220212392617637520313264160739302373441202842099300502220470501172876896203 513255741341801032569042398642429210911111051663595112514250119151342215947602430384072116117382603899395236526091810760476578270588448009407356773775435776249871431600189885364425138897165721893598149925504204 5862631345710154527660109622821043280194015836137701380865895588818641238423108166166553602684802129989144219344304884260723112481675332422690805552708196818438470949353640002561164869265938173029396304431264205 66972173867348105398973324062975701656499336654223014440368420454441117351358470358898604943696553237860360989978973682496501396713807318287806639842245642377554592094198278797229387761276039000179330974588208206 765136339962891386342147857607641098906416701358140838421273487475971654034978528307781902463965847926623666833533939975391082352751319155360558892331287614526839897232790934878284698757424890889811366952734976207 8742295320858632619822015507566372949979988375892736427724281659041044183063970980516315398391806103578696190206413387678104087934161969872795745513194328598268240554477860039042484599055985144167337386863750016208 99897339502330457338485707138125001018869772201365494611503548817598932290582601112608738546426803867375952694568281006870159281007361702930646556832048925418322690820091400923335515565503285848146068460047942976209 1141625802252904615414622259058819757779094790230120492142953107108031645788179729937240546031289389791159592968220724800683341058372072277078549811448132764105094221242139216942470141897032359740441470479565785976210 130477203502680697483850230468217820759839330839576717188254362457493932500099588354336789508490863789964283290177135312423363243685411516781104056478402731041037996142571407704373285917262437329820615535230368211 149137248270492691401124549227108624171114526850978139600993080688561788618818812254919699036687641735128278899657424205246057985779673551114849513236205196588512643429195894576304780477255469875547300130249439740864212 1704817322848171527061154175605326705609857986548975612563121575689764741882655521697514747887383275248645264699640814607522473877800747181614665887655948159953041060836195977478911522027905433509356040114456942923552213 19489892065083570057003937242730387119442734830485886374235398634516582041246883950519765742581918631619969964641678435330960599612599601570204838253731766320199668882818790461042799882913597294209831342343595226693072214 222833512537021738162519630299225412938568003547939235773221769502827695883644632075114771952822302478932173135671754925072582553825280281569945064432563233525200366007954914204176390271349534583103326125791857352828800215 2547948810099750161015583094698553724604061192844023892725189485855728893251613032691150380218089345158478939916115561263596290866972119618591695748985590408161082586876205952518279843785477859066704252534276143013601792216 29136652157322258022320659309333212539777583505559853897899400798317338255134276546757940223483278476530297303307793725221069474921994438495353396602055352764062805640644755413883271290353940981460158402456601761372294336217 333216885361095611538753417399548269217083559594580971179016313735836768668411360397459488160148886398999907859811175070348249191263212684552663201281379288611935565946960407454308883205555407114306969791837400015974476976218 3811118042380526975367249571741524242290445848138692025102865364632428358231112609807832154400200258364783093002765389406691543302115318744631399062052373973855459694057555806663953340151488403692590991602999835294364206528219 43592873893575132296344444684126226953442324822601277266210075620872224290993255684249471400545298136372499903376547874077893428121458170692701561373394421407818085839803995471214611972727915927466923520675121086617912141824220 498673121027212314408492593486614472712210002243020622589836060346366806595679821269112736085529138652829873352270481221936886628863198136134274666224813263480466646764305029434720502275654901210749677632314249774769814046528221 5704970968022741921048315560093625413028267839182108420230452285200417086986667532698239177188961642984674738268976775481605001262170592865055443939635867997197822977538378618890366647176253345102729796673067063540943150013408222 65272102750898308815779034254964524301870526371199310791301277480221407509079920218405594864372988213897017772106455318341892389703332360139029452175728847299244614656398712410067210872960536461271075629311296489828353888577536223 746858152800645364684533444058302851140237483382969899168302205174463183718339164220581914772361908209216078356647728147049591938090109085861132228452668374312620717455600829756907930842749012867100383689832967866832865121315072224 8546428844858863691778813661107756533097182510925164813473335657106195073536772843790628010684969829663901776249978915258439125211167810084439429515198355903945857160078719376112144637043420486478310053534849645118424863752060032225 97806326689046684456933928721325082004665138359036426845556252189085907764798821260802985507076426187278481707872646480282609357003536496075751610471261843224223496149208567696102785654543134188549823125548167223860313385373180296226 1119398219639320148617617804461504206728626466670130609584519207953220759842249646120731472066748176639527324977758327499473809271858450912355912459435891479369456458345714276859616114236420601095512256992538079676515406872884124896227 12812602699892717074031191431428528022847561478875768561938301023297089409089572187924626414493435360584564270184528729760389761751774061158420422608109686525677545709961581117072675675220070929054462068757245906811629870074345429696228 146664458675053721387942086710261650684540599251513146652008117049858778475075365883706473240383328932970583528318684503120441461339365493610605025815641310391491136227719101416331545843092677776892928099504035885677274729456248926432229 1678985248355473170300888168534722694085107389243679888884305409575424745088297267682026680980419986033951276291479589266829329538608599167467571116626214180797230207886476323845321870412146582389838236267869759118005565993087586082544230 19222198160965892342430078682791005901276623592441869444102269581504598766541451808366549716996772050813827364573374687374339742326552321233219286829623406460429421868986159451556675360185430894598514587335955724575744956325013654180224231 220086344264175883696295827996620611981751078536005317687000563434870388957008700179831563480041026832075756687394084074280695645765165723661483216890974205463010230953133371649588512838350464489299016083847153813777298779950146729878784232 2520093928723278496693057555690141312584990271515753160521025046793163778490587432805846674713518844305974163450799373671169664409119385336821311046667908708396223303902564994465329677676154464904593906268027923929553201381325604942912233 28858493509307094709614614354056726898218349307764388538627424034155161030766381215465800122553639088352706926374592021249093393893780490635019648098318400080791484789238115173289084024010578942106172590153655142139897529065672072460675440234 330494012488774441063453923670001207299518324982527710413973873872911711554050731209156778682590583245322093043732682386307193711437142541791572895983527234737463413714415457774552186058719290465956153758925084081543086358219403985264498624235 3785177645443519992313315139524343671921917653501586866888257931043061165367614995621267655853071755687742851009100863603761174298890665340026333310651643356544763880400379396576622720079157609967499769335155159198329766733196370482962519808236 43355219642438044524241381689480937951478832601081877797255513284998412569999325304088325999182734366064880572197715701556767174135473519815858166801655964131792990371960513951362543126884272587375680050777565002218458850467587670329727767616237 496625133135992605852847059468545214259089952030069673462264586099066972387560481566743804589465299245267414755517036587996783651230161743100867049361846116120512949834008339154079092843461744301481786529138702753740041971015880251631234674144238 5689156848664868911404654514806335354452212151067419012363501254116002879199880040184462221167567242330297837672114529430124527439442744692419801820747719906842671855634068774324533915787065371639394442595299918402560126158880637905089932912128239 65177659665471620712198989969721308227409156541712278231493588013957259735164295889010400408278451827382293394407285190898127755924294954495711800850749826563085231099736184513467113806061324229488380447137716720492155257909211283715003605352192240 746759911176418370361728904213807707215400461060232377154152286564553161316962366259902172928809196465473322829382480502493012432356726405702585902147842184508666906298495814455122033982898034600987894793690895390700309626903735155522409026165888241 8556464373592149071818439719868693124804036022682308022166777793039201847242189944605420692599485281721144760724835122328374278576879462481147706457101918707133300768355910961478730560396700406402902683124977657521769221164383561473826915374742544242 98047959103928835783908490391426319937520541861696594641634211451983733686723614938502287791869560023644204841640063789621305625764090877024911007484849587567838703825680207036776317192600829099560380619878749783905702131937345407183595989327065792243 1123604258362282862399777183676509341634880430668247496281118425071212230185266315475578992140295950675489924439443925014328061540798784758436118029361818366378156854029895978698573348042624667736735377052659813051513788522469631964016717088846086784244 12877114297647828007231686598138139337680584069709356160447840618823827573059609300360336328134974052668920750284836278289611888798038333972018032401156894336382262570279736177795158751532733951508956313445717848256243721236160147574477244637333562816245 147588946404679556767495350870418508584035743415028952537133493857581391472525127944709482362662296792004159548513840099979424647666839409147989136900915982560264750538236856932193394797691807273253824902743982748642400841650118721274610138921807291744246 1691682970442320278995163212698640686732175636685989361436005229097097585315822050203504923500909876284884383704344526824856650250215121144411975496654711312790543857863044405543347855341879779022318486853670323568440233327305960178211638417961555391744247 19391604442250058951686807602054012269742637034361421829991236845864933014030244717606541172864000213031297244043375648512171253721437815081786220834887752007592491793698962919679614773807944335107198113352724540291118311750598464023817861031600390166528248 22229919611376524589446008036927417101507311878678500786682368589115035013068952512964066463075218403048108492810985819267仍是249 2548538431131339502359092236232208762386617628971319370555870514078642173690281564050989069825730950860539926158951065731054813555854053829134625787735298216484142267933071501318137865527032976502924992021177807529991748701294080736553041489130196189344288250 29219541363662446096224594434894015715714035141951811146248720395707809610580918820885071565468933114007750235529297134211474696889377676445198814043471983676565375120356042160833731054295403438224363231565164278123680371947345544132495668893854419467423360251 335030453656178109104184720041066824105814634073408792520272448878053828638982447530646387289462103603455327794803579060603970823015435769296755486659909366205865419125871689152108895337321090125683549427186860461556853810887635844612384122038334320348447744252 3841701621651628406064555229035341663068135020805308039444892328401539437735259793170166690761498071130881655313986802666992797195249706704043653147591962795505264730041483931253052479643140621562816630793122595893090361481812815235695579800458793982942524288253 440545943312584306280466420547114946354309866841923205168669266374901201753435552428196401307212715924771576438835087845839279723875734816201405092450031693941975216792232973941476660737101035518534210190096308432002042076075100757015209948546781089173824254 505227276813231535144363201640890691422032826939308281985873022929822648271143672514890031913677725946754996520309623508696763799986855960112037831221951389301045808097711870054869813196031499921319881896986717726523877684539596093317864143801409937013782370304255 5794422532079438289998873438707190431239840192350296205670998755791016004892265400228012687622333631854018460363101938000206338912839975949736535716704101936590548999365961937480229960997510302032939320766235456969728888966982883671712477199659605474978033962496256 66460117250111739218266444447308573181934297592522544230885998737689215814175156123071214316647592015661873488506334066336536957504902222124469491067971589942103146062920981486107650703484961723139924732786990026315604618547137777797577630361803670829783573357312257 762323664463509403744501262601831620493085040996032554378606702735503838500509374157006632680828876411708356621423552867227749926664208645398195731402352626798885873093602197152736867642347463302655473297651527364674326085621948407774570812438994710667737874297274258 8744698576336653652652002967831243919680861569850722785871690336438964564431315248084235489482917554419546841918454215202182324804693237150487876578412040944794414141696728412877150584807295492590770477679021466920217949118431147108563614114755448841976391698635544259 100317620313484256036391743657660299180807499486458766999104347827924604635273821959596012495715993256432523971317882114118850093119254484286241907812614939938702912175692165464578461592867432718131697734969751145886768188353380214820570978937926293951936950684040240260 1150896650404587761948488051208228963917685509475018017171647904708241461099522354797567753499784571644623259350816771641140037613544466554396682776956004154089577072213910818615654886580367424277251917843969825109608438936236523482102291458442521405995583829356261848261 13204499766050774490224838527932775356431067524392279547969888270252134889632259229844087377096415830488507228614462769007589753156335696140343007802938107645213263220767667362313839844687013833245807530906042718125821963205407695720235565765151464826852714322556979308262 151507419190899091965506640579172743393210182628567364594410561210324783970792332091095519487747908744992468094612378249338894464790356933429390801649784151225354929537553495193943954860990654322709182745423317329379559072352061292927410504875489415138062439242975127904263 1738489081415291782220241503625994798579026145448800561302406463996568102341416635724782321123215727917035038610879048777179595906918737819661369699610413376429332608032058730924912994069967364868655147311406346939230086677473128221877234402845432120212719734081104252352264 19949681038785513093965542250258647305016993987384502220338599406181516312861197371426338843879267146199825436940252442131819513134663022720185890520157388739285762384182089091336883142149556116950495328999669796885349341431515105528565074246247324952060933631418455544912265 228942105088502177813790799330354219289413494582729620007643147804548423400345438688466778149822665766931421774287030822901624520026231135634098888436559478126131027437313193733614321801064516632239822921710482575328387668311131967739194934029206936538433916117975809963932266 2627489081205923228317143836746029143460025813173780240187981583616008121916777416387459509171414763235545649601622945925357277737128850549905617395351809850620244156936438676213636316974505774070469361070742912966500905251731577549307246459343651525916166437677806175551600267 30156539879796840086440540893193297155653398327196168855075736633091897836925145316044575107228466374123457024723588065407728587381538835984016431715838011625492782546575477412172881038942818021938519890716921619932245650070340706161487911331315567757087496098946622960820032268 346136383592874886261196208422666669960950880093060927446775350714568717268654751254441687235273179372081789611786390940768515041080372912285218902091249170200571218424871440254132741943148147829479317830463627551237296594656045574789875619652449846545629497715415984015358992269 3973177427539755413222917638514133023303380078420002896763230059556028583892088639864782772008963046144872616338129747650022648259338788603528808695725530904980700963801163106651313627854414769092070476337379921967307300380341327915076327546519482429626147703162773162111346744270 456093042740372684738907862206169181547945174939557044372061975050186721235841621414009497843058887114799008128398511627000704817686187624669380612194405421337250095806052786287460382488541206602062521302899215594999475837488388388840249952262143149720633866601733303118651008128271 523592640006669446915943374368303595422092322574994493098140529066575863574572886512107711102600142499580851288027827526658683409611209915269605043279897327954450181960748902592151594043547363379891489741468732568438566737863043848736719379544983979060043237226915065715252862144272 6011156507234661138623277737781781839158237117423185166267053664910881471919084274771972495344326970941045420947190021894623898636184457872349298839518526741613255701499542044965992620189381430205520088722982529485699671668082001661616788615424208387509864298763177002430842384416273 69015521747453573226504610609105072898583403615662244229261658955777795421446670202920541202209265163133695932943007598470709580443549774369584231482781510139835735300141030125761904184666184622766942430326948171882858095532997387291165320109393296202879902926234430665809323936540274 792427568957428712685673318167624484597266407872573058460532238445156940243957659235620690357220246237125000681288307151936858129435932340453043886553262897238496091975058028168110772364209820721890900506428815738497243751881079759336534276553836163812306309616410509274308103873104275 9099054435195996398508009446561699135063966224223610588468882534781950080665400718201463856323958144538197752841593382064709664476296765177249721729513784131781629724681746726231819640243843773847190696186194875227648179952630206928346355914911314788209390408333544004857771355022304276 104485653347440371791441961181482380179623540210513003121065725879697874444000980371121473510959621030351277984358042878837652103197512103410651605711803387444164272714385845752958689614712454270181049756119319356540880541127757884843796770966866654249394748091991818511152903661796880277 1199887706273206159204485952547418175264199742408963397676449751049675482322064393837235608107519573285171328648107660133310204098652615161172158062258694073205364119208078415258022145989017003702943118476291363666842967647698412442912081535651354594044518135665437216654958273584853928278 13779958727340856228158814121346572941030055136109628920692065960924948448709986837456251626626010349074547239711521823306761059931371298409234026791751199054727283609998597247525717819354719701818131753365067231669175356195967543946012833055947608649840369120563410274352927070757593024279 158262650391639882712796023403709408667376863002268004217546913360069888129216356596649923588223265084436789797632605293764094301257131890885951451452412747712414105340431700779583303334690977794331762143447710957953305741227524616992462681803055681313957362493323644554747474955240422144280 1817740949501080753541186794877072085303696714777100711866333960395401172260712439190384825601292552861252355545935586049127511812505291736585997629201220720005263592953807378941428310900793665582533826846829364049961165135439896643970760169736974979508349552699289694008653798563684604768281 20878938847038274141216185952887311217828380453871610132350568200587933745359456262132756044983884092359198214025666482468602885888312689810087180678787523243429870028490282755999234617574684460139330457951913308366952963343666025850985567847191512318315097902072431477871518560168803172440282 239832241328516859605145731330268066713270956301873212701950399962655393327311007987781093052665106902425750957646071082398072692807157933836789957544845393401955901509457375107643537897747189216338256516511800332803281364345811685171549843726723946185671535733391024683915679431666981595360283 2755048585128620976417431105580682648394661034707259078602937864846005658048681325000826985036525408641812637174225727434056915835911519564455522843538565402146173401570056015399513323116583764263177926409861712653896917256414634809766839317737683634825715325270655357066894753631836633887232284 31649973527445324065199934285377199078801882943113524059515958893347877367734005362567217165909064332045176455414019730571800296419122946250418174162319143326794706745598284332756314333706367633903429541580318722859476319024829984657878070607545402581849321869296206414632222251748535459900320285 363613229723260879310851192125059208284366129263505022782010365993894431591975115420190363719888297659467316693336427568280327349356913438035227779770810796992513635921534969335770360333707259964713350544645675968073987699084376446827513492786859545353947930834780020428741426738817383965144816286 417761180681774704319440561400538200616891052206139353295937373715159857347445310991996972658459259417179875351140342170379366762609689659123374821904373777928630687545752515705476784622878681784044332887140038261870164262149441943851876197884156594642464064399190841012798582974159878442935177216287 47999687971095938685660982645496573001160902321447935130384487918167372109032148662133315548920068965453908262672288818071048256914875187319968666116270517476722556503392860141930461477916691234348578430047104134941025750007833789821588655757441552260849207953873996806670073680208374798606223488288 551531752984658226142544383081114303584216964863086825504480143540809924845848389918831994609347075450446999665340758183150812352142021654228120120454396076492915742371388573281381428668889854971037997704578199837575777817010228013412516164146162796655266060177383357121705563446797073797894457920289 6337591625426387499305006259320767963958883551800758733606713371966088375448756694303603458182991794684068250584960062297436880949417003572435816782057684253201280016545489895351545853331851326458207983367062754935357704737768007724844112493587148796378061611925301347652138433003707632088532100668290 72828179847775259014508635322906242688386728466330690476564600836771541451311305216093677754231195628921632355792051780227223663584364904328322351779870419377288240068688663239383574426741400443584390330959269187040455401149469938059465222769179353176767882846680751182506353528035701907061016526992291 8369432050513583299410065982186137203655529647914420719889611720543505389061692021463969864191406290533497409526555477476728406946402048320908014933708746147281371647043966046484108827168674176693320949428891645803770134873708267350559010653635386810496563404359571151770847223913310054269207671576480292 9618640660146793270911440514079823281926999342992779334474984361435928891734472963041756847220847308170469234998187123030158571471396001293156745029276432575069038844252199736042820048624126633946883543227473547410339742412776765118049703300145164920391028730138409499796936326870723196754178485351312293 110548396919166793678245658447861003223568644432276575469124324390375526502085297963452929516294579385110489025057716715942565112738035399827307440036974388034213546218767467443467758863003247436634356481352167500253277121784373288877817975703770170365611599946883273836688610538290544883990830709129992294 1270609479552116497499275614999094088345992721788343260845449029495125474887017720198012688756872158356334473473700273567273688516678601799826753070266841395561308748883273871211714958371563798088658363371691165305949735970451536227914398902483754797181279347239036355569480857319673726968573887196994880295 14604694757628237982259117163885571595896817972474391723083608727380376041524508039820439947889018709650788114139613786681129921377940449131569716070221846543358187720741304762625811515933281398656133601061371357893186157064464130705133809583178977063868943709491918207932504498069821721718251445242249088296 167877885007419981081778091784441255123133492116234713098508875346078173955408199563858004642391216309666442207054002416969629603618727434412144214659649662992791094254248706065627217231947841384464839154840623094574284376319501933938000930247237649979321486198848061868765066434070548807070664799384761312297 1929811838289360276784521524739890088594410050426337390342561064617765562746111356193386722635164117231526465784318081436583127191936254520926738268862848181441860458157617936659413997716305754295725193427672073521907667871995079360101009536829750324736375936311215387322306220771515120386855468660188909448298 22184864388259073445726807827669781257231533823736133433365010843224628404920345424684858753683202714158180140050642638736349127301851318829940119873801046672662253456478137431538247315740100872917551307521024282224738844073234415442761436499188272768019461777016563563154842203282112693689179110957492827936299 255046160138219385295380796792528398068814129208034302856717861263848636616673342554625791405961394486384530683727126769461641832349631622071969276615058458477306601075164246964628978961075713655661880319021584531647428736902720091254143192012082593387294794750394474089349077948834007177246986191653817524864300 2932249120914693562814382453087519369269755423635699968462785150370472992590748444462739683827617043398869803771313966981612103042878784667974227481086096244898942606733345750535817180728401062355223765709226334441280411054925466239608049470716385258175340714796341196419121067090118156655706977884136042171616301 33713424666558537651080018041608632752196112554490812307243109744271584131376703661925271997187292362239679710174671317897884800662700259166057594379816190264905006878732379730098083851768913494838739580226583024550667058731232510962040630909721468241900246533600987456839818526947259229162947383364028341963920302 387636511467109350268599904157665156350159756569179108259584813176388820772768763721081760191739714408019889906428040589838353794817741245630349434829345004600921913577696751685260532648995724830590606691132703083291915044184645560310386020482709240995093897177539676277793918316188845727406039476393456070748416303 4457241342791808369283735727746145264041808529500180204640488553680133442563595642055775681563887103330596794389785683942659592862465376916536682869030686374196434018101197734350426296867379043666794599391811319626442583043792803710014429771352021892208949581282975991169600560045103308796835821662846357436588160304 51253928965327446200670597952176260914374075838640121220606226024058234725452747320942185747667385871207531709576727730904523706473382600539187137616553830118440962653845799655113768304224157915851461879032474816886615043911369737155554922810055578613500278161119188841309621022671792824418839685797541924791083968305 589396545287273819502763526844906423739042864283354629546912472329367342183691739405327906101416678212029306584814607888356616225613368564613421670110960272705010626891810534150326412169417761361723538361176455886250944819052893632613015911986638090636382518107178827550189358679332841264015624504013232651116694936306 6778089405998687064512309404650498777807300876062456009851164339134318646836986701770436232684060906583778039614415072167293523625846072345393017585644806666410007079000331947068506736128742516665581529426402434006510677627896797172443532450259782817566790053771591546497548224845220681922567707167045274531132900384307 77951801873321545804619476758703118243000824218348270334494342190239058439866884519801002861159668313072037694541296199032666357127429893698546378451351127276339552849473368643187494545434119911234215093334165373486153325611136733867340747812849434836548454198837381248290953587291039832152285649479403772771925390784308 896528412526644075407777414240100973358294053848708747086366796965930929335608313345928595926963668794029110117246345267940357556000931409183901163675298459200497255978014039214073386415658718616867250231629255820168284636100615736049430856942341122300629367725235355045815220404984946285298607485770466263321248309 10311476764053421078146620072221987255799672966851278553427017810972302026373781881818619491305135767733631620223890211007936548375410014739957431269723767343725367509183986961246826588461639054346787746583635782626328164019621685176110805671584496480278083471643096122365327800140060059503588939417675959719334589147664310 118603216146571865642517913557208039349335340778752228881977197411555325174405564309790182609860003988661385314037895989682097839756382067524474045623746315271855721816981490038518098944981294382895146001185055984897426259139615575551078503501145195443794464256451281754012627736891552938766390488434762802993112891679616311 1364239852442307519125641158673786311137235126576050827253981271984850789369547910168180281119482157059150228273774418645185744225283807565753109405265899142535836962441879792138786318188641469314070413100265502602680336642095649452385471278982450061525639868297606691062329529083325456093167534109327086214090433914279936312 15692912251640646433569551383282348361203942190616721731392807661903948766447024542665256285312824151975142751178090398223191747598741117121292336086829533465095165672054017784298609373800705809940710735458292243356434798860045744450198020053165533868504423734740827617053153271665211845257663563365268982982834830036554688313 180523934438082622496092497774508084173008918749633763823702461036301552714133675337128303299905682613032669373573062137299011327818077026763432251569014981169000368728697986905848241104706825688640591153937471132810650890838906367152603907107606187248389714011208428508987759210891789750749240604963634141688344960141160624314 2076750607726784767800847160034492967434471542753181845195886634242342752935785872785997100010061835042802579988134577221567310337228107759938951417593477228500754620386147304347393782975838769210191318652666852340927845958667075090999572551157287665750005689771973192651813450353406895388759988133166184864848298805992132544315 23891977558499785685687803390213497053856644141375355721174412283555170901888313386169999741022309345750240940822538543060325597281941769144860828833164838877500302851402950863950937421090154046351227261474662420262624589423817332437633897888267356683261337324345083414437993660704602477792682223619870872177154038464790647296316 274876701571405486074226510752813293859378175843425919730026239632144770374223436950247089054659192906370511026314620593967784995745331292196952606221996110499522332202434552611741258864004635537201020911890657643666228655917652407823201564540181053619725800680912497563222248417413531895125070895046044508065448939962520250176317 3162581528774624410758688078219351785284791410488134743988028278999561385475512484004230874459820248940727009467688869602318649007839964019390394735030805538772325545365151840286088646713181969120956767337938928855826429726418313770360972863203229997783890177316632606960188381834786012399668154158545509796991416233902378601184318 36388435439175778262529794564165886662445980715209918883201551985423584485296509468769854823383104079381089336598339383274464879174590221789815841537497080737072673914796677334667816883138141089856000760837647318585604371514109994565029212225375884162087045401644521715423880414169426523770450260977376575515458349103347946970112319 418699823337513119012498935795183583231334427789608799905874563186054611137536950526486839025569586594679213386480251519397111357959459143960517548052302731105844740984073073047768952486204758340363559160903758808859604974377242589335068482506405368953052688797250653510066390209223143381744725385660116335330596673161272234288384320 4817922425981293068212779433899303066520102741456181079483439584131873065218996997696689554770536004488694131664851616316262150866040155286736213162992277049354790100170469726203749109110976444731599476939746034116349557408193624533860943065537720525033464330742758126429412879843419940705023410535759971868879831846698197215383680321 55441420549424486617287893699703922520378592687761504038499004666180984807521142839404369180183830646295014770044723243883437587060032252614341051198220610527445282612277989395122748727580936970737909508480131051793085548840624485444203098497043393752658282126638935502792953145879391285227668746242291532263920248175512788209579724322 638008269698836291270247399408833944608857813913510756275083968106638959862519084815335646153506302076363366539728582735759532490840930486698564467662501018093029250134381801347459441566075534250169018213875877759114224890341967718338680452526194202654428856536718245080994248994952912294518659088939591673952245752120203537220403152323 7342358248106974555246677230867371326958982488347104420876403220386657308787123902203338657315661450698858819697073175100210325004708420740065946457012537997586417959380170178552306313054960421669038308391766570171891380664853467053866991279634577941599700814100333289056470886794892142688170178175014711165497414596915887456943059104324 845010355163149846163282703030459720961439656546590260286627990247500548182876882586557521002839785121068090873471491023359都325 972535768290232145512404254156154950240338502472796560112790440335457496785744320555062524205703337242664767967142159896171138925365247529677098589709780216239776112850190722690095714849857992803436735142112688072151522914233632423038560799635938646672425295356608904270108985299031431190943755225423386473473468593670798714895815347496326 11193505619133909585910759795309382771717133663933122296577729181379749648692471599063885024903630973072824462495414251396092510893208230470546066203216134943357603084673899900137073177065072816337737770106087463691981275328926348422085857845001534961826182720241011825886534394855253116039412253746204142242919727039676238381994963650368327 128837872043158848634817211992208580978421936641711060055662172560121754845756323394217272057306391489055232030380866804275499293901971392500925209746629334691251406684092162780574420309406945114954110396196367232084867433926991563814260646286205654228088117236519286006881265454081867618089025087052926146825559465838907420359576323073664328 1482988368100365577723241548997990028291883672401453256042132457274034710514493239608072534534603472512462746010785003884502519708997635519169698562367522182040153204632484158361332388974528724264906860674906330539232353241907392194695456785757835091647994192257300084026744103075237663531032378388912126269360308775420764206907542401169248329 170705936313394325161546139964303603808954180457657840673150253304457081633757901306950153733597801798351922408684008194547400500076160881054616997925528933943373588861818995491865756602302302702177178472493997978493406663355080428051485036679343455357572817483951977217784990120893677853085467629503418771162915112360083925095959458981787464330 196506119815184712295883000011008205117587191980592839813174039357176560646109501623839548859166669190807953513885662061057020402577996112630809692792740413437843374959210910147471964119946798353786549546780620017648106340667104373797404605402552174845946947422042414966545127279842989613186339668980457080998849455893382814863617940658289696331 2262142780982182240557314639259574066468427016289239005986764170009349786370399220321162687129306776835077073864418372500050791068369340041012959757281877043879523140711805801396775248041996843036109251015983336578787040525655629924947128778173353386284348244210864946689181431545821280734982137772382453329575126968355350453139042309201194880332 26042359112182063915924919848704335372050898925367277165559096258538295144219717245986391490990738494243348322495654603477140674271784081163943215909740250003812421622836356229073602070827134702137326517556279591066861994981875270690014809533688345405601724346607919703870971245342570123165585116637177424732833782737440361522563615348047690976333 29981745450290563775919151134814110230342572910659059856388435506454342257101418092241240841573320167452206697236064031665764644386296574931449060364820995439697074557838399012786952002015012617984916492990509678296109059509490580910609085379356941558507541185975158016292650161642579367763795876793593618685640455741823096532643759091953295976033434518322615962433456101887795742845578132411662062603738421470182582233043495705843501145899122083878683709043279868714350894845480348112276878790133694413465512962995975674135697688248988949300943769071355761566663784608143074710619046947922301922111064196811359128420346747118126399529820060027715972815925891198590817384053933300970950919667203353974280713736132828955187356861741379433361853490839490546859708154748357360358937134162207009712955379503987748917992030936147426385956319169519211809327772342053008897895601903400553635914541277941411988961585881339932249073606953329238685917968799156524229971328344842166983675604653949330424130581633942190101603860722394418977665505130812172833645759722714500537633249731159906582222444143824909513053694872142036421536010596987205184587349127537575521914206261294794219001764337074840582816568654236890254790618666574009139010112476912112985458480448362933040295265551612922847821685614139118211432442692824622939468414442561905256461978797569522077932737428455245685676393535470781823389638433752689505585930622363901683042047637689695198078145420666601703153262114585528092225762748593980351010514785427325058187148381503981785328415184441991643891903434351695093942492914818103246106410423451870327593860084762717306815064276879983699819628446629216795315462861544984692186262223225077968041224008816808862438662551804854839679475157502170643386067093149702769622181226040304165103065358178871230479096880414477552540349444100419051267996469079427801002437211694398117862316753558657428370851149939723843967887744806952561499411267378804590301039512408455607293376169029507748437868846890523156540765193876599319147642591091606731548488129395275304472404857494817221728987340138166802434730416033969863913478543246217917461310571561905901180614532347565715339712077882744452928535389635028642002954929577395731669615586056260449427853431253604777589644270572660732879240368963305621016582605422786635543000024075277403372412328295634524734030897999512586612178627759074916798496415737256672792954996844942485456835144381472575966387432261720135046434080452727185714377291851443019557937809695193221205094206621506633794561380454496139221854708729227624380175317168741113943848217184517705474445041027343421240970590020240757595909648932070805031699335682242729268986238263368333560887344042194825516793573577525391822357306119757789954414978027160702650632135306377343209029288305704219779529313513721283419264972924747720491273022040331920117417753341138457339422596149380969462752167320077765312753004130125664356569243729567670085808967617152885957177315175921299465997502844441734954001316845535870660658807412262315854885973788870660068151816911646468641525223691752598736748191182500745343445111967895844583207687781612092735273346778827987357116707672034210669964411012611325006964226918210469269320067559922730630266466831554671622533634387685656234446231990255699462495065180232703043320646756131491902453327232616069548958878512285654822411980232615018711074947330676486221914953729568608504827021340479036902020612186240089007350969052145731551486352590814259556911764209463044510631897460693559622856986883431228845064354619413923388797988378659361742650175465188659851242366138958072700114350889327144974777808990751309146776144315964051782856804720628091492644758026207183493411006700898475664067995111576415343276765188247481772572576020623021528015518984327676917122800632211505173356099719631718525231806193295094423366034167623531522738694556285986375634073634414152935946703374572729964477760980060942069341358753606783941545002017761889380307659286673362266370932501309366085314206404264166777454931798501668334203338570063867789987683505330598392781299456142073644034982393275053545641193794781535899040034904022257620236171485993095212728773379653003303903807341265161799699112174300287226781629977170553270136992034516300882518295380869697243840938382548533716809657097595735497110725600512394411935468443713046978750702749777039577612279057002257003133536840995714860306236375049739372018001683745588384157591150382825996863445815006016083789871662155988892773674843714091892441802554552863083600200890669702102570720794359680990055399833384623818787547167531622608301647523461877546798255246768220977328066645136664390091100858255290365729036838064378785349064552045941065734379031799763469985736557257789043014533445791109184583406579054594337853383866757029940005988005622691360181365792583798102933016682278946439906715892204225029444904412750272363582897256836735337955480212206101423863644811401032434318077767771869611913142611234721626458890074534369488944900259192880230071019397212405641232831501712604116918906090667641401515862857372391252493846801096067577104723691702707418927680070540115123004619477025494235341041387185318004129944895618955225826847640461717207504994902581198175760481756185157867363369000658352054052073436805171524596984262781167650775716570326892842809250310553634824911217939496005817423798331147432733524018760770739022878198475554820601683031407876351135740771235710139124194160296660402722456796096099718783284549730908660480481540256256260644490503288138355948196118218454788733160613871970779213935151043107442778620767846942117338041549900858890846721214012384171465873103399754888210853444648355786528909437405093851523492869586542465476411998871963457825681036593115078308483178164711965058407146033326867356073640975821992007386405263227796547634437422147007619446257023419972074742340009314456694892244561801765248393428411139392712086696191627983762429949858016500779350551534712131054992685670764440386283085328759439419439391555187970572568427580260735050213715269788089456476835033056618559745778890974985268274869502637595782798712142790034200212506167841095277342462481532254883499738169765657433617065229126063524472094207376940980282832776561194453150757528395187029162429883145577621855637129513298615067067025224449716953042373055294111488104841226354924637736767219886395126029871958454563257347103718550289421480619380089399259083776035138081335967872517596124318674198097389423477138962427957797279837481921128566374405457540943668158175343292877972308832843337175717491213476805280343612050902616769505179645738718226413091991178429287640161582768585736364269919362654539952879515654962382346398174773107514522347937478602396919980628837304191688668796431664291913334449510107516484041571133223472643524387129881016016562922868629707789058955801315586784519326681810761929886322274570022382506225160020901956735520257527740084035009912011332452783706050258068200649709828726966388507985294825338165688515478739269423303426940732067663734182139218701759084862408402094942501823540173959827611123421544057887669539269868925272988295366817890699087553156903361150478681635350543264869242030867499375142413974014509073360317888337333178092240238268022850542281533652200690298732630638769111290883661139357026180944358854801427753607594444702868921441613155443765517047955323510719435423537287760233404872209847386730045085615904845562623374714993959049280432614291003746881831984562410484145075099868812627591730359855889502212905686780722435458231837481290029633414445538956423458399184554952244290781974467155876747469948038102023633204908848352782098461597690929764492762522533579075770790360522642751496040001258009699194976586960727047395987328684169666964928246804287416820324386924012999553535982074830435627897120432322895063815685062764315162007077511837902531829191102885830687049595047320604835567092197654903714755774972950155773890288435232111920479246599237095645388260568726172104779723047225785276664065416497559628207193719608478697268023403384979558444371619056567050157506831714464811639519003949789907445448147309302494066947565296493455642243680637725043663457373897049695418997295401855457983199462935877396042860775788139414499321684314174331100611904356773032551312232035368790017596152631699681948062484962264504244978720832456468671482065753749771528363844012294702866111704306175800378105499011254296469541786100466737114690543006727593562107579715102587791621102156666196326907994041401416665186456114875640784256419954180142135703984458927119466555850081888217335718061543562285910871839774501248867904404289123154208357890712827450721965326860215293548346945990031489874893869498920584026641831781865226728019522543928632929481846163060274644889292250782442663150720130148153927536034479553873649592127237646994273915870141383856254776829431035701515813952975026464698625194095931123329074386109681179895596552518375085446831958578592223992416361483390610176662263243291737539539467712104035810263410830497477943299836909581921604421336699642426362306381400071112641574590848940937870464129230028571073229553230412362062183249209621146553037427916492548814185407635604237175474570305495530395843486061490402937629713692464032098094663798384234846285968911344864036378854512190285575221987253387817701271442298140141314964234053950491571257806770666348158394194700835911826594965996658062971603778085968573362037073654307246648781361344903702757880675824649973644232614931417578507858481480137357341741202777612267052623007437863539489867747345683841373310525556866447359257419189126088186007266669762497293949635758294542588430146743760228524339648985226142452073982363592384838540174320794154455298956630131842603658065839132903380225277443601362829917851134156993214082132018290590017220389847991536698147420579621308742430944809386059873851465581570588120969819246626368629664308858736550737075438828826984827829845588638827788856341975142995662859963888164350295573225864422992715866010429797449749078333101349037052650280927844719838914230404850133147526068134136187600014534420380037906653650762952816321478240036115704981993159588682911813655232412944964872289140625620276018361865931383134283355097482099652958667080198998864683616404318822411930760370171765155386776065703462895404000152880266784558701697712427818216081908660211362175889439281289276415273441361399141661045864113535029353812373881369237632827366808969600624320350722462833086743622909976859025095641290361427187245787236218098684044013524506368403804665322081744774155047812599594623359886538919982989696797753750498395545808440254598633300309491348933299646656934032839965621561839071516326618387252910264041066846574464893044054436932623038228594098679162376504586825535792807022618032462313537289606944189788661718281455070430574307356001482427077741131677191618712731562036037026489900086497923632085788410754801360274194294573310287992517242843846723355849878222136798477015780362753516263689668457339730156779160900437979353080764257976427796149162709967601838921016704222703546964821849737776404267521829640323535863662258464834721515187669875941769261966048837793879517802462493009950514098823037005594296825502406927000256504467139721851018683162437797058927714772198436424038486612165162328585859785111904941291382169283345417202062068034565116448403001119410634644641830815584182342884177475446874294215218256870343695101759808641326389189156097816792045720290251860633948415691778487158162114890171717545461978894746307405386337937678686394061916697814074791869959766331428684013156258478950691843810774502338941202903578372167221221735427729504036527704960846472289597874345719347307279003255525231304472353468329243244183420005961812975048052274507237064481940938732007577267666941401008900963038814087404333675720863291145251051717143937080924821819763210395123196154442707537374488388948689170776309525426973269462435679943445037358954780412893541234889454529618741373746814585143157467517608436809770871070030692604217902403663193165520386637803111086634648746118225575948161773796877507053334904243982443314644140472350964470670478595623529209666272375469795411590378225443570648186447461789616697356966413846084825207226302713074401600672281053404031396146732621837575837504666005572559854859274567286602467249315020815298367336952132385044794272773850106722831911690391821333187709101976710718140413798436736804313396281695520838683828227203869253463141984807315939499415179036334409495304822732564691645315282624088215685004330482321612778289883774522986133483080164839015549951492018291092852770078851921678507456443621423125630997164951225812049279222720217683303748790687496104036386367752928794416351603549119067652893450883228396558625839356481259563737085790732034908052545570841636842421823719885127759816744571580712790471800615586035665515826929241652312707608471864623978303261544843706085748503220240561557977235593960036763439586410024420169974580225678788854136481330556645732732755325059345996012175490607031994514327091365350478608322416947316493141129982103803101964160131196920227344180999769390374559685285123685982923696135279781377785280912149383750403694889823724572453771673416754869862963484452472976321411431837614031808607990578916687988651589383639995208647526664010496236473149802142927698059088994596082255701358195740633097158844651574320507534394296477357315276666100634125954526104233912959999613417260578040775723999033009875904164244872830678862724183319892449496247966348264596421022283723640417336888315875831040697650161637056365096337766989979867699419482937526862203243254316037556248066393209075286254484280272504288073076761270261591363680981587785370675345880134823287283040645154256857932636230609780933262261428471019993066455494476865828408769204827114480678596383398457108522753679666773556538357056484583166364825226678053613386814223225677085396404688962833043740044149532598248449587058725916014723716497412128362431867800862112596389363069249082348593775978976275610728181049415493762567972980427830200416582582943698047227250382773842412190369102202995233871881659671455506345423757136345758454765175934179545897195915879353322713053342903211930450858556971284043876949366722609263916587453122762869601429474458689401288383427908617721790929179986780480865449309425709145638861586816372749003101914416992843445158357017414650548146752622980028646417092400616461875468487121386531975486062153826862900438800709718358397668744757044633118067587834607295072795338200928042881317866577013766442367497978364476917795661648950589052689646742021600901605017967144654927564312691216608903137368026029139956564021222096858352578697993940272778231456132804980053061748471697674803843738634551581221594781212919673097437157327888268926421397055127560536777033662879838941433526658817440857082227100508780830347690058440059928396219740491244491161599792312618934624227368296422399999190875181077927086881540622607735780085844760200365678154847022387856112796512923290910945003518923649357266966157682001357717339068849647687010425425330339456268097663671789988572563603240003749954257276607773575097032858221759500503445852404392901051713863724947957281000454153701723175082485763018449644472676634748073889496687068682077260886985987388684408423865753735271537679270517435881853044970733668844020768236275836062807491373642232974515906856345399819516527956810650818506902892576213386797961065366667287874971747011735017736878539801915051181587991028771291583435520375114760059986899006880643578001467793921643006446352848624473123392253400021187534118001108766943475028467153927318217906841228184911627994663073655881896330340957042316814570092361082648488350763249047866532448113828380726259520395902459790359590009375944840813833203086030493385307444766269946492009797211526402288137934214394426490896700745850726304006428494811080867281812476680217950208376132307796286494477545706983131765438461481243136344807419728834430838890624866466277664259546662135218382935571919344593565345164643945337758594568206693320804907972566219839175792564399253480599397633070194380920259963709888663260376349195172148405233476482985363147291698471563006199249763648967918844412231614978722628050033640085457689207194186436233452402879334191826136693594498942809637715254318204850495425835146876107428816386433082016495602285095681962646023318067900718155294112922476767830045168524739727026150335097913187654377160876196953906890921673641496382529050672965186211862850538642186502545812167927009375644499659304803503303916928444065949679505924800455684613873348432058689002231042466812171227675830062423294326638682362437070654102380622814508979829284710112378175878517505549185259978366297708736023983588269209929713675202838463210553262117156015291257175313595577692757499081026218863487058355476634822403104839948877123635632888382973834609391742218357294782981829106461195314154671980507400714265350893700453937870382187512697921642434522369420463375065168797105475835550784341839109114717473524698671622671427612282760572673147573678191257249510784379202789448192618661232045081241145967610060506695128672084966243928010926657644035732653834078471394888797681261150764640423211148772364331653337735155425552521264579534597354503782641710305517450222851610761326179006042729903500271012047265150519532540741900114861734061569581673982501509252417586481432504021002387540062450875467472014494638006217249502996008159644372469962900035044074674892838023382471142212514134837371357138754442724743816565648312907753483881285502878146366148795994066608149573987910432647489392276652419211860052476059598792444041013774754278361580768170789565878849626258935996433906826193824709120260924062108140252691775145809275076465840086287028638239874384323933234223580797394194670784245060611811549359602847057995056217159974285086359158082311976464903751808381269617384473279488043431792096890479891595173446403748133032315355551526325510042002559477924342341926286742665219868999080198858691609492805739790641779565596564990487345911283136666899259993915753689813884608507408541308413550538281085456639618468474779838420841042302770864200346258311997079015959857407303079635599866584231035745960833035822795124717620732241385006524311677291299186905813184382310897866187018726377812248591466459923317732549193034994105791606339232021563807701965744003993105724715546497281248373864237612209761546687552596441131636843457434805067687102965075610587390491095781479475325491726070632627245797604659972718860461908017138768172851494567784890616697138077872809073884621359457641120984632911391009261738627881427587741847817679671064988626138737291066278915481638335850885945017225228202196524662228609411637217832928640468891391326947374638099715042507923030274173795873910418008120787913252162556248166902855890578283305554352877677193483918647130865809419041064036300804614903761339426309648602258628083845698328852827015984642127230073821256274163231514263423620955819009548913332587325733692781884691328950145211291838193549079390807330895619234263134700032384413422663381242015443344223743760001775961224066995439894490193709862323032951582008189216545333586666795642185865899308319164393440209212110109531328962654100379686502511167868277699157051410464186008431335554180891547188147202803572933002996646228210596354891990878548133039454487944740657341182144349466609642451550690792673391445115654783579323724752258118468738283311080021091559069324217537792385476761131752403334494211671048467110099571259074249348319742610878907911388236076046515174147462057986791347300235714555184173961933143487129629373603321742644207303644137884659494247562503909586654532609911100286581371677086283043911295041900728824321147295916304014328202092774210139275165327936753900097630391283424701601546822465763589421797835503374515990206361778455158422806699894390102095792438654981870928837117244377393431196280353424850700638565714464036172675801255855700446151114330195376427185934140271587418658510397429506206307052203317615898368412964937643574733803627780930270052278825135423174606554198946869950226456391016501425297508643806198321438564623416090323189408933031242333962177609772330457387756823304801066748722664734098129836235279533202382682522099109487774050501327472387634089021116430649057299939066413778733522967591639469619147029875755586386694871287975317463755591722224606390258997865535213487046716224079665723592419413926470489551242620406674145738466001919580180179023903894020061490203031582323469570683058447135212019946963326361973073437487457836286209875824105086677128967553865072758946790928898508825779538365385798041687476507512358101703243030173364821728388731295564124396960036947258422893308878359984171912378752444505842627650069575471943112757658105649762584990840150179555597145701711952950649684001950668683261029344708006532982258931798961225390781610005929281335358407296466243649062598955830018995231784130111522707070827212344977689378297016151134449801168812123906809955533262529229782250441410267628630093951387141911173777467662770381013227307006438984342713384067291015881246940712720883732461613293597050530890143710394168704839655686960563669900969338736574214816246076199286033610835616020794168106544299765313657370066473188561670292543338100315614419162901294002826767983896551820935710388063815831136864865846057052700443667235262200320616997356043524866703772553595189964788099828615115224533331552740767137374116604590363622350256832215900943283909727787184457843131631346329808320849336421216596407453454618778012854019569498228777778826077102064910009832285109957032882103478359830031896230488521698348742874743604874316998109445413982955065574783978722825878464012115728727156219053896871848387578358978538338738282086535028033342319655174938088128644114168213863867547772666470799298776335228242441404031327964860326986559218371071534035563743251843911121998704694181978724257147591905484836669648619292806518199916585453133607679257191806152267248089489660020361757128224356924622600419346826237998842601291955785779735009126044338013901865615799292277451331684210359399338201022842411290394998951254844610371888122039950081713747240717462768911032450936642914709059033504012902058944494715086962315296228541866734408329500107891086361035386990495509934118439212941433712210891387075040861157538569971966893884447382389159036997352273583464558885677670817880311237360797850923652498430616929256591643555179820902885715941458720240693614406366005826811895477606010018857377056803141998650687656668658899770798023849688888457810093901577086868878454460070762539052550852617635596778062106326861511208735110244331879784205548775803439666668043576536119765148860468275523931492739795649216221781838019420009920188667806086257776695958827976385930576773184895727844412999285027438166597629194153289000884208778969791693860775381672587792334803660489167343535866984387273347185508421941030962978992263340267449763821057573448213631103290819570446290320124350644879174547992507156200003069104221314934299261601377167545272889515357765204488689983324978559184752151613201037276343922008394172185847623353982382963511802510584190123268875647857366943197050982012564863930856473789587354824880721660461384883728758593886583860619147748678258157697951605439316700663443428516973467850948932494241154450705686547934856927803416501035417528352753055125719792129425666202924027989771370475060088505041410935636136904662851189343082293573053119733625522078995997648776334134689031231892150764234954155881923951986197170115679607845968332892956194220092530449466310518179363573731542263898159807340234738149180072460500891984240062905542678010665296171089390787598821108961211979030549590446309313680043507058031373187525698945121419796898350058151565278595967055992088887795424170223059585678328523769911703891622052716697831401058143478738481244391226727661847089350918081272392876789655767952170170401278970872849327363962291177682792425421249944152830745384833960924448208580528790105503494221414774318458068488895393113565580264695105709955680452473010785671093467684769831936173325526810411081412809038416393164372333081176261541893762172537411923964539411204311211268100734938711362807239407655414923244116751803986084570884385244243795965339210997435184142131481906386347413940539103761072792869377114440988866025587637168761760397264305761197599760382765511495835336614506491517867917892926765802892036887026780003111123581355938291099588027796913665156214483645865684407462924715807564415545647044192634824196084783360792908005232744932097018334106615080972069493312770885771149156132608299699354557307817336988714784174834686594921719509261449057670569397102651805323427029686838888611894003382167551378813024550278711045630388498178252141283983049059359228745936875366822750175694731654481348621226318704165373403847557135769888467945441644143901184290283127110031402901006490808692454768773785688738474634016769940584431275446026513001416773950532950345954243088174322710727932544972888464522205470071864170348452364696974400335626000495893085653878834637372667873407559805217817840919247630206991126053640398815017874306942709308284398388236607080980963843993517519081052912453259792169373981634845573884626471777044289274140940840261510710265211225587012874893556146855517785702538093246834231086875401577352451028564640510704250309065633346921622965260026345484319525801587498849826385806718655083356530874285487538760738047293907563297688189001802138088732669408176939555251390320569350167291818676772748757583694720031256169232348315714412921732360629924604481840081792400405805866497119799608941260410518477863655558345215142013854332203190055739553772305537203852824447575555758572780042463490259958958471727639294237685912294135030788842999194552296374502881715921755764332589618071455538026501253037278324963418454593684712178740228989964447334104841720062406175016228284640762441363757374817685572137017959551853819442342749598714925432965814173137070136337738374511656657236946105640146817842941703612435552436054699939480556464389364030083493605632842847711193387440200207931600463285376924261058455722767481608965279363258686608288425145475683029792425008919761253338964132939383339390694626824536861414431838116879926674170454661434089822096595479913285749298432189936531918808832726802609228463510884117133034997278264381633208629626946562941367003537221503643376250360990380901079574441486051292040254015157164622911673609367798286052635202197290055968471169173772141107809481453814636659707392578181016528048254315417730489991452328510022802126239872974480481755653864738503468494399498638151770060140527136309994215181509363364685294667818011034452631364408207318843068823321787278570291755622585308634437358840414934786635120314045400050724580466248779559138329752773923988081998037068574709470309957539531373396804036232050971157922275220923552040597476780856865412779859112318255881071315062598738540695364309066771272958644440144203908565437319083858482948854907815379348958390000521381878332022247761491869397095426256061291603764159761474030636476004524662502858058467263886152031096281302210470810342481448600737281752946725122673369091409211607592662808246174869472741349134755235556355125181352944163834301465503921701067738694440471904720642515781412251036910402850587301609850361699902209206217880187656768193484716573083890177508651552918051500583560480923453388670041550373317345508152382401501950564508153769262937800426929126971104932212445853144225654428475654673681514147042850756226876735793140804638631117832288034667894427183031358519942887700645554117095904007460932773549420354644678150402789278804412193307203154713811532846790743719081640582964979334474403283103525910432362723445398234123039692997302865282575934014544562421278251650428637519074420382134703666928797485622455787687189237675104870148086382829013655301347650202111045918350262959343296717868244011403623064748976882911309372093934417186743856050252361749128748276462659223933573133958049307271344229118801642436699744087243318941771092156287571633025502674426903034529612730006471457079462900644069572892027786318322656648645393587323993021937151670810893088182295544327793729338040126099567434930977187395810375186826943556829767204054786246488218525597500447968793159273084949453994998236804322661238673227497236266206111331693491573182233933988023280393506778237934269503194662807799421572139531338947102449369284585426789021025992993104438971996077090697941519179714619611339499657930576795539207142096738199848076840711045932962472036771877312927492774361648369333718445372839250238133107230690095921712873944973057317027129621088597648573146351937466132989644362071935287666375686067871118918041509928938805622987516761573302505272916816590564449569309561940868784026142257974564684762209174200891795629568500266971896237104525015948995670363181968229101062076786216736788583205387470321561710502124896861974387459451778080975614078217313284081274595802166658709844471827006300014951546813006882676850840584297541517258409359308586534818900023982247175569586510271116007676228756174957885983496920955648219701631439956482921672523645650627304378746096206947188289754409563914171834333485426839990538579274747322567745433916974631783331968388967405755320671136048405348032286495381878984913358255737184876984123686453748603668492378249933147569686076961464942456068484091470799079792436664727134369666717127945696617926786347494815762503496667655378817481384851319772289559562290522288452119509453095247402517894690834822303555223742570862198049518069068286051324261002598151097952946834209273561058686297361443814456104153590828385877046942383738316400468586076340304322989215999996190067253213121697545363269543247703275073472191052251374380568263901791799688483459610998232882405093625164685924101697246600823395964839563408203071227128819138092417872280245686854656143426288139690084944436379122220947457153295221903750381417624217945184981093011166201205778301293580161034956589533691141552879908073001887730259886187653066373882148238805424668262154266662698556514015079265283584596933594264137585030801579277035313701135646864109593029324801639107703046839901682290135437520195096272833100460047141853647046816492089536411195860665499234026700510382135652143573518006974381417230817806123788187511650808624907524069904244637083286715046355641372296342614029755017917822243563427269055799725808209495510841921776666155429613808278763174607090442177364785774461601411019541815245718138075592891427282628849589999195819403455389456238917968120537723621111948594483242139299506756720527602652090778504243992943674076578223272852000487234257277791455672324122260269019724822995844864650010176594552306403187776504915224872475828807245849477200448841131591052524052773649346496342056957119850464120607788737074613136126620288922433951476995868999936633189296399671789849674001038776234706996526571195002152922202303277018787713229515142583015928082603571193467675403991337976529116575281463609855481453634481598531182775300736270911962950966573130771159711361212216488421566500519801621124132608456604018835351188999931239395025229101183126533346358418929043135591125905440874297027885640328471018890822232602838702835233635838954729107428712780627016212470812713071673548043093109246449451742631321127659975133119380639796504391201913079771179766426544513023781024511923935750145352818261212484158227357271168798445402894033094846966323873118795444512668205336105460539025552953167120399459567010351567574893287206062432414301035438873037903625275294135045278764871351015033521210444262997653475472096627320781869072038056012860550010153158244128825253963746455766223114029189999688006407452637757727880425155396052678445024127584219233021160788629952058087227606789648707247547612798664231543954507432072131707213482645885935609436109833666930625505019658685099056314465236521108684193988717588887059429745100529777572175040230249701501270042016035184644153474258345970552266089655659653811200047733028383395208309763597313412478514997058542760830837821248461968523364275942668722969899121874875368217808376503343497292495608977278963072170347551070624968012667295338210193606808174828536086893841985389393799190978323794166604487989555470488887723035356299997767343886296703201060242997748379692423327237284239048578257957446970984078921614516495828615474142741147963390269097442520855044164009747436871269866238229702562582033668360764692625681764159994534571474305677005509311253510695075494376224670393493105066082982611798385663825183217942694227092801555284629712789389292728681440744872023292862676566017391907344860764247096003513513949858085294151196539196828415368888227386790144792098596388208372589606586648036908072047142161059936223038956746823762732131590539058887194926147803963773342375290964375721903003264417462788226827620579644812589028830600800481935888585586689428891591126291045407841563413651263615819316265494028547676083390073919689326584259884307794200443301456212418219978054121146780939795263012174960565027252138484752788044364804206823814817411582336299787289908873718553296635884439110242702253475852847022710307280527343405400203285603430400666975957837863072454581276786706756918824986691288810146322279588702860198763722686644185341434545035633576683257473603730381937647514676580755528619521222508143488095666393842410239022983462903553049881179635588782525871102249697420944509086047770866569311934801255993910856430449181339766454049124670582063665939103870672532075790259688494178313984544567513700589122830949895832894037815000147986545944189647687525205886743875937104362558481987226084605908505439150006452763561398627962714433079416983196287420770636280644196165152097172340755789973951725546565580149994116744921399733045937274875033554800126571568617148949200817256212777326293891546789666105954140393507016084069054778931026211129867051993982066151804491784751109132904162412716414602646344351259050026163408595833214588851473858457293798271812033705205609780291320566076823473821952482851455655593514497153116195459977792213167206313632077550473439048132794747888685169694973510831126080880704420711606500369828467867218033951911733931723505347336085246659663736358462007715533836400437846766678955684550174124358129547946634491052566526541868832325922371526828593780897237624489555854116472872858495177816779999930993923972913964931622533892771139527884626125800032334673723797473365869650231041898040019087804914690345617717320877926452115685009926855552903753856292545452465635879586447670988484189003221097674632445184039655094084218213839192852306083154760370588713853379337708098559778266468023593817751341173078289802461106609208379015058975372602643151168553008595076713361544273584965580815958475364078694079935126948303789535066566408484386605008926980190970119093715245884396062764467692989727072092281994833156553509946998924472659677760212470205519170921342453131399997785399525380665656917552458566788983007132871241556430618773278778813820593563960981482342564229481184889975727344089768796626639714197541369129038419304600885314470961211422818995992867231223862528228859151496318567167235989171525943923546915382420441134671953320225198728466906587446409886112598884261128980666541522697254285293100792937897728502576582178398800822333559607206225700118538213429974706627206491843399642271631594774416664175213554541485481157763903077382778724587638409500798770244367416873773718461068697728906490496423109443284299242468515381173436305581780724756355110543204253722914327303089158199746837497563225649380809780535297112483879819711178105793229789503855731681648189218651385026837949068259019166821571944672421079485739072446921472738888029904423140089262843338666371224406705908606491562031284321866755957278632392516833222612655567097735752744082643692374938528941190883477729609732735580483872707238469383354547666580493545863587869159425792424126335572748489026111868151914274393581902424318805406064368017737808522896047940569381015794040074339717871438361310246396939592423227814925000611095546987573686441372468883359317114077338013476720975400989598708589313457714627532945904364615880271586740002346409400740167378162668555780053858022807419158470797044166096983173534434431212036988017458038095669319909909236667231976983598023485092909025136576571894960226962432020619162852140842514583849608127409157594818490692172254189328708264529789909530592430974627829718422007797756072583767262233566713962832671665512433314164120973146396121112945933745495718238105840650713077822372570584780657279922686972651583690258716654128678630999101859085563429340078897224815889644475371291773157306704880809489066664404873356193026864206052451981157211755792930968715143399337919735146006992119291029772538777354206295130259465339583388688426168356016432790379071191869723366838483627400437762560811670857858765527668958727183343441435320189437245453302599867616576531742663986690593815252906169201215465089213463643859933889973066472730148187603838241030188166784212504275024144437859859746513518563574337737951920946210281961850198546203542046638742976354193076847492091325618711165138912976250047295728019033979683423215093390573783827935109858896731755333030818295363537944818575936427194354678299436443345327715279278528182873662239710450227866918335827707233538850981001184011261438550297079903708801131109933879773504029245046178406635445648475104324322918540339654646888067783265455868095339695800318097968156204797350026395634738055798734760533146512252978468929279384642160585343283259875655058146206084465877131879639852174439228380724839573995890262132421041845926791709620905772047037844482475312076792788936209711745280428224373315003245039538819287042437087478044016603437939831028960634318576542497200022708206728199860614607604331793140250926093022836619402610806429898434897534587534401384718993771886644416855731241983971635578686742188828168118040619277214473178271664470300891155051512692884661514151592380124860009896775862738637736114687606266490745847651238979236135367949365847216115598621233971293020052552613561101700862873429339481958950075240726225729924292590342622844789830918526132929202055027372221587862857453037644267363330671860916756859788659615505356830727392753315257882253823649881152758217535574374569948424310351905755247140574082305095000229236430087688371342073704255486521762490809345447147463190916887880405611840936606800269656277711717770113253982814179113002002971510631492382397118938596276678346516678030132468655222632403082794469220106788458037906752760409590031732369439384614724302990563132847275263959290702439824652546931957101578880789863399059430655403068883440984527727956023117465460028783903073457185303849578109495341021764684750700056011126845577648295847988720350666896738163417504511453954038296454222985190142977981387150437618714110470543907874365722617535853717216186760152327573806831993156968288058248820467128355301923169643569609414125285465146912627702966869518552018481471517081657248403292922083651119759872431345269685633209875982640057764168036265689975527813395227098786261295666111604250846479890667062762708508047999984754073191064591004798727310233467842841379195996301453795319612570099613221376151603637452128014363510147143487658597618620012901980700005234989337161379554576729433770006091562934262784847834399191935469153091718284194620932684298187599647738729354699757218790768206953841198463134988519200447578562364496172909103685267637262154795524323986333134765594203460005825953183614550850221116970673267183216849957095652182582345027362462438049193068412660878059602185228608658820229726571314812542540087071100450466327607697607214455801831215628462680479641203976093084203397918790551769459459890151544744887540990292883124549484045895409097597445058729292489334137014189252041754358434148616569378043393562406000733906686516453894556909699316261292202245673795445432425588909489495431421418244334602548259822040864910255794313839271941871459646221793493998488454168333682316232310494013983127722468757176806629974957882211951346489864304828774197832924910604371470936490507141057560300981004880232047072773114798662124629038361605678350428729791763190696076681456959888669275555827295990212848931961039666049191824253678154723095070770674151358605698950037350802302909467572801451558521635769247103516732106892581505997516400473356539189630071728434531413630120770418942878312892675454310091863051509020476425791136667415578136189850191005051822748737903735708025688232598180789678041014229557401764263184653322964092888150145459241446233506807270618712576583778650579526900454261483529549317352508993335565975586206669239934850622643634493245849856615503795881756373557527373963984132047138829471924490498888742045226880731380625116909838176010092181500597131718157032586390938691103464363332273823364356135875805766023879248736659899127205415027664235318597543726835744633795049072730834686655931333073123590495797724261466957568809430030861216155194101537120370994128419831467080901883123303914351829169869499006402223287601971787586815848302463340049137472549610572828743975955949719925406017453108848998257186676652920092637255461035097818949716528148561037671863226980687299335031607646720866878684632505846221092364372560772816238426464501829341162244367084837948150107526469877628643445205054097234968362191877499696338270903998323245329070813115397616042734347031441479644675251659904480701693144330665921670070421132466052988946658160155938242812236110508815889770811126735859221475535641116472239839930429551014285850219383336684542241700248857233863168730971374392201688951484794590035650727303780048192704998818238126624668108676910355522043400283969031265815774883153005628697556747869309445505164096437818074258231237984185952812435821526143159055951988212259450031245860338271522663584313676434907768407264181430547144726077407156541710744609367489005011507645597040982101244996026284257870955455568134182298538637042498095304974835846292459132689593173639900359520116992055864706171075852066844473787445704391829850549778483123107548677881088631244122169974632813139693807440039235353507709632897592842794334554928008217913093030419290676404455499585912644389446369647471465090069168683091618313565990295819573930424654427108480805088048100951636648155357098818943379739476342178818721789637276831359647953671035124528386219817308024998915653029015089630480491219936896034114212282870567182216808431949640018205823576362850482395114116488490805002822630036415306505145916179652020221098947043869836607908902269030714120792478951297125884071161197271272758467893342549739321033311655773049810918695396591875297195524391090803454320519058087963889220877458125143074119104827332670403039476585177891766187316404222596383498682773571812310319873285339337395153549124296450696429024080837612703455310632201200312488872602088425688966340803840148075156665978086243723421943784391781561233304908203036627399569086825010116445426919463114922891776222578100175217295298857809596917550672806198566576474469174339477782238541521275753856396369800460350502248505771090818785730875539456044012596137430318005887062161507528937847029567652770730081080677236323441301361020222966852814455060692651681184295088382797672128005563024631027127577755043313355047982830668831026904584852844768868940406291265722592447878865160691735976700809086031542920721076144616801377019499457495096160054636716431410218789303854507067103693565533633120986903810498260437148699456764420273454744135445222367876464291176664683395335617289445562946662661388661459263705382444114545797965388870998951299422532634960093910551683006092760285648510340312457873298586933005635985169335270407919208209102506833676670378946903475587363531153870309686845466732550583822085240854823452513095049486655182775235877503524967089869447887865364482733253844829377619639699171768307610788441919497193890034497783043828849746323982570936583173742366025400555559606775649015027505675460905038225885990046996665183017251560929591724474098866345101507759044421679758877008173005897779267952306342015423763994279423018459162985995307289567802811555658673476956846447741381219329215614564546087187173479984555415669533763509980219432339327728068180282140169587567731700209006122518584682129503377106703566491109082750422522419227003576204769537544329833156660394837726312168021763886061009004945587310101814763432551853216035026088708611635887852951633201202709141143955224931252205885644436867061136325698883414809884556844319398383009156977889281924798243725249667180124865291001873790713049096464464530803846209218257619912616708473015024778504888958975358187504558168787286751925808402477272635489322794582096517470323650756199727156009899049924645720240135725188344447597077076446104104202837678300011319736135441772391692040069974026752164594944697947807504368510787764315329030590739170478541467622698796549878424283243333006034753012943082792218263196923724481845264876286792192044422402333847320431600509800286297577842301243452071598317295702719514724854744815971006054077147681855072140857670343916821491962039882688441931116015046817606830541554195773526498796822794671530042504023635182418035134903379798139776311228789039856899060399664970241632786108789583104296750739588975393468094973805572875779351912902870134124443700392230915185202270313914632597727826860419060761709782682336271579902798247886182488720567726000285652680948199676164452587200632507001307416830522846315115869722072540303926360961388984799807019313944808437437936607741813884594613194091817725820505138192343032181723977214002265380932199204337332108972026392482061309992691968205107382941491735624702056328204631355133300949232462191266835904106914801178297890104984021644054636486807205266277866210293416877913963320941955998382605928701306120905627573321571914474941503621603220660794457489594875295831930281643545477199428101625644629879685395922486262723387328208888784747674306854311669961079225528887302135027788018246860389216339909203683707403389294355353107050613430528204949499453884165328342103556511612639856407764204139252413627672443042648909498662079218144584293042750214864691013013232355071833063014075902283120046084755046483559789649059244150615076425864269082255907108933491698701322010391029386111593752939835624747412228044309666203410714667032677576589285259655067727448967372844734508887569318997535873164603279295296149069585715968488549498257080208069256706348221903345941038294462941638157223669872528683807316641646803018424804980770753057867039120164569945867037005143167085215207781019841812082236646351820825079931725692301043162574050732771611239625880286467150559712198240387616817301002096696739289826846177950082097035636989911050398235743348612452923466858100364417409647612603289800596831665242120934770929452524140938030064663086084483985610788316465219799126612052424219605903775661611242006217946131346612967324026079837966046887509016454854828034096247923179908497346824821384223706666922555035086847105818738145240426195261758619901056435821055807647772959854852550606103789267473098774784215160274504837903672270765831411025995910518242369155912090968377435423870336248190553830969355748423512176341499246191040226879239748396198625793052954271739704327797905067445233512671940836926369471101568044946032838877600163930106453037771184884408489083922183698017804345831416162794028993979305286244499837438860501266894919873914633198472681628046550037044288216046079991731937379701414066687932102314292302684881585547219105982750735903560819567577001821070846522190001333452122152907077253968321513688119815890343713550081834136514226605507708134524132952947611301300432515340716490305108933892140861148992252846405919767723666869219470053107338441032151801330400137613645053167903961588233726452582308298907481848521099433707345684154190709405394324483774150955170858462280317425606414318687260257316384707685506130442271571636747555310003214251579569695828966074404342019440087381841983385455349941781137933322832467457391032305430875126900128647417146504813152804306399048300952972728636764774515475596600901317996346186888700947262324010236860051532633110239407646146166527682090637953082245877041411118293264798952983804554950806829403844516141015417689623889917600152911027985750149737287604483777642340287267131904194442503820512331977660119541169514109276981431668295172319089792504673784122272446278773872041498738247912642958021248608798898020639670837497134550167656470657775269472663088907920971374647030544988429152628063782854917714688474657286762620611157676220158667769394027027710263530622520326310956991803344252883592641846275201235484250978467826540183098582999316926247659889058467642237532614445270931585009612986160602810757109108190047977763409074069955972864543531727289830828269226083401363972442229199421600548348296047136474987325219842858545349522651993146885419024574207070691551547834630463789026521919313412442473730236333981259103196736398837722931382991206431499393022801535930086489349943650486509384937050279583437263984995536234964809231308191331511522497044032265758306749889714760751320550988588830044055133325269180606282508629796434368575934794160045381930938738817496344906428614263922223015841980434630451479262788531416795534805215807357665317260503317449207088467119882693624137764972895784749710251623610665953474112301030987366856001540875766680556432171933397641773406874659545615187628363918494344805975269091092822767182834277232394877657552488794280490562190629841288233713063229831773544104100192877552439520207091302669987227202348432186996852612840973660258943537810550816275630801580050297258697465218780230244549463786803202867273935002227726735663026259023712074079102228845541087199755339576094848906356837402635716023354399154194246757027059402938575906705441637832139475929520860468483685728028084755191529286259724297575303685684692192098086682959161002630085077731708135696639879653096000665210043068653431084177801228024025487643012167700096680326875259145249069823933038046965252195440561431740158448002106427035943470102931652114092338750479916101237337000770457424346507865645510931774831340385001819458993528038905788766630490349230917684256800664677884776868601535839007154311352058913468239598422347468817195248471897563801872846361830508875376258206844570352583600059600478735276606577209948307704353843313743994673319023282089732865206806421517895418517764958525078141374856147855936418246982282570407290423028099441137002971264885946170378343176900504720039789679865130188356382776109011306532825437177936787408646012821466566907552508797640558084561262772400928803130053917465977730733022916954872009049652880884141054460554015858407555857245217909373524580671281613812871315062479189087537763886324644781036745905745430712061583532078756488566452147171602191615248408731329140386492039286400557706453154682795862417236710272413038930664513987028826706770745021732253758783318806718328235198831434555833131629178738439211784368980125252024487479264713922724427689474026021389263503259579881945959417513743272339989826602451245714587071824117291120303388339306975224110762100082328073110650876680783091792494015062286369930836543709891785862595363276327591414246653832357248580266977674651651480032591984552306404895394946971080381352430017240530939968517715716750524183658453559832023919331944745054213302568068625829834794345466307583534165565148786631232320791879871364078460068877066575306015009573698022818100760160522916931022932518460928857018349164941869347884730751649749472923396363001691374768458168507703460520760522017105567482628044962995005990010174338610236418422141834845826904691685032304352565500148767627231464580360577268633919543171751199168457937236581544386351721455945315376177731355693098963242180601023553301235560422329479060010298553031915961078508182093743360682300852084369551692020314680177721727378171056108882166719223933535311762742629492819418095106876071556487928285302213928908399624776336839574544211163251781863345433151880476577969336607155372845919466145232031933549102024500901754466153709148040922709960591973385409368265088899923263241780482485622877112297844452759073584964945597702046890811388167749825666417260632023493932514629865347073341283476814253839166717402509530150436814431800911948619327964384408741944505257771011553797134868998499402005593666831301274842230821608943824353299475251057538220708728075142839431055046315932506015331920078018992071312036471650401099559608465635490792673095757099198673951825152460224878886646699775489338182245547586603021548553141330835422159924523304943147960224174742503263344506286250228235392751520760379234447178030532966319311578755095359978518848026161696021068053201047535841829218728307062107778387937692057176187153136489256208442663143441085679437034217358088500724882654026519280370259475742914180669754780581462042101305768641580432054070857132279415950828370143646169578544491053246087500073672797023084860456721203896992307822713813932088495936461259792071292023725616084484784887542503911902000604677541587783592805705212436009080885707362861204409532460652823949808878351745022285269409820656397875814576788244301778948470025282277073861610620056874180878383951035829923596999825915614538012382559446442357514307454931274879063782856343007741542208229739162534490602325906657998520285793938925325467697258532965455508182275377025872956883344303634494273655588332199922296222748603944644721645238901586935095138259105791024624046230013148196127577427348348478478216709727004097101435754942449010299792150073601826270450261443156029444408874118357222335987604797826306314852006733495000001536383914224124882565658241568766265413569212779967766053289698025910192052497203622325758867027490669093389614763514979232853069499515479805928428721768995458810427794227444323220597770654172749534137838319002834491553637226919716897465240124622981314741658678602665189601215757820676162034436959603966007683742047932592640463346741342528074190393365773118553766102753477291571335162753410434431522962029620909119344465785473715656928995582372519066181302459149885967094354333724059920485908525482293883057140047329043839685859728854572934779551951296111270650085454325741990622625707428653369881143840452247638413101083755194837076235309169385743038709342566836151194097559122075178982104228415069124396575726835559377198436387732166679581397254289668473923158711920103546204517630219225849856424287093071616464400597354932242838219733771583250295381772769399056069147215894668982688791518909263151839304331191471803167029570020523500483560944974839315118200611616265916390380795342063696654343094580369456057424867905254897129080612610797486458590686130432870949434427624766258823589637681578204523135654302260063800198744655453028054431666760163687307037420501846479072150169269496452400115973808785179265805885149140942013055384046970344203955321110236174141173555153546316754430282635543513646546282719523743936370376684878151606723595807874836240580348620102384694174350763598267694673384348019051761915049364701918088163416109980809306616925712773143082793098807400868094135223942032133111381727768167807981027068147053570587499856511413492716901342100150193950710951041461531091531682350080531357665641539465727137029490774511746190070026276929174071055996379339661325338565058682701901688615718473934623767531141410204952787778177392838579068325543326740859343055364996501604665347342078097561033826878545972126710560568050732474516545485224124196848242471448870524963274716562902996220022095160012168427481158485672880798394119565071945693480365153327503212394485771815681565465960996458199252910554950785193045061149613495896608981484515343438039629441250862434745818535352510174513276911538268996275744538214232725010476071187953053497017267810577286601340409361911697694046799781818630080234037740075024742275591048324610862608302384370437710113655706345813124676178247970924120526039788215910723642177869092492762461317469946739825024034433221278983653331329821498065747777449113760950045806741127975328887263660300304228531034177114285387993132229268571505329140239066541979328532689268942220887827300725051939313162214818484267476374695995961760767831752701776035815298267746354727597135525913159384054557036789337928020766350065661614085352487128737497005458458561752535257647825620919319428423979872480114174778253343790438904344077839300670336468713840095452715766380407671553210880939043731562626011477479889209033337030343396960466146956534022278219886571715446491725505666636064050930200874245179755396877015672284655284006828598663525434002371572206665444901406977580169065884772520312775579525882278831356632285500084912436806270655863089623273893510318350626118457278737512674041535864485664933514724444316337104134761122646443044422183914472875344799281015701116937934234853137991913543034462956901806052563993703635246982479256846330334964838265754158496770120259425255179420840402303581434715854360501595339371109264605178628966081921273800300876753428408721395285304400520997144466060506251905110126314764304257454997345781073657009452428650740949761283246495606205291476985989937296844290208511739899430517537860509685482222613136706254336930823358670090976439250822386095621058630327439742733316869440632627897827444413317437487970669874183236597005847144159558341588373886181953152129533537485175028956847095300834931292038758388285314057792942590236381843796878435313662326174403300445784172852656943245426662391533512025375061165670462627016917190518031847046956404192212911098770892891784978650014220270798021008501403541038398456311755247860620778267547764802116928762959073676019750949850404482455957139338295423980484114054838761110953918708781353789507611116035244640538793907743338078215193386515223521630859242037481520155501664579417895945029047273538931048494649316012213452053573568004711101176162968017383785792150969384188754227549395346834128154592176849741902599194784187672445845030806215008659383986274336878271474569857896893742123893261330069214245706952950673509537360952372292520612640783014927189428444567614829903874263555287320084871498495600537920421917827964791971868148107150060170128339983372622298577936245588280349721246259004365868406434689986630070154896875532296307002896341866510295774813979491930533684510560363887048687424959934631887552421727883650344964721272403905151340593462176831335544968879253625980714922228142639896576840394862744162257595874890954190212803851637268579655195664283530346423375491945951573830963795218342637522304808520696833515742994815185320252833610361617914667497661003355686177098441051211864198184593903070147803148693668030226983371765387529924090712652278403348897452389145204487374056124420272176393922007962171402189339997572156814076599047019625470282908826084311669261627872807132151975768796502433093533318235520473147028405088694026547315097041254815636359775114871873173411392226714627717799439701973759342110748674233014662754503101052062362790696943030893179214834637936015397131124441496604546732267578206399879176452474749928300163785530657060121138453494200273459221542565640086760428901947084651674796954326242646159852592545478876696621774403142221688600796477798854378854102440358930377099525938396945644924247580592526080238790654081234125141239658581120804891593013120590468987862852717309416100804741698969280073842728726597252030206897910661555080136058458185524634739863545687798238882468194471616243943182137073172901086487475079808736100129376189795727618894695938489531259556851813577151820127789159706157399909053154098784329463448521455563613612045163707295108327811263107393550949165936638371487855149111825689776213446527133022946408951883342483743058199426065196326366500161300215591990595420078144583564231642659403766391749700876329371386234625393422873684172382901981953931166411524751963259916186909773946576940547210153428334837987706109788030782348095210674711873208624835854733046390581620272294289394938755264216536241807139194883732495215893679934945181721604381864242046996616191357223683140757296658037130532171962897264138333510783297773987569228298870101806318859268795472330718246626167639856640004215798403257267203991238526808263801861137333175284930935630704224350520106723461031376994232956011991281135118121890206875837834508751666928996939378981161610074481700864476226870502499509507757089223475786065912850500846985390390376143903944856393713379459327401693310834191273125404260630973595473585314458257727624917643747625084763021483515332221300049836507870259516843302795780005104376341216310991952829922204492804250503234620986717638256226301319865066321607844028508398258772792498361662269970721456579258723799452501281069302405784336802067867583941673106305520417251444653750793582434717631769019319580267529310820671450345633980609227303925592260530960644772621719309179103742577108462625900929631204760495232702494543963078836936707106253618706655020885493654820732860341415985205416141431658653449925938792827637615735783385563021970144188770907327573538854951627173848869268509863975117460108129814501889847828279077185868119101589746984970219677321760624822263882527339117187359607544666696802344474744928467255287103622554515309019705450282749763318598123675281197843981427057121188958077926605131177674855674156016971446441428373020633655311730887044783029718268979385084450398242904513704303754528554185270955574459483987994997116947138673386181916351045437273841064516977280576802976065245593128776662761844408426008767289929713037935020683182120982685849107153886182586687146930079163983948853165251765119111741948184301677953986491694946178883617402416823557678920569170967772689802989971079749843567240622337485287249287780817965715103474560594970089545373395059660997876221601588978181909866449758610801307466818357902917720028345818667945234432479350127448560452010655262577086377539151025857499818303667546415412819931457456030530133135474923584773677343106130236464732855393406655721698049209117532657115605605930488855159232683068657755894891097329197101051082007784156337323111015396406199888148052921132831000429798116990564119100494235751988922824818376271754695264324712602867121536485451781037368530914773974899997073977311743380732989154461440390349563051295952574752822734316321057304640233551192668895795376988154689669948786448848573444804046298331285031505811858672642823234736891593615929910440581455024805267691088289733044351924754618700949421806730395355742195803686697867850677643707503126221049339367941767626577818729335862518785538457334345047845481263049166029643836968703220273884515800044037512228216803088646122655857630982938324830808332315308504117757102031346037116629158701703244643821031978959264240901975009413372572421094652764346424925585365475447292963729890041680566965013475668254270861741206173026784314958007421444814676246927061255861740211958938951790742671642275133111003275654139176212480858610325611273232575400955504570192505356568356645635427108855479751360222044222736731196155988106590056622699521983358596544445077624880619337734883666188495601096916211853151996397037285565212834766564261596900556726534060112726290555917265453667737121672364985079348925036002015475034583675407609516129381427751737749039096998699191603295533014242070306660075824874698814716252082700095087451276245165462199113749109295632482540436576762823395480925718000060507474320024405388270127558368029924864177011210517123778345295288547421631683417256403621585025552210485668741260681886619293655619957798566602767639908751251326295437979306964867664706372935559922897454499737738611141710951773888479482134932551446952518931442528771976010365081173985493136666832856430029327664627329037709685572503269053038829794056098670121338038142560143889754900345265490313440459219350656810464436314026061230450858998163486587625700337760988072324836245968124530714065324508070432540940108035611193872022954004554348395287944318213904919861557685980297184033726061063963727863084581214777256107964353639925937845881594391977537332783461679451688163088381634710928412075741815444209271475977006568352958588244552257262987256582174806767218510911590893774495791651848299457809415569394527108181450607838004718066952508786426074227804371304506083596292926161989870422853763607879520909850852200396064063799472378428740155397612124453521124307680100439607044847218758139406046728809950540300499378797580140846302880090505125070888807289172433559498111102504598342356313654590672054338091195004013133798480739434908442269603453739897571935507335847487135603358313227959581789492567404350228216658644673415126061604184804305020713276701087120496438711662121478894110547934088751527593157114077729433789218302349138889453261948599571305375906722396185793454890025648060086978027982396450727951262175472080688510457114585459605696030924930121468757924828394684212672485834320444481735887749016862569070605716027810016088530612847825314762979891471138827695822066409920975514417855133857598207320216519350170119536241705990922945344544119611753202162214511529440635702136718311021880340185419725701323473702863111075851943153128746147754145876722601950591927327644772594086400806458398158712271616011548620593236991254700346409533786803654032178559810968579741487897660250479032851697351452107643190509857834702372931242398251076448831872422188597223945416246950329271334932164869642972221178220039591828200935191326226026035619782730890392480383726832766535860045162638913157844213487247466166695578008881768562552638360217103921111290511217725887795699940752555960869119587379086361299559382662555940558007197374195951210154548063355906436290093966634825672520877341838534006972003020074404931059449486118811044121397687658350050816338444944772837617919255652772049236622517009627620887924240077422284310574671162509026635919420015329812903497825519459717079449976753039171143552253444871114542283710543072595521143730146808608280424200958398781545490860062292808238581791727519564520804265664363385555782969752172202091700866011759605097302615998488328109882030133204374385005933325968616878409612193440635373826482296547323963230320049919771015869221494366674539907890405930610600689911796320755871452018417557823688863984983681650305942573537453655977188579478916386275804116672784682230572147002916626454434457634544909128558009805189407089981837738978852136590873054283021598205377550768793648812882191653584101852229794206304741445975613276106302131427957568585463686031095893365405394469456788607814890440050772427216688171608506559425384501623794810340697197482620920738542381047113189016186358861591178927911546606797585036742140433935090350574973741973563379510251504800618145093214981822512211593557954247568606548135251639921533495317182358636168688165516611173516358909456976195374692501391633438874498505023209015338829415897224349089027202270851478986722164539219950522173945762946610626224140848914889856230058842653540526660662095915075015345072810246491778848940313068396973801770357055392371717294649105309159904318262593286455665570684201460275222299929937548183319052301901100338101624481452140105245114266167249787314972063654532972828395407175537870488869928306361193677653153159858124740484212516900656339718145461529528417040577135497521301831815992434194843038699625668045736228347916289783989909523260613419185150034184834903672130894548804308444345219569613842657768354854832900461342075126868164901721070908823062971703558553458071118856679315364768725602503468073947614805328911845599125816271066425076177589151034395043210919454556999839331362328548899486409369601174229168178243032614367723634369453429551304739035161376372774617326727538833218520212209145129956304352277679498473582518456745750662048802741460345200250654216564836934301903190100375855359610969221071953809792682252876154460391878924232428849529666660413919496478910391256677354280282410210186987127874922815273437298170377178423161630092849119893651407730464079001694652043382988055812293862458073155454971060212090954988061703667938536989515929973179891234902938147586628041893924975783073355854746425645047180010541295938068798369444276903366184921130994428910486989082320431665304832198691945444641970556457156100861384143499986343828522403793505484105749831638181254080483675766377430383806661506702180518172427608905541830060076277383543609589533703709029449966718519674460469840858684308827257551315338488886158321501023493229495265688353583732684849222995226594153439142368457138478547684430063597283285904585044502345773168598131539726742384222091824781972428395778496511695689534916685152566853106309780749538491765065066416420696051112138443262758958099428944797905799922924825955787407964249007913211921253302653317390345120796105853104257616309713163780240544330591649560842607333366227473122544386113448034929680905836923196597114609900195720717960878676085579814178182163430898288310458307261550130389688643490264286062974900257484100130491323131765278926084932658081562877770659230061304178006299244000926297968300741657109279762745165508168046256744053473123754092256948954031016323715920501933449026820586580978914016076066806739638525488717383273105207817194672695744563733923848512284514157963288794637408032675306480770453593484646246864019236192189815748862249966970192479664637045975783692964883423585781767981647899462761356233393562681885438190239968485942089241299080955941763891905814355977893632932877657084541157290612835926200702693567597206588781437056326240049430726019543846511721445868417307163325266431941503252911362765787442804178751006003144676886865238832758050034515124323231963682416773977431797554696145700812643457884728269441110192663760090749911308816622754536259323038286495022249172305157148233085735139504883832035812819103880159381308170835831489905164517958784914403251058829660842634093420432581794456952584904285803861391863769945501281896587492942815700662289458437762385929080829473769020575415930321263427447442103578512073520023763570135758524124550246449535518258340667704396950072657169444282238367792706833084709832758421806672078823634578484495144974382403751409856838265686680937828807249240077175605852955213263749696951719112379519032398514644877567096760968382964539113374837502379299780148268843636443874436167473111059355068039057995471666703473393129794012623764394338299509581625284676757934979255066057908570807897530966443516368355651077883574677911158366753842178624251299019407211386768388444786157808844677967901019319644642341036490504345089165333241344496410586202645791142913604991642635600827269715467015165869198402776247970905391113581070394593536043131956192512991287341477970498451482045083992953246221248495439614821774233553916689753434331753054992124087461988237554678219269319645730331285277756581912061768245558082000025392161849528222900505490129889844963891241537024333705862859274449479594772569741082198535301323582450737058415113258660236861333146268992422803758711780022928883637729794301822627787241679455926096630155202045603026079878795381796950495091204974746400066892620591494989882590977318541869258569936632158326666646959559729051182697323315264465181691067217162816277016511065830568921341352052019447327515663558117000718659513877737913229140078397908531600887583952737769245970852558906169316226881010111893008072733860979627023175187910298742268139259386618510856391272276582610206884603186937805634529683491089964396942862716728125641137295673931979829327398350992485614518574294105133356090952286481333220964402976270923138222054337978865814402469933165400380426564985486957585286759095564048184525587976849708380931675875011348099028377785127122849727805576789305204024554436166284068686628388184506129709710204924065138132218274990952204325040064436027523046122939525493058095310483724204599570007468617836207181205765473617253681204815307614332845175648526964802723057969899668965519521259440392424054507287830460751103797216922136434051741058208755201578983509038685367155356103361994991717209164191443608539097697047707077451419006978934925030636259877087345454530551900508016334208499634316643761306278454871840426534202441100463343872781491590128839240313450191596338227954725413536186738701774001407386816460636649782496071811277557192676028037607266064256115669657978466427436973163359999159806117458582740784241697763331190953000578365967799360221710089757371718587387025794224713575426406832576956002860386490677507745059449707772220201408219599128025499818415242903407050708091660446285119324687456178342108215853497923165793043826903793397083603423398373034194628312942441935972180860483098469675525007333103658944811268640253086998211878594750039822829097929091233915576296358663299623377355840070392657725568635686303026247716102360949882824293865514990584734837154034881409935866820242637615776268748637262468623617792970561692920214422042685814376339010328811906326767225282638977255047792655278589628721237855793710770400045260985760315942866000338000899579970995093228668757580081134677730063424095602215711390404225616222008856864339249131005340164119546379192624116907151274853982524546198238618759196204503571075845018477674264782033666404438873325294058437005928032991378809780643105231372472568507440366368849241590836221440119034664809246326399599380498449026326244137707905495612465842574931028131928995368035274573577084104070482653724195359533699622763349022037575083212892650862168462364047538379711299451261044183908950555485771277666763259503080612872421919474726091777921059489384437458236539965915576427672568594648258374605126456609083932587254089872559858192294951551755767338680244147621366802675074851419172435810184913199808502980105402980539525443549697979093897960045045633919910692611900320373556270835491904914573773308044419912847006939679917780653787836546902827098947608481508116485864979220323863216812308204742051179485008118850060634421880824254241509147426920624371391895695637560213611491208847900125862785809436279405147098408046494278921305028243007510762280420267871931917709375868798081755831587122162623947356480408557149987861901482251354763549567334612881116671997651752756929830722754092779533106581714158090121226898293294976148485031133120164872459609300558861547834561851920143150287297899347392950585709887402041745141705432221248872135777184029836003001027115006308986522467833578754830988859969913277973810560099824151649678731067180874578828130166449206998573890109914182467598329124560934428602418170431827845019717098693152626062341280866418856114738334791727152687569207480041248550504690690699531274359144675224773368262264784192481812072952201023761857557418826272759369749982038722316431866381447375528987397009780287742051386936159525289850593328504131004511596972319378089460489306676826312406827180812773986685067902971960382784519792033689049330999718536321605678339781410050663917711481750223718119504365806035005992066183828212895150341318860149653771934305193608059364078299017930785111289295920557310180824923995824892533953016513625570967725863001185712873427198174763775727832427609576329323751059091329291673902788093815164090508037178839662095289417077508793850062611942779062119060427808104931239136967831990053757230117368283936297183399516032624699959129019855365051514619721836326710028197088440900722263404093550355674010812823268905238436241327582989060914939624929563361378939517281577670678974755188884157989736177571996867491276475455164902323625674853668314465645332264235399153534155355600793974679597725156174262110862724595255370633212728003295989863850242505068385713103541548900054049726567576655516063702861046232095563887042893012176832527406411567626735677056819123205134820890035987749816050271628877827140326350843894661501741459080630746078964065827515034889771526158387661445061751168778629120043208486308995444397167615751286655717054968854627729561120843600208805518316465769722614309625584023075215301688774784105875343702215463874282237877392279522192993157931065162058744478056010816557743525858775037600949263742213730764890837994271608165942459357796367938170950555212425156907280386993618152866762495213192979953979556587536304495040325616515508622164997259861515042371411742742421935030268932780916636488824052415579502555845498981405904683049245580473376719577125548553239076235632549120507202469410837140773926334716594791285582933770119809801103523948968818783394118511829410140484870943171118202229898647421860786839289856136748090150804822216492082485066158911731007226103552942323121650705657574752082412996454347845009964102568223336631938168201638639486361214986506235134101087378044622326845404244787899224397879429234618868396314660680741042051423652312862100465290319524353523655501198361885535480653776752211779383032094239271389688767452576843450400940145712118489914743094203172312065247996146834734757826565082340980630162525116322072324014216836038766824920104934293614589994101484569835500692879112315099963145221032298324834118436849042660313884237049002151549069946191839884442876397645273258885563400130309515293628985466840630411583835291831505920398317792448823122366279253537500124198778023908117675681062749634278180917889808701723653567683962096590065579220853205285820124302638235746498079729695414210187425300275159329974456677212603559497750554088275106071576613609636418631120755554675258834161748126207242623918502342838617605092706719062905620821792022781497446224706809088102987987790163571016253919739870715147451973723737282720895116398489925887599732965281462500511774022872818203455844717326395101039769344224386541152540869306324239800009048193849713232993461983118854644022370275072090781917729266607144438650131115932293562243060563888576748147984369834224956822685807354138225674384919367981098461802194384448933397139262371379368175316099583865460601917955282455404428988364319288126817125888937036561981006692503043952161768852657788531573116723840510312964786930029048550413929999532136616604129738249739470613501925531325166926434245334969394644393697708859915750872704000776195818442156384645668068119844306809055052870596517324620318419734186887312597509727183810290246936610705901494562576818789556887952170485344022119732515332764225121528689970510412433828664449614110745647782941193038018729146003380015288760127200873602351599796034778056271992745132056537182164190021835482346954553617435634005001022211119231553441099996570770375675572085446019062015676053167147815617945605113618717460661186740743932920099327334944338093631536619619787971567794090243871360318753628887340838971239233451352239510764500762386081640193239300908590511098938491779326799489754305396832394438648260297670042112519098510012009316375987179143733252351368033346776382909337682621849454579178652724172527769519546381757934154461413756717224138118332156248531596601490087624757432592875930101452756742753246120844458577967304105686669074551930097508195448721347815653714568044184664218695512801789084836302009664708909515382047179151365124184280156338765410814578662121900426641408799218122984278139359086567432139632294967804935486067205328190085536547734153820629654643077840234091625133742778641050190940339217576516575380786588509664321536532634326094117842371766092022879634357146297078571187643118897183516622124022950024089989146335114190907841875428994462598726604545990761109627540430799163148955713571844822583615713114871055141533848417493326419295655401685811301670437225460818157853532054578169753020615322019628088777560215843714177098862317623390162555356672513483830994026128219372952874584515804761714040337207781024543220528777109042157941058714585360652505715448415187064302444965780235318446495376084038115742471450599347264843965257628522519194940129733819891432661030457903021236297848714791804834719534322702589740858389543465244266997356841413982369799273274198738638398674967979188860527297753148461403082334950438239482718550110590195102283866184786933976740741170200237903377609063166515671448153633607978420745571809995208273736958629733772520640291287063071962024418154683508685633865145594656692109069438938961155761448556100339253580220727263840790748067882339208582456350041982708243394920307299653955180250451232573494736903269469106320753101614107743154852108801736654683608470862672528420581361571911769020317618329500965576906671869142259930845407120533171878412163634705292437646735966181235904557581614529010793736309538296206840625496112991602805246516197328494736718909543656861605519051293372149501911092755716044614931656090598317866431550588026505776072987241135613748335680305021718751589266539660788109520152515646934030543866613694702987406132699837841338542212467852124600105668605023487946456819617368309103470676468664677883173198265287674398955100090489323391706407059278427721113359656438183510088899287407814457378489066339932185025482882657984145092193776776828172273479069946238996797261980065481686986764989625993056881254983921838114930166476690200912967246741948371344583100039693196909704822061318969513782740098603923572548737890623748572273331642076401371276310680410425377858334530485231865904401217434964408628942541515627416147716851674808909553963349987666869716277878521093316537452616763403235882608526242566915796613088922753744120671262847282947168732531274752259695192956716390016199743219976946989815424000818034497024410927284587577970834769751743468152720122063969824454615569340727433700685183893335012149955997885172817921513927347168377445920287345710690434854960296251710569652615150591912114984460397489001310294856637280094764789247467491284888753404201304568609311577721871258238929414291473112177089941857672340071967767004002394701413719050167984163197400517865074276267006046191029847461235556285383204934283241671618332042236878626490307404407640846463214394423274890805664583975369130904227521521189732610349298001532196609680521947337970050771475062333845786418876610096353507368896757538508851790265894919128079940493484913431040978068404633086249501267452066284699588137837027890323711387846006578065648364563085626564873611036047408221420142478806027681266117567887106195668019740955618330650457974108539234816080337748441014678776840336240824494899343801862395912859175887040313554901611372518100036892390591223740293745019928613339360387928714626379358352243742030288802025839825320098511639179763885367077362291320092611255586463759568418684711011607522722221732443240022942561339346324749940455004857771940419361455714924618933634796120159992884300178496076313729860926122212085295503357475281770696319531619004009791017996041488119032844144366562491472379873077168839143139567303217955804334155630500216392425674284831235226300581896512983755206420703240732202068422886234215385867937379908222141594383057512534862063890154707142085191156841021783490251240893720811739469021999814499719409766690539832647201588280514087847277119524425217569694510370737361452959584193099431014151572336934940096975559083238951703713965182726194399017255376801722040205376716564613184015572295607769259782677832840643689929254143018176931381592822797572507649985657949356852710308033444534237247429444993154337389225816016465820774212003199477100474028178977155160555460153361208096649746324389027023016072866752910954498743171981537052320992074690736046574680824761774199965769912763798953312645201337808149710275131304556246948596208292919524398177366239648671723570135132150017055420104967626561067499624079408890107132934717333446200095990325343309579432074371285751459365282978022026565401741162048089477271452983882143900238093431760327294121168264392348015138587057657902266844624230706257620434904924544554899264787124525760558683875687857807985512580624949966824290366393502087426095152447473986049378395464176289985374490796218637994681028208745122929330909098542080344082923500699718405099648034309861729062040937533848163381213264521154710801892663698724524482186611051691564581685803243182069934671532139547952926893467305074499707711932428667997293941286224269674155291752550363240004055635459079883748815036303787608034412643825026661059160139017193801731645483397611461376741391596558770704438258166116132814948941525651455190038114533014956670317746102756987673889269956812312008245546779212786894165556036435827677730778426619126957550318870242165737631274149673784940926766373595521099523319074727520590985412275342994585389550472764817877307923517932682921859632642286365221789180081219297917142131130435288367476971156576810938484601180182868122237731794657949628497812111905496117036819853291676282103314791293284587835957104064895021339683774901493164343690548847751580007506382978416016895927667711964903277564783328673329253474250917208254710213974125033196838206471862069905119488729455310993139003353754527325507411013290230322027641394525166186624620206867850275296141711148579228444386634923904553548338242982763799172887484764040443504007549226231624211974255976912592001860289831258699710870556689879664523206915995214744658602530882585335146063062715517652892047871506161796340999161766413591879620665314349377302963931621749687598287024897153125750545772053367510607673482171454917763139884061086566557862194045594169680237850537386493488113036384326861582559422395915258273304432162590574972859763054615191769999630052373023609607549461105226736077285905255564625006351409290360783920895558818803803296076660524850241225073303871770580702374542373813983814137757935041465049347660174838388284516848723481930246431169836981025040898316893423594376070452423929886618853707179073044996178065109497590944070156720483792668599514183089815611967768241618854733003145554876094338425547225112964144232851364164797731285721687210393100369625816208427690635902241696344025504528039469594839722224682811570930463849704812890117898366700330747341394100579073699538674906173664467732672914886448177191425257612652468188594129451208346769006120117086667318759391394927714782745046923507453792753855316431553668906021923677449913500062079250178726168968821671199769173402402079785867272393363477963950408157626226192525276753906379801102893293826359242013074521549095947563076105873405126531603822312461911701806715264144477694473342720929075585914016279981579585503130652121772351646665297686119671827232859975200197879378831308484981873006137844034832428542612647428376323082372112349887526974619162686568970483793798077237350755793054541100706950488525925158480555353469813122959587079090363048832004130405779458682845844275867936105431926080139589710198201478686768668231507483525029236765198447067994497601339497624509775799105368245670622051405353790757433234744526320076209729402006310040124023827617532580665702034085415823285857951860811163282703195989953695532159015055045887557961529546504028611280885320183113074842542182740585844527584005073963601610819392118388611369232282640935594226814467019311813895281108943395219852319926537636980656224660070947258025550046276652866657930239111438261852971545415915034304911546654261809309025478585359270804129144911362809201127524426590436542527280890309917900714422906159409023237145329071796550922973332225360916885992273172076302685617908539833021448343407665472052737018560255920168424462957334068532030911833815932623694213326922017100433464486281960557357161453031767265157605146217352215924067358556286002656126869491003300546297897046429534508543264164926427870375293826884136952103845452439110961733263698300840023762998626741784510814000237072690427107507458685719523989274491504128918535307152562677382826248780808937466283816468409366159601270599057787020556664261176016990270156102953605094677708064213862844042166561798159232463422866943078507575264303888408420395207729983455004615590630567607960958311616528428146225986991356809949586853371167824740206465477736529906511222310341236894747597430998142743735960403450527808938038845539476305972711476512727726297738106550963301537911694658088266579123296375803880279929169381846569272043095423267797049737149749553463325938166031007990145965625259523996540010539193365283486721927354178090684187606213094518598482275394771016968194060493886021221195996360469342319879471008204023478425581168088702108369932200784908096840292426363562718537120342644482096036751860358123709933073457109806075697660183145506602016529495189194935537545666690826710264287513340185093744356898671176343840342009382416148754210760514751895263419952238730348854723592272782424392385333860542943845020752557826589132811763427759974280917658517509339584162419022766720292342152360407289558959026194887550486848737903149602613864299812018621193457865722103380934306309222769852670654642957188883035316668998860643836909476552418972940266721941929902167415965601560763439261681315678484469402665251632323798886490442191913051087005087847349791159117892513228971237924948661980103565667584548297253057273881744249426232676165535957105098334554784382262201623163934595100728655369396187686356214571278182499651916121190886073896417918054207102019872378938054787261407033558304938203399699098363282468588352226751153642195831617869982591019636310823896652566066460676606587656592470961150609586026875658287005548871755559709354109917705880765953729248588343081573670320014816087346193627171596074588081363971725743858961158642985752337471368647962195485783976501789143672072732116113527389185353168759947466974964941926701774171587227961603493064521363280531662442934079492030715861342393115790046756202711831098755326897638905797162588692392570519652009995260592537287332300504630634364639578534173449097225096757782066196196552537148596403810548623963111386662357593582497260922243891589496452820736294414706902768149713371499793640395548079893337688471710356584699924612212138509415719763895300198202931116620255454116656199994152233906171093903708077915597883301910440296008218996602520182673466035532766008898969008171650882866781182285897829258275436384131138534437143546900444731809739377974941704872158688532766208025371359092464461877075891276335379367132983265610500499163849047124053530774690360099143031168571937077475136096606826740434406322550457035386030881113463186438104973906154506366530993052782603959092435195267282179897262841606352865278776418304844417401446798128015786841564237752764637360863620144750488703594141751830686008069782091628609181000932964821308706655444018318181113289836529071876409654701760201209495616567995868123738429537533564141482100658111205308024783429998390339534140696637739007672150854703394554456724218010814220282346984053388623983705764179813096201056458602595599310602324705290850280530498300460773948697044769078867701290336291206321682059893448527896961214115576585227718399486773830202059263822114751426458960252152289506563767404963959222169198650341732109732114741443367772369075735446095563863825915304940759775770845212011688063653697905896955786113418161656609106991349624650349884205373292462094680714942561765331299077171017616072299246372819861293361753263236157230967855242343696820430367259642423944162655827916472823021349291783272373718898670795709096176211187133845341025090391043389095891401290668675105245141728324134904225760708071567391116122288451834147385648450841605770875006568077593572091230065230259853762499572000797331104805994560540434173821074071358106320271839170907115255299471815838709689149571462513393206819086703508085043116996313940816224361404813929703442205434768553184905147755050852395526517318109666707230871779026740142560819195802633869424955675518687052156689276051665812786882063935219164404657212871369849790683711974336136124366470186288189342324037951846578005998396815145308490035324811723712535118571238647404154173155679125065596435243512722092140032698142728473328177593116795372749734986732415981546914171182615212694095551400975938418983948633755588641794189436983283445621945360922882551102363350891329628834676493483575037654926137731131820749906021429656938251300198486892854282075596991964188246313133996409927484384908656150607537462233605830610928639446308011157710196640996122929152931061613587219966642887493607316416764062828071794602330834872363549095993868899920708315649067879159159502456926294612854501280506974851024935910472989910433285361371522153468521862746052656155978738521471761949063705282854905494605780689627527570371160762582046149858019370238532485656856841808518906710694016593806456680416391266192873109333392509399604588800875047179162533444167428727305611290130518570846653721037195962582002846261991922750172224226773712969255947993432134200393363385088017989809681297700333467113577403289778439275523601229528215997609338727504493527076570570862993050067600744058158326134190380050184566623192044277375576853130569137173721208076379618686747331780680979420240859370210511059490368965371586472505045294794920401241091652195718621404213505107565501923902646397759278533304647528459688860986428313657579535697787003339187929743411604248133192950424974144034295772591563221337017584043532862433963804636380116695781783371287495759016677016418036520651230474289117753928584763190397485344677838908287140495793458870370564581535991835612551978285940085412671498954240874332681680924908488454021376132792175245390409427974373199970337802714051370390500470570863982328285096004816680824997368976861901492145158286607094852959790140028171727167543843774680538183513704460286043507790703689749067461448265257421866345814107817546505587598745431867251969320703964074161017162886144229193295777767137423537120967298178899240691441642442974835614407017941301745437399074144313504771528743212313190865929476851889437449008225042766776693436096337852406683089328335983163290392272337805345057236009194946956617009893425613707119461591795873393738073301337543042265343686095402182731145715084516487622240119190925571425777461417923306580568645178380395048966450219611935476785794303504581488512431146747012172638630238750283394245392122807731512408099606009563341078371815702326656992808423736621656368861254290216969798856686154218694662212175373340492928649282458740459921076105858457881168771578083078593476058596390375974788656626901362518004634982104425629475317133613662726738938029967857322764142964158655048221765115297201444992843253821529765214756211124845614935973259417282951289224481430829951902984644939042873403268764712713539573764327789453391216501854703302799663775420674986914673258180251238150656153980267104150703676930790001320396139694522701562828091951997222989536110371845402455607791206322924561082488584739696029931186967444844766617857274080188928138278056596804583098651442830492980254091259627561572540033322289088528244429006264972159694459905618714963695608834267608729396371593574443673821400990038200613414940657948619107975207438866307139035236153524468477482221195911362688367079905681340999536039782404366645560381568643120506474453667408718073710168994256912962218605506955766473222850073275605898409187073764162337939209571258947938973883726811090498684604683562585593978473708631771402250195309986100006671796703078822975904541284062238469172552502854678696895871805222536215907318703758499460475629251633393673061430345235850125762628561835625426769095995021856295001153543111237143959532717754804604688554061003748919130670976157092588454134766522959280271613943732841620280509897335263497336444782668981803916837596342563530876692032415916666548853762762504880396385188129267667102156485700198558289994618862180225409369324288459437808154979894352659337730646295578053726510546882468631033030241043775696517254613553595972128914455686263785600078185797928796760863204846540176952177930085423286049832733686017002604974296006249838747390342373556463304713632860370836844190791073718232079339246174160278375202284171824078211754229564980480054791124595019076393780633849357799398534782395001692381200405980281511510467152704096815923974911484790636671402031784144696046578617809994858060565628041093787473742316403945552784980668678746200482400840640326832155615223122074161518477861250646480602612265176077225927753692204648251888662905077049192873838045717761371723360432165054554122367141341757977648672690116213999200500678070260963252451530010135274618885433801376630200891750909630839961884997627822981005824770338467385051192092908186985820858443124157995327651235078410456789186548362048218047904615167445299133829950407589419903280577651930483825554380370361823753158776983250351355422431681523058508859548014193487507856101720828872571151502549452061935885725524138656660820591256761149180943331875795972516588915316055015063107445134966346155774565399865817861249540446684231098653662190696259599499088390013031477694254428559462697739031002484636105322102104753315517817242623524692385090698221587396033375604469477504544439757999569789207937288071120460272428722497699537545572056043871193236422453584615254048600719264954765162426105938287110980639183407401671797512627236967730775552812216448381836551345015310570438525483529893360904866968484651314230970872618196073787894979890768967618251807968129006395620846338195154596965997755175054510202021242320247631108207946797152418620628234717555997104439715772828170905448525677763605617518638483061122703441837975988995392929224810336641839826760604848006958239305048872149961266662872357105448519314504532627500957224490444374918631663168545508736229156424781286807586878236060876625468910286444438934178060428207249724966715740501397496350705254468688292004187202363847261663235507794960099397817445846720224278216105999495078270663409878902553219011780494927617214952873934486545785766330797520319343015640454534713295194565046374506946430343923642427786124420689235974162588040456214826669512077113155810110251507312086032410809897647391040309765431564113512857122997216157971403304471303151351406419854485858997886160377993867502122479823575397002587418415613469464912957467417612829635827873712940223439516546588542233227017110661427468149725780605699217362973138738456401935329151922966689553457941551512566416788595487926319095211932774688036499929487461626604974442859764132877001063356634697575450547438792951713264943522300626639185726796903538297105247666380218776825268849904098509600027648917555478537273247185113096822877958062701786152863889063927799888386586283478550418178495451065922546538505159918639967998436675351394830925091382419217073312927817917153591667172333613760397894305977432455731886351378805947599662646270207508732240938063887120856102998411116202984054768087693898478869545589466376693328898120934749980855313906910668186242914325885254020566187502739325352731344785961733991684210263246878978816797944617473748308059569545578123396420776143434473240012878942458099752059207179843480555495314222931815182242933952636152692851850462208863852457169713585081956264088639385544555632809257618368500425542606765347055253587287158751152118367662543271957769175305183904856928230242142574696546204388571426553597884535904180191012728318036465382303909060152532818140464824857229960168172715845013997193396235095007715399927068182176548787708662025012084023467652796256846504451932796882318927882223608074692372910980425152893875275971708713908283312626421092578999830437103031840967114161896511653187470440422394348358133439390356522829195992388642735547404215854273987485656480713030109755281711897806280512390396029461623592910724271837668606308053205900879600487579083913067203876462356276565320517116114848986314727769423283425386285626009639660825954404187224800920664588995856220403625582832109891737744707697801394921763385843073974162902039213267350277094874483718303539845284376795058207334541178384549911315169408430583589008156166152928899753725394994772599814910165068855132828051655420339525080181033240509924149605658282112691673150418394073272721591857799508155183275554415616291486054390162310215936949252377528908073774940303356699272642805872209475680446863959952748823800451212331486518900314670723713007021293191113704368043097435685741266662581117811821551575281753202983519139079900701200206912281106705986827492476872028767597644466574836601870442828305742236402170927196405762342911019847467699376974519541392506018566129091832638890936412477904373482828521684055010543323641799437592446124583581361092618018276272087422727255702031846789415889038948678947174919717140993235215967391897754532451371170669018885641429568194707180579433798605760829515642032375902423545688478106416972301407909106818032649268378739941503033780150298997734509407723432046824102049955979300875481130792621330153039968825019452225729099500400104107169466770443488127189209592550456549445276720966009602513592673815578180732068867442307072069785605258189872406020148787675217745644138118487226074089058829545822293970356251593010851970064395531865525498753429280055112198106343461946633066210904903098256447026997570967887385495897806073654169327193468935058062074808851868141626313176356330317836406206680210131663582372657821850645752880462334598008557300736740514660301864351422402413950417451328182833717055072025401069159342191018780585871121206650830132651000381556694235430354355455910570928334933446953781116043141373346104153732760761083337577837500269257661213358242021366353032814300198796440872610090175900649901934028041764197493199720860314333020461725990140113843495523551295588058598588841799711756311372198495384784167634584325521411280073726893997505427117200110901290360745637531821883313516901621416482293887268434571648537629258843096012128815525005654359659872572858880751135017972909870804730968243264109194752582128141629290385213454257118137498847756194651696391379982883502283274922750340951272445092812281588966007527968114254894507266043085386396822835918952977710333878946224418848459697931187488075282613962539936911456890295125413106198633105780178744389126496028425633345410052695900479064143594729380297666193227852055803265197188397206449170860487241573222627580927186216373757068405471612855316328259724251960187030839913405557831203296648877066939667990555070715337887889772151306261229088084684805362296444123047552056846184978215568595980071866295740525714402381286278517011612174692703627519037477749314723849130985206215409763313497847868682947078163229605193276842217880156952989184177924192038984558242118259319366375787812908407491507991444453940097313324675890185441995807229201274957693112551650998253946975671926671779769187791506735690267922253420675774511986876642066275329611763437390357419793318705340557764383701341599240815840785549182373157737073523092055418891761950142384480380320083782110665280761013282264940338286722749148771350233858379494286846029643327421072240484569579792275075156385016277696888118570252556971345786384734629938052090626139436883603604812302975350399719859350342837365680444442879081984803039480013720120907201010198859368863534582312269000722415103235580534142148967715160397098736454568717004942600518044693964313131012649382854794536615268161421521919426571847519226147029744524818836170808560989196719720522208284126716254396765839207407133314188155825404205772761731431432819841510291920517337973065093445552185802319648278239066426504351236261883029002511857436652064209854501431829889936409886131811734979808850221600994094785105564966630487951515367633118318838513646803637896966799807425594611225015857704011900970585506890736360418396313391047469975150239488409386699945074609857663612505652994374780563923332906712042361660015890566381477335189163384192465127736700054364808984712419236999894281050347332677733990969776641732202112132434852554712813330261485120816504561105795819377043442765982614169688041027615147988653119480687633070359646285232982209293504150728763888820459072055625290367066641632199764153430522542433670571465880665953913627845849491202427509258869913786544224147065341302997017827188572657725832867382418093144942183727245354969895087986163155935237307904086259100244593076932573365193850043001054418953736656756011480548212538687995935617250624433551284259043817867209440215908887508038231730886146724665464743476996670175186497892637278089594054513345739949050988828536327459367257507876220049144509589768212160811546124174850004128920335655146937035468408869457726157941525549001092281102752970671422615009097993576612010950542776490697622455729262080071951391147664369991761817940812765157562755192941370377962311921151377654074398683691577401546882921679360404234915938101624009680650360900879558973506096057840116486509742149611753503774663900052635147979760574029732637469402863751459359576180915489063086735035273699540286392928119444214881733790576348434092209003271183257826560627408396502907286673492766497311791037242257040040350787604692701083837326653261917969605408170011680092860918846432017630793952591156028505318788637716220930689494319810232866413635200295804227014470759700975445018211546159458014269562278565583385798018230588496602940180110551140142236539113003588143847193722825245045632955069813729655763828732440111920087068058645437744522382405782660047496103819011223646202640838475005936524395846991241022524938663414602100668708149877252761850257926579858897355862298290363269400310462259778482299278092105947796947542536002590713254777058786975184150109460907219424733717642499172275339730597470812944874355487315382142144875071173637956294652763385146299812437454443490694989670972156233375162612339366339638156426379112339646926494835313742920733762143498240094755439802346558927692855939176232489406194778316912234871002480621266279309090598276234633768736026985537397352858663631093613221357578083712059936246306813073389767614682074848125652528368299678244240734276003016608083015611233164370528333487534710486048653640317742710071510135164655308521504153721270072293942843313070563140786872944375247214834558963883514052648601175246765665101209305045632917297833002676026788309499782821875745200512793588573330788737736355353722140707562746048459150602489620309313272088229432031426436605748797139041462066474744487773118187286586837329198337661691513232144707335488056045330450938075062215039611573425524722921854952183912476031287210721948398151481659434318858187760366470894604192230193991948716278590147022526982462235494932041038348365428658984531859763531767114355914514876885724246544221022121688204929222181170783452508066743796628021722585227972081742473432220819112149910013084271491057914695963453854293586498173946142987426777725406719450604805949705188463562540412461064831604334222838031918276177958136803528791794332428635673521946530933891297595989738450175790586069600494487600768885506886906384058136382809629728319442947883403751715205615245213122589215335260997835853474310600633439980137255475501848099695295169424957088177244943586691483673772011151401731193044738545176139452777950774439464959779907168961088204573883793525929598923880375144483775041726057914988675062730241741828513189474171101542972404155861161417029596652011963719601348168797989875409282974628856888453249662737121495241399281672822450586054691224916960365945528403468147160372146888130078856224966926082718487022969886067279929975147881485773877838026491878126790879370309250820478868285815386380490893916003719971091944084949847632606947244368072856260693467086106929843419618891826517023645075086448849741315787395034478249382962704497077407069609028140078777254275695492168364416014823597679258777937746186518327938942178421972713843479720529316504824695458819372197571911462099665471073765935038415797897065146728461792494087488887371377227284474902299779433712775688114654361265689772600940647321696973167691384328680379579461059105537531071069432435777164627891835622882299125208679127859494475543782689976654369859258830388588186619168515001305088430014799578720418986495461308809730275886849286726999253814036037762261963961647491256370230610406532646799326755262079446595368401805933977729086835192060348993435180001061676213238624734937907204234235467838404310216340395700106707470040526437711278413703758358276243243530057422413443038041803485661138591245495401751572704870079420776655702306614398589149346986771701174134095602281165511855955885079248731155084652541205052324820097697492798466292327396756926241543594885542289910897230045587752580982237780182136493248377422531657390902953154516658297143654632297125245475494956692149126543667939880794848815744009495590323377112760493293730008418443568874767195825745285648126744517528821646582931767094168931725893438843174621525469028964421758336601886748309932235232613501116661119910082196470769409762731693016953138092223681463797734021543475655334427958783825846730394066661200511799718028757879914894443602198043370938953600144069957212892620962775916371350569096470757460478832942286480305569118676917125099855193809184478337666751252540216176169703506886637592039764903086441780571400009238413767810888810879512081867488980155227481503080094217875793434953389080124633704661632579951606484000118509976171466069567506071813928790407000230300414462507254456594039956288239040747709946912328073880235096806295832701290034751932250177765844432803782656063219219583564361178692736636404440912332605172797344119558413793227768854239869288848901534697497880318144417532097648885704517255346647500368827965735460717360691553377073743233683864427997164325136136454978744449323537356320445551527604263883562298478709738968784862225326627335427355917627275165979404236368339205988535056212703874943740242755366819326616362794092389674375721232244476649470120473007233855416324606636683546777555027889978113260127926715187790622672076105827924384205164673627256610882128704066091016837271354670061129650575780686581097990904885623798804732106091219317449811262531924862657522085871096792659519307482443363967328627983198414571700123264672838900545503242815237742409610545336557068052508086611865227847009128764738973505688362452032851435642464952065606410984434981609497914958446458787915156657550405907637008187146240521227902448475213209653018775260318425800487991663559376550324487263280240238778150890613709251824308318201289786356436470558354465941831756712670163630203250566708506714292797810004814232082968885552068881053464776806554637035936868224567125927593932476339794952642256387242812681013387811931458106820675418957288102714974054944333156169987491960687391301480179621477530704692029029589638790540816634757460986782577104025411191784723992508845495026823816021460437653229372708842793359281494532114713104497076437574456409087913144953451821484824525889319145885967995050302141858471746601417580629600908661129422698980507155102047618846845502668819699903560661284251429141837368280731922407835917235861155751871557997540817510953891225173008027332069222798643016160332424055410729096221133406855247446953641397447335232442195716352000568145724824561395631833113990637217237751060965131530553134488227861420565025822899549795051916813472283612106002274772337871738499029775931036736743291355063700869784517443924401459232697811565468832878066742167049452784978607192549558248539845317770330729857088563234273963506683664280169539022033803658422172367492490254462646166745462029683655340452955205048431086764442497010135659579977750283313047256841209842033607633225735339663459830478311157999486710743911980089141088478355476652390076186967336573892590945688429009884233903075463765407249906135313461785678322338917919223756960902291256916863656423086892054440749379139535383263315853950275376897102938392381468051078179070169793605296897775463978674999669028979502006769241767258956284356953689294832064560465461767134723012649706981800261629167153299912957256058117384407928009326125207034053576346683106800169249071843212206206058039136679819342397729017860175914066112539030854303476620413448103761082854410117452359274915133547968905204443785563304491313433126082062556777303628631700114197682777694570947059059116180842263505429649398988630120851110906915583471731455796753220518686012094499708097241028075462365710341897462576570195153119887757901667977023705954007304777728286219953477441734932817700057062721935453058658711484226694370442812952602595348980229875433981199187519838063970886156158246536806692964985275810439922190025542710865500901203772762006533228610018197269499571510030879438551054904886695587198734183553911420882757913185670127455289053352428716338658065171234644055336324095278638404454970539288643517215391565246389289130656126506489519828724683091767417538263964174706436072630776508091759157141869657318226790193161097883012805820140329515330270371456385357357442094914200140765710601684704867180992571225842036623546553261414085636868643751253426398925046144669850430274190908368223004201116045726837241331513548422427041880444739061521445999573542585813103602565313035245152396919730508862262066163056673872606452611702785738975857304834363582135328941102489816627278087320605553301942662296995483257719173480484309558354086871565139834477905934514702387650291678882576360395839946770082328127953586401534803125783613229368638656858607250498648657664754140786728244032144055393184376974471939019638143419581138306431730373272691782843530053309292575586916013225336495254809931120138546587139707340857226136027279655111071687607027556307788720837972049525852899815271220698877900088239240961533343928750932856071022873995626596429750746997880452622399487187819687332211888909090456340420500485392651353744063723047278618242658519200066289645807958219218157846529862392820646349636392484245475419855179892042265241791061881083347772593293085477656398095321014495317121151322417626488013366953967444474733028951019979422282034664164744170321528888168311880164541829859929795051168353315958960911352387902625605637112079050723707559145424819569937288413509310122477902605394641439211761050919288068541760573302468295525519416373470694439760547210218495482190375979124944663142971600361716676489708933841367482032609188172885447965500165641874954665687060597818331007491565455009121525505474664535886834545714700020374587540546794792535558781377103618469314076338190533033366765601615017967941352458324315187046931661582468584626982529250332964373221687505974643987748561027548574901309935509564225379355920507055791576532989145655369751764067147609738854927699815245148255015628699734556840965703489358355577194397295322533504139614202924239686314382163925436109747866525536216309245183806325037423230127072574350046399636879033176082909830320472689996701147656383478896475648924833860524639145134392447088498777178847899164623338416080963927592087709577243673364162773263886819573335407954171557749296526474420686911626865011046350204136347183517835403356297514559930821495414990869087542772731483181797068152152754632778453284846032764498881811826896344437627776083369822690347793752581668692844824369469589571601475253938866157603595065234278787237165384896659698678199877130705436234917015753122642889169640220388133781249673984599107380276904604360804762477442319794610814877210258362494884316374678269849657540511360101007269824719761658838374267286972128324539008238755995997100727501347733687688943324163167070479345351574181423284242955783748333355625037490566273038404604601377876297430776175622962730530085579640990672011848477052827220760684652609993571736044345123606948966133146939192717072665240134193515029728140338158408995363384086651940411422370767625887387537771196089128493681454740861622990500903301765512968368932563084388232880566163452072887586528476994898790127720071235706138778329851607847135159437556332387155830586507367220194616695400543225281777399661270322449243314735857104368835840576468849510690259677196750374595989027608384063845322925742716942311577326196803119970895799473435252524582568448304055552715851253763612706098859191900723739515270508814719760087214614643889346404619516375625267566086716334486252665722307595126198591690533018055400561092428000913773861880032455853286636604450078933125499097610112924406984740338228142465800890071247420179427491119722179538502973520985913955592444460604857978122056432640181785739155875896318479982823118072475748593890701126878802321889171046793592209535209362706046915591329931811228421428884793929416394896559652155587703968987425920577542619660320803273603875013724351818514836961699286559257077277188844124445830009613967272229664128644976071627070344359017019477492571295736149700074565519542911889267257828463821034860840179429824840494194199882585123786494361917620186552084298795569417980867749515213060109847773159490194353430629142554691511504446297895965634401515824253517392458348089539543705867646290539802329058407659696990994163376516993134395554218244670110200322420943428648420732227336904111496152199917055357303078510494632413773291128399553721130284543338182881962890541570616289524441615966583520240368272201314070396038057862800482377418102373965220971230920256144450357494025098962455910627111250924432364063524362809204767118892026610501503750449660046801281479210670674891615960748812813399764387258934722817774741169335733336847108445000296257516282348375579248446371030312309109746146323001503215937898036195776423098059020106847950688836926465986382296557706037272916062619615095135162508560344007474180037203054044261041902126291162825779754943547050473777083078414638626644736214757967851006375218261147972939370264749820367374931401404355957810090748078048512635305912520082064682175640582598643379301812365351246089744579726834965933083567564013793818155980494173535691490540303457597757511507454716488205070436545544862324619053857654655299179565308643549291598979876568471628218715594187622527864804052415293939242034736942452019160975248282127773668821943109405483655364407694196663965753509210338186764316220593766827788725892118214722380171288070219316981615830066644362225236257780059137726106249218208455561851998669071471798110088578281551361611768657183744972917651919669054445956120264342818215584839905297083233138959274626421551394076821968040528747612010620585011712577403869800607189335592760313386724894325916960580841228549251089000963515602583554713031426523019116253233830904287074452494919885006542997881766746903895648591263058634482691878630728792041761456353406841301775931892324878086585354115037207647368836690801704581900004791325685976382312591753748656015757676375835389282995374804471372925503140906561865196627766138132693388293701636227580917208995487356754420030319559800208895232522307047288360245578095440716803730346028202280596032430703314844910596256250775445504230402830888950684490222191460075344919677502522403454429219430446340465926143061309902727204300599425728321043468163212327319200990291035258197363804415589429658046240631975178898159083188436557490601991829698226297593932979538403627421038948553644729432113031198760156652472467739686932152930476663032642028970697143893108778560090689330316312982815877445026647691896865121011315286041828671525823202617228844924868766637911992727826556362130315554878422671089213452747758121267822093982618404418965973929930595546379382973451002302426155890403600951563201299515623561483442281219939126712020060896306727278423252331668766672464794603193167468956312337422817089177900474365152247029287842111510924778531488239192442775131276692810751974274055586120582112690262303956714787159865402874511796577046516243891270776803629113331956440896526598381579317177331440087003555950374172684050982305612496685279520639127657411346578472445666355891440040408678645032546285436856290847143397919336865942115924695246794103751368664939961641426604183771364227575695817641173039476563508928350490984675027454847486910346727083051158276972130548157580531491941533716621949528865890955924811946368337571331516170943849660519966077693673388037611104831808414523573786699642335402353790200950404490128416421089268493518282446835652740566508833888871907155595779105255025415916308281658313043091723958887214348213126397944973183211095816478177665311942499402386108247756989187312501139708669477415136932931422812715330672452087532724039992182365492703256332095307440969924541399619542995084532618923748698820763119409712053528272809669423892385864680909721145363380448024693231370433718721812093097555278100460952994305303688085722487476569932759580136866880694035448906161019851079620574980132196656071605199101767485099847352656270712866074242698215629768832753649212450362052196368061919968884433222423074097967757347631804665660136896270512205190182248606241085322776171026118838759446879969408584150966293695758573361794848318916741521369541277071681857018981049877763679199175086764396791495002908269081649550043882705898630723548856468753848053428951363292233222102303403544184897026911018020439176001088736847611969445535349128486235443693910047475675515219461593465373820691437915832203202066304886638082219626497269584523247303298470125564027811407206770706479556265249758559053184847611841285496265701006338360723086023893343903122279368872055055190916276531036521652809461315772755056897483378138754429434968274610826509588247319008636103241956487442311405990507835472940671276416451643912629933029088585174736931732817279437756488383478177685510440335751166952992905992543257709441281250750738687796968833660471093838364723377246550911270022166976839924924697015317184890493704650131648231164497124396786430931322516421596159886372370030656260331550588014385812307068029969941887277388656173811611397148902166578988247422060790763624842618530347876411481613938383253989855342694163371075795574893265250656580289539264066888749159779667671171085377710565316691332113121152249412250843191971869422181531138585499513401644812553300323562497725087549144990784592946393599257388492379764611668909962950879052637402542288858620225285830791735034716393494919375214853013508690503266156152874479971898572184872438164050566110517034783280247775572566487472731787203126619698164853491576963109331882813951321652117508323833538717195060321093157180966521255335133792017496160270423527786005150140135581011963764622955168744733264015249839302284354804288719375261204406588881066562100738053719757703703141149569790068304078054028450368982769419264891950109043766127512898855890074382971072182631064502389165118393708479008802744900577673788717668729056653320135950192343917023277560484428948987040436999583361314739688445250573200412204715103904587234104554178849951110337353439258423031716474908634544194828440427519318762689920990379436777606795040205976956963601458276632747384000547616496616896465250496635246876820057976474783043907439515317046300497129601699702844345585539627579953615160938480103874993887646715385758771750223167748539416205949401012031558700416183851358188860960294043002147052200727337542269933378183602075164235760535251398239760434199763213572495122974123518687352033507148651718968667558494616343758809190454321305093023049664713380630173703573871490751165969649256441620893408214856764184434609947824027113027742743759072580640206208588270975652704691442325248531937299977891844317616077434403880065625348798645474961484358302916724309857978300236575397741849770825296700997955640389677305732280337168733661520364167764559510568526529673473896648037250414144183055320123613031650650953361034580466683058000433214095225993725757321453251253788057559752670816435342396992517706023152368059083181034519803042186494655944600444566818123763587885245071047676120063969408402278066836348388913960248780920864501823220924036553786492316235390630917124511129116880669723306936591593597855775401556017140047462986276095879411583026486965274134686576334442968636858931365764420265454149835975140962905243319990723476128984150540593609938924588352834702656363875408889806751022972354422239131470514276050631553438805185573857407801305249568904288127655790281588273269690909581429385624456609200635658020810295340149840429768886650267235247903947037817103570045804506819358123305711171505219503459609390208855271564362462157749752695444711110102903843130631322926368684225386940896603438231339489201999954967293003500634912908517932448022173861098104890417864164589801140423494596073579549498399394117325300343114227483210052799433407667756016910939271577535378905175926557953537758544590363066902786153899110921018598361651597385769804314237845514038769295637283194247503900028900043624063292122196985702074753576061478440387865630333892617018337272282745488389060232162767778444133862851280101829698850901591900784213655058395054822759151292602587902938279197998933967079399184038340062523088273444642335645040619989736168584228683998178249435335627420814018310707559646297824844575284932329387412110487919357045867033195949104451959673091182604860162564531685560906816680579386521624442392473558215507388257157684711175251511693382852073975132984912879130989368831907298081914893952453981785825883971328591420264402718764619804197050825920506494907353516104166049126970196451132448663558730654975573841929746986088815725540952267929792552997607462659305036747086320060678888187625402042640745823736635720746449214676826793197268324408304233295315294633638882348810677816763689368637023886234572998623739253024582595356748425627145872632735170536468580538392897146547755752187016362010544591620203191408044966279418275697413113683268708660538888070231295051312500665210949118856598093802781985793580076627824459955822522802641374123087827415245398731946442377253653550742532326156635219581473952372910232739242892547684839027259248647854935569645526730243459880218877355661569488727350498340718501117757740037102077431416231596256836665150160927473411470798134905942640308646027318357137534180949238640129778513212431606358409951196551056251481241190001040016992862488209096818044323316014762803995654325105288096647897636388046837320360682090449375113092797324339803257000652890532555138043235597932633638612415489258341659979055760669083295033937576888612721927771991374143396690105335947009677390693138028553813292586532336161235323984255026458141650661004074219731389702476680062737165097471049480180162937251421299946373597283290880758804168896593563131616963378211840409088627512983366721052467820233634843608992988038312449244632989121950169940912753808614014138861241106937675625389021730495453719566215026726155829248916537299735460482050664170518588684574458823375357113735906671086063140322759047943345753032470566431995523776079087382042662179383643873831970193106519198673365098062192743849775218723306786918359427256208914724006657316732598154188648161376244530039487793602042576296473699447667427439260820325795907703486380400375592018128888537123478328822620753651448178852057173603287127996336501367890568018767866809568494283062061564127654815768655394056594651870363562207967175190646438682485036901058930343204065588472338557064914013192163147396585363817434317219472270488476553694801659683871454739836517084966394806934660950696713010461814551242265488591453062440970716550551590367561060918723049634614868731592562438440338315078088611035695184994656180198982807582930697510261199254324095963659078942312986084077477498316124425739941220708652862808291158206246925804221417146817536782280200256638295848848433374271462421563600689024562525504657670103238833118582558768455676902593301234296145611274622337482850851977964248227700124453298277662747587380658658515963417406780859575460148311113057086830977870414912038394103680614414654912121123623040510651599573274099702755288237205789220358832610115582306894183867613593133443642706185442400896087073868813586403354313803401519286314928628555280187928819995313697264768421001595977029775549274618731465301201726254728305329048335213649185274636596476204446190693389559119832875106882568428128843300139792350314589617398930300933252677049927467711353421001576165252237162906442280845229953843121468848495361964221298473582952008656297649952912286155627700080584363968371268762949353021990641447663947651475804925860916989678589622066204747115957128256596873532659795779959456411606007359758810378237316303096858383194043256121527151533551170529300001438332644697253525099407934399673417489592539386050258944213323203064762006694701035037122335379728685623911933257047038334109810984215608407702797630106330645009653069011611910495220894856546975613577036157099998138665342936898414820532460110350938313409195548409276569927394755512299942428055789077827356313980849921395925583134911258642033740783533096216523686627565190234107379689734209841935910093825735047655482492568208511920151200250572540858973483072826630062745330576672205223985643967954561890766767370810940729491168597101122011015372360696016479792254544944331525999868877494260574161192791721551203881470965974324592873458266273501842010273447499272180106649571236018157594049233479902296414202899940062036196026265995316655312852634892069126380952652151841078175638008992763033318426482124120616408742387393355694531775817769061911146865931499578612752928346144496619752240145627288413024005904668053585445986474146501338887505667785255052002935461880663119768224121801693764206799420326119569190969355215410855046714522414219220011925332541515426807283571540464975491979907417729422639355532123639449536490754403665482735263204078716500948965981170623638888010092334466866071467878290106107443020298261960619635916693098483161750933764844094310662719523164909964811959453543650132794013915895137868686039565415425476878658905833001645107092363380392264265541938778321034836730853959234973051665531067428110238608907769718559930433703690131796328049516545224248463850945451686008163423309907000614035698365719190504869723475048576570793961652087303152606003976231521946780593610553428326621212394669267016554738422767398199109830210686913663467885685687211705664248017734881711651464167873912964496832499281074715519994711424986965299997123997764687629403018956861248059913551703965154960083305756605320629217703776272160842353685180829011414222286265242445046413608148117108454636774231470952986077295245885503696150179619562537217051069681065445469952034020816174953716908784468117388619768828991135877359653820561371589573903411778563093478963812947914777611133199501496311825154624417110190085606618221851731654908487083618169289649128449850781066721717953509600010917723797889403699692325036499076192051888211859639257794140728299830295401472333813401155473344119283557983758751306097292558092259181692169036504702040000383752278042560087100503640348102493576017241877180489328279322936658099206001568828714981385615807016214548565666305707513092447013553073960948402674108193599077017161753429261056055048979025687615383437224239509973536784247270732085948422415728399721891463502379291652393382102100871632228484588967381322944956274414996248968055219619588907059351260629957869282346545127013715717999256082608399554970360913651271342104573747592306289781332132902405597192765296868003197421092805017918604289947901318810619114873014216501164685941922043063562315363811862193193994350729380995508010630487878969927594794283384159265351258844068326490968216136742318031129485189928142294531507598293127004648699538530054124860118161936151145847112204600125473271248044000453880126505949361517268233068835665060542041612254370363730571154889959961631268288837114972934130078356224069147107999379184375655621077121670217796362263049276285052354440193325416528443750566191697220970278623527553242444956303257060118485469281064212532916440153174458792989174447070876732040465268340726650577742346706456072652882182402680347700143705785169295816020695914042956368953897795753884586239397022916242781107778979322879101013733639879180661718434394905622544095021483023236498614154550016626250330323902685877111137052060301549229562494179814615739602465503968095163260221025858320130468177624643984724431035761159616323737966112399628089319171026767353039355024079800239363532236713711548989853726545058034796408357541052714382103037256877894350928354582356392073968002624528506874648965237548973509688570595795069107498056600255950753328855725919085112889355540388815836495726848363721205048215015227995157819426812846385903318612588763830573016463615488718810957168135570133148046612470542150371181855604468550680173419878637739609221008406421101133857398133150918426472060828337639201571467042898306065090471568615941600085908090953939553855269409088598604302297717452579537143589002685337436964486032434166496594341552815359385204705934420066805111081446175857154618810925347210284006688653637127902423954582275883159278641881388013437566336860121048230353339832723182170965766820240791455429707181762490858946084559700675671091116642813886761861821283888869777070987156988266173090684404409325824014400852461795642921167558089801037586654509935631910293025346947674453938384454743616606743564429691115190544653115869747042600330397395600712393595375722412329764084730478025126230928967431172100907684509668604945364699213366185101472276265832135396308892339686117178308571023827725485538214263147204055953256469142063341170482790460428180699499495470404531214694231929901574439753848116148377055124333379942555600583936694705590757127660944545359176162456879409716647768416135100306654230962654144613879804826351671572126446617357367524057572264214955698541130585621268389772478837604713023412895871570157164376115719677442018191884995741629376274698618969515852792702112444744353363800196103342858818729141868007897903058156942459940750538246425358988773139210626749407935038162260890288027967589836231394239202838564680185632159861053702178807894914576442988922601109366595888972662975003059172275927058275592243957667633516807414343578983280515085171782280239123260532625575591260761483323907106277598396486624848272789340550596749697100286329761216812044643928827450223529245024446313791408997011020798301439392215471075636376168375083067427186241503684303172201750759723710451136958939355255148598222067248055947476545417325041643676432590996770759365989578094899670665171226852772412280302531833773744352188206177228081123281532083360140571732746395919992493322916849795956242291992562559287114284961656311760041738092722015501583672608580468541096516620278035787807898543909119643540692097285861383353264648426560299569867333613327683220931519040113024327987244864301114497108258557733640861030726063777195857026430527195031736541946995623596927635576707628340847857053822086419822445431326539436786337435002633184995762170453981211514689233567949136527457130518161635292934776978046667602771718833660597607151399468029425921556730431607681527797723873775222586405485504179105547727509878253573440822961941902646125844805097773265616835827811801044407663144707906116864778562673647068348409193063047522605731086974735563021796094140182009560609772510113119270183543165969738557602915233476398824285857980012830544455935065933434283570765188059559003378774593220387050688857547553607482325599998147319511421579903338368127707084182528060743730628550799727307089547784495796304400661242722127568451035843117288803606616492676739281220055595556882428684989075733013903503496581491740827079937555214783539780840149588996935972064833346465146938718316239218277910296039105519174361044221336633672695222859022717867055825646808992713838049315182807561263741552724170426643872197254730134176216041470153346956415421573891230717097103054518085713697145926416583156039935083700736318786429212308163585717796384484854098145425666216446831289260645499597945895982378644396057875325915361159830540096086465337218957267205460917972868505179832259259291690120642400865651649449240151833660850629869866174354535262044007306638843344347090633147640875029364366580994224630399377442729555860561754098162270664599374381348614195389634879814710907737732486874491516562038658343335152848057360707983707509270145938330617178577470703361920604162941414183196865571774572146338769989996105270274283348386628240461382368787588953801127638082039384168131752391800483407897707289667505302418003615819650736347627976269690224664512322042984573240065749686528571141582598162476187424418155590416349771827028804969469777041145952811202742462471709462575655511317505051142989220761823407844942884904683234548625954105420437512221328843924038406095861823844653098318399490932436923302814711362418697247974629828143967303379142601155039262335794378086925689082182220327516067372890127008457402942025805136728120379999182971132348420130007580968601149144800167574618739494446910216000123024130155791299789949114661965549000457212961108890629454812580002066430578520724428831181332607491244593399872934975375192954236362870794669762842047947530816560227328759310122427354011636922290456343672826813308467644338201969826375784321792573011346011757192206860320712132305855665099874002516465162623606373778433489406055982082120044549007834146975611850722097641014699120553494747145755114664861067867766953501121457315754636009861947719422791465922488885952390838407986137663273194094757258220542927441642152536683604387124443765527946223074943960192596570325076194436712231924379245312353153741813825259645431558471220539949511329063171849549486835751001649038073113744907104885759152284647687745752132653286253192686291155090448577947830636150138719407935654703419940778388192817211502570618749780211108671754236841789552385972945828310080925786454226078514539386103262937934116115434998695404377850998146562983015198417148133762710097214201614766856256044531703506128871173704797236598900639081582757042651672976759981854391445980861178577676955277322813796366733541394308008363342525127220167684321087331436176660092508391270196009254536866330011207905725924801849999161941290131554416165818659355510556598349819288283137400393498534827211675209194622755630704331091158156605015871305604007859857430391701915951204966230312755149478082748583814743132148222337488801640957194145745598212049628585291086927195162605630863277322814763832399207988373058686492491892882700625741003734737875423019840804103331783550759492832212944390899803390302672437485688278466134870020167015305767481695068633419243000110563474541083111447734650785678655058414982068194894549387586973402737286129097867839691876486045016200616309709506176159321656911669677991531915446490984406262901583757574387180428920589877223012861828764300005092786997977301752055283388485442784668710438971395023893026768902674805620102890666737476372613756766885561299969931882704446447504714560128558290009354332104260865258736921908945326436462657208100609691904721482186208952400461256554700407109233412679633301963995713131616996345552180594769953414979417776475103270063916100740121617034279504467299114327158940377324112570688885353925678912862977317484890350456074096250817013120111609948163870379272601705550990666574047514810012406274673289665454524278461310533794933013979960990627777911846204570640613896677718539742039322455736410666636511280026632559639653432112692033101641333821364416949389687664483017864675607252501434203756677257461825161747256027781275194197809711116849672042436153555135508818336228699649603664284656923644881338982474430380500028846334568169351228819025389766567081198713985791662315541412558157135865733125872935150630457039080295995736725379661307325344562358056436881567465264708616230792155663180493373044758922007306877298286534512780231567631288347335223310802067457990284818779542072547645742002512134447042866609655278759526598785606511050488545219491075368199206141219649035900037452566185942243912592835582935738737024778470103872665065938137782752030212551981160652770546106209270066418357598757672272850248558931182545871451603293560328968219095176555067438696360671623216146153347674200450116479459002213267798850053061926286035270098105887703229986465975637464149415515535664682774935023267357647947979598452878513875110221376424958374736702322172147548288262493977460387181254976073944501088457205762794721105203008801134880217347808848467555396597049260915075339252612441052189631556770153717130429768975330739781752039638744163954391001272111241207795224147216874446252686199410880125251549530331456061514121787116207759451735485513271385404005336584457294462775915506277826741408685924303881098365754084455483213640436673580880175153381163627334478772738872886449835832164726310374955713367864182597696016218470838442167928222612620191396947542145156430442708496194907935021123406041678490878016662607372544918721036491655492834744327280074942067497026613546193490111421376121123688181235743358188683721932372543849183868559656715699635375373942915119545015190372848354694571199800149193580861005556605456149875050331564298390743730672722415566871185737862993933910341468163909546295069820506566994146053969433680697671312051590147861744643838131261616351183574255045016526349077913106938168886957366035835031060754990350994560659721820103609989423157001518726657548363274941139383566654501303995006043279774233065939261178870868734462200532162474952976662307795319986072055679163974846990831996843627981281212016358219752861070882927100142633342964260729771660303161704215207953626381401500833704540789641142732197588590201147219044384039852625213000716203560597644238006169108666251800621724646587349635395437578627396325627044597770558039889085714605577007110386148777099621008328878000406495009668019723118309425150038567023856490268726759425227778494542048436106013881235957872318520496017286171893273968840948040095717706600932950370551570728555167267709094817644430915216930983612161312266575305077146036477498217700458853938391300278573580931281259356063893138551822525920678798211734496558335287367220591306873802771103713607392163363996610105948623088233816142975745003181934644337791099026789123809511249406693307328839127023721704518771709929851065072615107200927341200167970900062390817323387049331240439017773950829483302764659510344660224001207561460470897140320247397848561792960892802620167890465976298990745547231299102706851077012426882692769881518588712522627825710193580849969498912953872879767889828593998218210668629998461821922115063834217204582021407969539268225113635222018692379542625287441079334576938242336211229030682281412190559210170454828798307968602636893064624304264762187241798442918417837972650750153005035394427371385745389614717738117571766944356705020131517512172145865700632849164415791147335801714606539431136548320593585095343441259058509583651304066834065499660848903886804829500337186156442205054849154799109483590531687269360753476168135651675356026268548950821294823248757878819334286797805769750992117073405500648079956857733904727042538847964292800099344351712405936564712623900525022120046325486046586590316679214186803505843343520246842709075261925383771332699827636731998422579953005168309921312975290323848403688425734259667019620970333454777438817164363070418833368503667830353853668305791222342250870443424536902912131249007583316028690865492840086529892086499617643996601509823118415064217781762706881850371176894394154751821641723098667277279105535858560320576171773850261937506709617219568100048600903127462370054008734025987824208097481397327898905760481820510244271769714829511459638275302874037740062520280952446918600348538969356443397865625908889326977015659735609257475915633250881678913233414766722663308236830741437559286108690537209441182328002740026526155742996962022765599162886202939236486643407809316778389707836681254993630591978886773558448182017729536991128246878841323886923064030474021997392871125901028920162901704749744904232349447829780799172160978808708239371698030909368661233384545529828611655243652269612669150199374238890749919835707744924208781698623599448756661001905231848087816860346751253744212894348430092483181039155282139556812099254875440805714632862166704038984912972326815122689793309627479803110760329572938025322023066933448317056728192888796807669589344633203310722909050418748952529189053869942032170870602614096382942761222380731268070144612398144048471211853281096719089049619961410956248191970937662134034359968636910522534003447920822897211380072624077959859134328750246361755029660024286980205734491533349670904296398809528929114899708938187040093962301590663508918318563301988092798968579341669899837657812811301437277044281649826002661986350906549211938830031969454497771709996901118500674670899960623419676634711467440365060571948302309460310217310012902725850768155951274644307786663753455397665529871815842473634541612662190833154344134978517741440896067941782960580616710382241132328751639812171248651568931117735859258554375119959157599182748396594663301577852271613583833728186468640339425323956414580272203697127204470014005741484771636931262239409897471098126349100088531093580314716105794071985756143703599942602910421203197669213272325419060629774018734554789491545434969490092000184611549340312455290803919446597989189425955643641464147385762853649787401092684366089710031304768003167597880412309522352268514411004610745667903190829052096080579336744840613933694035544383539921931220960229182246447985995997123515876256144074527529443206779389319531357079017001650213394296248268538672374199145344360866496236572562106495570350216296024397983098039741603785117797795725429721902290589811978663392940992486048945542039575021869799273239712601267481023988473416222558275618577047426524382663686234563495918959820625015629162650329191019949173432058741330897739707715349608999942412868158541157265068486956707214690193871292356582152834623997280772528346645716559113205441218642289933183545576106505167373648834482271500044169742961625358909421943220014280106516457002821289697255172919192045686892520353167781094175174470383215755590363471232017542728331763121253361173804712070704153798826396103205781362641254403629257892756246543734952370950274187527472787085164733113304323946118230833851591259500265744074031479489873614888459431913139488405819984182604918591694530633875643302288833821032060894241350751646985554024642756593167755306800494924862452843875107873814014799688784883305474938448490630586696826775664096806185980013535620699999517920910331449023174341724797418830582379105718147085026322145275636353042583705198470888269770160530120906274866644733005809389041620196201861370753838673971034026755739719872902526506494151174628278269845100320769779378170881790520481534785266705994106259907021233528868015844443313245223118456699390052931267449452380553626757763248480382704854642738134012934755973512837268203981342730391275888388571614394465198831614567088866531422946473605602025925749131039744602843249502509403885656478306952159284778594045049049373728169795757808867622281749683908953662561192227586477611148186094858669646917308682517513874733370625353809367435252069906985096337215253714362924666066683645490930559526415481189658414476239882596119265604732860837003418088273965319665214148446733707301414256039079265291312775318640583885031113165344055233115557142311372451300676031903043756867628712264653388594657661969959544989831973187128176586514072002796009655073641204366326412967076224446545201280840341712608505735885512809722205204403117903674460279101936748603387158911630185749407427427002901014483423970284109946733478229874070842237101790776657356622466386540437836637042403250608247703570057502803105560182535742341064196351206267086021549953539228594970100616573025942153878557761422407650350689796825408298566252706360635349525213975904100463598785839948055038283882401229565444335034697559467729357175584590026579973022463765936240762020016392327891130492012345794732573460819294182223074228825499659736833433114016725677811256971639973157322206643880650100222513624917226229551824708722492919915375011709762890719153616341364878615659807568057025972374674157244479414540368107188630374477913395816198873071115902341187957234888522841727788349010503509689494357089394191838336862995916257358041707626266005523765366770360633878300726672440255166219031066160504140848513752442532102462782056551173477411780155180185267367883410327031079179575396534164928317328418328936758699018714959359100302350408006257144117051536068165912870566586714157986374917824887055500678938508171340238283600583319262431639054368532582954488900030045542895097679753964596995985141901764602234601817603470405886445400028262535801714529206023144075107096766405172198379807553341620013818313509795829863833090288640699024333749287448117056292464219970631242846966734893140570538472945428329707056848410271411287431882137077486476624647917941971961103890138474340702585213255486345354086012549606945159836644992798890340329121669418837887103737867266047569556326258982462895022974554231507689088965388103429567368286365353646365175133107015163306929364132429277401319426315631042471671753550443394594302893751544430183400407767255399437320407739707826343739379050658438431219555329281369432545332466160462191862128187344517673828121647256249301426001861588140031509016839578681540396479344882488395405593141709533969435489629302890008789229768899414407169023996739492803370163961205592678868209352229322298496665415730955772670062404427753347453740850560866733097290028570212992593697520610618612315746193922193546086820217834711996400696282929291201680636237529156992102722910722307073793317159571594443141438690009943444405461126291100394824140209185598345469516598384189246755832896665238402706205172785099582273631742463296307375132970268376317416457465367967145016003497180148243208087683359848060433610532057462141100645364937361621849400549072423150823402261879782751067875496708651014004209174469033151953178721438936579405646070606016161516130679364085133233164721332065611009592243574414689674207034268320088934928420713829424323851579013681443136197553055561446330207039988304218339338998495438350016204895259366332156435609175760894327628242634928330741901960730220945778006942593768139902180891373277498812430771582157593284214018710781912212959021183567066259183790785512363625286301274303859165468077164401585794577341897042754583167019121099996957611755352499957012051580919447706995241160555190889430365863592402787091706888576920044435084755418271627331222556618056000412887609508019969077057901064609391904976359877351306763720823962281292656913132357644275035350634731691791759877961059642941684346765430906279765635079410195552401953656051846940067707564591084702221678401571606526223678726753606700265223007147121028095814065315673423023336912730215799494050458498543362177618403269213620918899795412255652600680931613103504345190631776521278120613874225523726428043855076346357669257883940050898589657332500415088999691760726652421888631147571327826846849880777188246599378828176942512060542920709141525498062267762714526512034062623542063405287939663711101220064538536291710665123094765931696669014605048868388820193792472820249465685457593285875108988881883508231282512816386798144296212715134803889430982694807939201794907590021549782151058439540775327816674158163147273424531495323586800736866767679079019229850186357791068801322148624288140198197833712432539262249645207807164578471687077247505399480320391567688981145799408265091108048604141272246815807756290551081115225359282889971103002621676869322267787023577228349308560739230999738714976039851811597270386159412020350883116473299307540486321708974114698848456272587593476485773933758618094945788143977018621494146658284372567059421205445467890058845788131337696042728909043578770881886875230649942300398495641402290680127075111092270591489189808307199079624124521068534377363284918916132762896870019391564288971516066983894735956081217827130199120662722508248120892397597802395718860902811285686165368580388272361125482188262744591590924634127794737532786155001520972310445583708885078719166516005327108477905705893645908928267197814355590192769727341310207958893091054991727241352034198532228953497350518577767777009056175409703621920675527855669176380376052169724989237921320731844394047872749497926406331979126176623012497716066247039707209729931422118081972007060484928289923714057211511337888730408119573529694288189009024589078530726438108840867849678244856120973843819110576084507340236009664935844493563797766576942060919610034921392864263831489528057114531007853600136704576693267566961741223129449960359939314908123552814423553340922636746144777709662849279005851135172783980614194173774005243670253884623544637992503353068456622726493036958575074240479236713659467364037617814066251024867833636953514409412087830101287271909844323736475259740841991933676653985892297341734646243201788186927144642353831930731510617927091626534177878013171205948211094305100640634229200713788926033483170731120426913951740509621230791661196404736693264376466782700231466515157358799851057886492760305569819513851371259955966457161304844260813962300254118609461683900902040292169991935340432855227858389334334840151414119229631527094118087755963790716902846819162494550315541563194176862229714247353820246089566612387412382910854121451618697430634984211317512622367725686709459940494866533033727952893421294552372521889927150311101460769189149081367744503008001534281817704038842323250170961195401466518870800636089618029398404839510359103778596793928975488104751431825762940773639059014959997453863637977419194982864783630784126767306644873952006352654378915770448363934294049558093689269370324562605515603159633237771096596334062004044460093516215469086850764548774741993503950754392671551398479596973058264958911147696944239214518523567736140308223056778173849414275675401709521610286784900231549583314309246891692255917166155012747664038531875524455146543099412210190058810796849895174486478618956067200869020063322096322021032699111420292754565168340418589154902172540528546456568329623454829435036203849329157915302624131255727164393858298036871586588141648497615293698936885180764317106804972383063377155879240440353813987490118487906032801972716592033161938870808060911966037763073590670809549777496885319686363074074076408974874158718853514607536317677396375938558129651261040835727757756752769568612783324039419813626548639807678169835031696685482166524784892880876775184385724852817037986987868524209685463800022025648430987863484504149356121785544647125115298005585154073880681447991941622454319401041833951635627979835219303594962632271643630334792559226204271058807999502611571436264855822713512372594162151215573901991181114755096488620249029982622249064696132036909278548634351376241482705933776176993945377494701513183344892046884966129642988124141967500898000564585438555382415210269765680633788850407227914685670238564901684155012280396531709766877744637356016544342139146108280008425196500474561403203366145396739618142030854747073067926117624876763324810033836536300857501160655217228218558197717594368876597182806841128659854669041770320328764757767700836156364042334836114530210416016231510551345798228815850450141965531970505348964950019425493398899581714635536113885000647184892088159278206172226437197468586346983102264440825140541142894695747708911082309727555714373443160243693424131258029512531004647204011053761496251150489095149708901831874986979879635764157224333967344125969742373611274950029820834261466235525496211132875227716301728436389386935940278156022400601014834348775054293610641174156774816762710406384123162588842173088297782612636045095294900984808190680244717444706914121737906608198032377376857005642035156203836915388066631115200223310822056502677442372954000152902165921760541307610550674004009368526707567430120376290762794213630728736693854005639072732303024060244082947758473683737606034764086635609476511292388141337162218812038964842620654326645245035836931620062568793596062251002283390996965539647579512972187471842515215888794037869613091174606921405187414247342884676365331709393289315101282875210387682694102613124602731464669922115541241708425823337918169150267196943197856751137635105402557367151844336921897987094322512484147166565237597535192029204486394775239469251492709792159625903342635567115792420855178434708002523774550906888185255331821593423404954891545107650889905313699955111195877558215310512905609016939879176536247920132847077203620467207384207324401660806410205874223415473278203807618441521837147762904931897829320674021157328173686415832417543093886623243060173473943770091357827641719301776498302585386739342599080358962630727488817505142078968337894635769227976009155018870714901684537961788956226400953404730374032420996942465787911517606380463239302434674292703194533912918763796177746690113003103183988902330794038175338220846717325518832491101039711574076816395406663406416486674710310662329736477184640553049814623344060862230320848397771794396181205456728532260899809711488636447175495791717204078524525418973921582694806296134912072704251371857581322739628045200406109482939518864803617418289058579817856127258287592479551273398642088060690508051941844917457505863737744189389870887744559003613284958410211916686795803820371327698911707217364987167707954792461686822006669583077754526129107089256505292696772927785915237836624853091928749195350426797768613996282173413707067385270148406653640906475761233701827875419255872350613860415927080928888746574495199602067976404108756761154321362469903215397747057202398777482748617847150737090040694437908343321049600079567915526416405274313958509844886153759493733970499669434271229431661990847333207508949559878989233299673701465604933997858496970489451239853800701802052866092211657910328010471992384702219042385650859172149661869172964074108082719240321938722103533819618278061420431371825384149070406750432623272810097858932195673904416219982775993978792081545679097392296267289996375483109659879949690704880917523466706085288176141241497269489365060479453866266482218063408540442434864165083170251229993599445597503140401306534304921108315886218122815535173581223126571768499106036481212712874322460074765084056424117700842846129716224248936811227916757148430146036966211469438959059042782198714366427418491264723583859982275211574779881797016097141491583909584855579308344721434994348555452027620947783472472717615162695038491237364206878566208636349869445173102713417148312280355471984046510789680562790970525123632738560632195843363534028808899215059891471838277920325624996347163381764408510982848206756355640581964197797297151606101585042649792263231667012725685249075440360912993723252897370440970069718227900303613193204714683765736156305687524554676107372391264925455483726207939631516558348801556612496828425402603489015014314915040341308589881735794579978984379611326805655022354390407042661279288115675328159919808969245908668241738117685223635113580689104741072643859206997546847299693038479151749886477337137406839877193207765630203130982478271850858554460670877274985553290713314734262517466857278445221211572153782227819000017913333900238703236556079016993361409265627932373353167153580460626078595925204808750171597495949300753382619203876106306223915745292408162699633091642483138911654032980126112705296902504241008898219776626653334249982684831624997066408332207351543713615065293700961355924705516578190074024015006108142625793595646480139681341739215528670929422846877225143835446149267129825071867604633537004089150873816692150168913482729713787324034011533827158725905533165758059160022051853753209926795038659125510523926465606449951404217513156228378160602382906016952266990019660065321703450916078999298808353259518464034650896504484907888047842513662728731057007150626725971625253925745997068055775467679881667148694845540964241802898768698180224464685361761660475077358616279541438900148370722822469221280200772532302124048021053945622401367352900471733300247940176266198645379680178279506036813202657550562199104871488574364434506371969546964501097040106882833566895123169502904717426837515371826381257482646187848533531513199853113663375626534665725672321963220858178891999949418912732228872004705337039550054315757456630954543078224281329681812888272293953730971679767763759972008637192065514299686451152591100455459980853125918164806810046319660318640198205224553466481791250068458519702119338801972629603868972399453230223967891242203456644333077675918121938789995892067244194710045515092861935948025300189715560354673330105071837915755709231708445328018016212644497945034570702130478643118873300477890300450788036519701466938727381390979118327171130941915249357888485715652557406437197358876372220376592399495466321267240678068456406111831155897411348812338134256607085193617113710753659308145556604892964884630480358921610115079442883096805758851702986693593912219916797406219610526279277038888782385836922181188383321703754297324190705420462857209206028021740890831111005664613349668331072248806336982679559407906310559840636807966910921355087269809967630061376809859555965448743113263582208908608651374216923724698376703832859095372288025980774690973538748242761886906088338476452563509149930967298617156962414700224409099708834855125954450905706974242952608864713787428042546406932309873152523547234066259546774674988523132734675501539595515130617772117984407412777716226284823488053255237082234344865222713812394166502701574618656719829917800643295461053984074437130932884626838710754059486111354899323683022615366927191611679127546615604784886567459533711521160704893450215710069787802965170812673596446135532059079606991425508851484310601411623251264715462154050348657781208069478746689273669885059970846073834522535078297996447754244655516305865445813646227048099400413901756098293458724939396585137991023399371738821133795649318751170488206486260919179472251950162937627156796281230132373106815069702513785210593490765777016990698746670549150469476418282514751523126351758648910802636202907830502096642897925495980205310668121134865396905643958086768590065567885018096205071162375070159035247367984502823274481934696763270029275045403956583093911240697595460327416046351626697283755547371834675435430222619884498457377614979361142731460719858019634537037694399250467301456281802097236507855002870527248277838614600559422842222720648179091019396103281834979938611069351981523615737414923402159105969935003058005546992771809505487983772243935046786355685411356952382743152984502669626389742656469883652521665025385648507123912547571322625572904753805988309034008269628437179808486805841749679099982895838076728993899270847224666453938907608567467655447307818396570176520496772128383550204495286773526641212444824311051772007525858558639864531581057548356764583872260136035357648983570760753979531610722679988139950699280778949238361569881604228138818005920318445050908677715690853403330947544653022277718570357223714106369712291101896030197168663161725597176147600003029209844723266337963117895329634854292085056966492074349354719042947432324210570399228194329622851825252252211506532622761378731638147129581581555711423278886629425541649940046442508691962275583103182228219679037240758334510825088440279399681558816378470127262008433784486090011279471584351732835545243350203387314006784351628548008732863470707286411763057304517871967246535607985894116786272293996528044619796998086403036937443140786164995259425867308917769314146355797547983653270900988341447277378775644815353987689525139035710812782836451119891501975876317483126517814531525556453141217872188650928827594586314450401901032046187915635286447848769657782710972348862327699290381988854718654275504063315296858793243649382747877846502402670736857259803952719662463564352221805873200203673241473799748849045997771634124951741579076724767455210594134348730954746308122684337634455135267033775869960711488551940717917729630561022265021660387888556925792839071313155615099497336595100590689295300643635410400083497483596362922467294540038514946320713579091915128010746015858108436016671331849137306384024587352969955805389121754891184155267727229142839766586910520694674563206572167703850878860520765371444827294192161757045109272086266534076167011883903225344791483490294853112105254946523015953835033609148044064920008389064952637599462427872315802818049337289688217084273293632665675775427161724922415783768523308832651278298503189718546476221994337494809527342457324512428884084437885314729382914935123189036008563603768976107176088272800862784816666919578630854803771896307658107334080230324549711206274775423365712923409827276810178968071629087925888845316539283458171887992418437333649308778064172499656670601095696555701050030351506793654418808248543088311801526779719142629245773473077484070960353572267276003639715696007672113278174758521595270083674618364655235816177634866452257571552802161472150553691668573681942541015496051500270243123640445039174545745500058928479107780402146425141073063868219222276992461072262003181900946439396596724784084388982358311609044306263423534703673541108401926523223530043424058130471252865488091239294033612369282234111624252667093678283641294575712253547689432158861601435198261358389877553756874161075245265948351429217145003988118276903768380928648079015603487461375209014673229880929955767956495884858934681898726393844866439491894068042131156193820191085326644798283561264900218861150898185940610216081849514029241740969843729028757246354975588207854339682796351936025183839686122921814445864417314971024483764305928750500229309228170969990600628778003065647729549781128171804867974247993878369300331006193343350400563403009999983893501877178030982991739980376523917896327326048016505762177058978412273728687679729797993107956475143716218566533733849432569225141715437731183653895019974429608699269208597161900073503472186779385124558949428970582228118863879015192369699197386863944786614955614965057915287656926026781688133078741430536265320118298880212824829989248286798560269619324366879441807745464892595874411687165032522819382197475669120281406330966537480034427760448007096092729282247073094153346841074047733373782558245237790342956504576905832192347189738483643413521274963095220855586926300392083734557154231345829344276129029954513568162591594481824604771922401776229218697553983188651170740844332118744221619747443760951074611297704945530661483158349481471789092300442618274728564328658178438476242663342776151452560654432499982379763447842551696817473045216027399804385198494955272868499065881616000789999691482640261090559303153032919641872597314752252653167674648122108683438329231249963724814236276406433329538513185603421975350877478344927773840529497966646717970106106553173189980277194599441475869315674549015830110258533802692281843674116691886263274993343543655128214056720850250632842949293310456221421736333838461276326897279136645569541797559239580616669047313165532070879447384624300985249917677094278536459531755247810756406968417321123998697695551663445442655939551960467711646785901345447282022125757119064019779827530408057968624206825809649881393952308829131221607218761577246816600102406555009790772838594217294561355031029565668442304336332348327999100815954086038685996013118900238032674216426052951938328944096455236594453812105134245495640226758584091819661338279734995674384243414888772047220586187812021589456830269735492962492591213403362774723873786059867785098722227340095601622807076386966501391279270083065630995301577935056789244003642511180818519739932133740174328283712710557875846269886932021734769032839274416168508648697293725765912502002396286454902617230958975880086827213219109822587926775608030962540922955220042340633758257607198870739810164309215116716089541675772391003883350698016560123301582402003952854228721999592564818503052517263412986326962827526565803062813534462038110702606208626844385978780720066050274892064338067399348432460237695889109819213682350544923171854462386081995579723671058836553366683559669592438250644120904088945641380134409457493796186674376444034659014895559139350358564510530620157343155749803208583340355245242317920791571826590917301347551949511178718866948412826039069327108751189765703002102544333758374794271686123386471753487467770681588881903452291235065869240114898733302258204370865906424194013073416884968516984750890413608288767314341311059054901555122939307685799179961571806111502372076612761913756119391421490802829826141011878422534512383085080714011646672701944808250972878805575007467576613752768657672200962890823690900323031732531889678956230011164127916688395465347635694266408261462162354095069825049246035881573175296859695147295378692736263264872311084597981335221603676380097708611075820983374881488141270020109369752056810755573894490373581725306597265463241741710632495538870954066639285006818281469532269406188794785552001682710822334500280398128978757970419574014129699379292294998272063776560054950505554248426467042482012480800649000238418830634177757951404311647179291839071709557932165469106102354563389553758440023132765923360036772998679818181913235840186037818700860951053501005012189526626008409997080820371615032265652540343395069100915539169618872471970156511550661206587786551351922286385395262165589240450658737118897280877129327185435705500838270410665502562192515620134458473090368170600981336033500351774971005517731434404986396041007783909540945890929990213244139535459838084412651371777470297502182057640166994958027621832103314488932556306524036168369269390248110833812751253875502954601234244728722390986061447421205232568570876118400703554014106984751577207366335609043929933657186421962992564738194467172778205752798457839039309086032063273349968638498936390419118721585151155954653643436797963998793142570555740602837983235590948302816354570267355138258255120324095600671028428538745624083698372628196937460362254798383589387582199304386601660288966599019767114142913854818833102861162569506061472091374755975794161856363512599833925271272887130856068181418349998063409123868610229314706003854920105157124950896923152750280754146904668419540053139177336853309763334658291170343451080579710287492518745691027394251249820856163709316402050539409719487091337688798206039207152386991285889172053103838572112303659471148789196347314787531724185617088602354595508102435255239853377928455255934225251635754153827549165039654170102931814971344154107802462783525039193744858535638042052752248315198817090437197251290282039854917442892883686249869611282432074818291114124305001180847199926552683145229411800940026821964306560077972111538008619506232896660104483962500932636080838838230155142061907527151507951596607714658663055131782264264676020750408557860255690346555214277838274315570720437018266237657679065400211400378494211205679927127602016531717379575653250024035505018294970895548077064265951692636867860863978611698085236759588200910696948857911225163541486895646041288670498495947666345804729324694398881242189323317894011701466163268937103126116992820169116670606297679988958627433788212399804542743528481363095736439246890158088377354262550918883577269108353510900045801165823677927582701188092929052048247045453128400600097488729478342734003903055477837687909093021394442133228974164382998783726205361693692436216014621330380631215840661121034190595815878731504819470596745660398310712658753504418930778711544187856478624055877368548064804315374447182124611351592024272316710010754928057147181769017213852205696518017777768207606852045433305894709752708844720904674088362380463445245875523951245713981705739081414390849838688035661483218384445110788915141773596252906554677437952947832622112549189972533107460874088785419954546240064572193836914874353003467992901491918764806643947382478051620335026267541509675986115435042133117199881965238674516002368174805197696145646651557072826586210688952815326716433967342141142170802155820783523630888549666200967177397426929944411364049848893207515001181218235381961795964759129329279953666214020729762315573873934541396981014896917645299128239172825218326040814019301681845796025858363998131133002812744369744768951489431238627280890445271261757499299477601718643563403358155644005881433067690462864915052349777018084354076230354543077613891900254568131034054253691292151832359619625674428930322626764085386257780619715148862972065822006879475663170037098055389898496239008316562232770012254523910588620436013563259554362245821939207921423762560103477459922897805504039237144102067171987457283076573432009338615676266559449410897085523915606523483409613890991220535759542165917326021752902856268775624913280694847928393951433515845852820431449892177687319709810910198450090113414319232663162419162864210610203312896735981973884043214577975202103754341236986303023206176427106509846300833222888443416834236893242434348035892307280718857361717872000961244825549954777551866214791666973113827411976936251088706950074440505340527412102552263389329980853927690790495289508940275391367361934073094261341329873925470577250423257787142703116463848274868878178109839207939033860729713205557914116964771175884735533259067031659874917092221083602614369130683624842272266993632638925153875270158394556665882758211336803493799176659927980941173711494794570136613461749702948096791795362123747914257883715480272715258848789422860384934402017040129894186192629750778955975520325084939066341220368896664188151638588469018536299567855736914272853456807618548739314817673547086228631823409343546275645624121619126615041487602288115506577456252981291033049070688766366055035469745879163870142826070121171519527432282483827473601705778920371343701518554552092506643117263887692622849563458922030565620131892791274449558918894458549100959779386760602077995719076267594717215287481715829553457866611736896290181571689074781994431969057259101217280502265401365102118245536966286012623519584899055956304466707624803385473878413724573277118003579001333914494846387749731043610116759110514024628288371951376240179742622726696894603277119641412484424497098047993650936893568569035920462094080899597259383670867266521796302061791687745821444454377348342411145948579793778240696545208177799969986572682315629936524934670643328370426037372903616647793946231775595036079535382923587293240472954795445029625434810677400769536712300555157713765036231318456505245848170492275221573652521746626021833316467091906480622838728643309601635155177660903708188898103318254834670303631166566847690821347414724537123151978614457867761926571404017637795152190895074224516208800453387285152909318207039591137376990778350528551970028858505947160675117058261611244866728809996466096810482441154397662925088554765416886774274699205477652981156306560819833790606530087711402011338835025916694233192364924107208859714884759703603980496666252500181440383121807965905466873912682496024012931461794842094252529626993887983991777784754215641425826527533030470466925056063177710497129786855058276393756701795190393158693333541752332055754080997828637041968268146860984299107953851611952262811327712439295584170039546189729112879386041939036336107758855891755605943145267068619793507192376293226138610845995497465523522056442644353296982952266201217644454341275725126712410257447671128874386811145560498558301814759025175976239528275043492296473864506435934155069937985654114871683597446467689468003320459298479810929305463580069587826462434053702717303822709371471525035761640743917707332366762467692079933779995547084165598914153659156882496667292512629975900864665249111485137293773388985345856979363613095010406856633908653706182688085387735719721991404442129188449893682312020451457336411889020668636151934425403236021211254372027682259665684600164627802612563040131974669891050797134612544664486421312809415228013206419149599031835249105304280410651813536946929917557815609112201245291270982342231289651379624124370559335867147342305213724454597911265939164578491573885235554854608945530756937183954281200033837472911530001180971554192761110658709157183563958608415348090920264527339122595506938050152496622103560612636457516736917278193064973897060758665615350390954793774159057472689221460889409328927151317754426973559768904317479151718466833886880407273006174497312048963769607706866030961101813391825657486059006544602305678521849303051012632379733784026962387680042448110419480884984214539635227842763106377526498189434537838023968516091602050936926411398395521171843482409125982704375288372007151066646186467967367482657689851480332726134956690583134736286580635882976446123904260207866652018650878958635606244804240976136101026295848483354595551517696519141875466267242107799034733142136937759194750637656596027307602211107443963603401780065262397737732500419428172090158500293730438926806041215914078220115494668404699837408931678453593843945995619423653457198490770341076822950452048170444852905856244374527834535846440005616385790656669392574950455789441298231784913082701470443844872241655007831547925892894992602526049557425372500206874129304202518408923522395551670948808171357337470107187290061779818207230985579782513023715539141810132979899821558918882706625238449145631691324343989145558161520256680674381669688730121440887328583260810784680009463782742999612426101076421026932755057162040229913456672492686525685180119772344521264240064139217892217553206900469392414447170699216654848112885044121154211976744154026328131232580803877945801235522458982621030547328795886993774674992178696610134712575710749350492282942675215116676012480954855816481648229340421113780901994185779967945784940367807814726530523913308538448943322631456670454797003231215649615114732074604545822734286513460423363026332238690228098186230306038807246860660602207360292109964902670634544579941277141458830095121700040029760942297629681148519999824477893522029637010184106050167326008393478679426742675701892037122656572376674813318538548713771591600125317512140218600462449171662294120753353687994195086919471818495446932644140343888640941317601506376296544777479073319223218926222257684083552091290813028394911480007983619929477783981449318260841937750733354447229143425081935941240754582562448872680910936510402844208006160337483430313760306245913191266335949752720512886089650036394197433314331376842298664360958745680108780095599060333395446241323579143372867152688593739699069838125552154340941970205002328546892437202935991421781745642967194523948713210780934470558136644289567972411189111577000242652159433639155779123682759712142503912384032406798511926109854657480942811672023451231238987295549836241647513864700211352675254737395264557565585778556139645955934134107558021924726632126586599181650778877847725535867115622495501710193173533599965270929353272325916430946307416743546943912003858642238007038664551481929797235197353440621245187635794985099628115923622099482735486498074859695869952154226117241258866814974284195515078875200492363593841609297227105100346600614973035146727582504305912947177007999812236015164720827641435107542581607807181678397184672610407149547237285325110884327230570099319602237613270372312903563446044378332501331562654205438127453369442225549785043940958859054024659475118111064688229475352328089852981219923877673553923384230317541085926737520329000991831854258202703068071576091359147881960698586452604980499991615359180082232569694481823373208982954730134889327954005969759499812395340036982320047298797936884951227606358300138955770966410898932689564385499812335899614092645006970036549838655315783385309505783051136014678577838633222883124565822372715606667334332851232896416003600976511555234204787799412260322785787419473433557994161366027478818358563405250511596767046002839709637076942838158614987851911602962434214509256576673707174505740026662181585557641352987210990607948440423034023188704993289290869352105018760634234739123178261880659602939985545291325868701314087687992292523401638913747114070806332491804169817571984722202323105313102407746430377600341472619347581322035546737830661208025020958591777030233184344581503959167662951700508502227407792568008304818320333224272138805412839956074628808378430038483059959024494259976176028201411695146842489234251773731034240420853927871591596478206038887090651317307582134498009723753163429667112417720208874081567844006563470251941276048706929457927404456882968658484380452327412720651005224335351033219655629518450463013774886260809827897895429668255225671767893687992841723453667481928979824163094193638528957102874760429291102909396517091714262020249613675322038184730198571647657602964457903333115159665022096094882963917267916961950787445289490358753787311620558465012189435105142100695013961512134020542607221652285979329216382915856798296414360651467097427305719036587022871886007327271068653604453562817093655631000134664738535756603054178738744498488808442136171473865404289642850616550237838672387841195240167846611695740186490916807731937653891141334825616699525050924122098322622396953601709030918202551933163368507816542015514195062563341706778821022394415019108398208563177923169010911802389737307624226978618143942858779166324581401087442187745590762410387719677926017928032675949188470785331490956915626994680236280695969306008918240932373405344167813794356081524444843784633570246677739500348248091939143383089888951807556802074186097738670234853791334867259580983806038293311303180583742595100948718969417455862854130543172808869805931171269462476364766661672221167483194845261988367304888165296139965487876023346673009331850968072999574502571092270504235813261550263594629417561365341193407368467198459596115263669266984722953263788667141236799178071512420753239970544301582382187702002666974439470876557824933378448117866069386875709450535149352386278020747935698190831261363698349739306627780998173381954034316148605978662991482510703786314549205273664281446244019034276087045568676109969260866497571629907249503969053205640107488702865266506705870429225655190269754374280263119595239363388983800954095068238489202156430883501327716037344632742542536579737419627240884675855915848325750469207942675458250666119173485702514724712522942621044295820048214411514214906079026360051542079358051003010325177327514690979008414091254168379381727199910314805965662574658665240434158881626818392314004133995494856900524960827733277838648704600550543739684812264261015081095224425487112182228437109836246011065773416270515625505051147403457412695404039957460698887341716068479709431587574570985927630722040197900820236515406980421697638121356611882636779235290072875401778776880636342404548727876632948166771274072348407121015358697663663987938270640955930327289258676125381044130867395907599953172259475422926862079112298474926742798412194321620286151161680608104281336363963019375803430266204602186566807301461266433966644286727321535903345933917739195291952758900628857605529135981425183807638615710710700011618495689537226040190020458499515181499277070843680671696081549942972553151543623989102222355406149457928470023390897722238927119058538669355657940987951304748079359426778679989076805234493581108477277993388772943109066912424171570885057154188652995500764062443347453463581967086305701610385763470595249719658274214908625058363704559945866231592291352092674968739671080186733386716113102676445752276207908326781476117045390605010781431250958658303152631622841353498108102643801405267490180297007768692728845250753421285806145418198473790716961223510525791407194253597400273279286491075691606154492540652152134087173430829410536408870021614122988770350974585500981956974461639788675033538572499252441564667451588558579150448853224994328521555673478684201797063958119755830115580144675279341328722194770432364341582098276126137128176764950805603334545070979679068003790689937444960073078704070888193170330447933404123637815689660794015551961988222088561632941921636142916350393690438154448251309575443750571735225288685372255524420457262417936737447142933884501549123633420403316900669290895269624156897693447239936165574528679171021775061931081576791402467716854475830722611789435574195778502050949055199913987732840284845212348743605276097573401939644177089563931900158121002942295392146789474321015388830994761362233186708961259822484063759122189857071844046053060497589072439541709930792114199575125586172147268771360471492144524585752829871269975713891040723249686490389995719308872113416541740134437475698290732394087178823560812892591269880716141334374961193337652223444029974624501342807062116264014073262763397537146460268140786264635338721181714030082034340837902342672697669514141626927948277723903382139868499906486291004734283073819235733260588586826330080570813784365381802228942843512755405980818926767564530414617230114583046801981462794551835921332715758316226212026042128147013367710845052423215860936681285118959876847872421978322740877403288297996351000974497395809902492299507401585415368819605228299208141201873653883923442402844656512248908247711054182187694472995755482597481806647545661110994637355613064468370457215957733832950023136340590490911422422974670688896964647026162975871581537285778011786314780099117549988154099637879819693290479462756936660964084777570339452332620443613950594140820009222305589763212997390093927054721281574372959747538279321289218977880266937503863364678499836756318029995263737737707300150079374818548583060851063770832174074548232767131916260177337072831852488476584816069680247530407937892801964166812295748561840003681268938353473666336126390210570358590480211385736904695702514980348540384457721068175730736223797932830856836258462724825454490456595442977038155104927922109427111333361026998298618408212067224788806202569688004617019467438312492585134654611443490182296973551590693307752100214884628201291318793074122404878734978929022777000360759204422623312931460890171559532237961481725911376640796877531070120813866583915451120427339072589454793272203141228721988216213935808908329918819696154833122506118252375443362637875120340091080442726648248840916046459969355689774056507611318062884335696833844023091388085894467427931966882543857647094360956718501982682280671847594815251529011405637346419332015506480682265990787227405360210349226308980837389321224182964851126859917681676777269558309816421506596654961977176398335682567323056980869980250174907636299471487878972874710377614087164146044679832994369378438889117064491777150501993552224556346713691666985321503649126233008925369750212220321254175973725923643718201463811467812262596260876078864166178651281586655822965546937405605704768866490934767138983871370155004653896556326957226073664390556609616134937009819499836114281088801770693988419088475531284039807068654816621224034909552703364513211606524595480446999344632870130656009993574621681722898202275168643970506030124509704060159638480701308383875457920983749381857011427872223341798288153985890289475997403992966833081858767418065128708620615476475969619206973527980141065221068233437988267301169479531179511458350094958457216694213396735733388382826457435472462008991268411318260533002653843578494898027093505843167409487535561383382899513853743987261080469910898810344869116379771958173601750217100438781335587992960318995496991036899653373229241137806072656859374156993169222911904417444922810070997453343234096744476701410589328683683915333971678664602836588907948640907229137563305505145191926993208965859496782587061588228064333444043415953416572891611727530035458518141576360690755872677936267333119977707629522143038395771185443777803300545185866612369334593675027416303395549272727398320248248151688246481546325477281891846843570776947740103785581982269912704853208474702096156539545687060521920697173071309123261454984470574239738092422990833459202414272650198539689968255056706008496156459684143481814217343399751864960037899123278367345010013004042811660959785251040125564121126594827336168006018163260384762381750310054082391309569579028969674981027597914113585413236819221518644584947804393576575230479306816086794435189875301637257794750692986082248659294311521294565502030642447061797490713812811417169675662840987422014707272149267832726335831106666998472257802751571882508183678560098070824122591080398833979863769640054300788700247608155620848379384863295434368429682048700174816736518004428866274965314093280576140714739965295202624685413729562123007647680870399588551576266016226216607868119783638639265046856469118431611190121514020732263901982545281055381122868722506463552832819654357673071345266507334372860061727891573317579382509576802323677073426499271158586606881483537184806020144700934596175337731514778575513555026324260601686917090887259546103836324068244164029146040823144228828242402771095923914902526166538394805336289551181009596706555904912224922237060007690461602636196233816357420563631585010145298925147424398912689141774081667539507337423878354722558857543900234008112276193638533217015742324350682836919784690102630320961327352610260496243070263855386160980024072407728634204621718333853776473114503783543949485169991926069821699526864793737122836637014136575746270572961560623400958099083019538013446513616961464864659675458327565379039195554543144645247329457771462090962330603583912237432340160526054207627598800149130999639211081750148114463077114338472063131718645366638361756559661904144491307923107545384038867348826783250154404420232755230245954235308890544079510550642789516458913540455207732665778398336586957074659177167314068298404744868227424097905748896727776314358167016057063736454078776049276316039529231466562569698486551104605620041677197093768910998850766746972183440334409431803866396070538893457813336896857902680463384316712864463039286990751582528716064168076365125922058094823642374372873334862266449654860228714741911772605742086875554381357621865993153116279550046506260713240300926042145147473167116795166009768598392398021925612543072746822794414488077404972519988079751527426378760724890752194319229897705674801623030239876678736637515770746757379590909750863072680447931154399936255020369898817424027647759926165361998488202620396608119388545766388915242106621169293831476382057262924727791186749215022554115042040970679412604822667858760306911161784892814055413245934330169436381100511950738369836854920502251639548111637662989113455148933399575108000112071084037205506569121375631829413693100165883440531514843119059012951898237370166145600528404599696367221832731411207027993702642842036451531672388368573054648910230964428182334754890607502080688643577692449120526246282224347063543397849801369584972677740351516925358589092477391459160303509649645613546172777893150359850891485979093271744881984187993819793085137002365267726815882766071046503217689040264650540139564624511699120901075979715619342267447680195333491411148993940752898607872815141667909067948504849774563902569165694086907335241584262407886217718324104617800124473916855710886357619830518420750100637398061861395910851858282349348146212145890591174104626684717057386815670328978748997040682366727878900179299792753500976142361587398927093513062614873460315119568678491109216392757578630766558995109916721167400691873917537607077246206203603916906745118976498609189914184570516732607127709952968908099846897457101709283695897273646128138657886201423824629750573954236727509270177908435088862787878665708086497804670540787090591357599322446637110779235872653489746328250045266572610437179574089935447291535939206270377761198926604409029849345649093786204159651586266567545847193146438802920389217532773835950799210174275005215518697159474584491143753614000674363478206134844096509397066161417710309751061706046340255221880618361847082632597630854148997556118834804287638842965995735397196671492930122889306203604737409112048138093206301511473051749851136630649162578887462353445881524048194941568543362032222787595350827341436007599071970540882153058986100032465978815387405206610468148670144352954423596084653989854534690301163686908640580816281315017000830663261511558505715243423238800169565354995626671995427728773870307176545923162682603930265865494923248690925070691118057487668319765421957657456097866063534940296961173307752845505812884868625084898253162930742952015200603458693272599232622440623383166249881671952934261823576844941201255156795160101159394697132920275243813009079533002684080384560020801590792631100802628917061333055411793150769645534365509210408299681865206172044193105260863516570349047676037056721908997166069100959519483768344350929665415171527127342573720456747978066964306739410523739163418247385059629052093178953456827374562403259330844513299462992875955083745580938881078682340348291390303248295296619971594638734330674880691100119709594395960811040391990877722304484468439821522661216859694984603138559856029185993123223850464643615982831155123899719168703929180537100021182018574097380901445340726295761269663509397643911226164964618511404760195265850197852738414826814625216252529347377775605720824938959334015162423213682139769037275372749294588433162205883054301280388380477245509268399582320777038042603724877870434852798103274150063116190444418014161812137930719364584615274763719972553119870379452714112196325851227514216366002101435899574152128466733054497925864988829351175906320776938565824531332516475029915795219009822361234836601128399685282913039965599086743530835159450034459523030954220856201458177717397127967212256143025062670573184692116011218862416141684606197109724328001548277191379643418796699576895582813633198501704364962713000475774618566143132318114910901208126142750310069879869162943777057640623588867646639208992702724861141925856722434749942783971081573061114161722940308919082443926780683015211878619496426055754789440425772876328115477716820728115593514328655391113896030359654722434558301313158794184807289228716437453863509049603047964862477900537319357474390308564759320689118465154319838549558183467012789994486412176575905487419304752842218261361207086239452858513534167172892127521242162267642575328870543784237649766749255193120853142167228986761579844167468672190257988517388376479171799404252796596151004100938608390198631913116674811641669313442627089783854290598360339069893690097913889338047127688310623715371465446934870802367732636289899116127944737653484948362023138158348709669246503204434205118189745330289647312512668579550899300891975839530129392500444665490496983699851868221016171406688534635185076709445014242092578105949879557737277614059481572864180601549169462175001343565857465409003795798916048971118016542351398216729921237017632180200436988509952857417020925977760764248623073072740837389842522879551488284495180775285187462281043953307651755221545576919155212894244955211559006415383752949019029385202978535132447349119275999998167229856188382700301147373165556246522202928426194188456418360420032356542421333562107486721855540137822229201377716064694155765780153240442595586052326084803784047278360512858671991092147001246195370611941480362945280279549131947159712280842119099090695577234515976205724204014656139256322149100613813325400507930110492660175194179586636247997473856213821620677791275839268823144571313453232704873890759532478088465127446092285198115037333609913973389276672815270286567322351583744283823108435843987264038987882187296008995676004713081647494027637783028769060817285259863289075742084751028150260275412901489147157074262668369144839128923520538431215981584127004524192427478845908518747052165061547046516876982138833776720463208761215367304637580888370500162126848874433322025166467084064457670645599986787938927159486335438810957176238277500726398208695180494382287311243200534134434270210694872449391799696064995895999540292822232909886522499449452644755426840122519198497504991917574771650790535419980775698131644988898440330913060086603913403980678317599377340758473940668900817969225304057317647822558267217028637231198701275620499178193466674187624856203390254409216147784377142274985172955011877853824154745438120266411287969400875689111940912787141866778337330952093833189647513356210473897015838869391447941742119268904758921369466076083648210850030337667795991822764514643219283995502197772135718148828653440499152111017483495101989613417188180246674508366091932542699809497088785571121959315946719921596501649741798362615596172156341742162632641600223630012126977642865459269620915056635549168215153331572744896776938523754415663084391700586173266121565793607088147460461225622108815448363962909205607472558300003903293821838232436468702066452413317479713326967880152360352081355268081813993089083162914804435506794598776006213245678922811968780684532108015830325052273164145170688537850819138098892038543936032049280445540748276529277434587319676177485941335468035415162548320492464593445252231460677460602553709415329796295113521122523213936955964941788325854763285203074031199589696626082660914170948252337406965012768085826506722893769511975312221133411274162894900915889397738284845068577339786590041708706295062002521853558946376036704322631446638128228084290574349195708058649677762187128891329366656697242358418780767825470748740702473013255679222074948349263307360523273659578931601276698455313244776601799256262711323996653036723557438534742600777636325467344388169190710236129799502216879402950867504817612469191273418837714772993189996200278078048272541638419754719637162296527325002423341825130701810462111894399507134751368502930678117930483115972764495220687718842954425617695810651437225006132254890459231403552818728014267129403327697788563366044828365095496923166131093945928185571127573053551779719819075612481545480916655367551117486502595313838789975191931682963563638202139539066432960537401203958331634992688171264871570190476284067093465430584827709516400960773502548792750528213744143339934958175461060946911562353440698280841235604680079891489131606902084357400140123914314077704113714324315375550000979618636253740750488558901390414327529246944001254827174016440498563602335823065854936450433438002026548991161209031458299104081759293015643894433330169091404849573307623301875200956968651091051217000733899172299708430152109762549446657050722406187068866048095686261871995636225434330047938945970557632462990372997272043045544997397738394700476509208706675180580790776522245158044046058007935437027381472077351138737126209344593401630009631146964660622221035110937630414353729649622752917053818470521937808974983937504430529630076770614928364246159333604650859750606222555722680537821283961336819948303952412318095747588415803276643480229309557440371269932543730035474046565144077662787520213180417665885397628814309309760165583793065144004189082434999655404648715757559848900892977949426412958636373971459477891834586881433870871348245936096964911961549919867752612617472361597288642793143350452349040591961623778789451535417590464760977360129824613433505828980386567035527623116321653440398760482904363647550126238202718212521633515842673051309907954306129518781537612362579240717581089999022518864640403687839881441517707318443547587490160237449171124824970062161102145548353093913501414392292362332610851083368087881672625336300697487601084437378230920131926472287670339060758754645284834000824716267349626817726703220333349937750111795022316989598113797698217766193338599082368072704700377118172204480501416264810776012254067267245059012057640276741682319448275223979906921963683277322584508778643810177667655776631390677546050061046357623729958601307690989081062581489736717391805872415960513980268710049382526123187361301642490590507459109466764078356094753202226895378524301602836391136487028410838146514736435936060495373884411273759972949711256123160767905837414501824915724687335749750221820769799595810992753869336097431529748269806021431168103642590373394305776904628817518908868761518930814428610744812440837665308045945930591203827196241867501110366870459579749630295731452356942757277538412645502216291967194092491229768563832783111671565586318281615570521688527822602045966469478641685840849504347993608023936701437009883982542476287922286766484127102843722746005965372038758567263904358402764663430664144932195772917515667445188788655836796085076318059968626494263480914082312909193599086851225481506730743059344682364683336196767373764448313518898646224040008207726637319862082340175622961171220038902562238035727068759125279581517246092969188358518609268838974301600032404420818390180050060924810604249920313640906660547428881665236123981748975283580166915535948736158696139907766774711739470477877927005565504702134761043087184739178640803504967675184571702976150957589541234758822817172308641977194197749178017839743987494756493754978754851901709940379130053412112232842547943566892566425886994168070896456256310299442237892479303389565935187270250641751320901459898446035419108089936913922533421343623472214064293125924022023071607903787977913813256083361400753160378729832198466885441426637478673649296144765589228753255365000740799610963910381004465162729374166560675689439117398398120543469565305130639051458362111610266762178824617929441853395247509003594736322934298901711895180137498600120837879406779206846520225031650622561373901241767054719000396261873851819284906523145746343697070760222411904352819352142911886990748429658269455615872673996410780457062308494924253596497795070243520185965942187108833670362260809309129760855565322030167162743774942756781656774855160931414255608690234618125447073108130602183375593589924556717439632143321245045628420950756503715629615104703586853663093538705921772631253876010563695709459841631887638427881575324181944916888331590727917371463382605193613090385884611641846885986192757333042194007821748850043637384196157431964566797812066106051937685721454653032985840281038262551900103317716051005635972491109995758843323170955926806192858170680595344719369485234951739560280481513535663591307323724076722260993455828018714036787282684782793412143818046234092624706994983935273680995338455979205901934062171999646236008949318975216407561458016135668706974631450968537617868132734468467754668637458724556037853771367684010446425280472448293169381383627264522580770663394879347830878668357234992405072707583225564555031283832301830161806953622478561415743172677179081514609020416704680071475935575584054401941616045733631442571470483224150863921967997404782461351739643079310599460516391785680198631038292966721577821014190814802469166199567433160728170843987061264311519232657878991235746525425720232011391948205656929038252116199732939668571336976232954361913419423109489957665113493689908528898637568582509102237695757001413927629331744777348213097221079053041091301778113230125505282766081624828196810447839360916966857568269463765998200723536838259983011803969888309259284260785098319886002922549861210473787474985685377152345520507005208227438403694722800532925256785495476922215484048936018732254231392601939309656079952519304417876500589992628005900682330032383428096026441205235967233785299226595497674840879385670578810290049503824609388057560086287048189250882301558239357283977322270645756581805156348999814793367450165165711976499538892654289070615206939963456367208672966320714749619733901756881387807067317329235935734999281871270030476757621402874055938003642716624809998490154420028194785886036108492357811945502494186872383275500242853106999038844438476174948200731523947645433614842417190826152727764667710050630816434808702508163672168731333913982802545625317159620944259427161606246071592683251624517322513452475403734663130910938018725517321463095766581892573545908666392778203007369438860712284080263156869686332016450520469565187338768693960012382635039252398922292228591777095761777041346632423369486654405213389680880448206219182910224888706913303049822248420214679880002960351435448646050469949309163622042162876326785236014696262311161440535569733942090911057477594753612275088213354441062246093340574884117975535786872439959592284252878076231862636200643890425842866171171895404986662647040306198951799361999720057595413103403117883919599732355901449780689063410582195165129313582396436878889172922701280623085208392058001531841843051417372384636007882749045852768506694402565023410676137654192511949764257014122085262596454634101464761810367804598690816625728732599133999049448412722137227594752601635963996879442260173800188892798416347390045986435032612516835976312314640015980197128574406161338322932521868972795463536805677974977236608716698768949214916273747111172399884832707105840161926690370091269654866752401031829814198236676980407465264986040242222260047949533192635104445371865829708056741637070306399872077150706697450224211404631070081997729333140905663835229377262861963050141135460183791620192472238130167888957728624812358192159443889337249131136761002928374548560468334066995716137950008575549504636553520755122350256439763307911279430933793683685332549878209047563801766117992138275401832836810352366493242100413357515037803329538318026789977863258618181182809801182773574431885505900615532779950447211903800195491642476401322350213601008410510725593918274172201346812995137458304873887316131450910734282563436864340167913549492001022629784536609561398986352809877381178579432789395529434642880885599626887081226562488844848788780116556121922027727007631549175818999210010643042251829346788569181658834888680095448107652254595352233173481707938737194309123152433106757397416385653384386485156225642873251020829729091991681928982915255163456741192498266692792501891501482375055104768622482830871275878334221531453533227669609399237819474835242779143163955023397144196603506509830432499494201454482206662808695468049311486877866561482617526666256544244104777144173609091004421576006604725890240934973056093417976734053747760604489761551540532758422751798917662423835651955706113338125504691883086084939792437607295419443470860442721158387157335465196976312722992071274407334551975652723056198960260229927917685256770686415886670084812762897756049359526727091421452813212638837649703712693905031526142364550535817883129536003777763110029509694051789841238204410441909678794487585956080336829012553206099567665148287253308937558134709644299779820434301897704744670258676037522882419051558319475450888531763150765246947020864161456001687788145828570620566783240882507518196644824905675649106627177575320365984450937698005844057597103011257280255455123490099331152038079802075592428080148828461828463446848124504955638575296622567062029610489983233257290645701850090924821861151980618425115086737501446032063572091137967439387328006670217885905421036361420060567499701875857743247777571179463575069128784231909362554813619820529977610206792796738560328995764013664987329562876444895971816894641607345479056710164732311010643157336501325359305688949642098068610929998536777785022617294430745858190082577977624892119652064875089963251605501386389287057142036520665865971047926088300263838343592602060569643222533205201233580157119138755272288342022391930936145848746211356692128910427795343314798169168976636690706787273923466386414619821383781909643536388316706863015224919790118251740605276450728629759024784293140181569432442611081207687033628292879329915101481326232758544101088274683204155210828836276229702296508149363399420136630403082775089833041551689214249737754504567642737341280086024338903585381993352555624267669552977586517000221032956273677286374271815282898510673287793290086855208041951539090704394151213250494008449158678268391686047622407111909100098792529088390909584659765293827742259180015121333264071889009257452360444763251201038020769523810863339947099134762978812792494973760872204781692902493846746125008273404552292165355074488276498185069669229605682840474952282136849354688042771756563498986110019591319970255796888629822406885634009413059651896206447363024792144497285229860446781465034097652707480659982058212876938057519064287868225763961617783650725507906383076719969857612330815945890636526033965229696974440001107656559912531799327060899091397601813200076865813750018727414148574711885348362266857294789650204442710710176766815101252495981025760720392484497520685069146703440876137535235871287989038313234010565964221107282265732156927272682222854550614171099413932014087122212494319126206628738664965965535710038786199976841647445788277444941387457513557507362312544422884605991095809559602298906175983384736305708521396345290890768786129866673801467786006598685875035778457857683771781750245790370136277320841238690563332369925368362376537345789395748095957851509626093735744173344136148429314208283901704221186790085576323096759267781916453509839038123945929846171677395225910371890963797999635525571672420043800213898194451481037205819065615179537095942697921279687351537982671331861597577852602063698333616013538562719630753246327090782855364431448436905526036348546771529432692309759786895402805428666024541553829183165001859453280975068922561407995909992130017444776996775918890878924465638392638941462436485423552713256412488533875054469285716280429511129158837188988371151579102937875562386918696035838517559326632577253905577114486516921718635857099406610739163132185786855928125919361271457422784414702715925402624770232716578764651438763221943603596729256803093036338981392001789181695582821183646720920297521881549180727423627166602739394034171412417757882021792859328791275294470356861413957474231575987096017536923176151135182411849145722217902381285206760547567459556224332113527755795671686825955544926931346381493294662347936386352716579185126726452985658503924313671417281006634694713483547379426530185547251882334392475625258323038943219130070419529582269197299289534371130323505367681345768968822403039238048460059417031757826972733884692141915055591207142971664103760649477568267512585584618046562184723166185065267159198764183952688325498725540963191039582974465081988894938257654209502565195045987020759693463046003330373278131870241540231740073472175718762777419667688626470099867949655376920294848227240050316275800807665339112767351230476119778474905843035020159466776969783649349918731736859917030740254152665854192306349561831105434150158748801538984888300860436420552125349867809742975634916925604808587240237132068920930007932913348792842813263162409038778685619597369941612414034474430310628103481809340202026436257384920675213487005625812908110911598331434153659491184048008447307219112954385781728020598354789054639014424507288304680758324109114174238469782729074821360183235292369711133934727153444005118563351615924823219245566352479824116648944570946654021163372758607089934461556736672285329804877684000775661540831993073654508326121057061296909725930090984788852725048865029929478694795611812011719466626189641939962058447835273734349089580354591544409130093424887449536938977034943163973931938105575377855261681141200383240352384317957624971324938723853518233773558182289641603232167020553815797808344442424438396421515349894648432710926769534779049350689284881250628709833402726862196969513934111818112599963353852877303507635660178903902938000262148358859386915325680728508928373452307349122470652251386964103207670030957406218535708832485396766652785033821204018144611594389980779724580011105850269356535214721490416531008794126131741440716399145625379601169653134256056882297963178285963955860148223630545487069888072166950432725652124741437501858265358798892545562761452453776039739234226341451773951206573791205277008601962952184220883081377643430959875826773372898247108888528045977246783643437654903679160791133041807004122215127452833574912332939212030918360529050924545012795037378586116948483894789572560109968882954291982688770965432365842115935304094790916132145028932103273103814183609643013779506557888475853380581299331088594491381845859461279686008925775714563577260060413406607650509443965544708865673063503071866108296606034717751557060670772379784221353380895968462887098197341341705480638636200947275794842633691004290604079925531975845788816720862992413088714823832041729927174625966304560929594499681659774904614917205319421374393137997696338718820151691606680584162829648024512457240274670910373391122371693058921836721435112120772332554850730352956684902997512123202111902367446826277788659877705370970263031577642666704411794927578992017880104470860849735266581890079026132062027784036691377136745520511548435738963058356822427011901986556426213210862550708561256686747591598115810503988122225407261626318985088424805649152499835858846434190118679121948736167706184833757037747224358502618520598526255663401070971907438280859566016074113377821957682676540773111356760284789550081491246486930425554723575400720210444107617176117102019932342296799961327355691143687597428450430516837162840941958890180608128602862158685850958407185361385707928926547602935000143257127120042660955297112619376783390794023283988293057005841263884583033895011567010787210470425637057173086559487084143892987252640818824569245060191652210458502274349984042519061650466124273800612363893249266058101693109506390248939495266090490420938861391515907413240006461016139167674917794281533281245494340399150605091906173432894432694976792238427772581232521944329291043684090456380551284779090441062423525681688029824503574775039823120113090778053443442883178348656316669313992803951029310958021406748057999094788939098676988330178046026061737835828830335628130090649872827450485038572746337817839959262393443065864700191762539047738327392730093789406645526755280027893483195024887153780263662216207409582981320192719621376931000536252215160526255263231901319077338224535290006485557870404815720019724839250158049570735325417046512004258473154001559544702641025253776768961725952877589571999069964031190351648975255223890924237615068815932855929531453667467621034048147198534260353247251440235333956837101681365858407934277835028984947549331494456124943475823648132031260109000299481150308049203432832257573329610694386886051173149287508806512934515952600293305110593916637180360089887087977607364817545242188940161244785571995995836499340631183370171862219900939096507501718824524531235436257884257498588660883159698989857889698042248214925334806654743342595465624834675665469876762610866499402835373211038216906679606164132477950310420455836979735843252083348476439226887207201727356651456028238161036674471233481928125369487292713763948329607062355291209218574440352319777402343153162484364389271266078239682807450737454141042381326662546894721170844064462944828624501019415018346252931633637243743946756451233684566883389407887015700200966616849637785314364186776370200268881736567378453939320402007072756427873014785980351587047648654198057741198893868260372043387331814068396554030017672797904655897261902641432759632115311265943178765932698244549495957605720818996374924802736532923736573552782201078567883551723218145817843478389967726092540786433535364051327433599243134691224900415487072956147839585423240262724215870835856443025657784953945642012955949559007784402333585426888668821724727610878558614379052889137205825287218346832391725932822228104783039903853272031506410928021626612154440370464364753047094872156307948303293790345908252737872809193491287598530120571940966578848269472249467464455523094970993727521916673339496432802865613642987108806954438996128051897372214948563256190687132635201436081085571759362967580183568155610215987024938913016392288529760851707571812119826741364415435453850254060398771937495510318633164459309997674124107790819014951407595506329675128713126656323854839722924180262777597210845865531449408221870115983702322885476652689164100578147952082944794048839793926536379026171236409694323529949741977708276081473958671833655635457046698550383529653117990712712776341235966278905097455370356389115811155669151577303325018895043972825060749395856722967409097150881635092587132745799287885811481440078497225120096882946657269879345994733961020481324413106458340723522099502084540815767462016034073583470949391442235348084172874187634651155764583197464594139133866998284158235032815231742713424755458736812332629225279257527048070862141045552502232973656954122456082636147741419620452087364609193079347682585044168540603138492015938080086866467691538056290463734896517946273924713641785023124274611493336468322099497239316033317639005554171054693143654258006358571363414474740577832038998574084075418085473059147156889835205885306094706099078178755832654504141173305480578860753591084993363213408768769008258298052774020784001753674314360051270834292673441506345272656778342720015737749284477659391267164535687231121249052406934249248660881984742601021236346966573571453015985270390543884597862544935982746062564164755902178857127011148696472582361155415976374028094423332661406158371403857210644295134315050811030250595306221773031073579066885402491641689774408399159137814291764258712943684440222245326251009257706046597115339089308669611875746067202988374223516081005994982641047401481597202537063982800374756532341346980925204011169280369148645935065265386347231698783806834963347682893181313591880675233338651255912746817471928167421020411565619518486744335464815456807511220953540388670172657030436731591787722823645694779638682288366141478435932524293347551209383618923556496706806641648991787889617582782365390031556896761946829815022725020145511133279586292108416724129956333288975274748871702712889771391151718859361892412232962819103200147819731090462754176019873802180637594800631444651485312067362018707137293301687251644301031824861446210650152959853816115015231876438062833717005328151435925902806483097168410855804591625245874261867264683554878556500328328899090371585706371746684306353563183166751604161259290827003407261383636984375890197061415971405348342061907376621707740417269068593549555952250090772176944457251362704770454946355797011767277978052696319973907324327765466430717814296744226665696528615286193744411382499849352245735711500541820229951637022236181873815969046595411417575348878213078218775368844360595253662414502235639328613922780539899112774133433693713777910281041652654535852688201536423588228487251506247150125916666422435199435591475648733994501474471011894733492218591578110830320165833535937044403002018355010480839802963729540539124156376005905089012473582772627148457944424198687792731941423314627545148651950303527983219405449554504105067651895172669675154588920720302682798581501500724648055939324829671000573114117738261552533579288286079998790984094071464921046900526250348931692589080469197077652976261301298193878191137799616613954139622896931198084742232200782569188725369879338228011816560316166514250235301058746198655395280605997233124225534193945488342892285282718662618030640325283257162664063878178086229798825749697397862844360584690759622000064703000198371623604184183212054609610568414493323342548308062557815595866125135272991735391097287261745815907934721939190861908933269849582506730516409398080888422359608375479239742457297897705339893468936613650386620351004154013676090992184452745087453838531436653662871939278862982843411278759075653181942974707128350843734695787421947195990880443967237032546246611973959655085420074382861068040063886986419785201928078295990678064764493305680431467859508232207826097293723239221624213182615232053669230850244161648514199168975399109686739355987336392406897421674790221307111373676187202758100562331205857008626142705772578273844516012495903030666397831039889133913734899711238798682952020309974482152624470718707477081272093596984985224806488237721935979629524192198259741318507928603423110574286662149058343928510996855475174574337754012676968619578382506240727202350398789640552316521636886125085030944712933498315488530532071816380587984246625509386003500131985094812237859806732676518096269206743914047102489732484882997852943883623829605323877435514342618649514810881751659632155260989028303686525031616512930215866314031863765736882006435298553390835613107715413141818052244834791328389724760829431815844019153637723394312549925060427149598375069496408984350253760363279510695518890362753627271051478877580720191432231974057686271536793146167397276899921433852670521205633293525104592968844994400255567710017756765149091902803766760176013441851137480007475252169308632819062777600749677191708470409074197538138211029171289159004834579279299497780323690403881090721255637530395393046755455939657120609888239812621559961607282345379275650675146892271947011965163717389356106009591590196919717214982117813622496147883046289456321206783715804554952612846004736044082772947652927587267515102090333256524736748948856205517114921051051226198092889977249362289410931590051874367968634307173902789040020614468871390501691495268102902830397669160837445438075051048335813869985203581860350459793572559976355690255184958948387550440675217958604783445347258490276335629189632421110804706476870107145940214007062751531081233935985188704792046143333507294514904816129602579023433796974484561017459713350173559348055463894385037996373229150768583098532875837947452317913615972195131320743905751182766470951587440508707135484246886090478652033842800634487149331518841810660197558215521953548282271245789447292718475937175951584955764945566158757099469338772889046256048700950092756527636535947356023636583350426991622002509912382028742597835522310441864077234157945982538024571988410979188026528497706510088520455867118210221392989277945158419272470147984609764037779102632657946812073651002984829583754480256449521966488590388180327707537127246846976858379695717915585620318103118780076137838008628095885356242368049885807234065013185656375307268749027987111991101254404511337126284466990392249361717439175139379085526294713822979840370647483772139393580511612627213543695233536130188794513648188165072885671500633886614179678912472522969352178783838901036311644709258926770108630497369470943511754172591220606607279359976281512056428924455646182722387723884387506247757728730315094835431668168358600333151333245663589173225501952941547146978219966768725760894992484036037079928333392484296614264948202062213612901522513472164766768973304523061579013213164966106581983230598477711825355266489803638735747265243541526846025171434042156671048168493852221982783262439808070457627713876984872277775790114326690814990187634971368624061777350758967126005411451252446781659713575723333403600831259096875860911924434347078519354460551981088257297916667639416731105513725465948397412716589882927878119105861536248384736110804365207317087141429416637985290057971468075435614487866626718252563326632904078140950269794951024560976163616015654244029182745051545770939617765518148745784508319568221523773901501186191389674609915234760947974170894660490630407313652249592770146530396297344886304926659721845654572669414857044850380645949294093105436967195171471431287816714558814911229897567279002069613186275453936861807997145615745289138494870552793735671666925867982973963184595714586584548564310711185640086353321979018783931811821844292060567814580169675081293571989252574782775606321852543135238663204379923585091963409410810953384019099543698060100246791663855342281026415425059986574846931648398906340672875422438872621272340405855786118766500804694722711926417505647074494722132557765121641802700870854516778194100184556511965092458729480011677320608239316930586365533226243102581047123517000847248126220989397166637748519533145593213535867459550094512348453212911233950921936218052477164582588513178892828622006824427527324233338313700778124925961200053172672866677515710969920995684811338605513603527452000313950554907178682375444527684669025523181128923228482873231726731330884462561539533538151937039997123217190075477189630163534874359258682604735315791491217917786644154767776436612761796994695575022345984739561290149112972651812296313658335901109512365656417104185840305052546236044895745825247883049072841873094940279656931575714662413686861192243506822562882501903781440220475788274394305034163172899764034713357369858847431000809877644247633842923983785943283855636298029885180206453731283197130907675504043331288891677342540243150672769348779961781318263556650517535316771999548292248106829445634650651051491419549564343061766815168508598050761169190333229775868129879513093680512733490691866393045338180578935188310604869692463855248872746033530531094773819736234508352636386318847438645311808268512467476461061097383206134729976696712757428221925742089867713316481754751346298301441131535720872379460180476575458072381289279713544446024413461681536068519780920700221968926046226128068138549371952482353183907700049919087444909417687478472832591034984759624093830894517381067236509449869508321658091475246644408134778270014856819772380780333513489900522372190602632698407561669967534322872431258410491390930705146703386451236827188182950501609974477664589691415266221178449859091165157019003214672186996759628828860163100177744651855809378043475099133926694711796729374717675699768676960896809041986696468335542721852561741325006135242440450065813632647345687718402954479909085519922146769947925018231446319070232219331417636396886215001727768962881265086142781589822229440695868376248997595167280075572089789744063313967546104182195715310989481286583321903022797111843840370670228397084726737227565216096789863960840076077001471414598329054138253977186102641230562070225251422271514503477888016736898421071160338640658405932795023409010547468406742922912654154548211916570378611322078427653127657430448191727115854069415413957625487879171493012733100527514807862025497098829091952550540637214656418994891548098278736103320959174229970917890845080278091479595153364294090633461189533959286676218090037503263798759837448710061554780555642226027456400589315538478113925353884725487792310130003953969939302328980859965288106680327356592811363738647008734097620677439868361847617425637878174861572060373578456896694159527447613177686408320804330976656459360247815921867254109158199076559075656501401242502211280323432841846289660030002106814401282286805705372145887789964880035059978906385555450483228383749639598164217471422342268298381046514128058279926294238873458517353972784790243314719542945422641629235054962400641079791676489070209078479126398597310226338422720975355101041002577758048209359066601549216735826028076328917678745858056520306774457145048941332834498177598398401859876855672298132425802364675023706852544355894465831131715220184333727888778342793907052170222977583172945907331866144032205313069699131574037680565655782222407879749927589231960249240368045601459167764260367212222045696736764199131678233415856240113905890041223341629931041735403106820396406733995936305517888713436432358793834506611827998516966749016817941397654963343256142607648085019642000542265718964748978304863184669012261453977052671681733929479029007044868434701172243582821423224123690136173031585979645428005903453906343084091686770185015964868287105116804990062304185218449626233190953571143787403620680886119622319949184732306402412710753317642193129805428022365920850398492468592849822452914767058732637664172291573261952421593278934408848321250860874093506107128503036378167115369335942820463989161054503945844476204234327107204934977140436967703032553181319161115312601706776028075190609342982719858704265883090838007561144150166948750800348940337083204540500531629219054422341127378858205434646731837467708545489243158275726896624038767989800474285489807326288466104271171075680509941416581458753361011086972325606894227792297037750105404304059005673620659957017222977727360553523190321290764018665896483021534226450905418346412480083377121560433147464794329869758110999255016813083498296746289259112519393729057851464989266046089027311569779656829554957542317404261576450022991116114307057889854904171087770052808906018195922516960104093822000290340623919947704918102691723923787949253772531501249381258488044776591929736826387918603980361623218790028834201828681630525066503428218951397419677577906880680467983345115746097169551848433961301185156948162578265809314515308478914708087125454942229414351509514256066486555638643030379352549916429262967217767381026805686181687871790817470188357183697112070139496282729915545142525294368632553400895897061821593368214474091909422637456592485660403844663239241296014410838133289201581742017888830078713976641775907855163858013248664407533683949908004440004357035590492272735668417830762572157426462703677674208421640165097775251680621996584724000173867037964057004077867663537706883407329470810333277737111719386835931853190457756434366194313254948292951744544433954034982737967776683926031917758378781930036519214094338076578249496447035368983485130671707809201798091239039244965642768566116518254983321244087099684254367899499914960716296269777731018265282648725992982709973489684604971018871603647913265535522203011545593055279012520240435415788603884181401851096581539344054011849222473911902387411118025769623462852384436931924102628803490852115194965961381635085851636366550163596701214554103535648009621546610470880721944346073490379214691006418791557626899765602413416633104381214847967424225760374093551675478707770674572329724902248851058002319043596897475388467994636650719990161459014740261210222248360844651483171255149501600105350269359859257635166559150141487277858726743746995733588240835184954433904076451438789781850452941205461033065575106574947280516950402190271226068203968236595526053421462060844504436435949681929578747119311209219794836651691574034398248718624278105116915239339454317229325380616359433771041875149024165066039527622850033489333868876713452807265409724884946199960795127230792797624430171821011152433968365132280874974396089715274013796953166254612246088140204667994074509200214191167984437330475492445171871634793832817252391276651575336258811829068171904201360091363386044123510246545891642789111950047399644592417634302550882652696546891116172148069657294224153411089986618996619621816767730379512924679129557646547328414226535745421691245757696294266138633895929972059220295562283298599517498573630508123056702948752587476323589758780295392241835204449390686448991636204017002706093878657557612898199945995045445598751410323160709857880727645332579927128708385425419204163974501985165228497546395395734832333743292256007753286955619135164815676221172856117227993396643353765956128728045965294932592451927744177576688390389640987306282311640384711729419036123051751478282231067681052076844331323298795920007411599320780901769742200243364561357889623402180671153582735469797916328742969448605975048759408246695859812504475734867163334457326543321173332684565174561234862425388295924038540898569253961179748508947739604992850995935436405844126132467360499035422659337722862467028140470129970366718663522247105296621066910366691877039565006744103795510086976855950203177757015431977217506903941820699121878166072971413628874155558837614680387159655437532714820810145850337966334222141106996335926777295977875198959951179042659370478521041985583685369944221386072713986155955302654087761994505360222895806948683152753332835692177597904932282961590449791469422068911733930118831336728368886991092981601993927809039049737530215602478863196483967759334728143555343379389059750442664604430048284874218539210854117715046587120106615255469916278842290197514510346420141557178457503095973781180578552535069281552278145013919056938604942147323317603939674719428849835723246057241138845324743360447519770418112946207726733129832595327667480277749005919826964218077578963212150742213278997531196322402995023987499022993734532411821010765584552530500873558177844223244578699276581975193708261257287059694021302117480701651329309303988076932257404275067467165863182273360234921118996845894753289034729263938755139701390536256425022711228354678571787834387975477112591395788970355199131730788686475585086226414091229160828035413496853572559168246740891495056220243238298617118547508929717411045939055262080642229624871454266634710792721531200048361434252572329611884221068692497561435878474321490680716403112096021039310188036541868475115396725919743122528175284631046490397345485633433957369454292142563806413913049606731913671621669740169590415407786603755133949077044670938637599070259859806897014465055488706914914386886647193816866917148118477478735067351232648036361505889250477056794252411172652011950976626731259068096907713650156830208540094947109562562050971314031013058354014087954928389040465194460228616152787558144866386004790689102263183274860653532607673409800284032104741138409101263982239233747335812829775656024323688061772238350892805250317831906776920175142756990080001216609845181228899095902501817871277797438648888252861244465074212323522067067183086360777171392242449213292845603284217191211430243969293353866808096708901386896906508722231166090247442491221571467971519992366767023174272831099642734980139769036460725160439019709464521107735206126868891642915494063680393068194307101318010589408872670428818041524302351734324939969864237474721369352437209761075330611708399155751045782143376671374306995884226240340361320608700215662858031148973749221751801303639597944575702005336705701786295651036502186907075714196445953632638170096735967038307347879553192488709283842786556315944557432690734740852102221979175037394018556847960389202828676991249740218452398474807213551037552403205961281227345030576765565595616737087555683333100466800179489638845006145537869756546091926436179375544515484652419704769538718839723238167286617735000213644776605888772408005579821976502075938720248610386337043744620617590344553804307840484453465674528878709803333038487537498902881753704570218919171615809513044403682695118891523104883804763403791641746096853825444703681921202112476985195883224740317866345670623876827001922338155082126176056775207007693703368723265592397782435408239319823857606501736114727306126753648468016870056572731823522743035149709256473994560559593023086317309004945633173679414920100993204542311268110978223839245884768977729771176104904380410655758186917314942327201746793087263323399637657937753445602022878191687783281140405669571954208562894865184603644271054339300849749931478909634949427433368470585301858647465269184227006609106200610933471487157289245241062107621771656749096943409955036389325759679259257361987695272494440645164317651285200448915295519401754165846228383790529738826860345600515274633476994098521073789479956291599946174857183289176495638150417426747074046030444799525689157444983541274180812368098696699246408382305172503945634800223318585207726254987218150047293677439839349150958803532697732468481721373232652789930992173763844601331846210824411370335640696122516008470853280789589061441005052657008215048324966021130686887602151404079349148356186770941576456249503949225044574524921532765580932514008887214543636634699588505452593946165802527620813564618905254284635749385595528352985199726849050373554133373915692708281744351930289937611268949786825617470920761085492605679444210706099397559182108003529276858535028842489895763842359807162440768932542715799460415965550415763662735082077329639166827877178179649525825708204340420994873476615912570321384301231367473880774022383918557932225808165611153559181694030148296891824339693870325769864691066614897642023531711822193947740623281395970507086086572809917333142410338752727629421373235504050492062962929720414670604427528540350152056744441323246976713615181644653479751525907164584510493588001347706015516240696105876876701775411124621313510539303800758269916795456862767127404537523148214198779229503999093364767243683325389762608618026100935738159863734564566449276204782125460041027215257336924089871887838323775090398804354881599552846787241852521847073878687010066054745394564974820768273832589260715766871772484421520447068244680191405430197917156518726339642128883493993547576209669656541121402693834726494681447965762219772804609142140676038270232006452476185927919749458396166501171251274844987667250066934488307050042599662552076596945310153889195157697969572073805503810538158793561123877447614443856294772377469116526895029166422880949106333430680123971824258283188063561567969721280515650259734698905694927716683928078073051863008311931764728136424781552551433798653000596028706667936343139748729155931588303132975877396991926527820743655484087275779370781595653962702923195510301197870524651138792838663168042961401259949720008345137266610937566172139756401739456214745137524819875691412343368793896924016270159545056556298760600772385443329456438719271831635900985394659239655016566726552063423980158911120214110994145582674208158942126549042816247090909545118237300542332975090646041800508503797198509358778370593572531915451650490637103722747716363504072305597730700874952152100671308204550074988811500728081578099125118747523262106046572887375806073740412526547783385907626088001545792588730262123835775973444188034412301139392761742577343087525804277900718434421355843861458826760719696204984160720408419977138931861136367643052324392602412039140270684127566698663529837048763261996781990619699985742326816579856089020111164255852656800437078561081042826676674046457881172329763819020395366283277882191536741754762292319184776903791933487890457421909175438215474391203581823368323493839179126690611529526883841747975062670684941886747627540924231595910832289706908893516200883599133180980317300533945072120072610063041676635019588111686945242323332300775909601744184053265407986795732694778883048857545986984696792987157984674031424101688339504777347487367506045793959214682698775823065012297530147513246643635433617123790031665762378510038461591014789218065189085836598950437692521351787934337286602846877089718978400482986726013164251033316447351366274865225855363179592196060190287025821045162878254415209917084089909628506132284332171234112029397590627306662633591595655141682298609514121324293198348700657896464635535939368214033747195217255671909750515628359087263021686296096269719414953412597561895303439081170742348963290357227625578864232976683877888747876642394093684036559474579630307517175051839523310480010754465047150373739008813840248396276866583470336146983287039575569681398533985087539420666925397655075900592247825404605852877612498042785093222640632294025317345282627933438718855737884008749455374800039594826068477623914188875170087097267400255571819394745720465471595006249041972480276754919552023046232757529288379209915022012858630970230813332064564884260308021250513812256213463825009297519609544852408029713546995274880481987842625542672150899494960809507590809909337032553524597261880932974024926618761758454341266384868375822779362161084878540125469776901576001687781496037429341681013962934855751547299754226954804303072013193924349707505616127803159352980513302993311287189885096516590123854211288005092357480747399997196598121172143189469932729195154247528500422940953537587387266787974269438926953901641143899034744604970501108493138841206317926497507042452000464635633335303048424408647603109818974225461068479478435983889560468836932185816886194117827731449562399835989001397416639400012326319317243955275281250490534872058528395037324738644595357477737902938993538870610651515001529745096612301722310426383022067486426127965796718989241586805020829517149564745796873380144005155524862265811440700360110702073147025735836606558464309621477370334681019620171984880243853818394130059847584098981403575558843362342021021335537307734499903772398869351151252526268062589905531114759555062878803943967113104376076249024100851189306176769574908621137921107276593827500348634697553963432239573814663829396942307047064028240582374909378471089092084734899586171675182684784281578742967922721368315586383909033610832158722724594211492852035010575771727744623423727028313636171626551752289214935283202306342904026395258539541772169779875235174519298805448553594357960908652745847742892869866219102407256348167539419266574089854280012415341885351083026575740238890624504077137055259370375734665612443511958879809332749418572649441467037500247616494406638253475024957548007734808192250088835459723057954089998326812648472647578936636933948229328706729789612877129287257064655626056360843097220624825486521542413018974916778017497995760534140203130693265432259999465755999722414530548175366563376854889308136866302220160268529980586325139163493834420964931955186872568756433384293765299136887717789739419172792596047482646962292851087744853307692826955111770284278006854448632172698370204254375279265845803491995263104989464112363881840640125048249934675227764219229025988465700618601166194626622308766880502075306172886997433128426837831879693433790283139166628611853175231966057008261309884025675910064075410919716274372078120289890599311184714843759385567097942683743183726705312932024664117246807065491247615885385386433333941956107600371746880361512953938994058019057232668365142590840572738480363849359925178930787591994441668861341946863413490890681720907635429339831670769960673062152545311088386078043141990846687854063345654708353369290597895200474772466541894725240352905147123265666180918580855941677533196656233468756757244418654493475132767532299804043838437707881675484861652080178816853924782151063618719705308721849308114694113906116737639598945737559122431536582858215342597094695304663464172254754574663045489674255389556172484813239648126777954325882561245410691553135242016256015279305345395644258823632921093128708540076901576358923959120206335240752273920575694381772286809923847551265927347984439239280757823392209615974844415118295723496905714138456840051685151288015266286237406157332087503980167102226854081542453943664633473247865472035071223887294869093770818866269071044162031523880604967731893842436413094486785987471069602315393732446738449700817173694722193958753265097434416735581681133246989564754108992807721700430613018852701689383488291812497430120779314846137198821544323354451201139686352644859553704172681162479498188400741925457209638318850821865953733347645890242723394362825582441892124357144576171041674959013371129534643616197961998750215977712355020252885192880602084256122974137722992161053797055905540799325599365206628846342947296003584167134130946396428968802270759961212977386906621596452088070218397302190717681105108157039852211638758967042124875614676056093638802876378537929828790596682507312607354717869342296295806307710094362015320202038740540146925637800893539318210863430904846349052626131452439889764981968672944009355432625215758226299233930437373626475411656052515349668941774927666645610184380676939186944710037051667644953790176112518572002584662944392632925705830751520885285237960051488303736223544465829246410995231939288737925645242833970793717210320828444694675565266639740001786223873939795334305272604928240982424417128369087957687134283030766756053058616670016246250310654207304799774200236543287692268845832963207039693088692131742486320093073237456265978455411798565765053886936567543931960668435340423515272123257309701357406992239458501542594587678016655090078658955095283293815316059889837176365849973686931290953331275717014260926482871783335867311100194498243371378180444504289497920414240794926170138312745895391641260620368432723273945558531560272189840107390128059952748953037529317226949692743941008034898065318924831686580549388957646007537418330794009555575392822868627251761267180059704319529144415892148728805404087944972405704643370094125724280356946597014991012069422290437273018601403672864520329744274790398882161725486798122883229663664364176915986997909050424184058033096381225685383292866294973867697020476501972291359856653473876533103828095730573740934551475569020864832530193412445711611517702413426608892424937648499110457322082292572827749197816154615695719293940109306551585269093303516865025670594254643880622457530100840653708887132370278913603207986959258900492307064865071600774011853176967581972513349104503977503293422893364360146731984517071412893228054015070112574216972389617541997783153236010126206134750660710749478019597200844567394220002960646383442856234343674400727370339960300028232915997732336948217359061570762110879052508524271837567306507326822943975565633016695312250624100312808138858069624270072200145550855463626927073371439979945242800183631261363919946884583495299583593363547023970736448952738516519981832268043158416264611111204872744569120645269192487220002813480713232772398105697941125415935880238514146574597297656920796651477447493022721288592539210124415042964685921998696791642619814103929813883176767470589732777384479557963498547887550464767711715152377471058205811788402650879279277116405050909103383893789440640137393392008059619832491018110930493614643275922868092566798034232529599920910140236034846305502384290555245901063410576293624864185976813789137933186351315685083435060791895814139347039974007865829425997187064216731787684299681426069795980045474531213985478645691957822335551989980255005042136042895208772681003960305823718955345585454794035228058283207773592500774360850491267556949951859089216570152795096084022367385958169069663211439859378857542861657454792167301294679233513337005831241374732022921844025272520675707016820108988518978045375129717832088564630664518754440709443532797784522025011327906307491619949037147293923838293363261170159029680933747332771504949817437665185015263733208929223796181477812120784783883290681448069295680560426385903168521627520666935771926897218729547398298073211771195729495910465242091218461722406502476026512034244010593912798847729471060804144027349155644268634564210853557214848878300788313089335500504976738955927995957106820774612521476906219542852514917534648943558802305033751169615439060198861995515728538899445198032779353409894987714657997496591398762296613690693070059481797684862778657566322732373644837953317529123785818917386497977621127336945805497679136458647699701367115249942904186303043921368551964551301194287340461026767418098695037981387670854727529754570664413232877580290003782051177907760093719185863484025946714438364731542232376783985483672370369074577565491848332222607712905178077922714889529754379397816187541362933749047052571822530791683823674730938288922269356132130143482982848337464547342792410071380957651616900358151146815230326329444322718966199624934341831198400007613073684410147694592514347754984776251629408811590035572639080399806201850428732108412149649968238898921255312577334078245593536416825139100878546393736168206465878589600116162170530935872071553199473956061217539877342423634084409657075154154763891034714514004386165916573756003512488078027539943193901601845981083930188343012545088142786289966282845183794552282965266875894195369840241893600684464747000722289206901895558154470517333777375831574594202852097212149498858799527045012693063425777131125003895931979260581735130300349026786015322725210321362638963536287800560129742260937501885024806911447423235049589727585401131657508797846952591795347006661051323596650881223689383187101030381624785602368299101111535661310719545921611777943216128470424265644184817092878902059663874903691544477045979527623563515074898576957780597520639824041894739958589527565523747915700692396947817232048811267574552893101011523519468619581548819055064485863075676913864674863874661945781330730894377873226570097192206731826717695234381932713695357807232827903911701763918425327925033748996468363818010992617382022535797132986944644776415123875284606092862022015150764709093940371206243660132797007953575393291443458475752555577115368142512593542197711029746513173429494006531641635963354772277656484369863935007063090050060051024285975605814323718869677061992684680976563718434018264486978931288376459571718334593182309488856933008044873094497012797724123335650753256533485200703684691767995419088736922497066692952565562723925641850391259195591149542331207549791925338756812587275841515727737744512878497682361713896967634131435927305739598017849998974185973816398061606723887000580332301253393130802530148043800344588685302085681289071635262319138941465662326217624038828005309916851856891495569462088908419260128277211234711076288525338018013677629593248726469678815555709349922090726517065328225103053095808335039074519024087653425201189082467983384521485061672877889514091077632682037623265151148854905526945128597258391001237561109207274502674225672906185740966872438060761943042655808379078273208017464703072321360487894450020972315433115744488545265883514220006119626213091298789096993144838582401714853677063145023451578412818572188019418049642788934657968623166505019664258820190981625242416404954272672797985419250268049315261930558138556804303518746216303299348316739191134330244000970751969601901866760031188992764478990092799858298370252379649358620414702650651897791628783485249346982962248461581507290728507130623103960039630512814021097681262929947631285285360796673518206965204037414350022778513360111184325178038362825756659917287558986388561955950018963414467668240496831423347849506105720716199223626869070991123200262763618709537396368337286214356660525629435657340429622248712254739728951616890932633166415086084171667365690290972570446247092684447148261619634317741972091099191739876964091997931140842574894261214996523224731639539788964185423864663450363203315842588537674327676720871338873309430741985614752683079525838241214134607342881942207349765317101886210836504830474953756853379481439569934599696066566233662415723658344793376346138318416148370167317129825818293651786323356155358609921704231037447655553350936923670129778639731917453955940437412953217746728149366461371829100150705022773043008104338883115607063060642607231542163364860541381256561190906272117226368927336572573928959007152886750680454603899934321874918334406345520980070888248784469073653221136896377156612004943668675669693971923449129431800129404483733226958280748208733789944190125979045611020376184888642060680370381047792946007510652726784268842369250133336874971460780763274246788210508600038993885587608629549226847507851459734994402803558991671946082914799559907297434207692892008408523146678568167924976736047389348791321480439235466389683688238148469883874742926366715594027166250305547518226114646403961638062971890661792508912058988550366535205561464965868115924387691140598737802872710306865221198933954309614400562331160327666438530814996628302061909045948700163049075077194478342696019913180666057363194419790842845813468020428037623284130562612075582278768241819809800538469224014528309887820758815813662036449674790349519438360837169499404107788150441900606750507450478474395436863861581983139582610461189429868634239742598142057531630306496875265605961630091107462113868592187146223054951365300283252664116907472510512653372379633506528415453838984318808788471940976884227672190652005651905476389457475505407013284182874631077206374564108983728325518657798936524206746793580959291303891226639951349786261177993726174919354254372716628768413088388461221460068848999950249277582719292607590667485671003073249945503728522745061751159601905601890282800908600519054946793321184716068847164066887493877166888451067236072119329476608767746485715161650858273300405115204314311475877147628523314962124328767078848924530483603668092333091129922965840576997060290893696785395427183533819455836633714596990025807648496958268599148567606583928463331406206966096100063577573158978197918909956754634080351106009340008674058551440725441501253595044838730152671249550540187394926155092097333277072660358725998410077259890025244794002350156453210734915154354038917821003526770863811154991706840603140479847296647444355656891423371419633808551910125027946671688948835025392495225945747821429452878970443246133396672973958823153048039020103354640906464015070185463301835152999301621289265311174732688406376413428166246533101049917100746812445125229664153498637992691366206553245608591065342906954557858259049976015744555634404209309116215807379888938199047688654844703316852278517585566450774383838255585623873817211953685512257048175816007425829273519749722518697004153509300536104095029386375113819738618805407337085058809485331329036925377207904153187268410319095075206669179454485194760589498208608777313685318401883396898711847109691218999313878617821062318077470567802656936563315570883223960587232263894166247751574832616419781468093271545673234920755583832910251074829723870977430169222986991468069003961717674755981193471712498492686487989695404736306011772941046048486061049821222567098393583973870389052594366645528968903945166828653548389230395495387570173176773628301962072206568755824358941176608688001853456596842294235552285993904636945184417228908376194944704318934570356593967190440743527273883151907928098035393682278696166338053185957106655011847691003460092053067555894280367052053196291121627359588848908717423602621036489557940104908525221177134613770253961555280627909294303987372914530226143838404317628255470127620719730147637577135239592843643899805013039934764622550529298069146374990852792099136260601198280768785189301602071776342838776284751651539495309967529564489333441812807854505942642973059059043984364430733021920084066235864633983702353675475539757346717556955061487598056389826274410991527130076226392170121383476010933196393517197700799558737651763157915383757914169857060218162282793055968090152495057960898440062597071297060735832219035044256699404114308295239456129781567110366542356844839429633656792398357506600997496853933846075032461962199364959835586884034903094914690368533724553048170892404449688384537839288025806629284227299677011634399437579828205052808133717799176017017594581393323579954905995035869715192653961043906107077418568305222954082661526843011370402608177594858490503389785186947344768514095403253520546410657761168598308521165837558829192567005508680619427364928369385052918940595350712349290798650379009890362865397074210879603516788103601900885450798065783104160950383492040615880170969979753915400081484243253418406838256074583220608712399716043095735382013916704243711388587486896935148769916328654500831900417088161044809435407848028561311878663370914813279522983048003987758117856821510438976696943639177521416276519513589710613977764008373032583988730559182444831906367397314078287869487120599616996478083855452519054956669832580267280169537487687291072617610357165301493148373142820971644072365004813894794522237144077113489345138563500464750891909792661520963480599223861531424051040709763449955923943401087179139376023703225338350615213236710111584863220099851666273078845054087936370610131721606405308346756106431217037759648309962642234225790097000296658074201865658958675549692300641848919142661176678212698466407579211431161342544552274586573591430895319483658048501428998740580638845916205666079663363840484676365902771763687670010874717502926007327029949817981495395149580434828840975421608676716120760544397445740916187349103588053113485647591603100463526974395080987420609970227083024518552968273475200629643636450628748614738482233839639274372167963664664758206844477752038510723966728987435690572967864387416005878448865781115713255046874465741245448748016777634450029597951732768949204090575841759586985659577660059847721564014542709414925253505150461222984341446048199217092942118231064954606653863023739417157110625231528317945844558269306069139300229022157862779113389950224586983003390033830782792636756065743066216865252868375229262747222266945079854865755379969391539018302848053204493806367685878226464144104157547112564387439034192713562520361736542217907767441221224250124020245428256608954385800536997720540697351169319480260724234017100244425015448945189991473568556029219501388358442997800809452016984429749970419874492914608743145315797724356960786209599022506453310202149888240823974253858767899931183078097179098245549241756764800554546527784828748316846718498385050993895701321150211601474341781750949023844715496391711764103042384345666451508493905355013232015597590422363689006262557224520716679428403453288534014477318134004665211393830937817539127485216006517330307985056843365923253839012516039354483339298015136299890074564191510600640107458729942724971120654594266942894928826407281285937866896179352561775835691637883848490248108016832255785023062909633671970709942249592570244514670491902256806202166254414125616459975141157136069824309796601699701026293821346620317658271398687311910733633726232338251480697850789402089221038436317721629860906497579906618106654528304564227964061519904168712868082337969100396002116975198673994058189599904239907144729949255922734027942538762063462341106921482055550074459187021580256639707652926926429986360152413956768513420078851471475857060563306372655827523893439077371888148716999800160396870910227512180123108964866588062705856713371650743142695578539673759862065000745025313386469677421025661457795854902888883002042886366782134464018993015712246426951332700672160265270116393324891140810248314667248443481109535892860310456191678236700702695981136412319326769461141827885042243143189639134871417322019492915383458412491846868929772846030547209086470977432232895233784869644346985834173374763777901841582817142613634459246533299576836360193675675607465925308399043889684672217928149277370347114917007291674268913575799580507400792908438533722846483708638048699605068524796394381613420769353018786121140284280803714767213851337459875105706823126186377311073237219126747582992606100741893511170375653135373313999084155057556955009977247753568707688507641750327501855839119263622256718889440458284267698433969671097608529307971701732047466646078107019670685518553052120453499690258293468941652909270407752437859160314256914931912908502372989465702383933015073777708398740696086289867012381600183843050326651301173024405489409047006227692760806908815045862100104267143081744612717429175154177656808768032747698756269459907132522023254391083466467680790018843655889311185930802231157574118549447480711037203091608836726902187669353663184918962510983265982614498869453444970763084107718931080485387609723632996460100195736442230317116117305429490989580234194025700450474186229928241411249303141912334997834016395222268844526008458174827365417815531379977790805703621904900212469902692397298053882890345513459470532894123411346530369811625441755948670928482659950752611518381051532464757429526723890058067499316423161809327288814235750441265232454164504959020428975008877103741938290501529842401888647261019810787537019430477628266403177329069504694872641807346174539238543160938821759364691920849159632985475217998632124502595698407078544970774966214362948546785764614679630466476358346804623803002856018820536563721238845816644241011494840659757208591173371135881358904334731555719978867810910589465047603520393171296959394741990306303948356884628164025999086387282732255856505711706487785841441598946730412139028608354397479039100525366137771225103535358699972926739218561215943693781315065587344002361014435118316576088193861273277703525966111843041296695911836825711828759689482709479546581126751955450201246164322661950139466638929015587076727425155511160006045148315187067171319662639230638923614104173490670630369076767438650286470726414526419743156196990837110883344565075521145344679687025341696652417891490884588028003626418161257677732774454450001156208860054946491592365310174301336083399152430440724356143686687026905962046516834700492160860348432231200509045302501955894733075288799648192853102431246052464748656000116065050183340283247029836731965873561477773596270746278862189216677801401665149433572499607788284596495016119650069957476464420569695692267909364090890386349825215055213821202925630760578026858137191215992656478908821901644104299867698756532444401533649758190667082670613836644704759861067890495255875998247138848678814650168764593928160093427777983190679708240438122346609744329447147340300348007741360036792418978929204580438752014730959222572812396158495160642670348252520268405783205249317234199953786144012318901791471637843065278157029048577099721243485508761000877060100170400088801198911645748009074025354707411805136107127783800173023543085813244545687307222125145091016380489248558057374831723966751873555938554750711865963028061361830717851466105518087960378573615271799707458253996626273962583949618306971357379949854212945254544953476679253825329042828857697115253284894227755206947566597467077783167860789115022040504981635496916823865690875966839118346299747518925620298833904501117883448833996681525736254715639956504732563500955234750924326113322483588790400185244198573212166097461167392672482161990361994461659413619414438839574445962761581117403003579331241718734178978079153704811145275590715120835609887747798330791421578000608768814038272728683428437649013988776417794013769619495641932305343131252191106385504721849803303069234026633635639989444675904157669169332737680656922160310271286493538499425877885472804354880388163670477944063017973320631036133027421528291796539216810114240895130883426752947587222450621140521944748741687232765014123032522919659815268224784404766700565853980211042449094235560630673148190403815632055198453154469963103240263231525505350652871642054943338218173172752882251439009137615772534316178177469258030330882811257773734697994599701083536286316357418050958212456868885493137038870319348743862288098673218379040998745188481755787111885382242133111580340561911603958760920245647992957099429265398335550517842691303440028723634933750161055652211109085821456506719667608998109992210517496278021146082552424224230722224088349504531440077098986227016875139275480351433691025089784472410432690475036185436915211848122525528235388808265456986809305548978808775812988119521667417126776654075887352660944831858181289529915712078051091431434279787066360693885202580286465340362147749684589988755236099927980702082958583884211165830441172562782881695218597413296844141598248649727934360552461809893137743121293029607226023633426007526859647951360382628539757029339613099238525323580364392127453996071544964998332489949691833224202738809869309516511064213027030265841560828337349346930756659250587083337506513744866104344776503948624102969281018085970177630432184515291692980519624081262120725819854835239205050538378957309225125082487527429357644901192912924558200617362714670782817107804559077515493110019281324857211507887973896025009571897622519087963673083249667554616797747442603909897364011196076625885961079463664917247343030625321876286004695305238955544588535112669839832631862520539531045999028584841409561406400785092098765408512610273693767815924133760069589939681235041769808147394491444512051579867972793777320368615264513731791404495464648663024362333393324876297550216817465922376526714772198592876033663883312203750660509568446650869486556750333449184188307415790091565880204178440252784149472611397476247302495268339034826879175896949881822158087220849129151693899427448359432032727040585312924109733278293049544600261659942725615211687944905524741893131673253297034356737393043179602602343600104949942539071385250961380701078949742399913854586226299642897785723177010930378545675838196731075587164333422085581582614737886727286859086793082251533744322631919219255383235427250213688148387690376187553928629834332541588373648383443548401669085191985465532810144372832047080987616819390954830775451311609398616082107727074109345559332413708037176383907099691278268691751153657338906124064405854184668600900921225799469113174334674030497172152071965330683919396838179558601297492172128427536807491270535038153323699729852115057237092346850794526351717052262540304776583081046273469337377324750149203156753026493856754829882493216932693399708983961623534011440050832550497101957154720785849861884856510040448807822931549970056291633414568430086817646018591510961562102704535777530586857313969076871571164105411948319161383366536022785604837917227384216815481738212231859305713252352924496735880035544690791821505167277883750687264543207026186249365549581753215135610769027005837870188085055336708427832322163156677071512570609811978470700398788049955636980287763056958004143447881782770327282448956820418796949462096154622360362388766263642099904114043123271064179627271910423046185497678379650271296449938263078178010770939611863479748082162732539519264794760398658184561493976921199165549023514424435317328289434623330561975470594900713194288385215676872345613045801001099897391318393582519834696937910175541977580673850347736637845775004541325297322106387266070634543559088100080347742707793507191085395317107149022749483577971952836926440025264955905396115064831797062347665957419092465586953511913267346885413142559507339969256835373548745689002804203862345942197288584707203042303287964072807022881115710589726559502505667164394665709811396874152384725320226778503692317749533207671793481328602463222080673559586504428559133831981066904290008233507825069541156727334852572843897743343984138343369292565742077142135892308387484839661161486967875390861068833492964496811913791264134101463193158007463039087367849235764759207451114431291841718669525571333214808381020213977970648530766862121604424628669935134132992665259688614238837653022748111552491355762827603759632860655647490888428512857886896890687981139566663376807833893405310838007611009056362638635058193068611604820924546129900453361377551982649408826671160110152536963667751439379006755562809190711404140992977677409199430554598893869011471379639481693005739229299032172251247136323402461826304264049940694746710278861834802925033408078009625194599416038099269074508997626832175881954089373225828634197032638842929891239947776457154676978190113630565276242361775248936828442763718686760889715093546633287522106188541056903676807377033582482126896306886249515430831426433711230200948518290515666736643674220098611797226728628618509791608388177519456455993086930471612449260878510709307534967641886233366381208220095770747737500501769308455317908810202548991035937239737467145657429133097315443669313659285976870972969771858204288509240140810016801564298903784629482819035683234580000253032225992472850608405029955927429409042457994278677599378339084604550942084358290252396511015118671664466569062865367248395354685692283487323779512794859386312269899086242796534905733449749440051224517992712146797386738066242037678562238667951505046008146140038186518485554259210920099878269299725845217404378296981760687735177445859908245452939981790064438505851728722794591503992719403862717160435102729803115824948667306317484761776456563518969233887288084525038603134707680628922968787233110721152442242303294164648027184499721963574141470001598685252075553625172488819425914854459010125085483900264301641154621047861241803371683640923953644834357267124612777503226494996161965964087888172956353286971008176125152107072654384298437539674521329582464654549624351589905931248370945185151341087377431224192634756528513122044468164996825196503060508229507628121076113353982124792809038720115736111527910480952870125820208304900694174598052333876532155880727017991274450429427449165682661274081048035135068350246612287808323495663889079994133150442488319329767552993199724227034642099073600187312369143813674190376796232126465166024413354908006400271310464525043363067970149646511325286611624614308113299784525246679659435260978494685522343042603007335481504745448295227712635009612365781640003241773344689930632110702585995037144652866331823599661654117564694316539390984749130744047782396109699576832915245148213563174108074661385110642042357353678714399492589114507670533416547230187603527566224745364230124860204619679277410849868116421024021213167462847057721028553623303921466863533372504314729592131734783881996217014236045189580329034129170359482321364064150040208970985815811857804487578807355874785157196756239214140777139833060884813526331586366414603314629893886227187126078750854338199129952333929106923740393597214685569849541189491211668324071063650762430087688243927465271537944716793247154394284455723725342875467061075887947301824231613848928803380577097297343010870067936521437090083748456802229699243069082378389372999193543000951991404283432829323735460883070473141656261493415650848458651742524867786229801704136199084143159540769832055807420108173294179075111120344792762152854362432168767496298546861398020751385981693497918805045491020362991741783322131278816697230584788242958193859191338651966035637255563740863189085369815161226987338940954849341040282912188059574575763672152624249831073886594468614978228976100343525588789263264627963169618248254513251795758894123609424570491585101899019042842392338455210148498418763950997643117954297451103432416880357372763910469436816778558274332165378916531255053145254944093417429764415082355785875745447422380914666675518117531424941349800364337227974298544116827062249543437380849497459844651835087250995844261762092277405310154889759096281814928407352436878673723694995010710856007684732128953544473932568198873081143669898805539045320579353938883823376911981782381861515419883615913846882579898853643796924250072824613647069970725583547235190171210741211387000193859894525851439975891115126456736193953200536586686125616943557531772969678919361749435134092988797008175719237124729564802719657855709120321392185153459593999194940226137755770276807209103872073917927403525071215629954245618577895341389486373399573140449278793681017779473767971770445810409221689849031488302776291710536307197621329314292971865537887782027884387315081068668602005683865216799847907475319977515990880135982717877379040490717536128790253634204485660377016396539426081531354578804807308936799064705721414379608792527825111624892851083957914109508457741912456497731337956223532407739126926110344859746021182652908778906125370037554585383574475619088232054556063654228967802355706580952749792289227510373916517328041823456744077448896705910586339581782933840409640542890363821019772359845283108261520205545506246104340922756423299487048651920385546797490325621178151226585943716145991658877200790224516174507969531148649899214026032271421079671494450955809976786364989044401674848361827912923135277670445408476991608738743435942676952368579812410262405581412977092913644952712506653277732015515869786275931531750895117432894021952440382460217868109168347358541682930803105375933555182127444845965133665250892628648337153710784016511423286079064370356194660898546696057925787664323974425487089290986468054064471403217372323189878744873494764787494086306269054632034240651389886468623884364580229528430571726244235039521591992425698970611340883365511152175279070336793684218681913690432344194267143263682191179666112982776748201773499167809411586431562673506360751551350191531451245796899242088841879931444982168514116318392283273641506735706991506951359126161058579842944428951058775392823785042841535138311951946196087571614080