1342464570781148724553728597363197508017088545879251612268172811165239047967415906994850301533785140878313103634178423254281025696217501374048125301569433014279673461026219108429048625292321164888051446717801026718098432824805715120922723175613011662564612109502020251168428010159210072147090746563201493012209226226166985417082072147610263754482021574322946020792869350601347626315669548804642857952030112170910380600115992851597192020436160172459221186693036883095045922806662642273653203307291283826971226933618251736609971670760140622958639150693537401661304012213722936192114815047881357302759680339690141207386146213377710171981510814784971569785787965537557634215925005942234290038510439048671163318953885240222569729020022289035312601181868163339211912326549371100966903716785380193520565178699555341323745392192855852696546872253198452112041758938400124208282356965251037369400764124813616803614001226016193230925101491742492593202837052795441728915782912928421566435248490997120654854108016026448010102751273502880140502201302104907214506790251266819123651521060122752056134825663262683408791028332116348384043342024420829350881903923105170008765558480422263203148808165742017408813158751880424217092562117342312307869681422124018802531977360523627018044889852016117787655135900199401786806380736226556121759292780818042001610866466065055302710963701712698880266024524339149340460719772000207026700802617482186389416005853485301828112582475308932982012118361131595027437806970472305800141714312285001534260162981818473891480184572535367863048760948137453823946541685719177460017478781281698443475141655912408239141659526364375938902567790636536166322693184713155403774763820604166368659820861887295541706765337635250023310293454294842825766770541212088103307746217026208107190431993651771735355992813597533130522212785479080311952540778974165884936139728176000757944992444118765910221208310651132584397550881625281408530128891414387137199663024347488803013020488865020819167092801164618151605629102671123590131323527650920700757270935589683378113190523626114310088416037820013716029554527488031892264544812403041744963250521314951054637621861332666165753910555559896047553282756170446880248850016920005220006352041107501021900265544210822725103917810980312853516934204204203871561497825813869168787636363257592403547516626011231251707106246319818867007378921027972831601294370278320023938201042340380016119170419979132744652503382358955470154251642272407579503467662461550710024243065012488701828386167771756865024363185495161963385129356069784015953861981321902810098492264242702416077882710344117495512626641346034354312137785875609629950555384743795013000812236129250520740652806164690748008039072810848602356691254015247551227756193578697158620448167702539832516452905441914043042051642422194928847931552486550160166987693119259292078699877505274619817032291655994479555597432514925001660556998526408012534058275560865266796080285653155820234231090250046272620570523926002128832143843277910047767017510857698992612064179519614716526022912364311988821807802847360257484935132800000909578426368929361456203097716859713228092080816848232095682638545760442114536059459432371126558430489358646018841147929485151001024556441800207621081331216416661564009578169252983530119785615266146352690180136890013967471960781302327743452032033900028100381172361105392131220036968229094058647442563566127800593174155878849576821474442237136176354414785921558459248823935691568040065824213880401643815802560196951737606020471460982265742380869768292274184920142974103643277233837745415902804648771209312319725190002811407236190021082931286414431319997526301241090883102792401180824307808310243068671079036232330413726728066643261885577024248722687252033238849488229804491942515344632571840732848103502873233610437513151464864006281553194416111704721087097807017273181848350390446401729221753660587160362652394272168630040189742795283629942311926408904613490882334810373150664520653207947313686841504267074140896908466753102115350918968401104243070131748112217240816706642671482874000759991235616142902101304492255556116664571535604562989549550180961266602260184761997045866618326075418514132281562917179527210471322404976107676821801088373042632833742356290582073681911625154291289051699467134740108082619471826466813464708827389892105391716561225285121212033592021294481363442331002216200700792282865586659200932017619841822840184804036480024400442835180353587288176175274014975503208668202956633831048916320625443851237780365108013899046363210003861509808411841747461874888356828024244662881148550739398738300231835114155301826660974448484801030950960625647964205114829696056594818390243444060126072513480806558936557643630774019419421021142690457547402210212337961301248480930953100995461606176146076014120106150666420290867123586838080414541783740413820118138228880177828178750038777624992559441105575498391815259922978802827553365922283520948015593282094750152882292853659908147291472322236363424818203946533063881296009641615554028357521163213774479938300576188565608978349601374095156748814286186612411418005133042752592134382680352810676253364201062945308750231770276845230156160015870034071663610995821670989680721944591371602147240626607111865397863415158882134575256851011634282529802668763398978765121226394105432016102573652002936187260184580119711824993841622791838259520921052396125631073390511640722446071069040261728251757026200186900227799678921078375019512071086624180341209465242187135864418239261061832342900314720153300023807351946611615754288748723630681269338130494029775041127427500142091691146108871398078330971159128308183412136501171980271852534270069249200438274728742925770157530509517193634170034021643434148143217490028259559438664315514420451040671324960559104364560141505680199047682254975119325017495042093282959786360275263019090783551305547244404658161192523876004471413292071475370279505543053433843169087752047860956970315400748195643900623100909980925288732546481251704645504957841552161807523925848000469343230916631893564946716988401322748513975656700119952013134031191645108352078082012230848307369389012368121240891892682529254587334127897015416944680762216840107910109697898046691752931892399042808051887214172641178130174092188257484069529734438328412401978510407861632461512983552819622874560119941615315521492024311181706998908501168299157620689301904399162480208975132088059862911997187400801504581600807030261006065178060027514281522926198883447626277977044612425872093203019601701336248209305405961449281730027205296260172137340907164439234364327250562545628341658951041320528131541314199121051982793901158984686007096513910854372242524740688677691470258527115139243917531700821861500319359690477055039212247621433040174928270724151982209752151677040000156948309668931172467859712827861024023178296392501512981080482707644729825135945193224047526627834691126510224380811438586185380204776321277745263999099966340477581804862737211347728626964847044076816192252304201737210577088154425665804790946272142066849595502578567759206722202267806620841380942347284137740015558151788411623501614492581715115995012280208905697122722120014143430280550188277444387516738772055240303414413308624963244914365000265402826195612901842166523513912202160620377424564827017087501342500233741968531132849030571711242708116805654551087996595681435239321024252161610952142286806308544912127053443265773766554778120463239433542011518781987557013279387681641995102543511996331440461999964119510413862421398808132794210387477581211694101442615928021015523484665554778430560149424914854351727002840880300480493203290345509622184002703560194940557480152492014708428524655020021304758998586115169188881696174739515553986506083556724920632015494258726014661575168023598631599582456936860045368932799025721030656413987411830352689591106633810620241146601936801091365458751599136775777916944148743293465920216874612050308956807136633028032481155000174105363630872508232377625725010637210851752381181100224175560442704756343779242857550203520764640641087123882258200034733093680412735947880028823476320022842264759991714251124024644744158838462853042750023851961640364496802730790176251973444716114426224409638197889154983997501202522640686888348022284095550304701244832404437312209158575906682385683826126294256404928813061361254568868757111062741886454387940092833821619594021005644821449211171381016141091238223402448003095825903903105668199360291254114323100012482117973212468281439902574550144894042857243102811902801164490742095270242720962502276442842352963452110131682732191416097510410097148850416698771590035349391472022146322458232922992159160931873419429690424249830157275611552243475117100275285656410216200605760307975049733666220176041621669126008009110882217554333740195560415189083538260205571291969900215711723970402132768298095206830795320370767144837248374711936133133071030718647441106705139362370875553774188110476177556587717764321643584121861526702089516785920162526301258752665903376754191285206041131400787768358016034698359976012952451528059750613013403357141890500101569024948057874015403929790044451513693751715186533338177601000821496571505685130051858368281129623385254473001050984671616316710492611771123772656480075999162650454292021645546166683486000126471285254420625917995517264069768875691001864503001887488001133860155075228346645150852849680854080167500014629583412396169692205140202008597516599300190749072085577432415246702990048123221113572019834927706425367841263084305951798020632609492027256823905425632191576199408666966673611970011627203717184413786343141459482422845324134836207434658830616101640018014157715109986028842036209687792201728129158665529747281077215330121882815062603206115293504211144123536299513252124733710992853375348216860901029432392400052049827140462297409647618630908606643122841014512708401077300282561797201052419403836118406737191924551784777525299001557299858127269039605925835046506969967866201545436027987608941489142800020242190501300438857530658277444233355614339615807249097613022106423501015092265354112482471015280128419213769281303575482225765161377888765125212862331201263066150675613261202715822794630112101020040812174721954543616007975823126801246975430101679472116776536660012669253657007066122058961401413157514927022521317641329160324576943803438247712911924240518950137683018431451373022621651893180324569121475223952220700001225618885422305161545121731905069961926041215200158465517550171043460177049610107582708753906420211462810210976850321225980121179845165624688801106464940056527072861360321860036034176611622746802498394004554610811088141844511916403370650244262017152503712397204819239001495722248827134054992436252280021999121259940629926409531417654127258889614098695819858661650601348080196960428235162939327182410827281513080497628235330165889521021527967921333446318136179950212940604611609210525522520507761481926970378776422926262419210383242556085705420259721721280219726101880637520082530178020115566265950010704179755592556829223623971374247924697552024821731654510011102019483292340010236403661141601801617815227603299210357050466702735566603089125195060050410488203138381259175508801686808115964812617442083704122808231952013210834617603977495994401941504922768157080618871128512722986160965019436061711097330554783418493047013672784001693201123078898884109652432120481126459543275192820756804087180531251544221089283448581871492192855010048622020192228672675845121721237742286015642901130688811842105555654812138420941808271779525280175208032516701470018452162303760704340113398218136812439283028519646104103805044519740959336335544654874192070263993367141282170732463730620462039119496011135302507462629902561558977072130182119941111366421922010025717353027756028064421614641480080448008586808401675968387926504868188703264518424892019140463410273288560526653184303206459897610682107687821203760156136564621547709610617622695401951768613056140270538080114609026649186811027047013134159315462072028228456350625164112012440881020513372030244800169197633963671289925517935163799012886671948328514382254262290448637673716989807215013766945618642530013738906059412625482309664148493612765393597861809609655804212501337752102518564602728321349176402825366773499485220626911729410880130061201546208653420207762087283673607122064227786216222912038047513050182186809489151608768809265304833822362455903011942234558711209322585321677502061975731101248064513026197500934206156961589281982735453623042490465696883942163880302166514735281228220093208478382553288766212059811195372222181327827252040714092111585683491401041250328614192240977704830988105062532002031189194413811154065056011018809768961882930243334317130811616343339153811581730068199161683868099780544385332620913216416272054862821093361287195724014256760543769019593981280130169222217582770264504218519681227164425480796064298431975753034352617550169800272796112423762505020643706966379580406189361515981151620871662281918719516961413413980691374310767303321900184719035650026010723526408848843259074519232713140222874911982081551141136765827625483748064857505088183357142482482285820183661932487021254173132210787963030927198322357604122191211641630709643469127389955125070556032562846428619320006812043501110898781588417014545230161512096617402071048185307222480042469543738813972981785362739723731103115630019742812142910273273216090616627610514240761535784059272022279726224896710017149443123740425040301752616531774445803745109802827111149746493132032724112042027113001980559859606046081545122840222770428497991251633214302622653768420462113970043368215024163671230391045357418598981250670922399693111379430015714524045184519055921921129626122482133246057446427299349478354549360315224027921320476243624411772336467151353181617000107407798058107200019785155432030519841511160741565178295687996470881060800357050287596525851201081257267712028060886119642751489112335697126489840317534169600481712010391707139415657321130910197534016129802212558174761612362549253203210879024580401416451618001268863150167810179274393061799429249251185105714100286368188982261128910997562805987982111146922687473551556259114441625392012607201205568112065612971435990763126196555723622413577131383351267798596772222747891485024442202979596610836804861255104647372317364898964701654203780851011776080333025634095129987072072839421101056003692209372255620519005811052026055254320057720514310812792788624701256235588300919344116500210176751149322386019447768154252736122389339110300019110244481922951131791756985558686000620160851084192600025985438178929256015809052963188222890810909642725814923202120864651088118779510318636408885114086455607151199348116776844099374888029181624405468799015660341087680293251138484980500124819221433825368661050900394800307700298540254107215813182229975515805255387626576593572286081071691157229115505362224252552881628003472352234858216811201269276261456216132292618335558930611425795104902682904725359261074060959561380600755325241715195495619818002499560883025226164574979371798858537552192952192195857551178228263722615655967362353202438100898434338778152067615407295034581282927102711478021536041663488723996111840330736401833348915110481525149729180300017495942472344163830652904892164112026819385810069621299372424296195051345618074865912732059736448279508389922001105740512459253305763427350648648395912576012147614434170024868881702015583701670851713515223952706841640177185902815044361694784104601617807819993751578722362308271094353565203811320374143622788605369925922748731490720276860812326046840751798342445120225457588570229428720394081036750147518715115241213242261760142452966654710605243878330154869617792711172691844272113109465483626312127993822241491000202550426897518910089362761006992185305638157173362150424814289006597366105479580920978761935170205822823962414556721500213364830404269502226380109844438995627599034909818563682737672202215558768187633481728045844610393160878934298464568111856524432487041782874336108641725083344384641421400832627011264248146224429840156452817198047964728013626797732655923752281459503083652208994242022113166947328036381623263942855424558332891020215232420420804168273504154501274950918554141231063099916112002763159060229260532840102374466369114745451342692640065218800294648981688423133620918081092720227968176804335725168280185345281103602368261312192209686827111417452509754511341016308172251381669200824100241751019241613938682117926216221660992114314015960112695818110611473356100780812103299034611800815301351390182097450245293120328583762081949029616066490015552644963441287844020217306510707841900080160593013397581032920190048516577122215428183270104514317379279538655596812080133129655252670630901422999084172762497677106447524268419784141249542333125205471025848801873608152140823692801587808972824267221227774767304835300262347502911624657678051621693294870902177598698554640085935523152164117644587688345681877559553059234282780159356095592916756192373030259633526578913001299298107648038043427724816742344724404845487537205075009897742664064235728528090810368026824590382101966768001164052020132713328138149014197041435109539917143969721967566419481148244401292497373112716856956227641032966108864026354437901418000602034890747626328320156533419052251833867358660221307113594746548300253613841671393137278410440641314630201868088911094359227874969544221440481692408107689339147214472155332008468271828575129840643500158278925123502481270608724917601658700168700026472105528862831013372521799122177401315371910461937254163749619215671769035543118580809481662270352215689294191616082212707427785602054712131350172448710003892907200102508294578314284801675014109674019976795446982474569817721361264331080143799620100021786822442602064452585716229743526056816353681770537395386109440105527434435285534213544131293058113053583811012542556410227338882461578280900232455250547220349626261335883454986806500166058282894256207666033120211963425714182538081447082754221427242243063105155433807377922860200123201714319013500106483117379971873895176436758041096105915201692000453894142680042417226475634360901094809948161205104294386434478083173194812934114074966426827267564815440731570024165778821713152804868459603496811088844719601306536236918081654496175587069627259201995378955428115504226972431816901261566102250012544357542761744470311365137303044100282600107695559904311420417112151661812280640015417444355911560665970514238313792467320056846034043266148845870161851542800736100108830870068152024565202899647127828876182410232952140320135305404663784305828222148552936348285795196887233504010736517286781370302156182512316347256192300537976019703754984561653521833611702868194561662754551601051982116551117083233952336375013417905329516018081382788619306463501966970239097581975166132810854002397726460708385010094701625568173792427132014182081301202131549179451625148641369863443856083284518251191905136013390378808210633485970100152010963013718441963137431505104806022443210072241162002056314256473020650158400163110290848882332570361187124363564457184234407173367833614166751420848125670031392059908473800459256693216641207186405506400809031373920328352453152201635219515665573938105434337516508224240015715751224236806256321714244800010429711933288961848346401914390032486494921228314005218563582549859257382587258560611646002113048605220267546664146339570439530259454422624167125805162301382372272639615623079462510208167294297730416704101452075190773039124827287131468935115338694177516490885045762239389490503599766442322823991578320536180275890324864685314346957637227982476501068016834682821111317568102616875019781198996912420025888803747961051252217756010380614067842557991295875126282820059602246232127723035435732809036217502412736881146704601668921335112132035380819259752768641386020474990115240077287519965617524633610240535964624997244522593459828267286086343687511389771405320259956251522186163802032148162674400014874992659650456139185292848669228647932706316007891183016220710413038757769682179244032566015246248712866169671917119529308002282964146696813301244149097425001106052596493331526984213951781261876250741712942207901057834013520982477164188230517063212921307365606137001586700154240512163161436688905585326986197064955324690480174840640986016093719725322806019941253306019811403656442288235012053535330450169370401991459210422584636271225071393936876326710612950188005160491671836871863023005615044586497218790391155187131165598453298104876424734391009023160867653328168841545825386529232361511224093720243781661665177439523068428662062051136418201767002535456640528228480929808993285757511415305109604148525660863450904071304823911246160626275685066952296344226198131804427484552065092790881979511682043757162207054283220927942202079687243045212583020941709730393694152590912551003848007626601058342701651164352562146842942078224692963119211208307210321299870182717528985003408172522036116064143995190995680798721367620204521994852232602419778583062405496011676611125180990975990500138600152744947822426771361271700334657026591166542451829169119289691770162275461701629486746195816440321853001112364781378111446462328628202657646176037457447802063336010261002886025291243617631143155672298155019540838314811711708541001162322243600924140680022205617610241285490801349360212364139125405114470350909198243858981866270119193488363320141474012949442302872149270423657221177976187184233866049623215688018624024610252831172111379658941073721912264885651602965216270390082731512988869230992327406807576826769625119642806218205486613692641267082741956238196016989825883849532801012102152425175408813863467280789040151474225818701262179350342978104968962819070106913010171362680269620642271218292444275289539702044190033462726240425270127330023148960331561950023694163609618648181086456564630804430299079910920301566786469801938988147315928113766741735212605453315760320125483241618943471171377113462148462498184185402012660007928801326084403485589706413958562295485676891204992100470010926901021890101388733056113279431167319208822361918340100010258201334942444119244080210519082113943959850053106082546720717535336978042949819108166106306964664313761503842776605918357146467510977121103278303353875413749654464162817304311182861597441221605176863518827626429441603170644688706726166915017838221744389118660059335231224633874386150103977511473561453692221223745389355586925296785581441016036307409652981540331214924001057832383288764219337002700527101644449483816926725172805306710694852616402546404793531600600840876716040154936127908404796047179655501613438409546001133906132123061630574412181511156669125618473540216649574342435501276190877368159391852834228145841009074087067834235616832440923593062548136686084393462098202522016669789849571662902250180986662694880753774853866166963255642983895091009362783175013644017337531611202377201638800216117035368644502069688328919656351260165796532536803675629907503219608410765442764067798013111901454826221133518032003168039237303885245193419131956140011086141177704625860666703173990611380245514474884290378194872232233944208140760566021323795302852830103803560702349540499550543400871725184257234249033771042480203725892176069135792174356869687896478298425784275126162911854020198403810393745640029343442141529413760265760276913024849030364741134840125050570440644522117120166578001773145173328109862810774801318721671167335232078701328104965424633272617875231332234254042448213518891270208180028818659215852781097211871364262457070163286441034652668108791201633772124500621501292029787246295130637125957984502532898220613735176845632062027971341574468618555555492544502528960276689481715218775694082431022904729001677104393284119272054337931344665995979955152127140166288784607188626915148132453374687232117772643240019890423749501766190192596224802259201418605958424990140548172186578774310212165479921099878287638762977665970234828039920412273901048718125902726842323442828197314145753073316339514862833629655383956876429085201453725350898227556784608165331666110556895114811621175212708706652298699242542421143496874989023286401717254100677613934972092080773364349838364744644972200895359600418127987533623679832969340514805278011062925481003141765124908171503650562029441276836184149341124784133175415682481663321036779679200162300750222587608109576615465289184868446108779952088892322557415110156960355514441179255552111406842654223145721658566536710164802111625012934262141351288430333375453149654864575385249639708072417604505362855475665023257970752018381112259838680274301963981613280331725680234074774728470245055487762160000305778120750011447127350001933774103182817539204550562589120274505120408732971788765920732294060229087520484781576167287958410296005576642733985145009210260817677403746021183845176832224453182015620947563219673810477099451342173203811535487472551956192362773814413355184070091747233119659426315437845030510632427565892958110668213148488176012763353333362952649280619045866484847426654522161404093442780645130034025186569045184547010583042363254176334005305496085314012470972181760482348424406201781384424074506046117681530877453447602288261494717120575021860301942785180886104626224836862010919796409252678264481324653265581813284202093884373540508905151466205276580167515363913759362236966367322547032292608816858402709212132314422943881704745149069731038631360008040514026225837515578982651909200285481159965595484243802136372919271842958208932958477547802142720196819285169833232033653320190512391471747910226572850983196812579471216090161864227399756480509724027555004927523242535371545291556199321971842641322532280427112823503997711088001600976252969073706414560822404341749972459395239784042772826855416937191090806306317143288631901649637378884223846523592473031833195666256945022725518478171833555169671927988241174919954829343267733633408191835052392148723250206812505016489102917494288824329341447767181449614550276058814868671394146691023945462002968199191253430014239818724855780691618910173602886026929522596841975680410067138828834776535626206254010177691341432906486209501697284082268070520448803249264962320221388640811289823020133651563730155874021862885571362076691331232332762231784820634615327225821951950166041016760649613951076010988382119728183517092006440631821146981050525602112943360821744153296312543260829715034426406443801458008685620564483756062682501711100693750285453401721482152153010132498956879488481695033633254589844166012166201026665129751390961303756128832034852414955709887682726596102060073000240480810813925139363666123659685605601130926170609796804323001959330140000110281461212045103020276893032350838329351542386472860251943378721218021252018409124112142000116340422260074835228804234521633576454102608154429532382499005943002782178819622402430410110129086215508667231113012115531913406408665127479126208011027947219557816655052005881321876706358202402051124637579123611226697326345513982173039134484971891038571766813406888017897021831844752724981808507962833299115867899550572080460020156210435034233554187938111203813999501382940303181843008804612576233898367807303352332628732145180527651919118208744653202712821322838540001054680148508013899201991388143956826389955805099763229440892442041125526513041959285073001591270686178188288437658230479239376010850833871126285043953064757651021822656042288433948032732224218530347427218875845023050069400853592151060732447363692219804881282127080150252161601292609618106083862322688686701400495366456893520182999422278002037641352781100816349680117031262325197640184023013899655315115517009517203217310137284877313412723242125116985457218931366557519726563013410270441240809982235042634525007340231421245859329401841909500245190414668246213301079973269973656241302120212397143217945867119878021970017235004924809596104578211100958107939336905610414082441751242173816703102286041409296410012963606768011036192640395256161323756743066609336235253213743542126282579326738183191834413473262152542731214312643622954803042480275171031680762425266249219326498087015485911025772600738152280022251642567073949751738470234372520746708121173318338925610955401410017219844017911530320503816143493917248692191182121680052266027706518275611450017973909017198679043243510121725428992480753184039865131023253003023280136064110865301712960434564374262926175165153052501385012202989427581207114941999830566131652288486693408140378418762501774629636391233599536633624986221129392288550849528375945324982587590784421520840155688265364724768127200011896475595762618672891000139520249118322455313878484387849675215331341901049020100023410528351306433186615038680652284483835540592296194749284407415127971289468202504664804973629209715881702430723355569627606508819451205227442206014782686894750818142169255267251030439126505159600128959817710065464018486517088852906582131064291018335608129454211388305627983171961701700125890257912463840388469717854763666601948292796976685055218400405411133824288526552364082577695541616612363940814530563343902041184158268050008899899915400466710206686410188807822861107810479550179304053142078181214044801721486349000246848039720410552368063678103024613551734510175273814615922837604230610645376821360241408017498812676000111817274599615818081249787816155104518172401206439125125862965514395148488023971270512019969815083251132448124292856643025674215538512364965445026526082608508747183148632199200858783598690738322184756139743725512219799825768987938321686156797131444303184072583160240086520030136105056028035069762113560495282224640133650079120825181227225613932662944681882110131347751162610303941197864433761167790034533828039444250431628161723471714854153056422400353878910244973410638291478526101530179384325501808324352581127440342277268817014520878411593887530236622071066585528791219596801706618676485591880710109446349200131364021092402023196953539392144888710992697219845299433579715660662818257985030830816843685401683775801390261554983010406326322463344800880191284953700679248991935815332162591617971689035889133166091926045661838960329511054356444702049504344267101080317280231084145267813768561300536455172126553058960224001048801669356132518013856755769121629873260349848806310284912571745212123721894680626574769307589282165031114271219150565190107021623554320560689536442588258148848093406052203534281788522990412368442224264241972565800228420887340215537769224418753616206779524645086657670395318598899458296292316912542076183285480249280950434866853611293921798198123502876464319138903934270137680488631217536862088330246716921275854113334372530422167175301858751724862850319580424556571445576406322403309989045021063001018075114048333219612995649184501120536125829556821138992925119663512325562482095902126632012322139002373882581330811272182672246042512448591123992469611751682727945651264169209486333333614946925250006248341972724363194552866144119471025778592273481136896294196735171127440018431585391725736112298672122016475710123369143624010973074274412044502171202672359201802776564347996946890307146742459644765183647945326519245453527661733323768166573033475585260027406528510411304902724451043462452331299112573657205221416508602738966057202030133082018522944946147088015000503145296231009323164449275471040107625610943246123601257040464226125405460846721441380576207252738005793081022175860836471380519292798651168951850214352653908795528558169545001297245300220495315454723159267628952854404159580500262232575928339812043446060882494930490776320771232927043057574881762795288058010838899356143010139867499410504423384023362470950491603288271299492715904611890457077352747561964589437304495756259920311464957294519030077101720824321772232524035228833621376713058285083681432884649030108738991248472119620680156240010062009338422802735508676119988425130477881689105339205496571306422248554552331507081338375370530429374156433476804026702043348510503291173405249337511286482218350118901855247239521086096844894115910111974411764714907301194120168205420254086586002993644975362248662772268379001000603166148067321828972210011683199617180951353669124885816472001206348224885487080356027013925125520497640308396011178162315215766965848352763602080144109533066616949054780237402801968200819962208119156456017327130282792041534194106017052028993123556287640641269215471468413168112490556400181292157637627451201379927544651240187308235627633770577863387619425822902902868222141604590498314552791092624767462133430778545109860821747323256800119178855536325636804795716290124535732043251031940164448045144088238822767502404089337806836506392011390701075375188708150962017539811592161657756167511214007242111173130449171637528584451799512740281743122064792352867229795522288641472641141560158819724626663705645841217031316933422142520314972559064023839216858421027083014857708023279868426515365742735408144653312461063231964520943950228941660902264009687032069280415338762639341727302211792192246913089032882096840192115880509304273822661001511488564621484683942462165984832260158221524918723259202486660118858311016601988787119523237609041123623107087249598851609615752883049575430090127127077517441956899751922745439208692250483000803402244688138690519707317325581160192309965431762813459322007244328492825111802122224181540384307408360213310261632017297281618488119653893896814375199882018733771090004322579228186075229767864555404260264680185268905941002295495733217108356129490215852241224644345882910306141861653184670251314408586925498076481076609216320186110292438311610961848173102180022125660903139110418085842031575222168859285013487049411069137927206451236807471744976661727642908502442241077700119000031754416912081168713247331258986052947179920019141642326240447855244505019952552765620261052189848430576211754161080720133280021672242228742148125183712228224048557942087672917891143094716383226887882064000297515016404663796925490321240980938104255458087984218868303180212485318917964310104046271471983297930148764027391011015490287910890897247481595919319775413472487632039160059822413061318237945987721349684577446884392770481154800283005024406518300450252116263068931010433580541709650275152170160920174358028177339472243612617416665014290561056685316096180214267953652881186768398088269276125590019225703177301834560192046612408660661201111752335771449271223117185491024061728031151642601424304673080630810110424696397615729040452125954923913936540163370078169482442314518562521996343980460350683886178200458405580961729224190733416273201602001695560177115424310651820858166892828972210161063604212787400369812179014749250208046427431888507694644020323949126601282365127100023330741771244226487624588204872581026813189989125804222715228146853941501962752288333658560109837078546233789620976962212143545620934611575173356200203073152886024107282683958765614327047624402153088102410107875040351223793447331257001501160378262656107901381699657545683394858514113591839380866513918456144280399422185906700724822323604129028262665714461224018718704124878683312014118782346043817149583715867946808144010801275960113750121176155507211119682631506370609016931654719283733189735861620236969511842691752321925428490213172821453328854543840284085955928507261888786110622817672231411322167696099035097336904582456457908264521687107239640561677960622432229952190888141662769462422141963220286890137092715936012218876922544824188716735602551130358979721621678875996732937547964521282531920087210087515601143603344979299152083553202162625789601480182178062108336155819993168155325614487002052245985882615987795262300573497751488256547968529725141051377651129712044491410490434140866299018407533850246187078293342510607281226835233628038038552673016926104293030549055335652288715896312408785175490311264168870461454147705870242568979320631855483425178524629055961223712172549368285257571623557253988816661253069650438000427800187785339077460895856040031132845326411367769418710320028440965056394423684822268041351240050032227020047267005961863416431207429324108096826037371497595388500402242676982055062473524125077537572011716169879872811264828985825764871461402452186898552586130287521696507003984773629643071327828817374389991277561212430179031018560882215125633360494247193155347608567954206703063855309225131835015851652146350336630433998237484811923210795951887468113719180644063698106001582426121501279136278400200000181800034666519790402326641186569295456269282144880286682235344218975020428802191725223021653624111618229770623852018873001295196244027211414135603041642560952702447484806252790197510575933043446255762561664061812912938557813949599016606665891158149378290171360278275283748712077120751062072835123878710493702792290500610110592415953719651327300859944491405923030001710977225505013399262000721697962305295309783060735601372215055987814637603680243726711004802999702066793892958807122571663492290505994908022743090319689493202022964649740476035357930900582232124235534557409036141921593607947401940955182822497838417013391126440119827552947067735216315449802206621501218609532169129381022599124648216022511876974817499264233605760047701231992018626081364886789122130000601554333684618576915244878940366036532134124161541408964176991380128372725784123184206725643308521878528567308395111068264588022049327531405352312079040155800908716507633117026333072011263202068327357864089824878889763214308822426484485609570003177614438826494235812503253806101823679961913450545489552902388227207623121201328564876896417405288249341015059137006496480010953613935247725605871001250928286252240577917546981874560180237136451416313221894498087096487009875379004152202674656174485321242217522843276265379658714241824239967615504721495936145201912548801863590728222149876839481512260322300108418307232079751602744663950613795539412185187819044242112181301801206302937309199602065995236228420859060369710723442408784630010984961258085109882872300822241313630162717222388542505008195865627499685382001654850392133845869056277254217075107195651433806083130520535320290211022777027803612841014347220171248368048391091608781695161194594714021495201328435137222547228790583328034112321009008611616123442855441451972567162121141666594145576015725791804902298261611830616800101602226106421926743635945166770063921796100564928450338551518176100279026149377839150380869712665881461008101240481362794501528920806002170740277122466872157430109208025960515251681734750244532104056157180869469160160700587381922814426880001259607342081840841512156938382997227100060621145794423526236557870383512600519628130345238961422036970176337693415772542116296130081618946520532931754418290016681174433625404314442734967972774362357521018355534821898784188019014075224013305603733501170450292800916674131215849520421041910961761044981636363203366821450686072035368283204285956402080799208069581951991948050267970315484122198943668968602812960024883877896863000032686052325219348301143618138570921690148005011415662528971946101522143695136225591674212192428625222603042807842035463121861612512762545907386376278560042942923190722219965317784535520081754756017350001631018391096118217215456732872563289386116203520599924874742009541869696161035263803823302538392290524686101310467624125045181348552050720311443299931270856362516786830142084822551530651017336115475082651825834051046871219184217355012062801866537380883459781493641299181182441076556610656139263622891052162960553890176090959822726722808330927105623034301064016627004280135152812136097017224293627078162092006400920192182197160835117158682846865147159429223707593601716046238589908843295298326797116616134178402124772125050439171615850241377743542804357441939836410346317715342935113900542960076449448116170288213275435046460915059561985612150720234851437514461442177008567365106762716405668971272229984118841228167151565417263459711500806417322094572112977338199248722610093321036728213528535151949493235466579704863268212214065943327520721005731133444179132811810213894139231351237920034764352468775611089583244475174894453199263004155017512367515028201720266086971854924123159010288379346918660587954468120249559251577910389867163945687560846839715010604853751354257620475202241538957036127925019015985868721910810866346658812102955940359621098648040830158726049132608942408795412380563345299090414011823625619080241002040798662377212279885022225105260222351220742713892851949470101952417836639559616305611424326992197625611481694353643424011217436954421442120983314596041024036178218221007595201173041768811764183297756612150172421611692984740109299104373259952141463161464000323190486396101125835295511223252077580953622537020360681111040579771116459695341815899854101083118510770208601047841158975101334528140548031145701839962110818862478099761716310161422428737181596421966032191011865371594937012326443726689841262003306324671412307013008456188004032601533686141963149816045582418972120056123924649660263405089530713530281122631303543629884911151010961350141102504020206186248752821145310375206143312469046171100590931258714263633133291821970278929223412482597602709400206640212342918642863355801069848533120933489103870811711714228128961741833173979219415721226828305012091456674812070100689469134246478327534243784963086272831871073721588342072290683219294263356527464162292412255855692964320863931012128339827724814104349215121149613030161244905162063639381439125147246030555028510084660321284412213846221208754244967829405801902460226712350244125576416640015320193678688120116146400299886012232204299483147222882886591431029518476504891076135129419798921243533575795120719181917666841901445223361314578898546396962172113654267325187536659244785812296242469171113237329736011476083467566822870208297812423452460510253917075901936078269610010836286179049765804380944019555471552147750564741255455424340836012665941471526499072219801418505543251272371318650257392333327484614591028282614594275005257408455441008000239824162300854365650236144724072158567765317022941615532401608181960201302840226524123947249706814972582115012177754522395110853569463199330166918318177001581939667865103012639368114271743935616896162193162554621258516173012941884100521320585116168493840023505043463131005720465601456728532980167075024964560250026136020859541042848188421013392005203651943928209322657384185892361231809864119716094850799158454784093961074778085964821689451722272376470264772888646037154493984048884252266814899501153041731457788041358260867141161983371922434694049816824879223798123795551397140196530056609249135125012985571511640466084449064115570039157146899682824729301899700342494805117102685268958782566800916060563696303496211340843957842752009962081492502134546750400207389087171562428201348012248947724754008329833357846375548362727055762013518759852505853361298283433307666124566825127373244624894244141850085149929482833252507476265497710822213114968199906115937891504010750962400342132710671931215613403680492564961308051302282828545111220210355210507036968467704011577030544036702621800432994083114227220257481784475773352719644132587928494091995860452776832299300011947424501752006299897045081610417686345145694271244206125522689665182042605452084175926107254606407714815471543509611701036854426735293715561600246992212062521780258765622123214246916739203594881050300687066158772502201753528347242784982749032600510125645103136110032143157424819634452067369171029278081447858378002583186121050547500326711954532235016238644922703606678211478220115814425495741531533143401202723931882556400903536356328191668241420186345616769971618402090421862752406563639874356005004141975052228230925618007217001369538231036644983664158307622708351043792108599895160518836160051474641638392557802405932186574169142431132063700023825218912580630716707428911571673051191023586685411321789314639201407560234594830436203782003315003248701441442565421482585787502463122365039688848355250278851346499172368666666797440415888464555332249280059496259644480455867420167621717713908892261194024679980347395767746248488015363605390826870902252178230620513593061469952199161111126562097333572712583202856333788802259130344860755550252957610996925555141969283227942951506138148515253601216736849555684454345224861127168028038611505134113482834570867497436080632529119100615880117825014250507160999792434560514806182351623076358449323520126728368520617920368632516005222398515317282296162421298141611691292033512010887114748251445760487394283051270838315487381287007040474665251520142481542591250113060022101664193754729927341624716251322529619263744868022244259583790452752861105570023420161882023935880138757627719821647803337760501676509480426220133368597816692129427604281470961551002635893349287283900821912035488904362108936044929123513840337997829696036612803400081167275206722598561800901536974684162117171621829230248211288034340834597848875024969006891968658249510835323751092005719591415734704817339858958741747659213661012074238669988483215875671732017370500189703558804311292624717158732882923309151535528251139751008006371351811700456168764085157708023088815160261182009235435585455322756590288016166922472005690641271755652010996861134463680321507135447509870270958492973614240004838756796982053900597742152637051997388096100147320891522027160377280189525959762399095198702201472211445722291061737342591745689605152304296963850343380016811012096631286678444389540480119419822298451282626536253586895133141008428397532168920730330312467545005044014501726743741411201960182321432288990665280103597068104215975338556301320168328642804756883633483151402234956067921621710126195011365960489322573204564242856880145462321680104225051160742266836519536661463682291040419162969070131021412218001082601727483202291449633436024311292808601588731995456342833420576642069550501115201884431731551402192176418350476516383927447357462357331318616812364604691686274802934053662823153344910371154437621125161053010800170169010687201523892400834139521521387655877626250705036244877586377223956793432521018980783145298742518250958334176400182634035305777785961292022168934522982599849984939471230130256125973152342953628520274480181170165787253680282069389610144577626775055052833908362573823161650130550064045843680296769219783088640002488928271296891760817322441369474624292029671114410774901703137451852171988177198934983019877129128241264790102097830793283449632453184303848013351594758379132143178058639223526083081691342593151437643563822015571471377732667801091201871568571152786901162001441440273750615189245707259475019802804385201335568857423208562755676699671873750244470137214012503332617118188049692056016336768998688321501079036379260658938220955017615082234457326793214840214512052866112896025374362083950406782594243132145216756564870809689673178055780419593763642211861464935041020855231540141813528392122199981628065394609223347801017001338597506762573470339522986157400120904491212682001430684276239994105512446195862227859938815878682405312101863528176007399155435813079184106736896870428939954148228563882294421597064121133664843012959373322748609290561425944072942810780056572878386183407052074143915049388416971721398402057556178106417167522382003040004482536922742728660878940207688592835118273526210906952595476307450151436022549152829988341964149499028584019592981689708807201185074914400128990481648902190269099216456897724523600762109460424615362266150109053224713377693504243521532070139152020114012208124295259089341679175115646032734995343362646564227889912936166560422645728503902243808125169666305130806228695193520305196013076912761602424246156822724401530468181272046300869408238986586768178304706929483522591784380611722321064574138956817160801307841415201771242003613612421909248793391614902899827220521629318652417856039063631662879204700004543022872403226959289821363647332852801743996565110122604542750969904722563074752510929202072347310109788466578869568121076217836962681224377244664734708750555498974352132537684168018984845278110332001859771257042043891252484175984062822256992076718111302017458951917001770878127968502208289680196992030492162810721989583011800265637169597024876945083201742340412272456564833698906416892120258672527932405923147506600296791470494116926244651024323776779089819123630001055726778804104060189431080753424453737096741163482728544314640110168538043402669416296195936583812117657120344230216147011631074944031464800135808414626522716181520064368550479478162540813401693428714881198553157905748035117062483300077259527328054061717235001895042411372165040209776551511211285032805907700160271710729428308807238431085701196592971432140296027868566260763586076791613980893011422683153105803021356820417994621104036575469137220508603094001253348729534174501158500862026174864252884085772013024729184020323802189616149935078516911850332144227077723681010762181735998438669101959784656181855437929013057561346281004252467681780002217507265228833909661612520116804895661015272854806420021061051200272122216763767427066207438588216980305629981087568798691640436168164122037845308802254034545113472420395418326246308176186735808640692325377488683210719861255516168254106180072196213217366581698112260820046488160115496439213977725498694139288948813212531911816306527043071214122541863304038133007617386623787691523420521801113412817922821111190443237163871361054912104812529151761967058133057392255843040581043249487173913010957681773090927786425580137036114976892734710270319000525880963139759129360114650223429908613202178190179080190563818502029929659620053832094476249400245147096406031618502603657962935560196656702576350403807193429610123772168954050089912558183784001173065240499962162873771244311866360228376685443818513014955351887266314859235261115636194791439480031722672544782909072996268165418203941209897146598453313319351613100848480413789524771208235489665702991208721413311204270345620555608548481302690610080249291727738071526133504211724201691113740428183889068106937834676002333820996268264453897130459001489984942500466648191542858143610005032945781888517501168470820551056225018523762501353603328386396072079212921062055033727817161218326905564881795781294888189108058884211315229103062196086706831935964372427068819437613858927486244245001952976184406481955692874635464224229248726819885722821253886565385098231264134152214566510383232264546246775215393782493469431176406584901249575017892966000227364864966976803055982927925100424817971602822326307129526784217815902917536034811817904760033833487340011681201316890183417645396090146022849236720058617561633024181888166635383508386534405168550965213818528462560351385524168033407434846651483387317626109849627050453553591936149696428750998479195637043230011869808885281349040178923025046452370040173756751980206271162724811340031010166935686314074532442887181651818942920559142154311252345289061705682119243618210121833078666924240645033127140333226431240605147586143679050052038102478652152262373681381366289681340199440105115301315442375849644166438922073575305901858284793687697132188496051731801801221777970880156452842768286455627636001496211146160258733915292861283414805761309914180750450983812150009196521321173122019214601220704127083632641681230488684734286378034369921175223121761147060242287520547562161402253403318169620023330033340233615850816834535164825025075488952254082927937185318317637614330251772148120775233994811926001018962405931357563037027713194069440150228203234204285668292153152688923519018246573384315963750733400188658614272646026831484715660361607755719859276901002781145016629101637439490435333298927964582446804813263092802407421401518000252392810739518133501271744130820018792091037411884226188012370731071685887521132362111236451244184485051695320514611438770482355521299861898387170908783384309021900801526612174482314860835107353608793254061710395014782801472796219323112225333845441966284258764865236526177557018086499847344246647142661213886081058810125685041893833964467251459000228196832118610696794432515721091658016292601080066652555186231136001520190306382817301713660163020051351334706511692982063154294052936206814314582081030136031416723145962302228711871961748454307360939655246450234475128413611947712324244260400258447167942142269032630454149032146803178561279904170282746231502898267051686587951351074967744511591802422364312576292383309880116736011088153252010755172078884399616897326016921364881010859872031128500225120621852992358301619720173582247759524952168166462722809584260850274482054555983429520567751904165174721274151159701935958461702123472129946016575649377024884411023042047262131125234169017043401120302467975359532220807155202930756662541027840235286197865487900101764414002393586561184286101760368160081404546428739153721805501480101002001563066171278498161682314569673071216328249777203979644238020004611491259232860825158856031206050617192803259203562142219243802720558495122261058527012285071673480920382134696015494403370861797801407885126406884182483140227472409982502065275126072012396601047912543520231253504845700213028408087042845260429805193815312980212011890822502611185253362050799353922343510642896868049632025679942627923950482660580658341253632017481227054481448264766320128844830661151986721124816937368103336824407888391415882307580631899209280104868106586465013417747731855908110529975194535346421683203640119708485242939723051066840123165973233611568728638145549589384026462731160463302490183122271075218566401029219044281780844176430725876818019645545841495057090022131201280162126135297988848527491221692572567406431199913442380088783213467301969213030501616500319908428153286723421134364122633280750026228702974981695183727176651508102099643789239143521515402933750151340089870430965672117243024001925747526689936498456141975169115010925117625941339104206875535827425692121463841006632119694942272512663307015681370144339212140179217502021854947182079525721162392694884145248456981454211216488193541681910816260419659066498008989301323426209574545153258153209580150227919389821450644871850984748960981546731109723711593648149348821659117641655555510074076461100406283790855738581645937762933702244200418132112060118038157261529193105346041201764232944418968629850189515322192293433648568810165224358884888491233141789982282534997083351324472750113493734967094613628695361512570281008179516697889484175819797961328448874510684484413125017836520045479421601383953974201412788777786174002864450238834417742081165352030135474683760116624023772242377162027340301098111288814901701265232100213216502852028128478800207408337306099750172955494164051345208363931640714642203446481840930634366133675119725426073525553795388917803445463761516515398582844091162843039227181701648172202439635859806265351847778108376049786014783341248494102510022330078930143997914764059101229941008733341628550320544113580115724512621624977695444825949822603016322092719136201561846696011750260145530069586846469469582619116164522849232861507744894317493845289539912867304037277339534962843549783648967257026202327861271297704338905178489817222112614409379362126481397972539243641971048876715476156014150995774244024630754199044270282693521053601347544220581887150174668413759201640022242251157870119702679196138240240426012568502756130135327465372260124512952878850280671726765252450292213786370530443540225392415357605795792132515721825637004817803446081392384114082577034104841074285426911520658725498731667798171015214710328896011894761707758321551701678127451874665012574939209497403284448096884186269800729486191763286110975024320323003085627528749015397349732957483690182820217566251856970056027055413308201135530240038415841264071023249551366040117450915437845760020320191329255124617499540104730418341141234320197955201252117223254174821229921513600322345366646379948379054955263799410584177045021634471617184127353617752022609065020682073180134248067432032811103138025063528276442421220679001621963256199396410534051443201308048232250138350416203048817901270030174988154329319174091247085148071017843409191851273608394742021250129762171842427834501180108101136029025145992074294025205012789013375502102930123843210000081106013387614282230238850160545190270416545922739456341640257797852259956586615814088423471273034815582916916107415105473545320315162002747841753331209272120037666644493070375361875472790383172197192969919917811431710809445388804974486706803176352703821154124223017486051508761017279988695297040363448142044059215866242712257537032382345172266344013031511009622409462135541896127210920052450112062543658064746321958137183228954866936615547561445964637107036477141685819501690780133308276787531421563206166965493031276538034257135288634740553944761886487133330215177186279241375072369186696573946801643234167960024472501715433120210809387127210285840598920713033307172361537900609960184864413579205831641200010370225392737563249742636814351534750248371257626633133015043216087612481525641056315538539223150445120570880396124748020102848442446011511942504922117761107450186809643876882062026508822995003260342424081921004108805632193022057842106782052756702405123764739292337123849301279236189392223320995717264220938521399110577668172880210053992830302424777630421035996143740846312516076551267201471106686280368614527441509827202154642182954810268261092092682311255398467111867266822982958935856502048430067774695600254592024987529817842746107159818411622165307202787438207998022292491952424586840543173263874330767291027214751153583817328935920203292451682260265980189927205169324570623280196608140361677694198800037900830784533984747284257423811248819426882420142370120546415146887843502761135190350353268514428042145511036800152811118534784826581645007027213588641392590341962732321947408205631840512623265882560215232723247435313586524736747792185414434617271398421736378646121100201160640197662847078922806222561318087542739285631427405319930986065627627420048938688048323059821611001682865978193347827936727941124979490643015017551384815392940762012959231134000517311808654481058489595743988978039163311460400133706135900119373912067128449566224401654640170352079162210308487079458178192913000739206233097883053191124000622320500885870265848171524660016163645220786112764741716346773150528360206587220659323626871254076157509238056525420365542025752325516701012464179775068154330960421064401802174482019696210919827397501584022308499228489033143493285750095283678138979464132575894215253161256172073994412239281419841658104844120323850116364644655325423752632207658701664446286242526741011076363874647893782089670600322972732513976448842294000012533049407484832943829564085005780169928641410983136877467259264625466151173250011500743460659457351106590496020761243409813546568699797373563192469883344307944153615107520340724293780027017621671408457146240792117948623842448185052535846186304232146017810659922576408126681960128342906319739742154708853248520412693760437080331966832110082379949372290324038692244215741618128023971311211284237600522481830619403611214401064884149002299440750305293763090481314734197760397576468376044586319844676269422838315328406345271067838311522086160244755010648032417401473472147132336798810033485328134803524599216420009220142361170103966227504233444112492884818566608254412574000155388016195051062251731240275187162350215621231765768594551962832672000203700425855642941150137290413779187204796533515879315936147127826506581202241302675274396540802817308387744187076721199352075008335638186031766700244754752831813018808102448580475454226730183040572936400911236582517740825502410228681816381214428813753968959242050643500241875019068688035952442968105306467352428357501152750522720203826389760286864657767440224023294961274280479498800712300265078750138987212222001925884643878356355561042331819875583520910589168373934677820130990588744583654078805524675028489811330313220310149986656857592736844719025300280335231945170078458641334545022730403751512244642498301064707355488347028947708441185649962998062916981482890190988329627132292013011382760004115101296777683455500882470403160794148440637850165179835612841397761425908124317650479212975002180252437160553152186000033286441359455719141210605842832140140069388971852178638212471203951151756770163676315570678555102276327843553076431247120403749938546152685313456190842625052642334802901441820183762511435859409718595096279201472946276853134676057759616625953588531037685197345117472023712622447900124371012135586877501865661718011866090578448356244660321219052608815107976070000131672426420407451552267503215352266718412390290824630183732527447205918782527045995214612102626792496090947252709012303251822824303282017054412424287403201158288129142213113737289022843233127525022762505927129974521931746117980826313901237175189046175644035740374061033718562688059152823051027572085399523559124812842238390128798548465048944337746043689624055461450949140078764909572803084629696962688847790768275441822898308512715483601585051134756128290525568033374032679611803448211452244154518038918756303554860414747812627541537633185193626687631541751236324878224106676810924205138164738823476801349920425574139314147460110151621829861855828693421003435853821201243101428812193001309437151854520782523802993447965612007840012520215343265499181625409887889163494012493738912302525115192196425168251116468162863948927056004329145025725649042829863748831954889089100393918239525599576446557721572103092061788063666211342343263176632218256316638002447608161915086310619677321971210043401343751352980351585036951210962281173001642875606886184906840959014922107553704807956979581277277224246922008982184396533137144560358516186799787586454870359398185537307197170987030652722404081802415447201049298161367486214217920611040569613304166113914671571724159470020813762443863161752827821769432321607158200152489548639318307932424985761595120211075229875801236384144891291106421137163132756146776118070225498550301257455702676527393262068580147150138255026040801710052258505220273194320840186544602249444481953841501803902640246144072513559005371515193128421602086560655040251758305650890574128062523568316061678774565429843972885052373239944744752411795823818982620570951850415488748302595424313920844085150178970382011765313019997017200804618381405203201356300282776224939303239510040506996001253616106177712389521579179414348557190175329174010417493014220751231322278822646228454275400466348009633681157153910741115877724650624259229206451962974726270183061737613486442106305668661250030618247389269580817744605986200255404134051315878217790722360802233800663502170999293997742011069607994802405925345996427961232596123912617770043210685418753792230566049395293604117094209785411009956985665394011541337820844788236372417155405684117122536805104001418482605682928133083495571463622137401257420126159586047345642438436164218635239196877125990855714343728163676125741442803095107136109824011964010719276080054125901004748807093450328287920209601746177615682292444771931581365215232647142481850385596791133590699604193094359520164943119019039928945766471301365322970271305213136119973829211533801459354124131669914228855327427920647921663792111636106888412462012739807386519812285542180594040611633968520384002793134843731246688240837355650833966356615731855598615492231466010141854818109010104662162040216469013257426192318143720337082648805062873355342731821936002200984152817766444809952183580212879110290067044357315162775920540012649014146021201251808159201317831379848200420510046411094981418417588040239726018929710417621663501102640798100478278222155042948464631126852026379633165104809031276817028941154142162344081954039600017527283594133790052703999424805125822159388980700259712595325832239781743366040010906352692611807850239955833340851548645727136464545193865262080259555270452410488941217500441826382869311922614982402354071587601961728270936296646063201745172272915129210506620530100419352348661540835268149211313751817097637827442552082570197544660836270400951795139598246813162381113475013192513808751901214316576632492302670121708022451015101206859958282010516824161422100568000138348125570639984202348812360045257417820022100822447761804917992255205001533390576306343147118754225361912231282878111668105144966325415337235212058234380081811838590326005701041226435968122944228664947247071875728342020215196812814057544555946838610811349360195518421840904292798294227775559524910068251804258758717679501740230778256794430116874923218322339342599200504872733572519948137664021031165517073875563710707429141371392251250021329053607975578401481490157546817163467020218168948662654344100612691006222210109828940066817399682682510528282613364224140061642014063716061764229799106005237125564761525975195853817158415069615165621687678622633628480167745617082403858783223920112274767742510680819494830470721248390136528813864712232001062626887681844856335911425424821615833157262339200129675086794837629024075961003116291550813076193356131720109354520518862178984478547160714175812051001584684181375632326803534601489294745920131976088350988560420812298605326118360534420915422808069890491744866286484548136152274792632376065388814839121135281053365129603129546309990313417695694002822288419976115137696936029240025444962011059252520284200175542610005874293361965122590918339248267030072334523730327075008552181477321478295256004115373803361109191559232544499632904322775041049886592488112052302029969174287623947817822401620710143759211820415826003575101530034944056956210491001651234659008136900134461210589851461600801523868312272477734925411126402898704061215009647795015141072416812481326252001134614445694016558790152905016746402783214894450676245890017117142223625382842664902122913311341715515160799222920931227954105542410105600506803609365865644883386882125621496880275655031046484384168696816389361631315472719139676366540823056487413103615127654014042681037220209983212097122190859111826016857260890819126773111398704543512622782378510357555953720205344745524117657623755354626071552059251410071705966221428603155040174957627000182088518278233189706789981206025817554705513283531513290812039161510848115243278397215984832005215379542868024886606475320129201177056459888469790182042836153075048652701210756246492644354918673345101128091221365081524292287238201262310002512146196967348590466838277734818105001662221217602017711595778104377371319445208713246904065934150350269909916066007109402375568197780609168874448637296108750228522678848332150413925848343072613335246576850342529618851927804199858133925274601394603979973541887135178472931418312288894110898013735791313259591008308209340841224810169120026927225629696744192423037654243774704609281601671705254880112255012270640860792051950556145258765199218034241817344100002891003840331850790616003798606453102958156825506640921249985924819990615127122203035314640493868210971430562078645512622254956420328361106080111383922999330451232116093062021307321066506820063263660193439443127176058988844467751524184502349060132962826789412752853271093145499984366022704002056561031616127358295320028971842981168667301124035111795278244046208073593228410142937125510259829499539219032005696019488006665244662896460403261373940184701625504975533227022118965017001838732222910830844222478357690768192384623720394744453284156043233044902804250251002001213236181376010291054907702536019338079267510972807670821540701170402486289473760286001353058147294079182027677427864367670003479852735392581607609044248214121007303809697501461516208034104174760025332053847520015519802487875156434015141001082466198314013557062573934142504074472013098148629038912460406513708983538229499601387203941969304242685375260568249677112819631914696379122120428448416102394664392614919081384320561216168840221872137162114955852138070300612603840319035622045474727521056526581189214298321890556511417723392971045584197589013406161369808131765335353214375431900018422712005288932976783353918243115505489166020787082104333606214956811668812303412834070581526081065421521227917718012815808948225760774052884240288846428042655708182831522614871518306129868193664496341887602127048184205014965354314433532232173857628407017270127056052986322195806604825024991238960255862812462358105402853625257613819479563401570437367622011310002235669583515799802357628214008211383987630017336233819221221304175519991252418174825818155334315716167950912662888299801758275861704397963831722302091242216416787214009618525031758001162392901392276080049558668264085610212254181954681172519104058327533600017065541487701013884641362299688501206840427740905084524499523741652918203721296308501921167601537564899660014052841507428832017960563766112104241617916843654141971609984028138510609114691942386881366663583825675027022001207612151373831110596148768603116450275315184885244171411258888490781764037200028177527773764320014825762685843243071597441160580217984893437862752547800322506126665121448820178061514049097081475784112406098550330572898934385825264159909861041187434558207031028556429052487320159363202921219843223621209022453905245396053162444788827700280478186048050971216994934241160973986292371037735031722614738222187620475904294976697425558378273632107152175422188836683005470669123402760372150837020460078532365775618661694209122731368124043423378406118108441641341344610506171859598213524304229169667368123010221969291009862224192010046411861927201741819116136762086108296520320983284348035308784183042098211924852183833860646799052727570155220022442105029005145821330776482980904159666666728712706266700002030432157644332134509835778863206502304620180212494828014039014255448038624315212262872090629805579014248680810363081039220770662087392100398813390399672943147051422762622289068119829812430246698941391941707722602561582930690801309511917981220920162359499043215093601249408165597017365951037286101873230899101872701163702180325715051667213500199744182742844910962647750323136365440514416139761570405049221498165949605808190723779748165798278663013820242487246104938836288985381627924283608769410533310128545147662546865614295275830119020813028401881532279160252175977960228266315800122264419127244757458819801792821144801693430610090503365551809990537069762849703209702015120601084420334620277581629516240380197154953664017985313233048934553438267972217255523451421257600159316233656092708687640290401130101582670412418835403262416026793001348137113943974462713024882278580114599452179656526817064611323002095828291789719616106256488474696291493712157798032645022951202798409618487622003522019695088533645923214249420140817760684448266476122837033151257057014685814423206997751058412260894731273601067497622163396618625824576437481304002584000106704062784134663213011220086056798087710422010164940500340011017644063212220597960132508211848327992048237724209925171406324222074660104419597503218659405614085082002234705454459741622263293832336485633255196350016876441101740889462920241190112175901714756224480494044031046102721762904116156994749891616371279112196842669763386606280441254744690001374282928246955214046063331383159070969316041854413785050837418260061413076504712250969519168644416601164948659813384090297947962883179672465766436592510865001155753134246411034211445192270972339901159840802392125664022828322794971936290181984413908004798722251392200658822724243632219676162734105093763281201982112108609686278583896214015444156813603145802295144024185982917500473746308700857844731808149188483323806370806424295682031309263524875576400402142142766401084140698750180923457241834725616671909974961195616154409261141119888217358090528118501110014153233280324115215603777425899287153922698930390999538191231517013292161524237351788686951082184228468237147063100654373573168820606251343064151612110366012584011883423056132289330480376106423222605362390857252060984015910027631362595840638262283500022027537015202311248999741969500152168544350287116776849956299269001180084998917507602888281460592292752067464165334424437743140672152962887588628160242125118921421399302249407911511156358274229710066034470622278152665281417830279638333239843902430380361736152827583096672981072071614358598921169851167866212889679002962800144207571121615317023243153096110191116838741617585282095980185393828538912712444231990012873445086202286976296018512479358314924324459642580807744226345293695562880011051042189671203979614169505094909351329868624128478250466487978540325897277329412340363608159211429155502709384132529826886930601280769348753621496873193650689515319895074706470969690581199900793131130435275571811896427114915080640366245495923112835987986272708404845110700730601545957652935705960329309563892825446482034606110997516092806786174163556559196137822275957414808845444508448260483780216407033299784123006987001063923350424135755133120234576014875724980127600290175050496070464768801760452119920307011553454023329922087757102228414566078212436476315758165672016139972448441169821214364352666669499811106901600642638251211104062706615603707221078683967383821102588516843057457751973598869316225230151597676963680009990030743132513281599516840864865332160149317772153768129336013521808791309581882984226156985420390371425357606851620930167657685840203116025732333050407040524208207375527223041568795166830366542575401114013726006092429865206976888237710500134168190803184351220651168818846451595781612008434437549566901090024498916126429031760116443014599707008321066203105193613136785666717334912018244270972254520594503133291499288024900274466913538988130691075590118320014787182906184181700909144600054797560924630108507234513511734846185659696030901502335974247238033729854519320962703028664706123716818454308112140674127790419655401000102428640930128844603276543515400271296111974810738095973428590459581891516383265921658108243631788495808382452708058736321115926300000839914455112730831392175185035461479428076813960279105020694401420037101441994721745824810160165474021496951020004019071367658148176025855501388884086810375253037630656567435814683587525124275611175005674865108962576762325666343805445202404139320253112699540995193162641878604754578246902556563212440979761522682065284421823036803435881049920135736029587212182311309200352590137650225039190212310549482505656448570094129601813019601282684217940257376636660155584035560829141201075503325470663315464883362023299411450668822133674849681579321958196334960249417465588898806344042201796548052847656569942388300164766412838014443353252431008104635521398721268975205861514832170305611511168002285436464047502063382018018687191188889413177987116488655853460253854029547181283341029011257601356957123216552640165311541219497141047100224434857701076461176230705602440530101842310611265195889519581535236983236139251074682614640154700027321844503541471900580704244877116512510143014019391966850125492532802674686152798836208621438918402564384822299558375403689285980012418812102641378085407740316940949872105732921304322200420274767911381279869097343423794764301801701942543200607591123584106031450501094213769689100801659408215740419352273562451400645050145730279612634326621091754257160448028432611558971078440337728323380124494559357239961894300417753223608902660131248563345591330249601807291697610420115100890206525698507484402871504195072716925706815333750418488255322419776217705566843149704490269214643125123945420856956829848016851122979900106590700802521440189360149924439520550647145236065802432360627251642396812996119488845066881058032101280362884568716609462900963194298016500891334058338857812621276484170525168699136818551803416484412762752702851084741431360376248154350478632699050417600221850127858538678428200135826540154324356689924775005696969257919035225531353150121737081100583782564104420002045920260781698108834752625191651490761144827223252172128647282604902397668985480347165551088130161645022597308041000107322611822723639341701829734185949950672750471856436272230864280710143148225722545394191136683326598801632801831168719626316992228244519859841713984250228318524269503801380408314100040230015687628097061300140824401161212189162672360540103276948112733691250476157282556430084200623812294218330401111620111045066099695354088544416970813373382129841587951736656304205110200751185812912825352053648774291602246441514481978897175637912416046521469164531216995814850740281797697144648015337075086809604981345152108903685172076397396811949861819197352820839604205316718079553781444978618666285909401024458254755282695016401264052481134103140408800103042833038203264011266219412001702876263961018813654604396270173880128507019899086640851148769160547200551395229047430987662619904150358634299927262913420805654801277580474573131599148404447029090679613292742596004762569810207806852625060884480208195677422527835632449614077761531031393420182426242976825615626483963224565585216349260826072611197962163563559884183844011817203452338299747813302855998681853281127391773456204059942411513152467615952123534686142100080104047107719946175528582621534029232563548125440389400412221331622223925441193807420480116303883727209385239512354651627223522060671298808563463852788591078882230108411899030526562040920405617165051614082091003388351540421170243925073255028041830701324761610522563605363495601263148205336515283952014884343440783901526635204101216728113174531092309801649426453271490617319266809044280363972362984128012528456826672911136770117236022248148662501219304232435828183886522123391523598000199602935568041382172669408874176146138034354534598886984919501241938216505630312642692120405349750028160161499313538256696465187488013737466171859473601750965558561911324284445883964409035837253488468149770046571619418431376843384287730731394425502139707411117769946942352500559896855232184150845353046092827100081509840225852444750760442266304143988011970001729203217848025936389955270965805497211748676050331281811052148374419415702382244673541556021787278018287927045325820094621278702169440176310209044746956646214981431111385515808472604254049376588026146616915015597471433046916981440782713216772703867727828845949002670381219433218220281184394346863133425611200371964544276371293163653081731931094966215407542722053629731915585251337264728018043555368207467615742323712802419604193256836446193331856803072728636053939677355506051691235468351172864397800638252445430499494985488230396111637904716708689463134723950022109531311325296566014695771368641413326219364826068002380452172777578811949227152419037499621141915359266052572544180445269441615126585570413851201853640384538309242447704813191753090539821325312126550593241454013178904884751555004411401893712423901203122307865166600816110381313088106832512348091172778500012906008704820393681202586281846414842391567681671012152066471808105126493791723172749406472787618051032373033554544810964323210432011311967895946632827694421328251540081315874143380020322429942121863720114704102816101205678876415921516656155166218663752404652401282256636342792363624563411218672124926029233883638410308807737613201024957471715352182148500014497264349286695761178494578947539995155816227331476255427214163616721402883616150818917278221535815729591147624971388232300259361112512416287023216791440365158912220255902735111439362216000443724820260354620665003326960229244435104416805826931135921842316928584666159467016139203838601217615131299241013657228877363876030197941974044456002379870314374510100758414915695401147704208728941028460224107880018224298785341777231507851285572129034427571602202378129663616196319625928929801087555235304509145665280345017658456816369925266806514211357284587661900857151470131719149160204758168166029115883444061467583405376143516910029213386680560376672060164995211828562908200222849446295663200316461622072147072014658907836243235525114185486346489424070832143354824461523689261747270814883601637840162948936675105951842120490111064882018696102197644009396527919538386953396472161321327401321837212382742097281458504141514428991490458135814284925089305811490501588185144976010530781365772253365181039619333081950140605705315806573019673351030598138446142120666703180784850717429386981228016339392011350708994283787405573259525659077716549010772501157684183011357086508261720411788441544242387106121235442625844703140924755526492167185575039006212387485875012158441013948360930202134145017612962409827041877594135720128494119123821108523929552978628227601810531742363816102873404128261495432208235079783840365715292741042280228432816759687048266386539177672626224410028126741920748062871026220013047201350900122688015919239954217698122195454159128813248035032219372194493712010242482632208623156591071971993772014919352089955256285923201783227136291613515662933840852000169520277894310278402170057194955269478998765792511011259006373321621920179526849634997001735755344318383984195125050196490125241066318657623441602984121129839437613911374253974825662317400720390656991501139336138656910942242625456301155888192121520575505733031978829703212590272117056227641827622052634170430065192147064531216165899892786617270081889407962885083268250210230410138402073860937860660168232558933777821747224921012056753111291857996130990550805356898257936197706512021210431881776063894013403487822219424902575702264422155566270813058315228571158742729936192897713881151641641347170196138127079478109588047517582431262090663514967383179750138460026689219213834502717348135569580066016854723087705895661696250313196678699146502687166422164481909440252507578121464921138969631737283651777331874470162653560100900916319883100224375278492014164501687000123245125431205937301593504452504546830139528012580038331829674122740086143978012327126086222896927349461348620159213668432220179901954125038624897621947872311820439208107398238602262964979205446201173062097226443441008386156780172170493170110376861056382643616778721074693265494942632362973448168555712240834132090413817981908728643718922236200351333875521956250266215017353282577882637847472344400715912531506878494414898601067042795681870912746757110438837704448804516368403073607224003194156525332277111282883209154274822432623724565861252089756130300670156114275430067522422238128191079012767814172403497160119368851744015911649158248729622493901140615966247142402363828292805032430621944442203490131560512591841643836473600270599240149253297615804399451016830465314323730664274201919632784160660790275947872172237810518772883991228243217822911902254412966788715010814461021594164172176531576858140817026321421122906810741851892793752070122586770036214151423997753306579800155011010578407369514352002131424377790249642166662160720048044166464631008664680288017010056751657474221602227085400299101445010108723229561801080494300456104060023945132472609211022306321005856255300719906170352050592632447521576846168840648600247314370450196323413346192106580886464836229824093841636708663580778544135200449154730800116188813929971042807392009350882649420749941779387208362330276153956417638226460015202531169728123466274062920728208555451296392696582936457466921641016177900871120413418941244346237558701083618192126447532988983838933571864645202798402326296227433022452005631151496744591822133462812062256678752441275331361349979193039709501815696138472104448931001148208136598450797612746531523533268863298143199119638277612147661934709427251418581711679125178838734828255921363712211008130762619532921840920152000835107101493302878216257473340842870696514467340710612015373444677912376341726846410157379936020450221598311580888077324114126124441382745506256166508116007456267571015756326128111384024133201081533180600295086216778209708822585506903454725209327363305948567318025143601248458531402070336212658185166013799852380560741105111412252700286585779442137301286604152749240866127275611348427888301121253212768357582219510511727866918259621706243580526817352410440939681206410802681437751153536395670702110206122435208174725017861434979278340679074325887665539631349119860905998931458117370482117880192580225596412943101222231733490276914462205024809405482055140476120033508845133245035916530157299628086914194682433924360401083722803248120561116299250106506928708551118685274456270381622992001287001760592331400010658641574592508580195693164072465014331633945646445026592013352041358618674426049421414122371650506353287761154315680811259940321552178575574085324335281860936772482103680211963715549031239882291357015844741743041470436124110078682484911443384516284644998445126915281911193472366118736612299364829738583656108820813280491446757120909014144361286560176106616350819470623517659784922191895425574303804077891486436016584677000028766419000715887041860925846450153592092256010144082069251337904436681462548101549315736817742201211422409941551425845281035001876589394416165624615570252054196046056722015433147385089379283161168171409580436923319734389538758448120777833394439468022165964416202249106344252459436268306556259627198438006411734581357201242186653312108384281165109161811565007148165282551152481604280105114931415089745914884921824478686185592335615834120113253324045680121664627214976902075824160460190688484041758208911300138556046012513176275319210490020473641822506906917323681064462156570760760284632149772110694881006405390651692766365487184796681513031393112539670923137232721976014254249267444596755566862116538131670349645928390003015321622509039041068939282138890460213864059161035809561553900200044829392863738750191482219113925612647715521648501750708193602660514482655015723766638221186738517860257712605232770081243828803320121970522561802053368