[17131147385997611541123234902614252271540481870979305242411399259881469659071341186150450824883824443860493340464073442262597584842721543274787493412196248242167094708396539876664937410974160229623377147283535609830311551049931950180183608924042159289537294054489875603966363534340448574473518074694146385688650001369082225291822026486116165706725248093067999738861386809852939922792995102016678694469066525433925618883069910067432888946808737138043990168434768306933056027178431021367853448703823744896256801082684592136377222423999548745753354925937603732683923246275757924983895059977280780904338401679329470980460042408630324712136415052555682473650291118956546137821509555894953225135991765883640265336630104703643322398480487394955079861975681290422721457585779155073381651405044402768624536121989457731774919310447528589608466199991293612458055133319522823559159269295179158655349966706977886089091504167647718299992071120223603460526120151833510549677942064546215387010513443161841438725818195545430636484214510828229147270753345601089741342703627773492585736195399501690516441142526556084975424071759230602149930099596372319234019285456185017972043518412342419177769137092597390565084970950465013644991674322568961140144391595305689939615308787515674589151282578599188981192088842487847835781840404313357176526518890947218123427531654036363767579020110085947579155684055214371589845736015676261058487787033056560874538018622386039185794484716047022649475634834474636744875787631548365045262768098210246450535862354907433985769726377414498603885034817811113912852800422363323073896733023287115535228204749700349092073760509378212605565478803988782979983074072334253243279473628175231163816275771389814365593223276730551906826240693723893892509520769714489120929289265098078339841024726414511021528194510252700996782631175088147433808568211835070184801672756441870762737740311966947435221446772727412377926575350054652300468704053851017792030372055092751943779925016551029645051320044578566303283236098951037283470391279385293983867482265933916892228593215501928659058292650606110826786979990703593411069436313257054377576599521486375911324071290694979937535624489459081216083398747530633694874564764680456499076130352193168714848296626913373043664951560373216441287319852506251323566006476880650867225009267019171897662741233442511451006708363328750487853035383787839620847079931728279482557563097102920904799595443807274115275646070418562745052538085863034628017416909731663722221194677150518034524901846676077404430031428493441158818331410092337519369143838417039703742814665694185846076563228693586206794902225769805608874780543284536522431257621758932456391734370688269327072399713743865875421033232796741427721797284027208405488691370676299879367043944415716138824907542988976342018257958086698834315101241666969027063967694535874125603719244218293955305664073950781643113721996783358117443497222645818414367627733274440218287259645908072002755356773022321153976590676056151613819853941648808705774798534960784809586571633426932235165918003264502336196804333911624806532699690200300897804921753962504522024088267984657638489393239699469097224594340055305308730486072796435433611737311987197328739181468212692344714579614050955132016726113298930765014474894891672494791159928696780155624564687586021101523082848072671332067508676672705626277789664672685253208005188486456122286937917720090326301697991263997070590175405317295983606725893330056973353894179111369362872089599695212714030811265638512960917556173958116086079601278035702259972056818636377533855836075456114012122284951651480722718767583181076057202601461259068224307565721004987476113662208956787944237926136070970772537768201417654131450855309139992144914310865501795519463151094834680543396278023835106085683758004954903632234494851663352905292902050374285308067638861339014792555506303106733888505790793426891254211667099490684432876199034842768764757349747564946397227841553619708864099823213093737764429209597669050732026143306668692775370822824302920376289534024243951286534461943190953066017950592396718090217504588925076580488805754448519598601123104278642042759919064288505034939825675655768474360724622652845364697259697098214300567136467219009275840800879047286295570697338996946542965160936056597213185996650677650601400313758715835993977169418274688666301802550777494496719518773695284391166526648671269718446214192299683520626830204553562350291018737540581510958296005497287437049819914385620052821194509356651509413453130790746686171884352064048974962342301024603400094247347032694452824600302158192647855108064221168473756664152346425511390460550736838338072997135515587069250581742658130927472076421183727991285934454004520960913936651285349703463738427658897476360236502654428225992726471402196982181103972886076455939253495750946289616784058871823699690852288306717642404000989510482336641222505735992677215579683455760933467923969762364907748086078025808958639809331272800637291986790621813127786516375079463975903960416912394550837884830335164447883081632284682677650358197812288642285755507343594521436156218565382516197197004758131472018973790994632916256713533630149274302527927298270660916305994912261505562318214137868523382840034699512295590600407051356294019384113863621154438618665409858816832198084278951474823623737879201654474792614156245852248775107013161356589346484099293143161259501265511815026009610354427839890980137084129684041519544846181101060822103892469425866228497909844292149821905467531734304818705131401473052743798072537830312368175164915216370216008957027908500506733734763771000968702969795870772394956842156657895551327276221058622367342155995293970373246662870264045686690755827569805382568953816001885028049772990433867748254553361434344047692232095719660375142013677802522104031216518010263373000965300818017611020689080346773749085773829779321660471863492613607794923422884531949304589973656583591690979303307229403471244187403572483544531040423901663436889646594626115506883802051765317618128543533809383731392899764559704286856881026957129571137407642926933124676199044508526196609933579899778833916432316212528059824836317916792633608126921846745655044790119520129866946218561521778500467733477791936173091977755544600112050521540005856961230258755282871913539358125817852234050501737191002799732591953759144462325813471751555225101551929059726334363793115585271967294485084197226395331111751290818926530681558513733170408827822678568871435450100009684105691427639997986615899853995835128038567985433784515119925070015534964999023410298148783406242439172168349044909102906665316247823892970706739500377412596556925278114481217032004956819565000773989610697179021948130207581175716054811899984916191134968185012138326919147828711659994975729006973693501124289094459870882791645512629854596890053608247936939627604918129527431495386862662875128680656209064541575409997524348796654079957409362791322701281354106725635641178424295311389005595801715548249164555440724833395337249038112625652885624276366116406622061345749089049937376668218700074170604596793194153856106826806216170116467652642456390768813286244931673664733968800690133313177993088594334576032908115233051267641268620839318120581741180277295437963979903919807148900402376164993751437387154054001314072504392547589611514465125699288408765954560223902605961197598257722398063031865372310235341278136681997248244029100352976183060352825889742338463221691244819235013541242772135022451043940050729420299760750725036205993593656327783251821963686471958403576051513228325865890407207509522526928893121130899898400713115254447199461578454958967054692461014253696022200914619133897509891466803831301572520300481174568374916620085779786147860532801462781309107356755996296807431071391632154576761184782454133724331525004460566183309251971054865607995438185924299299047470137653912774520455465129992248141385048494307223335853226500973109453816472099680000496396517132003452632190854099150355006021947103059264724619568698565670475915598223626123611249581341098973371276904340404887495407905990943885155603653700196818265602752584718159933573790282595341088914397647974828373647621202889610414203049868483713062596459615871369608442615396613668690032713160166155501156848881691474928000070726974505879423630850307596513883645165355215732861876006942744039919257733138435271982917858690286834628171995287788012091509015973341203706264495697714942145837620506808183080008931290376720186027521671479259702900752321613496881517503501061399688726660253622138121961969086520951590886305440653984479241779604733950785982187673772974759101292379265989155774119515064279627959453939637957310094306180177064121602861960597805379313710652890468167806893598613204642148491579532496971845625164293669395875662645749406568682104533638782028309768311015911167017706458652687700046670695408360142842648305869657463510442032638367767032698082875649147854033304474890826018744725199478397545297874814363544760640083019718284014198333153475921205433445167542960807633089732294642071295157843758527070532587936856015354479335121710551341211269014402166896962585872883800388059070092443667641959767047654047500661203613812323471124794478878280703125757543649049778434873112295730553710842998194513408849193442283200259855752577292310051961215226344591544385726270237742993171367548667967855785026032595365932714800600265738204920857239169416922790625061083088754108432890259894467416586371087480583697823307760266609089819196612590794736898075654771014817402170426544306220551088613598123416395689435245723150225914807620996532525597376978979394147254512451880733564650103366812754142983801965468053890771373651248458943567492124045147655856829620058955571543300233582431604539943638662103573883057103281104121982895268808076750095688873598384994820022119582121856010635737371819723262605136703047938569248451553156280531889248979288027255740986079823923745736542757951788576452027811697607947204393974039142966202738433315378548520130280761105663539860642527036832972953467246002740169766268460627138852791005325463632640167133923957600471673782572688920424212230836406012658734890642955154539756973984205412912943021387995697415955240031260803959889493257538146380372208469315663759144088118769306984756371732131191399925308024916598220985675794953317785235867286343945676674221531032235628458178718339397774277828661704673117104393734913024589554385973961352468017024424246060492772511197089997430674250499726548795246169214063049543826537436143001230372940189015303352513061354505886791225132581302490783099378961392462285143776068262346604544758199386396529844104686610395713514469359474512405253195480377473415931075942575403136949668467615106854559028442666301683139770866278471822868632125609308358674408475735791348492548846301399084546211441206685774346615225853571294610890448420119926779226634140526147898080138416388779604347063736768217737327935190109225513613165662842051120198572547283064151547646666778555493898074803815279911158968755793780737412778482505934951982986986850146802861800782976584945591823163740990470919387146247053541539668487186290254333788176540500266246644700405090158657606954705634251028768456317076475693428730090816572722069944309177017662320925212574006231625244677756811533960130588099953645055934753019283588638526485983738420848082603598962546141999307441559089002710800147088348323172805093914032354944602662464315393846417846353188283929201492353836330550195076285035172072976995176985313858470214216759302539231313408280690026159697113884144271012317618166530412091296521492784017696395872771205125309317520359652966153243988752368391340011706018821489694279949352939648578178949123590359868770004037600957322097466496862537364184998003881253208771708426150827414785859722967223553709360949017986789015605758498729737434875367087769320688890000512056514218208348899596555425986287067714508753918235775953903168855045534756052231343363208234385968796608138166692054897731202955143925320981834040555706184011466701535915319343834960663970554764338005540505517477742423073018217741572073092055681774971457574206184821789698615192363388333450730890903003790311241911194912972509514542694818725383165097834979808148840046726941650510186578449992942055856997346422326436382288711689533751018349756142225083678377051974581641127398154804526117837458402850811844283013629141208913123358583045726086917718390178221541004207358140863469409369557824623039421653665648011134972209877662910356838278368891098061213089730308461245067632962624135298172043632547240224458076926304415432934634224155029980503777672180762575561331007527380658891317916444838385705379062441725892768242949902564040844052632557928124728484751159076922508028783947346840158702358557543734814368612966385890036821882168961567588605828273429547331462258237393327877880261243721820285225942990895893722553694156046842676356583010547412780307022521169328593873476564904646014435700607860681400632244390646985063066324870584770785240777229257151492572443066805529096178000863198265925670585774183298602071185407548005249027733306526236285057478412495319821661350568200190469662686499593496994172133296618593739712087781694319917529182429038712903896435519107141201396209554831371674579332137908922543613393756548860628603992484457450364766530267193196423430242557701914446645549067363263399222122671891794848023087395290644834906203279855569371979729162316678475563670315422857910500433486427428641147295055652280996689817480798959288423570655164909050710357135877691517733139078895691586579671519666906101435452171312333634668926062573609011496318788646291558485238241189712430485441256943007202930044029646518880496132254625397669771199630912334368289194790392768683356144894579519149747579673885642506424997430807903170739240045240840466198330547495356878246494611271642942368368317922854692761300936308021912039455989421099313613562043780590188354405605598948223970951485214442174873159039835646675444065466494773574498782526334088409328557611278765161639341596637618128497735765889317139943549715303108629185629840737328870418504567955586078196536949429498383828428694582149713263590468616596107283957182088889479566036124091447162560497812368064449373060404578773153211985110544062430746260567291055346316807024581200106181366189618665610291431130927814389907700824961259842286423985110861984022567999361205029632459524471443378543934630961132299865045921274988654486805532974149071369002250858751874584814232044458458497130174546769114254780932510722260891014324947029847844325881314900761921729235083133916126499850098312073154331184378613298545963647240133962648994000911499589937695993657502848788351175470469028985191983759213518608504016919068535747987087484680957335566476528651306037186769391191220746524517243500692035109118721687969158702768296890358050488535913147893065172683519247719328053223619327560952626577581786225632577814842178970227756008187114388654958621506631287794921247777807655778153950230383794861931497032052728228021024574048021489180237207501522955163950184508296432184649573081346109607181909018157847618654235281857025151759461304812547716519151143589673767326702101262424205170873958042988494683533530708413614233386865962789369905558014257164336202181867154660293156774885873892464773764602029303988858288722502731733365216447990047663177001946965730761962834463343205771833110615693911399866391730771371528958101116540603726816184888220889498346907738775646467969563199762347346404845076497008120364173379271078403367053480435650952256225619208021917766785679821356995646704464500295214850629929994257440968369170644374087183493195485402411519969203168609234879039501634462467409452944122741231759799742447476847728752220206361679738606461438545200361395019900924605341367765599698608616938166934779541146906985813184737710249201076943662364955982294563888237203584991965841920912317653827423944032293939642529214431217564943799794896446101736241116308213642804031530737203925441521470922493576073932527895231065037336082730007882957380812324993939230011633873201091057145471913943248791362313547830785221480747152085286523504145521801141371797981533593056875936486113743878178069825110438435491508211063516362294923628799525125256692491861406087841900976312837044802947713957906691668378403126015606515238751691937497329820537822234399046446619139514863227866490117312151740564267600591838790908609387244029378269232258980494234166639050421034393818287858051104200317792727340583368806189631949712593806108962432476656800889836570169157953619701664587814791008588014955243987504207985469971202779741984748001191549687416486504009235088884138275439689073926013207958000130667431617699001291810738367629325078590344207783228243873033769818748105888068999036659835841922415717719767469221608364077369390370987242065361667890712476850637448689790581220059522618291638213223709199341378157891093141310287729532692979740243899880066749880457551945182957073770587964751864345363536557667244982320529311181420355650157827849643313637425376672525397422808217136803416692234480196294420563200365784037523044514976133526893425650888103452628777851234465386279259315843313977801341098455375970423361639158510784207844330769401119570136665031171986418665094983983082187560362769618627721704915981708568410509469188483643068916930826741260293528623254111351815895781465603011203247373957651951373915972247960761286397204699622271428861057134255969417354247430295286822666149976815174769485597694254026902326987337018740900936496814314873890084704009651484637477518220052781059462956817878362426855799995559063118784538902327947590131273052765517731170968575325095631805748146283222512173817460739354375461279375571082253938976188460332630775780457617933855415512755426099472772287708882520674763710744849286589486483780520905856162674833703236792018060929258613832452518111803460808041487796599079842697699419600675401089616721993223606138498796730518273633136334822734606737819611472974334318277381334589305811847907452689328291737821417868265598683766602607856795166600385716670365159157785863775800567732344935270677699432506047357071200913660954343322393322737538380074552713756679302498203612308765997108762352276679472618841729622001708476885489258354896557796362125889021353237132809861103594206884310975981013242053836074604107667361621908994594414330258486311276688575954426264028087868867556857543277739325563126558693445194221573242030742222998578088750530534683053899975193026771417137362413031088496384153297574268082599542920324834633269254847209994866922236132438524256144188766102981769998486954628485279269401527953517974684217491105885669505695973306111450784816567941451973339421951695283616084340796370783188116298919413964144188610951468150097677613866705046858086777255514919027886506347921530818274136285106977760466777593148930120157411503099665312070914080637670485928147527769088548622949797379377832297421051027010960927356046318274881844131478868547378674379695592078127798549061232005908359554933907761101005889302787301068344429687843335161912968719679032682454567861754300051546998130135189747555960697270129487875723309562718738539467820964733830390267562015953964815725835172048444308109313665177471840549770312698436201392158100673295340077558045669296956423128542286222493641534630630809228321406409004548822077454896668873322238205648258897280681394043458185345214370761418671757499550473611569940686460324054777069667964077776664064388510256866366138473957758427682147864603306529765661226430999648221915931537778759353600154273284320378887540803221196364168773771864823695067412598280377917550023563539931666278495960138244377800401529567664438565815044268604975576629663566645596210903674217854213681531844834985344642024448759539800400164773538599407673143345441314384062564593698559111868309607742674657259754296148996788602130179079530592269260591172727109515514750311538038816503245606513481019462097926323957036510872578246286360140302319786044412678656094336867516807026168762798112884848175573955542276321247210727753424167615823417847373682694310510321240435476785003839796894440235267300556655909849843439942800409704813032169388584350631641551571671618288307715280132261333327154139452905336943722372201739284365039531820548538109610947367535719493410876413387766123771109733208814439787799403510331573573625806685565630820601573207232933427661222192847016174577207937761018286946510391762205005752870247799297122704006309061815132521958105955682587409342258775869977973596295581084913201078278257230521702999468565039489380377689021329210628085211947550921826812333374207571177524850025113953750593799564886845688055385956395155128176210216541358199105156055602274079713694718514239867940156858248261023258340732439332579790671608456561358750721899856025590456116147374960096136137836907984918112090329855900207086517766988223542169928542588178622168160917992235458371890312148464309331945522976825815059620824808035638044693579119807539607959978647145237723905153783738885978397623024319584871261519157960053987904216470002052267297325950680487465416318525519278463200238708613031708401114248376565900433199832538835928893567217452905600633397301786639938731701968065431528682424987586814747985602430962297874764865191508602690120617526596152737685314867394786985054199005959388446392635870070144525063924904344966117629029973783208240114316302957739363307329848923426169109745753842309394499923650367219359501001085769998168528297854652591411084656544311833398216041084348626261720988911410103119454659841398029858015277018525435969135578648625189576086803774141699754392793293704874179023979330120128740366612094802915500714329026374761888328816282567728821365219212221154234046057837586269279996653477055829687350314353435060359957636001058125621611308129495743996830555332868572190575214885152249546525117364956562626977391592867991094878727867076359042228906059155636367329287999148252444954177298763713041926915824690636502525278597579285073121423588143587180027148621919651608932297386475794145494366286019299391405925229569356335921904005113920231986243159182491362080029056462648259360878887025663582741976787594193724735849672898991952133331705633137730977218824843140077587493175357719403259599782530549523928774565659262355432116170336456050334236087263020969538633132501120624426533007731492605852242255039885036579991818424201377888830173965227202270247078938695299339746009159958566481282786635622471708755485648462260902199539667704966369054896846052934936739328959100096068536363273938880452922074926315518875644680677570263910230613877273149885062214736907722608005664017092685532671606984752647796626634701705682779876562294021811108340646392886810726566172997447639338536545729794047777938174907590368898305333284833312494218721136318962746472280477402343428181422713247817023376364842678975231813937924403863712274347600966605913411915777157304809785832177031514240857018154257388946131207557100282272372841090535524076976723872375197958675771759705786785804038088874518143355953456160950667411362667326308618496018366279347985612406964659770446665315148502718707658587547123342868372976283683528503964773307476005267837172988340947936316105395197190349950366880339572185767838267351899700638931642000377568671970218234871380561496045074810979281089625123077107221834179957010222561994139365724381819892816498256970551579280471491575994781803627979919320198195240476821949396142295798103272374280826195846475891902585802396438090331919620855801536091711071309104540869682110173587957790277499588574732833892447278247657208422836334939908522984965807987523004544888368449982363280549478394873917646737715258716846785346028355735267615953352481241348500297774744574763793828437605677178145980433112161187572977446742708338497632084985047699440350283214598294590349033650574462224292424532460507254171526117408293269816074231517401949374118799642381772199793195241498268980705543004542491605357788448579153425323164703444653749723742287167199066649201564422576700072185765243052792373075490766976939628000082358738473881035938743019275527547844313397855582640602944260418433849983010907131243464078299375344890416851528073896107088060763571379953187461276742769563509430837162733779094901690213063736182814765116196443250957845068154439178798899222143424817418796340145253678652547132409825321405116521980115789001573831024840987652166312283329022734262850165432648230700914495739421743726037141760874665691229303571914112007837429301181386058470319058024765835886508828139298710615013532648712793290638846432464786412512982430366793285454458215287784675637080596661691490381442842897298357615442862822041236364037336094950800284281348555277365588602582121044742076036318790595341423400249860253203043441310431128754944396873024383464110275996644313458089812299246314723990138352739407629388301784242759886232841358307256766412047379912787167372433381879176476011119217400730478475381965338478987018193982669788131219394413427473676776877086930027953970493418581746457502281366378147108596237915740868976088422407839381424916744072224387956994915658486183709459523387385164202528173662075881547692376245415414004541010744216934399810433469492255232038217143806634652867157426919551436438220772375973937263189472089422958032458206796594762746690627647897848762554939734167239984712668441798921005780676138279435243893834386169889679300704784802158686056586453171759391707502668332169473853888538209641374312041971381514019120361914057432314903997722991986239266878131800176540507918979672848170372460482727405334559764732899740809446582783627224606817072956451613172791800598386327036520638427127915494514699731817587262239811753763630389143634114257655516566627160950842197730132209822853237238634760488229815773407334873798262022758799014401921293895335600770013665323694923624419236832629082585005479307609757801500291438010124214619476480111493498070612503585413692946406453145841669776766436795240709810448424922529570421816964832152573454875401600324026312655965950413274415014248361264400671877885858298860142602518503347431708395855557345359473976322690020747114475503273299774945914665252759000195272292747934339360547374835581912780089458320589189254570847875241763521942196439033351625031728522660006014830360583973789193105678046402248709576588096276394115495385521314576826004838803734615334006872004473737867983227160953405714685427069022224388734218038097915248371693844959255656975964215887584616073453791955072889535199022743917782803293720926518064108065150813673121228757375048905512100008669197395872706669335854039516730912738449059732494341774320331028697790525824782036522796863895761434199675859588122675308562835617513387023268878384066103643754297085184346642395315819392046994937756440911430411641241628436937570735525542874741549906031834434648047009564198540035549440418215444180555007230734043274543262823466904986619285396598633930237153479540781692840773406922555789609438805722606609092696425894037316188915584489034098393758101179941910446590192872663341965764498321874438693909480114253990740132232556320768232364593016505136221838230970918261173764540433327574956577525288230958055399268461999488624608897794451533089827586505023913097352176265900909016667870774979813250891590691575873925087485093532388669260255080113204109342416926244976386523615704810379375564689755860883778879275143517519147133811476291776059582860906342589895913622984021053946848919538101016530204819863187921837539704117475044425815051509212649286867317722714953185073911256005637283199916077200058393612694245099414360787339797542148367545779493191991082674686224536247761726073222196823622907830262795494274337369530801311345187820677426353242990373590039399565473159565244512435285044859662021807291726326286804125656926206859091273012219095763825081290942805544659819010028132703577044552664297015915029939625549634129646828566753208427137396312773033265439117295284185127111119816071707919664577236784624073255649931866030529357822969051858665976301095003756082073254409296163697418711946536688586920259522874190987288943667994066826372833235832946461202795708525544429688162542309283486536741009479206117870551661132263055166788042804398924277552186480932619549399678656148143044297505585486112449745520244194466506261853053776537263936744554206608980677651009417518621531206295701467917831768854716252157815562912719344646410616264726679000217493852873633846744890379522608003038721750050258350296831914592103835747505459072406163204908969393549324521318600504953364345670911909667817574945275114405449893160764873137932467927467936185571273992935645116722226041190595755860675740400449277314451613203936009519811654407743332986160449937706652849817128245852064368346608931257449413011899376332790105171857290360953589487269754112589239854815593620986832240895898047699556073885395430369034719591734517151088062699056046437654867980403267764955223049278145392354362178811994832481714815911021926467173973994343024798400144244350436176018740315790171738421883207447947374056220465343037679161492434722700856429386973044049008663723178188707219053011096362210465188518520592845873865136656386717629929172807673306023920388902648959832767644186023603481857328207872353015201541148437938165640258145409251326297162179678014531432307630209476823796031832718278073517793439867418402164329386543834893856848388036293117636582159940587225486949702455050411121080728224532430065771641000792308774956159261187544100972018240931155664274760357752612049285456691195025336736456768336065319376494903887177374244867616801825385438501476851892355849024113353168793363019359088744028022305456246835948541735288971535272474593132341253224891605270865129599903214231643643185433345891898829728919997173703843608685799873882512025202202737763849970335389250519266026871488621907886958867937476855269075742518273379936303811246884226980238397208759288232202167571643473810069663483340346981952327729718082597950237877424508064012760938427589815896311018973864940485351808402760551495902316592771337484318373114314824741899433886777441027846636467548460085551029304648685505003239459298719204460816870305764149422580266779595772339928580626306392193639449239214010015042645867437151129007591455401330492382425907602094001428579391202701193797158896141787913315591043277954832822058189497539982253069639839178983077359810659590366239749318572400426833564977256183180811609333079736699436165538705496573913133444100205278643954296087637361005359115718770164040728426028250219378922107038652038743461754623335590022643948207160834872886539438687650462692832809861286069238998914418699880994729892959425404052155203439152389491713784463013246466122754011779733691457620614160476174987847453250800280421063036927640820513622250361193588932656719533459079156556014282285591467366738880788783380325111203289699855570584849413012987947783306902095390245460643206628484889328545977066059263102792024384967141820947985560645824828727731084821711979846153313968839470871367778148480793558279778520835950711969725643108409765984878604107733908394326737852762839790817702528660340147860635027615737632021838309314527881845027200336172251209273644640651982072348048652013906540122360655858371079099197804495585537523755094458493709325665772528480156211299609499020887349082212910651956603151083393139132629331459158787657344367779089459782284168443012270810239985675474727461886174595049715258931180881794018161215654955000524023767737772363433671884748755941151920002607943336448834848331815899958845537164389107352129718937514452265326328520268603084694076475118421815659441600615131037990122447608951140085265401645409001053171223718092333337285336496394267006397958349155709909178799157870334495122275059881036351513244401097952828282475041842782248591512184820878589419324290740268990135283264137552724136829824159043887838371050344880018413513549630134609563828868856701669477061350820427058858401752297369176220402236841238488228381418396915922076447261575343466071875865426836455930879412974415258670244549259746775201790988027742222998769926541086146380245795438230472158374515642052377126034553821129265638601526921214158400077595406774934062188219809364336816249713622389275975088109319996339753078219707715924482684677003702954838981178784020950628262070806125089548941012413715557749534083553789253739604696848484250835594275522105778134259132139180812066513016056217453203622171873478695998325504349193379462845145832499290604754234986821429739079623917606189573380119559739171903661500466571550246390840216710804655804187910581438687925259382080508878962945889785426460281096164086219780308982812937551905660700920157283423445837113791292940776466882798514388595099673917658218797103287726124346307730689348358857104371376512366909009404469340692376714752157751548943236784391115904334844158537408530519175963124386825600361514134562468018436779230439560122490367219385663002551701408659701126158696985656147226300189433850492366809017809901797147566484147835277096967537620554294024341870255864549233027970694344527320274858243967266688941551355791914955689711570482673822619969680711827226533274157370405540205563226109477565972040759021489214784156329406503502050413251358791044843897027990475400109514281094584233552798567758648354683028278156977729587373977070810619370247940633737978882826832545032132111992653474293854058534481471617068264190375403145858546014329381277467331999205651078648960044771290965484434408200719566378209741644738356356147209100455988074283335418664206860198050400796887857250354112928619516220043001086206624163856303140288788327732666292573456448711172198230478616062047087013065667539560834353865758801375365103758475654017818262837710865010513255385166943737047306168275176456025179459497413465593533313115188938529183659245729766059236077702810577885599994144372415436791659554491483904160601098166638762269314666334896393851354396924979211498168508239629266292304954853150387219892377544608334105235830378981665945075031976723348417525126565745443058855747318757851428983143548403084118609813106477343214924990232696265674110575105093092424663149814692800172561527451619508101345806056330247820328147242690340258894159522926196767865668356937676322869688056669813312555335587047637326851309675589230916233301331667912189791677820158212958581385148881572400742453459876954574003811110285182175418319009250514449511909252580007103779390436626227819485206403208387375071140201893245305511746766441085152935002972642694284633011562133870028626806200242382370770320039867670777772504193666918509020806633713014462848654367144055488021625977115319183092205555192627553451211545352657356351595987852923683437106025191641329492101374960862345726406091738629385139381684944713623351629996586483748927016916791860855139105658025447407150044180896870551603206565510350949073503314285634847345776336237880759345642518593487822639444241272196475617123697078993949493119562348675050450394875246300485835613769868338925547422639856471499218491764146027294590936594449690761368991142554261594351797555189437057665277842957587516215824460549525135623781109761325026430858968960279546575926062060915772297263410554559885782782430751117054940083285153083938972719658460426373107404472642965616328536870548388065698462921372379611493349863475705196778418054751169365924663937090161478861293061039363768858764764724970547696917182337461933381641487080783535128241024225592302486916679843644796255250292249614254338094720314732461975045050905790058569846425623761639473740846394585464563759513434529261358328607333720435378005568708734059224887695752596226099416166596035050291950665117719110834116213772075334855249888849095990175354354381440172747011664641727942416137969313270119488523984147294946170842245141442180765050932696956917483744931652473241592088258741617268874322948809483813380439125578163465776128662738873046368323275437648811512976107965601736743651792501728091696441070183338960737018876672483712371776069648164346172779751144921073417358817744215179164795394186041636354148452789714394348582568802902231259130128183612463280141120328377572264281352950179893748197781079625129987507423495634790216122343135273738145661796170873617981402674055467429897809580729054551409141039950950992541255908106268446181938617124856093792078593990240551141586902765877192903078845632981399797574902949270516631412272049620688250993190305379989075479069928816547141349530430974440871844486853952032533941625710785311106166142342669665960301366141328338920855417486144937887296355928245014794089068089737528376400717128591588113350533371145739670885244325846022734318945316840780935386957678443206486228139032103109167961598786547489668060066932601051040370808458549243266153866351525290905556164614006780978548648254091325795741956631408377102500078886710484589482268710287518266915282041484520223726437293974311842449295510759986210872138851595365966970311992541437805795218431761911116565897526263111520090547875185660050321967022078181991874544048700664738357403540806093692027839000040022990619606761626643007806427182453814587907613451852762586454557296782439499258833223683563170774705088604775004493099182165061279872276202521688194527921180854486144430059800130136412524883702683718496961129329442085504401651634837202179100412002801934468567810857027497746377328209974698474406223755309273424095902008625248179749088336031137493659803982371508637536698074550760634072642518236805412322061772925981874601200980621367449751477941631058088963019499469013568384419925145855117271072020242475580456829119332225566939709794318298241724536147721433285403206667882923043304474721206236531933267612798305009682571300155379074231023022905294568109015547216319019510337067668026781098291398311531151661948927762377221227534079686132256702979795471679325032664927700015775426172724513060800569560899316879509554388173343755272035178995158249489538989414712201253395711048388370049417456284469456321803903155203301850886519484417473858859080917921599992514257174911172225600394849648405276309093433410604764022227993768090536897721654894344999138901196398630448372148184411125976600543680548413038523489549703930033154717243191728769863323682532093824563451947525167631694321302504496215465631835680975633119505687807928361825919395535672468419644666867886470108511653210377435860020336975050495430152867262046665576158729454375716254943618873113603441078106700339120495386517336890488828943647292230583184145234969467978423790950250121149516486732943203969625201849326260459937596157591119854754387963158852622796599992954203429965796741413706803045649908628405350915650346277475342486012713644083286135655651079356635699883595383604831977837880721489140778105848972772372682685744753723276143870160273522291444421152041836897623875491271767269965721166080580367859897689061441610529205897246025526796509885974677818427846449012669456198021510634863983715722797695089725919202605958427033530826154431876656529821898083026280304572219334055944960774149079176852646460532988150551275262714788402342423524975222695683550394395856396688619807959672873460588460648478974237874816992641161580776569445704986866895920434276905659993123123654842684848409443546979905960165030173730251284879503931618511221191720755153928663436750342033659908605814883649554026508990357257483879364431824364971687329032089845049483915077836941075931873416641276369356170746690558977529141363295370241314585581569335751023285307132877944464840731171262804003869399538395611900110895938175899808533276646005405544520265291712577122927622034142322272807319494525513589558423222434700484485391263900471184646026985152152580615111093320220863989877551587941917986418129490203469808347072825057410014854583663785114946010237119966020389989944287545762356448349633623345886102416708071810684715293314764595700640853140611432385067412132221134753685438458462703847542549860285913359844291343201821377229716680899521999681105555971259844066374987544489210428797678257618368713835177078589442305078095349052268442489010612506558873642260579552104764484207871336481952623476350486919796233582923785745102576480320866924775828441374085908522844338548280499871345115726006243692126279032171597123158324861417987153410076159881191229966987656864388969270872794630888240820030511122451153516638436821346524283174014928975489689569873447805000684018403641146690710783314677257478395912148739828496778352073657923594836538829907070700812422309556162723902588669811460850404325621504127289495752860609451564509370066733858428149146819211410754948410132774308051628773109123267794585827101462728659808826488042466450947108245183685967788683524637803213363583278862516169103973111686322687635573014038137415978685641431725160364939080038752947961262757643768657021160323734552344191740693572397102262497269681734386058110501520445039917166233781605084118411323951152173808929925059385061656378009272247683159667813511100260917625787374415883453666059119663799853529642292619002328351480493674018998985060048454000265010974691513352121850334315134247894092439534088930149510370816189680447084600416679658990027348729890696526692480940071641602717354053153173551593683079426525766555855638300887222288178547598231937675561882477417757212452117298022064406998256505891745229001112908201878524857607698087540991914749653872635879451799176042629123581343810040878396006259121888401075145524769448494722933508018153723634452543545101017570171276901253395245400604844734098893659139807895010916455057512682900257925733571281169002652147908183136471844989497449689159515524171594107414798082402593600360477957191186178340067349741840992946360704481349913598759496070996878930650471922361877154704987760248621060005792027121937885763217194602094040798950783255973526193793483217549869681201029887808447478640282687104278194834882310779440778904813552866939457515855388603344559722945624607099595683998041812545995979887437103212695995955390213897842779926254519299623009763069126538014269706462141976136985127777217883582268060584291267678642144007080678514163587750870280735164537734880345601660365291295632560687427481100708640266071547202465105641612355939775491408193302488586565967624599335275000604935881986614781952322403893556822237567100049547481917427023835047219736512769969295303383001923499726184142704317939191832747132000123111093787878889188246578674321994568865760039442590720357812043995840597047935959384360556429416340907412131092589514031022710350072832317358467284901893265269284630475063080033116209355440641714971635388415005576811370420756561544778959841917547543622567173446476228567613413984017140966484284769800801290724127525776855357031563380986783190029449282182780530174122867633072265360964902923247008802826193185397966791016141944305138754071097759519027113608741203114048905643057199556662452161791614189982836621677210034317431699848919568924448722987080835118009067554858645976111462506818679177778763329940702048923912330703305746207447604258230010150272202444612825936506924031910571872473458920756924940544360723425759383036601653212645772208872633507876946428929892315132558982074703321102669325496486813721218800825603142546372919280970314712608621558622451344364666228423960681834058349012358240617922393561582406126675614865332992117412573778702292408256756815604969563732769533539826479895738247417377370451465322496800510588648822896264505427771662347392679649062884902888453742970402645947797860973865027537120657070970628574866490243214617260226243133632271515570941097537208063340243514980351981038412466135395013940853502248255446257821817555299257813399121118389075175846234118832525338289642865487068233522749367982681439570713368333277432445438987894110321421995474302797210122083187582895393974664000625162582863778059637430021364555697377603006319811662019118046302857338722013939106203949811481500338799614318650987875000914773321745038055412341590293329726893740715272406849200426567254276089075994030047553968719089882005459657033051400982405900855444924793891046281301748006320513846612272368593920836660100236429441621206583134990990813378671011789808020160227519925555951059581186956095066853428581561291803649980733009964795944474562349295156142405341254608265253915615172371993469960295695739250950434630692577773734315759531105774973669763293604119817656256509878112923939528525370631563378212364632246852990962064946484554429776604922903220683315483572000517649476964188459362229116358171312147936621023492781360124709674950628778699346775543961042058902251040202985843412765259456878195430714989360812048225974831281695043766513982515693069821165455646119467858354962445154508940824674464142231882662604009205028600438146067529376550145642299002540397606758087173063997385826097009290411148517678272043607649611593171225147530945199936043010836687150772641176238130184744707293805423406127797881048680061324172125063960500418301465700605182187798244505142316935708548476988221241031592441597666339617838801417317587859702610505560972538473654614076673419575189888990630583902679845919354408836564364584289450014186861981759271889497143823548935710213001549452457481327567720137140171879508473914391996029755871663122665498994913362786622491933068767416694306337974771746909996878157439800532159759943916543135625148694924699783869606848666796780838323127818947759061002659527435034400604242991777317509286157775820024512766184541141979478146026233047153788533204300413428708812366468105429304343130320709589384499228655591588338794692219695412842294005068730450049059703173588338554721716898629361166286359963017394190825436435621640281378610749243015814090340181781353665334019633004506008733428172061030603970202287381206559710164317279274737951019899437238580996941705730042738943986704863274033300702166317817799498416321336443019099931063191562802566511059031762973746474270030974100337153801003920925194509015667735659865134819764354050107476461044536187906812119994464090756419875053251507477979404996340395078813058170882211725955786557972394297453564452332092401203206310454074420324254927994188330006370794521508916094245264842085713452939787929302585369651756993477515375447741755733190193657887882360188026558850532841696487232898196079994146407767152760325705086996530022345521163361000833967099825441090264193734245453581268649999099878514072647905463139656450644509984666507114372913937590803456394462299516753470914761203647035862124051241929816262802699254124883275632346049880710456204512671611646271045355420066329174899803004718224989745017168412003009369541481162228476698079807882876266695667339282105354906490154427387754593556472073925031926882880628436765464666613007592867680074143260903327559882686260816282529416723804100864763619733967586736119014761347921045616612958926832092546916876744555849258903961935202453144673660587333286070469019969148495070898826223630816799705305666797329405428908208547583022636464850196076723148612095719440836250296406938795178625120793345752699171298331234301001478336407434546238551815975121796759487461793224812700458084032906774622926629343716829377955633928659649419520410348590382367911270197425728294416174000749549150276163973147697586522854394833112390934175617729516227824811100390082399185081922083897605504103364446981288570688520059901447698967629984953909526346696951151729305454326856996847637937973894314435976907677498847064963594154015507265225742177817309915695094819432769910608859111042896858820550878978383648667217066760447483331662693568843076366735608817396887482747960368908735299114237863647835308000444051142833197196968026552424982373546913073248355932953342772299531765190162951362875540773428615614335961053431376886307060244033069253848748987321295690223221365795143866087749850665412776883747109899915089051490997137065632071804548677934393814589718338988718158872709913986990373232182428809990142484052387460047930861905847048940210449181636773790411158825919180660368481726399935999467739006713605429068692826000940891639612837910338444294209670560598242357874994112908762629643247207686305432046908047910255023978443584537321866448481073896176967496914602550228095946807347466262484367740267850973432255188036578187968078856744860379103954895365835673831876458427389631277321087469996496886811385244781496996638892959806036920507306456387812767480359499477785194304995446114027685249248915311713086215414611107789965978102764774979385309925727130031413156740069728805088529116948243626823644083368341938231253994718127986092037711634225298071550965067727133200562589700738026875076523011710552561561288709010696237355010681098672766264655906107681985933808916932737552091633148711543123555429304903306424171919366930078235641376025614916285365468276619842971513598484444208667590991821432191881912128083072976928787805426231453927734739618870268787187018294049962473768102181128110027409100386304536663328980942532946410073477148226707557248610248005535238888928795120192100538628226971204174219157509321756339998639087141729690710056543493531295652925578534823244380066371019644098843660623925871403140329266723379852855472029728829486490213591107442071005378870492429756265556785142195036542142248864492185086233973940529636412119970279234129415976374800489550774670699874486314186239824262281382328077288127601740974667600421293701898770815016156641380520243416896204705581703295609073699973290235980693196450547612609626136126511512384481047796763764470060032407665482634627775626476873579851924321968972153360860729063272149338351015181818772452475870220701430640796694369140068544397233794385602102612023431318775923259992356286870842040075349133805331369274922232089138221309844751458177563962932163821577342824806344036463225480307574400458174799770575812064693330617041695331670699229231957781883183750966195431402068012957750009947150233018847816131228590436307213130405221112815324079084707654351098770932803440770249367301538745064902678290281879078076261444008002170200752588891006316839802119749746323404963889475099433417565884922982942653806645651807831926192034960772565059638680735862743826448231019149690437193445566670776908461518598095590362659182606314031517363779364415728066879072475155531023971680411338756693864961632581213347923269818838465594001234833887261837356668007967916777577045893460643977666130095559255555890757908518678604115314508193973726564267311640729346574329135286533986504939115011430643538044005160357862772116113825039338158918990699731830820420328345579712292114552826367777597412972304463196988059883966998778545818249709482498361308909211533114637075288885543323667293624054504393673785448353996160432891369742736076112487395384691222216949777281405438856772498722906907842118565720542603831002969076337128587443768901218546582586944255332182080548328194531476837267586043704011730738840413998506232822975684755185270074082610882650350203141258392302987567503853798863575338426345608953639084763297836425789336693152320576173171544197702769616278989870495857134271028535110322949647935550965029090907516415878724394636838992146394934271456856243635130988479674544523816437338446573556514849972474621926476451189834303564096715569972287868329812877508705149934270626117415929553096499999648813048769575589674574804750128372515471750366292787383546909235447909888973072403651304419897345598697064852015605938699882010447747504888365206477615601615608208803139834478968507625047602760719731612123101170187234790778036116185905956195836651530812678093217584652924462397558470881810339708920894925870200396882201717982871355815599644561254531321311629285188831166146731151955761173648812771244837836530282570644522410186786522317798296455952910572962508306494432125041302120035618874508720823709893271962650921497154874638456485603085353922923996107131269469278720031808744765398123311006547459119209677706123564219625969817630307468962933760067159482269074716419615153480987409653789950661799851378822107386987570179730987138549747645367117276978623525882610684450089493384060240911355921472237083338920158403688106377498984080035551791538149444077488340586828430012699402459250760672424964720811756332606622429204206262974148993252215795131441806419221638017060816495546896214439692521173113002028016301806177863461426081489361499406080580888024199046636152851133248761146266439691768563262892139558220008921825348871400522491773613205696699865491465647598590809570544928156203580282297059979970510475763581479238177640047202606338818555617643590983618489372076794809250361338296911443816220821573974160514884729175103036832246054556911916157474919771867831500549846644831125013510366376336152606693016422139362654850849408073393041855858180846050470465914486494502012623123845342664206252033347362445424978590557669111808979852738450039616370985174940058922560125506726635544902692862486585933350383882154996226405054935541007890096785709676256214614829031564908812311581511377092518137716504293740462010638050436147811942314205049186714684472950166479302960767023295816093931295314283269751496470437004797428104004094878354345219008977696896763267026877759391443440358742406213266627341710749741749993265495157870557064795408875462562105306626354689796509031242312668675150429876095217284076095182700592078940119488628686201652238687360113719304272916644832796843204423058221338999176590558010279775417879021590052798103002722728834706845525771819833377404143954763938195055404097611856964006472305805195046907134343043340025802903499917293396646903996715040204580698470915644940876544065376826522822694549806945691358969180214313696530768261169817873276373103700187036469668193199089672803478126588215510286150402506775168212099028665160142161026657637300063864416193284746166457359386251247110505855303393475443863953605524259894590440301971849398811704366998793302592221351660866371637215320248025807975375094620968279083243664662788637303876472914864502741313820310456703632610067441348920919109939177903392808258341122485468184627839860621755757954825598497578179972834964840584971053150452237466481164291959122721674167295800192191292641980872792637170637332785725325989969064735277065696401601382965768784487974969761511010216204362569688682599477263195594678471718891301429642077665909065171592054580424730623501854551718470359461412534416731547089489768882299755229172275825518843538353207488143661095017465975021482760130628129821162803598505785496165325462404184125230479463292589854022702628733227092303042217587386822794186174658711698581697542383756358333003859671313026143776020879184154841085124411808894577948739530211808245242166714073541033545292555687002343701851754425688931987264473775827501501371553026677312578241654413419737324384120492008424950808585210014136796249022840572108757794251185807096169734695250880875552898204172274990980621869345991311778835062980894690820277840633768740260545181487725735700186677150860605136421773981112323739309324987710679853503027543035605857165778712572262900970088441775060417365711051164684855318234349865727782195673873305333036981361647915640427787905976043798988331061875327400408680445501326637117609848904365414781603384521806604892330438671430872787010460435123848883107040570581828977160200482288735197774555046244176719628022648367547816743133577552765646703933905853741462910514059401618351258884916476007872240095138260724476410126727368210081958987236136256437696464290095962863814219914558448538923811536317116436310468493349619489371643154703223923993770543907504540090736054597575814996030494865077971981340901930485983806906928005493242370639130328397321332958738202449462112705980871709471106785720365460911088004315430640429542860060576357964618310359474715714832661971881873703281683571342545466641743063458020228082934590929965497578370171305152892810427660077581457928902223213255550008200139931592222489394624849521370168827968225717104684381878939405025841789593066801358987866983339924688194038461875942932106757743568038528106731486291626574503727554715023455792489166169835759406830427116133203656600748226820202366403846106283351709426014391881294307911684007635669653730533474761229607328465000028212618687298947387320940372057312428448424363737836387640586558490542383476041809451207793294274555638192265304990347386801047143391201959120818083342192839626011147581468256444548593472901796559293771249891106259061031686820288592260076774424537052387554219672901410743017441915158989657678609485694576357542919746012857580934326804997078158376115792786070292670547886321066643630725400362869069483902573598157950642609360993432196182903735860688986530588398665633863036537018996916141940153727900826280131022015113536757142355222418444145170284077008885777434691955357268492989902695305722468906656922273321200856518375360765745258848326979852324300322821948174047556002990476736630404805618035820151702539553523006051538432410365902393942539935834003546363027241627149516028208546653289392267044602171641342974895476060552473970621680202527798549136924483995356391971703547485922205765842552042471623727401564075190586008851972872827638448433140299251322672739512726156009620807609574601750258087024563950777837512971593032261965173609136455730050064136177200464694976051420038879509213579625383946770268708326336754970515727088673802471709564391539423627182961936685231704505397201323915154991217613101400608793946713733973991242576936138037937819738183245401775353177778120285154266476276750174311676964869549813383489362637694087535163320706092795545514913520936214417527512768760638876974747776154602452566588633996972537391793385261346674901879987638689550494226682615694636533560444045253321896773996655630311894723958595488488077589059537305824701414162817016546391741402920550966789703853124794972892483513201619510060929176087939708532523189965652428777959018380676154868700649245185780025804532017754508679004948010195014483766434586592420111446107628579039391626819895818663325646107007082379271669168269679580823173419090284530202648224792593811186135669159682578759376986734012876079609902413223946011958200463546782260427856625369142996384949040550712234190288242461143421275261304999141925921061078086802971443893008183373655188591974759408827750987645840078484024542928363607343620384979142028526581396920323994345095145409804170385553655192248136174115306272663950355466600046190908448039611618721462701306967390479658783701697580788670304096172272475576410974322153875722397897424729246631736692745983184828243891146185283521468384374525129074946653559829187624158091508200696590692386831081347462804897572974553074279662436787259138335842760410558053432938480640340158229321671815213951047622390562727918121173103424018588181964518748765649752475227308155676924830467510304754217779098478622230551103815266998358886347063314369171704062023008197756626771483640259595993363725200955818236850768631462346532316891670154148508812997272704043213941093231796786079741550833937673926346196292199453300083298988607276602748351852685976063711591295577103145347969125870357918634963933274245442499434342863328055137192718006403686321210348491899537866739354228390775977681110476573847756379974995279916669919362436596406505705157363750461453874878894281592223954535687021277267260967381254673002272648496352825229705639549737858150096322915654113988335013862679983508422680299039881295182149672222379106833642016188512129589468236398469029669554424442597132258386522163026282424817208120013309426262909385068496859437160617687386029619932685738579579041213292105929829730562830789787411545371690053151568233096653317367757147977527716985084620703089543949743234893382563244144813134523122926098235872674716777795011662430960211928698269829289557957548425221570785951652054440598264823850770684607232976128483294144688485447274967620534178670257571339092196251137012119949073786406659036054733786718555576473015237437895953892280560239945957203725068168446863568957880413806871072900885779809039536585153269044813060121276065872364380144606127538355417138086748414351901311429658543752774070958661196138342134429359323914379767235424346688297297944187149240268157963209582302232102757796840383281467361215354450683833308167545424034027299571610994944828305655297307364758105907241734023820687954679961025152766311849929542715972785754947687384634757930125298841607966793903072855745114483789335179692739601520125515898676099446006145446737317389037814818459955065248476727377615013477880200999573122482458695737044596523182971235998264369215693302689608575808063003382212184269081356375825852218953915254405427148558994080064101962771395419101104853680996158592341771419780440862874158203190846923006019004305620909666538619447405138080021027610163085749982279403661206754218372872675364235811124776500556485425225953080189073138363189980405277612555524884312971871431521698358404537579359481773215864029641602716974528571307906744219292016014621496700624376631377588726605687413877680418749529255726961049339999171623497054341347463831855063013094825051252472403948399033939989502607515793519150454425699538381851262512297410562597470989623115093009141097032632307721223633058398364504355772820046103609240245411617649453605044203593035102183637985747569278088011938802725791795186279320554370656285804180724084449867216355280867112124917558487323311201228018004409757978287067090969125358511352392686153756166108750166401666176948046865413443536311080729678986725001564639832413105524059666491974262040205797976939878679761920004783570163574926217758101538838390201951950526898473875236843692465970073367115647454324310846957987776245002076258899181188730096417156251629167945622936673381236215546828519568747205953461294375370966692085233934965972279399473692806868271137134738228006624244659291673070723685262998727510331802605610434651297177043141021996181778474986393385397219384171477632939044873115212784302608952325992731948484086336674173730533654828852622555488385998032378471102899162055935751470356603440849970758992279228686810372656128913530458301416855469704102251026380651900376558064424058033164226660346242401846885063763449622202428057863393022450997142454567198204877008514370895998008663524016080013990321533314550792327477301955018480257242222215529314899994373827335596031555305040348288788796340895977064030468648208369526897089395703578335853478736596858244384658302914540041037218623565877895839029518516855332464931456911507096054616836903799520114202751598148975250543628545527525193792241085033179336727953975568132737690263562988709801603884182874478151745021947658056239785402409183326626474580160983909492526626306538121650581444416581186082097695841982596145255845246342246436518639596634551127681604889006346508610049723596879579265950441743710968164536938459321538884636994510271948952457231588346164014142685379887969689517773770481047727888879798013471020144175930484987463729424461047260278400377596738598311898310447159326230041270461757853222034895917877238341110355642780877402798470998786948346261859951105087905867841120563734539168704961650504960584601905729408294976995122666011067710428052723453571869652856022739162523957130329340499771643413688379402389374423954589171015342385060775093502356291322459414479559338162725476393990702095167334150001573682343828280577654238088800323924291855853096285788891178196109248354662957650725435084023008781748648423199708435202920503915289849942517296834005074077525746218303672655120632730995050036885696915641777446063821776432811529928896513981511599602299809909849377017728842531190892639679554270572056306115711657827315757333147458840827061912453755096540321091763554063584869113794079854335080648856695155169313162785692743311095501236549151505685320131031269714806748887370226391325863276087895033315430473415913263936346806065448831072840359800505552159939445501401976229505906499625240273244987872932533268357529628889125777122953006111193229105620209955303937737877737125482080365822263697027952811288462284942897784471353013497083722836717775502278541573890188454094584849152531256937796516295666915258332743714008175386359872794467006616347709592134770606396077115651204860583917045811635155518246565849609087701476503216956911860423924347459848154133710111450441057099438550092277262432696871786042649780277779582626810691427397994993676656274954136302239187824091639982975818145510270736876131405588304710233143395450931718953909621192689418508829313670987050747361511681979601175541101297311648052324996716602746117891727226932466502245387951047446959573610998361464440831305425256726074887310758939668619050829970889841260012920898657550814386645371624990497443230436371368694391144685369056088284557977525798555136154775041360495628380436207957550123484507235317523122362022689760608215648159174975963957804311644315353510868946821155546286313718821413901546374006672662178441138299756192068375892763822637813396634167157536899052454527579515042108239568976403549464693308909025492846628958130570655052467331877824147886817766567496635540723483688711274010086077071899636288315538848097625154097416470280835826412278777787580511315237826634746685385159814747038484947475387277800611569225871397545949478654273936554387328748315232759466571576592789708354112619081357358274211972161056344837812582545938006740263535424618835278262662819607752068436575077157711000878258836153223338432801848095584195137485215933380721159910917103855990587420447269300290115283288003898989951601334965827014122364337593420630386117915745333551554218599070885090081945766588190697856850373199034313609107997266419244960351794836115915449529145473823349255518400069531616372109609092388829382328040386467482926328562716132880830433851578530871245502906747040503046897485251312080962344762499361329755791701490533111876219523004479403279755861725838791487314288080874495637549623056615507333104850451969103792574971791593621003524076705172055798897790886271976416890090337105592751560211433388946106773311046091541783208382192016516899837179648452949135704812226793605294753724427625810104672325812957276612022630448123958373962839949234987752658415997882948643794868602168965095134082888356246108857494558025380227127638630483662843038236591117325763931691351785701119487823860979525208596700536981499903288641728556337290445697487498859230633528260116488611923739439709133158774212555312652824472890956065652066172559487536393433543713233862171640300224324264266874508155965752143653356689910124750979786554547838022129499147567784292664972487073125783462419162712223950821300383359663666160338157458061739717223261717922027151514449691096130366826908529276188640451726397360784360627034852791028870535570364995247553960583026702910756695598407465964368331397017318874149963699470583649794497391609272530041693597431410573507346845455196315652101928204600457119302510339399096943787855329185290527605543673920171566760499513258939337303907503683505588654874566879953612017629606921240555377139001132225905525498702287526646228018371442341799993862599549473211709862631215720667399098242821252268582441861915234426304020385878733087129367904569540373347800187285190069975295851845764547832794097617622826272086842029502911016727959829766569208417054046271874689871383728654193744837219946835669131609614716508068469238899862478600964624456235190460076480765768168736205842505508428839382431563841722970375029989665228232307106231876158920309118322992475191311604236267306394812325261369811918705161797134827901829037458351019559210864517175973013669533944025549657286109707267948090998731463637358404902195453770699727043431134719609848117554050083817556919736999859888666711425182627550714857362920023679731077020832146359669367317341229754081419063578387528671254374710332991450633994708154392355194703264548553247361627560760460817811736456873887877206025437081727884757165240657821458968036111415302266088189681407656604469333119540469764452880084775146584006935536408134078984732149534088666188361661939621356269903024853504371983840697110461276260788931337161744702396666854465260254712539173568159959451671210127132243657839443143222469027337105323946075665353798906279302763486326528350920532728341492764678324285343709558406787857838397814833060119867978804415152572260213713372076779153799179806798046023050080444491998600676081472350851360505791612635660953425153195445093855171538183118874979119661093137251886575490257229876734294990605153676043217394836741262420037524535803348618651611139657769978172673123029117155669924153748896875097780817425692965333522036862966416784572341040063718181323803365013295534557046975626948243441748202975984908605314636896187293844158369272417363617933180235913908607389785814858731301248824759929983970313547277787199105866401167591910716513211012941619362034647774728443185938561657575360010884356809153766979719229484374842403100052811438921236328682701304822077354072793234160892151068643088923254161404521385348707266464372937115696550716161163535388500621617825109440199097237443304420684505001252863147005641804636719967672995194406117865817425380004474838765153847805141639234563180949243211989890078995044875428432058335191389411630907889789694006603663481609259976806738359683998911366482161965204271172956620194121546292267940506799024249732852473446732269129880061570012811136696889808148235249288298980399148418154996441641987391811022651048452079241923340602523861113053824205150087163948442825343027655149116250705002914497632880867691772237357056921764970250294562299892037798574959965825703582676887309243518646645948130617059294655242151038728525286634636536020947435547012567812174122977985287949417414452601748718182194889890064479351022909227571718539465403550469120160010454772688207694840869787148847690975246227035546933698069496341017941311060509969762164342932750552814034001496728062699518617513278720507802861350554214683388601914409057828099462468897205739445036815343522812865107921218186632266505708475424607630683804148837243361286564885798984196030583129994578453248745694267357311395091224556121140787288192275299870390902640593907624399950015092516722066094988063337705151365121702266352372130889178100462100364442511126240486989871279983960860669776218123821597644228094785555385915286851365079305733777771957538352007088965115256372298698998713456365249497816350851180089461891088869334584408897595914248427558051367716804445514109432730730448513251657385897106485395410307165467318720492579391848142475292809300548464600351053073036812286036144457637426593501518560202525533716155600335532043534645270095926078011080705742191752097558160022158204945647563623604180265629437903438000006748917692720552871098044827440827460907113184328280178943446416764953922577085250064527002671831495355601574928525734065551855549880757054034570211490612828570802106694716780912032508823101266339302152388659775689251969063860847535881146559423686154850319882822215756431282677331590060006108462277038800021896141960177946343245249915070062932762249198863047281294801684674932311691632265493408327109629808580627875540578207743874286313441542993146386606070314994593582646659176534488049139540427511574913390965663757083453472182162921364778790222783960875421705238076929455242532881854565159846364278627604508624637391267424487929899430073772488352353680680948946450408918244048675861202385761384581913187367477612778432825231756654532104996683070718095421453501250777175580167518355396479288125827832269846876247272065152841154522635812740582737253834053774046927122405381838100984083427702415787563941893713504774482129113307693607082035181565628331303250394112397488100460911850324864931336065809468752788935455199863877077727355415065701951081288824973884653072393579988618228717682683843060914533927812524854504702934787322554608077669680369025038846031472640849235618053959228203076021463887627768455789848841443971382733581511728332053547336361339686278644332525470078222927099803653744923692663514783686502869855194715774790796669262484370714955150901467551786977898623139367330920878324756941731679455324553014847060222361612016741342376092037148609575894850538204406358053176748450719276651068616704208020513267953379649852319480035219861781867066552167299883489773508802085765246230047811929617683774705205683 : 85626131492628919233941027916623552909398633807951509743051032662804543804160009518041250742710436223936197247749451385804930866141690982402895582728398045859295024147836994621205021206456197555442749022123845060752783334448344122034355840741850310631668602982987041875563316491052677716413488191202330624753388107022925805199619993850064393379359694574040300277448154115940421571347609461307291189213389151745661476468696378571726770619058855608896380438762184694226434309862490357496109509684707447578562314757910829971353049193523239634980227152902687171927231574952924409016085671221364037505131212885118008951358728894239037345935194755838587951720604116824088308059003073464901619928285167978935781356708705290908502694750917996205769254876299405155612523078089713289515500034390216335623431671243802804798085372555887940315879392810018189600729049670963041500702512770899785308217152031845288882586412047136117734980187561627493958995317034235890884654375917379799107583641344840563477642609505658387190147335579117483274191975959419815055942981672100873849899341714630618445308753500307477625567708354050103359740484788737883792362497141925536256751905741652997191998303693300090561497083214592262155010974890143886653130682356343453901612738202502438251418412128806176405807489309252812369101541118774679991348093609343945100726707375479742473316721629316616064174646887296846386249305592490365169675945378849980721103061635766422702364431110344789734281355481570645684323437601101785534549846341115124677148358739401105967818274585951797143631690418227335535906107168037075512808707053977644958641362156459926052893770048238512947910850538503811912901344133567318813115335315062860685815106057267566811559590438854791428614024286951913936113081329151292217373037390303877190235988458876211024699852189228785022506201321589412607489652416737730804262404707419376303486532665965368647194437384514698301365933378028305642223782054228226343883340288248786827827033381677033089379708801410673882623313088595380552452199160328222780985851191876265646618770561904631404151789203596231320418074316905562832085302133951337814174681368548324274422114748090860641468028920083483688274847052554064442197525495223856579988730499237215497873075058897557785874980804671414567777342289932996592166024690504653816283312647509034623585094902774793189926878519390429463799829601375654675842106123795626580771153083387327598776538996988049525292422679435773050325438516499479159271846649706681683144115192892605274580862592523221676738162178154115441244301114942557688816796443303356889130062827386541753952925321492943696640270510749150268945296074031229928996710643722045146193751899385175807909628997565224633820177760777601778418507849997053751996499630123942527285533818397240856433056583841295075721224579572508926449871159568113879767775977019302037518582643285398372335227458898688064049091670186903321063980042471964900108526099963619882904293395393306737150748208416841909992722471081480393518578541551382671625543748790379168702900429187548712939121246626550443661021637739914242895217019790375598744559865878458658660437804444195327015126137784140864704346894729091257946518210108487319075816862173085139999792274489772245482313005342952901520506258802109275194657620710523834959430777226487715192280607234768289518311302519022246124534795745053836355388295797370847169586521075336016323577449426982434420543489857768489327437954195302181046827299887753825439431066656880950018271845086593899899456049897280089690396057399353811866391021383050755647654705836983244006833926018739165178761822714977371350661250891176579264474738084974126705542373214514309422588209705036189782085154894811427980599660796659639775287301772069298195998648016332161905114286955327729917298724770959605966637679611064374268063194592553580588958738350953519132492118696054433339942258071813515105403061081586595009493943466220047029235071593244135576052182709607837471103117047493790864505065267622817954919155821195150114598855435492403280574232085618539323630898846212487918134031109686008517301392322007446136203449766295361629297258049550927663849678816723318980604332780067626975273858581659870183358404794300809349138853903891539894499614627474424664475542261839250650476027630036083772320685998839711316552652018478367062165150011266078718960982062411445353423295159346248632722375587865320138054848674067665299381691926317789697615828076247448146090463829831967396524770908170315051092101719006580917610991508294874248897776377950060542768905831875184360047092289138033893056527562566255034461056082683029407828283129541809229492484001045788656520448140448939960904609396730930838988721114540818053716949317525451483018357281249069346265741169417876602809778878626478092671047131301032302776679324553753103479060061441655360741890723809516025828476956417925551367800524624821160662877104961955410716979879357676989214485586930187260144603719048611656557725949979177101055156604093708940558771332925300724543870587970892146499261030734142168578660952764209638205418706248289630317653401204238518893021967587139755047853116079474799392019741303457605549986440279797107740768626801031388575596149541257685015653556888769803153807751338308361296516724293956189138681371622818431443836575706937251702417038369161322309891860676345856972694504886204484995650337439046739641459395929756647569873208780747811580982030658275427366351103857886741110225136168110541434768983935142247389820932693209979245963279332543387620022302460953728790830235779489149733482350738115534489262760156788755943803581801521400058685720962862839973983220943158694767842718005000205904173610716947806603101561675484021630232439040107545145637867328859575052134900547264728653652088604515033533489822225256471996770680395551411321649357598040205317715885404596760390681237054545574451723062159951071576259351421810776091182433912225746064975918607885257365840696501629770185090516109708496030357375381317890622730792060957528067485738036392204973144707641576300660887282424629377563479077128934885563949047987570585682815096743852301836125935185255764340241569480182600809142792356334441182399541704808425616602980515611259825110736005396628816456109759848259954896896098755506331096270937371957252780290785707112732922438630293897473903135127006456584888596347082432754451272377582511671637136663125322594295479687917798783781240312497708965693389376716715506502400314383468693735047501238586902773069368552319712440716617451874207973496508320472060986087807568114544587993379369679606974109793456864743686001253475009541853683725424845778125750485301455170280861632242560051419953090826872994824525444868985425010624092343157584094826190101062901683890732122002930999315544519675094925491865687392990193302686690754211621188696729237207968708826825572531925867057419131643287235648000384227822344075926121294093237624542043298887813658427706512693791497870172056251698307022302268075610699518696876772488792630766296843154398214289092861761988635418933289998732461207193254843996715430338723250639313691243722017653903728550983789919198166687651377081947999681064373258908858293069636882044413749039853885790185802538320841902441144818053902356162754565045875359721317322753694476483791798742535293134609580264181578962733038296453889524587193701331606096180098447647360563026964278601954365499600293124751472846067856878778616645183740981629885204995669923462467412924533314020873198134825410765697090389901215332603931316649836713298048063816516116716344316126492929444652717806422493747103855472653849279034041242641475695868234592609651239591720784463083757687185653245240736228622352148702988464956964640077780583743972671007029870726508364291271949029266734389569912764415645978801597810407007053398574810397542747475326905745781489143622688295620899456514714993155176297502279643528926596573606089914984665607214210837429842835483792676061727141723031500629362335475431153368419918111468930461432131315704378344291843287524738655249548385797306097115728623207527711362158372434489259818375623113335351194875227199410282913338509005221274235133087234150421056286122035432461846366090146395435630808477809393262881247172476317103745284835486951681909611496525450045170779368427699881413358277661120614276919935778562326892998736089622379689906937625298812219716004906360319320014477540693835349352771966559828621914436999324848229875044585001950519010977760558690049252620462789116060057936993437951026259423427997288495757174495459222917906342346690750641978603161587355005022724597521107822486269846865211575274455731968191303007925448213106160016086428312085290464158054550251707467369122919232929537709618010956097451400902264542352511565867224231999475589458888843546454482008836874810576269649571008192079732081160619688126648763844547840101667916352789992329154013411666404020878364884642346430182796890168822304189672363596087471835388480866351986141192102808273735686298543476342899170534381982312484633180856056470456957812469208340500463989722869429299764667775589439351268807924711256060359340518933950487602183102500530756617758261219499668234423141350641558677241469274905347340304754729129357005603831031918589651658885912150070237901384821028463739063947061018256013227305915034938411131265697442333691283068978554785098593148102067211323414459885697487727665118425215952549902022132147386030372833620678966893711629207149849222560727976421052261261669193480171975505128425108174014164386023238495561836935368734740413151796656585256637480529150540853731268813746121074731513849704195053555302178994567788608913581964959061424333231497586222273414311587787374066463143131307363666152955836520769628848886352451510095141598285140756869539819456016602719706590506678507566249523855832339718245957580181751622868346238806022249559602867645940594310546717535968021653638293213357551956847144104717199877155623776244320647202184830712213231414237537081390164284988808410860171678824576499687763886596878129215836333648017969321592837904103056330149134999506679911400878792966252976139919031562166349519441326259534499339495932824011926702690758736423068226699541332177834033255118321159123815022422181802188947153330930364669203784310224467819123251625138532888473448537217828440383455312725810724245206060393123922036373310206171492572825353427886189859719141853099302755663641998545152782987386415213330098577296361716637223077416778942384102780753414774577400117189172217969126675978395280239168181549237559678383131841602341006298963204428245623448882929422673104965341649531718721829138809087121552845649533899950204532591207337212603701181184779066144602831820268570251034507741369766907193385555541708580987275866070106328075141236372004944648980922935251489034733218228607584158934039195599776233986935824832887779152445840264925532503326614510710977962263505575819029317478277403601408357151318952593165348335897792099141586793313806236653858263789962750119610169804904934737304793020004544034217854307504229419275879490254996865567621408946032753748930794317046431795852016987117080944488272541144627020797844788901026400658578029696561876210969301285463647825383173545804520643190861860714411020821405741495864428739620738814858179208064282505485516331722960164837089870632562241644292447454165404316455005289802998429870866745451111203370237099077150812295720270873915015564740526020310934716795462734607130675583888809381704944164163943655186586174294669869248932631292291657212507887212643940176136777630718815890049669265859331059795357062146022390038538177430338606815343237162774796695932409861640797158595560080808149747514899076854802360588874775930590467071222341670374117214221224539452428551044473546201477043658531082905643938338698553287398588777231935460337435759234161009545505102221239666962209281013686746186732733593603456638474087008626703804699615659165618712738904817183220488838866152227979126168118153227276289547131634262616679126146432863025446230267074592506588936863274140613332375439168464791713468928598782128561487799118690669636424905140462262273710704182499419493827425508090422689323082407924448675899330049136430666365086491633168749728613330147105804392495314607127582465859012121499446929621090888181317678774759915024424958008078984013707255602093658983029121927753771339200508458952377410393563394946368933912077691095985603814078259027652315040974507406137218596982087522346845338587268712788909897877040459377587510872929540691082464761602168601080567287101493985989047657540623341543894817650008720197774361693339131374826575229894139281796700525436890855674016119849937016493293674353085379180388259463313051114143664078684590523184369616006150848445883509193318898285733613597862914118011906626381615312686643533497071481218032083923849550361659372869930186520648902672511233178215057983691994255083796080718104427138192807796273232571610103387000914729653726339245095206408798058174938257814501831134853798041692961445262951831063219668684507900979666987553339374113675249246534122609214267777016014002725845123149814847743365691383478801758639478533583301781787664322941952996736302971340785372314489583726666477299649785472048495117602090149696529480404140598278449315479505956312390076793865125872400876248761636090275140550580170562507826253781313701768127192800549660155511568921974514302460636843636919340771210094430081083833711834808419755850449133589609726358534390067414499931850684650786101631859288388792883675519965953400235957347770088265287508216141128873621723694395354520277933417117954007990904704097972481978529202072901055295657557161552465859259493572691296391235521388434833234695088336726279088006344023653893126862948287396889180440045445123491258802096504604051892795626859843393257140933263799231284660634691634273276851364009797510191235923656531714041005007535269216038171944185381420343783968688715909004119507521784508751680559964705340296307176750762831306773292696104715286289256168583501971181454574739564808560959373070961790433010690662938838595996065012183246562366288481269169217401850751494125270494101187695021503479602612159653356009509105800119024978855370145808315832166213588981395340154084051779878234034517344649784125355452985720288744322693114707377370550934465373170579316461730629704867991953286926610400067049232666039651037544742833025797658248181202475954193769439675490323835658831420894127654513058537926750726787146464602477297721165831165739423075309179311626234276746916165936210682518361164929669436022274610467632688184451081974882139307918303587636054832849778817410655817668188232650287723251942133757267991163598314840112100211579648170839753928304684938617275690098724503731671058624136730806093611360467252818536447956041285489969354559599329268829463298749958215851567945737086466912367453046080149151086581927159065397143090618819057185655738622420813941608602466270310896519298042052342080185323599340215157812872995385935416820446541970220481327630057014069426155315057542173510282709692547079744712860857482888957365949541622060651209421147150805885707400459852235418732503147356408247070203107900944167141886204417732336684552340846437730108080706928744761047615822647324783127023893892680848089919882800253218447836700826688172885408837275625681711819061353389986053586871361853472982291982115101689125728274620917758969256076686216464192830147082173063020203966982643203786640462554620184785626177494560829377315022442991497795640620588150559324359593598773693979936833007186632788176807371298732090531726935766092053300137062529188456716390500505101608496734030575553484402730363373265173903200214467324653232411468281987657384577558560299962209436840416129886413489716760753056491194316348520779353159918003987399106499390382077416542134488370084122671391894249371757783661534693535974264511027554763672011850206914615909199809096880706398181815023134455837307473223559534226969607040764272403395965146614322952508935552937946507206772195312169133011786712159503256970062149163179090733140554899031873982642264134217319186480856860065479342157432363454782341700803416917404637736648262523950546220228402787491981578559705102226323329240557452680076734013214232376349771539158477992214411930983659493840256246384054336995684256765042850829117652252781534906503477219026873904618400763519394249996248349357212814760035331790833081338109390571354472784858382128481284754608454799452779985526370125471338449128199603301651331764204095706173881338739378512435956977379881638998596814223068145900829634845930510115479164416748788889586192851077459027010184506725346921590110841956810329082950320712212012031765857088946227546310546462634714281649315231334294237133372561121688383238184210882944048930169515186742720737826131720515997502447800813784582960602491459577042130989632098521726686251577211274829673798711725198725212846184230671028334599465496384045240686167134293270225700559881819015148800937955815201076566722901588592991081483239545443936437422354740079786206948412827801970950182766362190813949356593975057673774770684248679492625520665799875040139652681940502644804825740819708727972957707244121213430939615783579502496775980912420682991184641642358760831399287764891635059784829398490728656902935389926491283290281229456844809764476370301298845433206388115327568760558092072986221174598603277064741414547628297096222787591063515058065823619300891861643685112166952145660759297693269684352874065678172704482950224919079608280264676224331297594749549926500427719533867495239814992172333738812920379732048333981532651880079287641684327792082083021329674653707526457074364542417934799938834523226791200193647656808191342281413947450257094679000669122340813764583454635392419410160183541973843649802338645766451478821543581193455965974023868298853837469819001164792351430200071566832410413375805137074173204494216628162199771465441754020714682609190542343581762440642669613595398603579760020841902519114650570716946152378882949763150494050211387895229227220359129122014137127520980673190124397753200517722723491618146286257185627749339498079265309558129248298935032336613640955995164090710505488108844364881070769151744169941794653114368492739481197188054151278890739506400470269340458132531597888731273705096324501525429141390531654251479158867920301745979312234094937453136922809308431152028370799789165148258687582149419085474866784846448073849280751431527443933483951895308907946803228715576238014698100543594406487334401150109849667463109006313424817707188302740852857180952385225184817082283562815346818234852859326270079025819984929617638486972930743449719955656087375031485962762841052101719522762517672129914983831972660469621259672089862748732308880355166438789906360538843280612808717854498969624909709950202406550309382369274022562166171453878452018294578599543451201584999104355654253850665973253977190349862844429782452588511432140237158134327313817899086963176841739282904012839605874409767655415346852544021551868798651982556711132953548511389699213176399389674751001145423546495089545868817896698562250810415851227050646010647742565753913413910645499563083444539439027445502406030552980270611096114101890744294336021884211758498892705170640572522973116502905735709250164720230157842916620419221758910718410287481095294389773789111584331029761139706853634292341572252461712686083189253297738884560216742524748971296364624089717101573445226556288231260279708986928665126747495362715571953241840500068503889531468505208711323158294450616625671660830591893640620693125037809529961650428974752675344642054655955057823592186903224263328444517265059952105526165687420703111752251066896353727492530268811793168475580113968289857674226630309911147038093205832968976669442241792601693504510087374295689113597954855647695007864561825674258813502114202480977521450104230104236473456788976360882692696798724749440624509678673058851243873133868048902208638742889647392326247072601088138224156517373433412413689086980338547761459195347350137655644404851563977975788837524773131228473081981645618285359889187367379367566055641576775025881631605107770426368128030562224536321626630379565530922692237870287061896504896926179862549563041192841730332492343412268842617930601613427968142807148639027847270134129817592938822594473068278493868569426482727965240436054962219434029759470778793013157883198909790850842193298647802897343185833347094931078745674787650428387582386625835578376474976806335766422424584058109445874723984497643778807145021920811292919132579944976381177241335457230530067311909320640980258654267363964615454019156560129091025643949452331244059743241695169206306852873285086127438657518829469368367598217741575259427785366789746198419969559951333549960240233251843747376919196357794711889029917972041062294992953214445414776549446053046536010064085504847628276619705084710513661954132813481651533681696420050949230944898130519699689224158608506886639533516264126584991046351863334275608503178371500133730441608599827172457464779006104053075073645724475278485517854180521923030522618424492611522045020857509865303203413959477633106938641181226125809557587402572168552131784754442642813863910798663915303214014687708206948580047827803053691521756490052028999601296948949202186100655557258469598310265900060612801548515778289037953501458505086934727580537088212924952809222683297019102820177635372188173910495176120651420398461689633509994365068529710001650451347186824644615439732902919930728200138026656775489593873051428498565733496989191528261294668401563926410506223476463383597905721549459703539723361454581032469653758728127864317338811671830561001845709624838349294210284687471319652298402794594565037973910702620388891722133691247799225464759527505624453525060932072146024746624749726116329722967980400355577311932103022880109594766129580556839656852818556757875682370915901238394638937719787013138701560448673441923170149327406363493010522925760227804683333007581814532413920754743566855120795587610706427438978752691409573390744602340752285681485029657638394740338713593975356157637639708977939588005592957401562405441270752754275904673400936591081563671735425516695058707627999213945247913205546180121361659947288885051520075315234467262024712384096639955353040011081833188671214027162421796156654906107086069447355310378908880054200830685047748716209098022790512748835114188477871744827102346612699686798104235561229718065204352574747325939852179355070799025256741425562801240907760085027160859840294355084453506449220280097730927303667541993591712345354343751057943039456519103495817741925196419409093564638254891961244090342141168042872915185250485320452187650938320170979582014174430253552972685972617974946770842564286835197046505276291667879215018305438554801294562425770410580668527714208849914016819196622720172543600588347704171186175694823042483073414823546159471569970158808144802709353576624338824934147336911601778116158557051642280711737659475161023740147820997110611028084865806959697614786204394805187397924044022941990052417301428619585446902065686556882860564033569160838533219765778185298325937636647250209275376631072971579167218506446468804318045920835272196572904546034700091037000247924240821953847600795553025375180230409762784547236889909580295605026595932227122861767000719112754295925121817462680428439089593276314634185707944717535233835175650459760565830950695010487980269695014381080289996238911240995521488465131599892068752796594869038059440697419925620090387054099318777479263914354097675898922802266076492269543103277752678403340059034771215782684422352999666229271039998596511797954057593560778371512004677731428725678665074630011259053199013068888318397104215576166637022035288403347943887813915417875515937888571886610870464880997807458171588924340344664426750769017822009371165731037500920792097368290873515425995677783627561107297937934377598942551200886731250429602633867530533989165848389745504931534803918925746823777192199015361672321560404648722229837808759333024626297799103272740640001286665411751720906059727148141631312259335086991678151756878795586374454446475383843481859228130748116659855520115861054221647132298663293425624226584110998231154183955226169248572363258975739903590344932122093358083292566807950645486581761164044643964319423170838317793456416324303339090034618017897729145348714629516934542642751410748394045977979647641554144050595504709659956519439465536616278130154049909935472782926915969250163181274196069071292300033553894099250074875512977128705449282065681919968334607920976547602713349482850992511571670870948828385674670535619684928959996678304696662974726660968336357676327319123593912056790931215445379808380576406010560205578155002208472603678869794187836877184162071823012648656967661777689574056322373876102146616039741850186397920841859764174035580799416174811021528510414522161142858268229850032587311714095842757275246811900787250768653028814069163834100235033053564486550259352376020204482100048303686681642879464390032431818203377120461770593003026246078027355345572817404334164531276546125567432716077226774050445578362973763266979631131507197810978249558381751289297525654793067600117966872938463503771504800417192849215996532774659208340934704146096663055633753776575742549387849206681902980169723700792622949253092365310184470582914407213115791061032066372015889537105617290798155505205499898056919931591354780635606139970377430823161911347504152611088761326526399161134882841086967280268555465062797580078673006849099142513377790842676940189070821270659887097498796832109120595438434548423837099281578569204071295875691073219397109547826411978925945642804426684697773344350278161181765821344424946847969957479034118362777339553623414331424271644639590994559314695063220065799289150075882865073691923390424281656979943275803714571278482489258953296594149315515956503821675594918455590478255800263776253509963057850628183584411884435091175121332142256293135811457997537721188253100612709498819373444510759675202262352900269804115404362865289904530207665572902001389466027156651494791263037160334759380699850708898996369154586739535463826056619911888818370286736013471456328707396529034144922254285700550910223586088360473596258484524352842391223333799608009971139762008214619871672650533678754710367015351845337006884366057913684176615741933315406859553806911134076434742592588623490026660335229277477482156047930888593994782451039098057210308370480193975272847103530438293410220458384630478219677038415085877098018971193022329058008961401695321545735944565717688788888724337373631953819256861817470692412017140649419258572189149952590937430035824083054240193438242175013517839552357919386577108066269536963503782951116858716450700314564225578295867691191515298131825888476688824697953781026445083186043958979423539483855952108859296969990563657116816768889713990143884240824371509555657508257958116120424268233605837511520575306117330877211812029802012566709835200455188844497281803811029797229880690165553468873068165926145509145592186518387895148452755185951748124530572247788066816512785194902650455538672628989774337275041486585294280006144535546406706736084743140825969399896950631269045062589546895242187959618442083643437463485100105137867304563516345936601632961905486209166190487249320966809666766017921430945227396976644241999366269645084791078459604134838216362095607041779681708642250058704160455311622371986443058082464463819120983112576407845855146739269579974748729541911687878039823259571100022842764099429178091330388287610624039065434152595694296329598012487654364877317155332582810285908407599409254392373205825470819960847620202855747855471242683744530258438037823179632055940873484279148909006518576666884805553718710426077550176833726027381766770337297416730688653678927402516508407864483950992653116395737664407389849281765945309181210927803880392412575129997414276167615437548812494594037585554182218286793336090887447971557081610869285748582580734588375354396524130099184903394536064943574361070232276581470987411416183791000970231151705321138477601551092643255095758707667901430692758901211325415835836464583822552295694730361383362903751420332227317553332084844051759617597281669705891113322451426809860567764771948774327930600577507730237459070612181408127040922586974655140464705612861671403209010482101079519737389545903879093956156279285933092809525162347811322066703099341377462741385463716347094578474426158535767665997578220828964249062909274949205410084379994992247363317103884245791842438832320103351871673589038630562962930649869828755625736652058300946219204493034734144338451919319773670254652104706362039670965362760339007262797726993505701874366942919199060324032376124667622637636857773107680925498914444038808317129513961018716738647968447171152478274564840218403322829831074900300943412785203677474244591618652735732634585054456220065493906204394348159098872038003380053120470151025790679597673960628129109107370499570977100917879490424338991018722962792055302183673047945499326586067996068173109400342693308006148458191774971332766354704221949772872849774975022814434034582983576364209062338318658744325506657566208001332763565062579431485325607028623236489827822958782697729112632283102732141667276706131966099407622583779555204339732122698452147361834643563637743805180849351965999856825816998949999704259835375252599871961311544314077434845941628090637631841620308449391179494621016252383774815045881551700298674345189527076215210787013939991864593103285256813361549646133129694876532987518280232919176786082938286192731946656988202727746132849684382573685006616541973419411304079845893413471722427374468489928308199628962685438833485658812688714304714715823404572954899406630597534417562433980594368213995547417885670573525510327047569086606123284672212153316742142626111599842008070138877811737994175163743856702979281343884539603833952884870879897578668985234406258122812137742180641846317710545266000794054734965111468016227739170394609865632026701853610982732176076618291329904137066034187742559478586018891511415699816788365523659468543695470736401204972175900554223043618379703325472196518381293536084343612778611265394030054071488126886522318805175400281173461608100096387090154852034934424348155733055160628459494205623349797591694794468545764019961775569706904328817246856529861576614854925933744550937869891544752616575181863070385304719355637487787012621888866198894846495336328854342580703715504375064494757198592191577243273128579237675329095964170097964029327492425532325360787431717224461239961601803595465740709911670451266336435115727749743985541525419142525112232679905926685093400045950378958657578397929770448336322560744545358301286527790093588061646509979940246282513587971497797306476901306908549633252065980079660945371807916489173854784568600544189672781522759976647800694651910729421469869308793103412034484723450881978294133259737936232756295553772210307093491203220422272870112878832219751715191252290206531573300426962049131929520840418123685959639465588083173812538326095906143158120597843215693204956537976934243670496133446324183147620812281299667674032082147021020904430628046278638686290791504445331456918659600441308177332482099843532361074300395156045849342959272260105052503149292780110552853395685206469751502759966690521182962808249742858750008750038385517595445588507165010329443135678422042478687549894978392592919024213806399081156164112190825237265776205387911419535418882993127334614235942636299649058844707084458760443751768811106572580339370710722000471353660855184455895094599816117264460201276844630256282583254223067171910407203206035855570326314101281234188888617516676194318319376857048459626643588498967373331163707397274301433884190461768086098414334883370867685267105110008917640562659705513971787801016290511798866798003868880782735506207369246738653816957078324771381103328482489656684504081061961216275726776503691725394748151127247515335474692495437224633186082325067999465846723538010939607033868585044308360552458766730656318561367886646030903647524262033420737667242064814304036633689435343527974465393804330866063223810444605315407326503839260926427666118048166144062931117001920211584935012615478786649648060649645570978982687316862341609772629269320652391496870955164129354677783697043004691773828900501513052122559296581524261960882175219658355513908817973806169502561866043327465036066111621379064818056724644963587155872755769204247660589750227017050183064466451445957973602196267235672411560792200409405466730707545528069820047585815088817211763091748795238036677489950142396661465938451604614740595122918632263914213116569633576999267772975379923744114201148128515020359966942807758685886782556794844365471559239807045026944418329398669505515343394641202183200504303267505020150308202579574465834156139998848148130154710294951777953386531616106983635305111887449806720760577438645255652178547877381232083204721837676732401630171674930514163914174235438278071587870032165047572031391073554521095792983109171085685295762449741262219437318392743310342571064644327480341497854340945951582001767783427873133458824258348919402129087128629253968548404534289026327625612986912743495880838517241633919840790809463183505561558556927936152289859505969227481068030448862204690107643624642203825260805810340227473392344005636462895678226658506333084078084914678001320814776346386440862423707669744250826601028133597936825291443040006231582951086779444297263982973801837387997394074617854615092042229268618224242766074155491188561228784697649568164220663111310750197200031954255311634375580028835837810730879867845896160186054824739776356937908936899521907234791625708914869063575332927479002284731083005985499844608730942571721571748326553834119702407339350862523797461412353022036593594725852018868094908087100166034956451395831667158147463955468325648731816757122180516379059032921256193696110612745545864987194972747674230911939088468868407698621242931884689431951837947443150560766975628457983385059748010646804442430586279577474798184186102430340365934587044024660480987222308191156518292375612843432382684153450515350825878465173474018516621925086435056683612825556413230866019236789389240694436459066499922415288922929368315054266868840491474606126399519032717743082363343060534323263038442791975029480450836579083400890608632011372250678176190432741989257111802292752350327314804863152164392956245724713840502268213111740549873319826603135122903626645839022644104730943414435051122569690740260806796190541312096114590324638870220549823506772168687327204991643164829306930743678572090843035567846738953622938384625603421190766498476243406236946315374964107446782435192819443592924194768461321847174027771791207513030058967594198362089038888536072465977252424181753193238482826444315793623455160930270016989635307606944074617686516861271731351110642597907034973278900616023390927437070823379010352546055969729236785413947028036932001936159007371804941293079198205910963700199228912665208610562556255437319821434090594630381060421042365479800788301334854472990976672597178481009406608994475345262706411992150810688946742779510921028370041017982559275034477338077466059666388108724465132395883326774866481945553627783952802576428851171527745001137288607239753583581571848616719115739375065157832272796185341868856792820116129549859384377888360594042862143008458432052531106099321328573270129759060797112758457066257916658634659915527636587695914132446537803087261349965768890860179960999184437004575884221493599819217213751061527142809795699827699316718988274569620873823804321715090666477572777681723959177876988496646471636829799087142513322704448666836588690245731923289201271766906123590836455419757881524040099399258870127099212049564838783775527044213051904901332606785602102846079234323380313057722810514810328059812771705041883738953129340756923145873317664103934319575788566771838781330762303310420386572763347386202740640230922853576740979909260701214347583777781389087801968419500140060012861010819656561584449875954862237413413987437067898781919111044963338403891545902792236346782716106627797226560682336509600584290625667425414041385589221296736318254816624557407404599807506640548532400799274487164509169143736710716718647552657061445721554876026037675510479009919516992937285666592263883235139747130298557202871410855543491314210100406134270098223098739930964936785215434572488998381535186525337684228560021834137991681686668973705545220508568731240311115265295289410367748448914308714917684584050491168051584447258460096800965916315440868004936237325692865201075670732398712688351404752522283552970304602546080496257755039225865827789796425570812260431759041835601012204061636715220044815927210494344467042266201124148191147162936261577775593778504838530520527962451974506109060572501812491085047336488929102208630522419625779084492977458960314117543115694919299397385759462485152172709098262696861255361987819315051641438434092668696894395737719754403567004905932306645269250655894007275782149320493644764157698455897893262388281061308882796158030646112553883489988213571755232253461261578898432504520895665101812885540799324940712409997655655357072521781044387940950109581402516292442971483661011462035198785383429773054205479301095719567071634846303418712805353360443408660515272117839541455601839848955749541169481516279126548066658445210321998560750922027847067662319095335866072244607367511753098151095967973007302388848716016384389101389081834865406076922009503621331593268634942002842615063467732716276625706117643457414697458481608056539014636857459535866070479609773273375172033551247596310844796722321668213566911595709067182255984810423574068397404012179321892640290722111773910287868338674195256671941093514031628130067572792853374021464569925145785916632098031847259676217153898133163719721934370569549589945187471880705704260862215600256705214069932621821517790430526209343677746339115840522352722870550066346801772131218750093326549898276297257376587618576859374153843896357507766317773147996125596879583592513969487243597125972126226582802453003171662160189761062304868370742554281958017916306302561261411110182281529454407599631450102635070753565321413696692634092454040924108274334540329094431483140248120620636338457297404968887472963254906794015151622184487719985128768667463284131030960937344601127881521562380613350989774146406270231120581246655125252484905981788358290673828869338959440557014141968865807461377595358982283297960888271547401646573917726707412414011820700664455758300270715716164883189621407567986132017411760673259189069187503055835410282932555924062867897700326385785494594432097935929210338474437125216442684470537996024613702217968222155463611138257806577153422882242044837390211664770632911971560201586226841907789428568461300875703703905759056993801156779052072781695445754544524534063398713376766879097542290930853730596862729259076446188794924910772972875806661381200142192098976766860872115399181609633461552949360572643312235896105076940143239442353497574643277846953396421450268157193032233946331638151496569022475348361132065575918672379438273008942336823383831257190677309860397463629800402873836206037896702219603915470207793893729200504067624722348090225702981012063612134081187834222982666727905388098824158869489513723809529294209404619509278089311466347031051570845294892154184964378730540566179745510424844715546769008794532483996959412390200111803558047236247638682643160606231117146672631056999739226677528278427589790453905475641036346818148531096639683336237954141638763975655988604153370863292291387182911600508453270945937978373828650885623095276736857976522244328027717110268798439290832137183371508568417303237404383322512629404822573335261516913646274117662666834583421288412670110452346911707612105510025344061961890118729905688370394419272843528656415151947731093249245231771986705612847935763785679437240192304619773150544190570570697541731183181886552613096890517692088342127943004699932596587037943216984175895368703802134600390555142370202283924047282676277914314416607971000862090972320202827020912636280546426933091813085423282072975946749476539976646715182994577993031023983643864065339510844207903262104718555286908134606967274936622293683855201931254778454874100814652902946187096880932783305464291491628992248427017179371026380833881786893180139301715919075199051724328699944126358449789741941893596050838457854191811885196408526487327150787104731713358033576092711469536200506485423836586503715389152225845267894212535267034532525604034732255824480811761854183839730895576653667076714274636394000786658417888628376091302764269863281787856106775584564030607222588265422334657526609697379929330282826070280093956330676232682405756162306196846454990503834506251660353384798710905354078858162548124293983188439808596382575404380555888380692358357790491691236391588552305803316264643509535842279167908383959717148027115001671846235970254502673831479631123538287903376633288964509584346504440450561875033159059347571926592827938930667583378521082918431703958362847937954419028809565305986139091610049658821639839009522051964440715149038094154207204390998295537370575955515494967439810787612550434688804728734435515852704208272012886647686216330856728965862688799338326799234088135613928819154813318272625386348806703708954877008240149405847127946322341075422956181432303304628432058315393100005081747180098530129314089698730772412403057684421180005965908876548190172206747224581734277112824743698651391113525393399824731129351796118930970175543097125959652860693128034425528682936873347654375895799152759206772675398893527100508112948799079402918270427537300724222584468773316215401493467818295510279631495359877484124754414519641414544634987016586293611363959415805199947718646726823350128394758471317175536324910749677385943772334871093574419824116707888784068564131355298669314880558142795955226378336420977842941095177331038824157076821827623054837701756417576273250542346564693388530082409960739470634684708362762571285511541611380241816965639939898588626916652651437091468565907682199016464566104646913754667633828484329169966416341719773267031429855278244073829058055315450641835445808309731734247585906932021013527998180708070312522924689405921278305991731484371384373871318513555919144915749637893857117652205056658145049300228975468163280189253289920355628980023593832746795516448389114897012102550722810241534902976284867181944975157998175924186681707444217713199532620604958499685101255705779254150968952303605837421864985578050639520384452556826795053315430513371305884854833795792839723384556002417066417581108555099391313503124867191426573216045523494448590763725655745040058217156520214436395003600782603169579849913901710114070713235128776690490513727858384333723348645420393124362391380954097361682765650605074734693153863400693921568472742584911020522565011991915598404283604925083346296510808081716332953872817439212838650583734275576908507172209822420361820710575947978853037797093735787104152888164210921774066511908242965860046996068372692829289828885425332674229454070696024493023271195994222423985521411481912628341113240392260900955544790394546855947412250370193203755802429997371842963072041488021282152445611247627065368424759885870297637943042789221650320042473665541177399888841954586144722117700862251137614172169882358467230596568087395495639241451341631286695490206000651111374264567718473535561940678803295993585363716546154924985885036979418567730389538180313532340937864306525049162766157815643778202333910501927670781157986905697846521878022450345548063691179919237792949531581120392644367246095749653180462394681108654483819449228476955714784189389360318385495559372537984054458346097179191431392401824485031076893494092380917188924746475090607375965393204577773442498753341327552017249950762617361290512875700436573594256787933614724975110509582691917923158564754605131259260800453430139572552858361306920619386582359878016703979728196098680259556353796442106564220474772458060550574947185532432692682125136493007093191734980460748275906086470353901679956235088801551959480041222061314582407472368493338235139380240711371848070639009683428326147665013573209939140105514478261536024187434305472449338438798130887035748359671140542447447421962502943297692826189035873876029154484270066833129633258963776781464914199736192311412210263605320786994129020670960885059800761095757155457207576053301800803653084911950461911162514725377213820365980704318618481972515330537079130158938885959592485571153266347261801563768095320545354846880231677270659505149946122272161560953208858810593193572272144608288169727037835367022373884351713412016325440870508655927956562730984706256721461892270109251785538912131758714839374489216913606933279563383237281007296982959103422877181203452516695423957204064613707005271280257098301230219808708965018104104886520792449014306435839319509724334895281654451267319082467672596432736056370641059249682580750457913507633731715282662598205740744099889159958308738004379362480538570641633011396092784640840251668060940536765477449402664903068329429594525662616969338957577475238430470342901766106218324458415409998566907370208564987049212530067532696091575913744141820250026964911927417122098989911900325116144148053840276343809646183888562391506471827399639990251868756763490715759680411099425450717372645671139967903041982605088076219104588804472352406446920846642167890459737659428990186827400920787747748945886770509163103798661968088765900049331582618504130801742096050514979307229653715477762353219542210798622522158212010944134079980314644846936042364267780317620348734719904539063707816660962960919988664615472022675950475895349073815891567564720368732277593244745215549787264053205214998998280807293958157727483011121907491596068755942765356179053092719650138849488903140077073493444686135581324313242663174695815638723639058116488072023629337304667403777657422175852082510338918163077159992933156054885501352345523988392401040973461358558213247605612792775390342997726862459227168507361972650867503551687230181392812121162458013490071625267866488608251841416775200837489729014398706347134757261582000083676734710504327821029404905630867736270344732529999993461340520628455449281959718188054505088940578908744182834456969507918089736906837547432666312778464083026844364296490814171326157107579915986704600103084391324375426376211415806576589527006932224928134317845473341829223132844035529645409987037524169855047249336217241333140248033476781780995928018534959812641092783542179220742704992996911971136154759989298191415961508591644105480636653408197460409336399366504607514514787746139769160616886572379759621987917853966151806739672681810956584807286607128985261422619622076742901997532711690920466318824305003031250994363547149928976450284753904002440978778327547736990417689694228430211119831834912294362334743722935014032987051317554970638754564313081229479868703332594039206423133697163529253055772286591161636943843559727041123573741037073167271047311669588571485805501849268259517027881860386707755814400729998607817258746097855372554600828812336132021412939469969328116865581826303424335512493600550863501785239561310265685016536116769208408515839802637128571941851928064938007762207355308152644718314499332496836593045394651597940907170116072547289867259645862819411072054775622742979548748392953868690822832236976606270155282994134277934580584200745814032673811963909838770708271021438689291283094147985099297466276928212680095562743854449574182114166325763126704973194583257585955723369777267586574072698089562448627108030674867632739814734590091222261668245581814050620138413675854534349468918387713112066672641014124932861288761533083555275907560920060203572559385086727518468061713096253505456818376615966880200096013517655299385375487945568981057111587908588437036376927964796297028261628043954637749022342658743318429715760711433205582075848517231338838807700207976393213922872940302905500582071536915609352689515597710181671288145002622469244261832359782946652878634144893790765888661763205929794190849370901467383809365368777370702311957777771198195714751896281924573391315064383042599944542560594635771254228791627322026096808055694919914345348319099065328120601102019657073668035749418906559297301542077612723090936327557997357551046305555560979281228578856666724912424822646528631259975537095484220633806301917858915484125262153962053640952993024561214819669970689401066441388054689423627539180590807402220386822931884586517354855643820667482571505645237694834606267417136508599900714477757850904192083301392150717419098285800605736744222073224510613772596989829041553254118828645178659395420938480862445284765344786883907330644138424517187197346167629786761462612041219152362059313367738496749695154851580130752401626794546669516821642410378831514251011224645569580175200180524525300193241006988103675330109648311999556174083290307659434889343091123386936591191877341289254385601092282216955826889994480375889387293556958333091991667738428334561393508741387173720968949392979625147441045489730002403664435017549716182819758735972971113055178672467865767728978799018279472501660286757106179811295261135463453763107049244147816571572914797041987261762448706739669106231463316995641227962420211789022500759388336401834728641091045670335303860129167261062631888166447390954905123648717265063965558086847344584234048654191590329780870797028894102589840505560845547326060704646932174713545439264265200762964332666282999129614153704967612550230382766815108394520815399549797837648166667984520402661664268405212996078515627513811422724947708668952827400921866667430131854426407090252622818246755629756348371188935640398928147060518764628221351683013821321035186889653396798113177220008873847631801248937798776069588926199374191169836936368049118628666539263227735637734725609692491365361601249830711015360563794910666192300314804247514520035079287129099958162113240870967741675520647962306264287331817445395432030881529933338738597743012720077379535054608493729951855285590939892374951858775212676544305953147546932137135390883859313564407418318989370368037545026782518908992492928114704118203638013820369252880141697270764652379262368411198902991037452222462841775141026788763913289596782715634894883179145012822083649918760190807598212247786182345706429690263424539234681166316319218705730026476223824515010897037540529906532505482500481618415755753951452262752939245372726185950338413539018325693905011807868170712029036772021038972249229084435859172010574783134491457178472834762171017261377560250208663813491663018618096681458683168988940016044619373050970093838584967404402455258329056180282350712330157986685674870435046672952167411879289740045802739340515840236951365988442850941299316123067589621901391815966267559820950420629752037737679617260032429380820394555506258382422770941661374960557441429912457202062566798408967253580256435225033701573454107970979851861334937867694216134341150346210157976831628519690467771549064072305070444217944587642839327193323494411269371212758149276877782311383680564793928685127269831069325587174119728497165516480958167709653759157225032182563206752359359585170519222082369139749230446482593389398890101071492854280988796970083598239816132407035528860054829324343584266304895715278306389504139232939079015874268905686730301166065069723848553630866972425009217622166236821969087875402208385653045813159802178112789534307228950647849486229404868136281109785791756920593005336179118008041501220574042603348720608709354546792338772549836041049739186712505787605423040476853599497610565256819109096577641554299781248273656696956953425788874886527472150567883588027337884641794207804111401855793991263740858355242218727644891154050065394863696913817530762153890899435971953580833135291654200197753406511776875634356602979869332723539077643890919978391205301435341985389606571142927866033949361255136642693033130398607950515362579352075849437025986307023230702206723877988148658966569381934511995093856887918211954411889904726605829163126162400799944556747079188023011376133006893678314155726695221902594173851426709225264330670299173745449028143963294571941976623231771276137570374005349806572021789482240551228166819177900480500890308667729212619087773821036360610562261319998249655961421096482666770906205205279142671152870557598513750324938357388726358174836916487116182797403499415809966847577240840023699799994055665457185485343040125480487219764492253790553258749506232314193796965553068734573915822989648437106376950462303354225395857184931014702588904728058252874217631770984830995408203768747742421622512082641872470171693872211890288657719269095245384106416930223225151600485391039209567341588459516462013844322479617266004596741113998270953512502053124332034103306324291000235468861036451328067444783951996880664267115775336437250609239602005473687049003397732823258984923491291353719243284801096628797384626822316776761621531751374527991682148349346168084586186957029058664447064535176564168561642802105602341980919541296586442096291944979231712511489891253202440491239959646850391176820445132153454362642522140456085738953462493524020177813477117196789612134138358608604270326432368593994000726738802805971317728441963890808581132942128665393658099906652993870355146104731151837867728403001211752119701229015354631421028476532221713240275145605961514548935365188580277517235858673589380729865014079268797093950264640396101204553429473054380979687678633421903640058353376640226495621679236268445116253406282817074930690474146215993325529386633327807277956881415533325227038910131294925757858221001406443085474218838522673912500280794992637502741230688564353421327543853832937664729148034342470703262082716837132456744229396681273787170406388185802865429207595755942108564191992507470503015384642660930923757655882314289965157955663639846017061875157214662310985184936796035235363686491740386039623411930436073439696464894480184346362626389165578871816337146303833861339154537434665294354325496132499366211966662399869564608361768689996711030696612512612709657157446032069573872963608819150997656620680136504075214850627967970420757710210998108966900816987441972802202261546353379223443438793057124803695357832827627117857688469065817581671662475420319066456789052847094620439387673004365106131421268352606124965937099541448790789609120698197884983081832797988538534009962786248706040587862934265828448892874002211136705410705769368041126837818171424176209641749789948612123139655184973496698126164401321081131973046386680320927410749022259275890621951801646289631784568279390380752314831277650350206857259462741303458399181382093373300409708400339028791903047103699237468911181490141537087448894343780165418955860006085589076834758861004567498562048729460772081895536717347474102949003443734834169639982147772114243679490857474407031263814383428500382147616736064230160669577924303435724120135736105908183644146112998911761957587324865077004171757432801976337969433432812960324427867167038481936211137991027608158541910093208945932219058532291997394859428899165499783963202794666195145131340747498717103312398195507612392882775197257191902756194960726834084040483339631156638832315590146524842906625597768898184689176172481877418989955820700671077684061590121794594051172941215876019953733181406434701406263097388307369776103364843729624349331029078785552448204153248405464436065349665921335964718762335146723686551707015620047636961654910222940128777080775828644055806046435361322300661064727732450555492772158573435134056126204834143970372184190670612910838698747826276158670046779992043657452305773642001380573470675429224187551826984230385222333638225324964975330104288728009276580479169239509016798652373065665216802340537277042975098527641279071544913975982268995733488872079790228066108490776214650956772108474070533230918623554236705528801471792913751687144420126112652007897839041933095169859391723657354000282319531192964893599571015708786270720174047726905692530382252497929698178641511682453871921015665928441113234060165096561879210265404625154852192534740508465610775867735382432746718167071971769934650383115194604724913219789111471042356388657496185625300727377532164330788000370628338603354760138877962916767254348269268421308747882164589770510178936960206293085449154929065952013724715784493268548233431674948486009645366095046344843839007881274816276540403229674549086551375885549308597820905429784060828793417275369036626345094495116953599632487344351366440172142822769487993580893638285282805209688781436528677403157053356383604949824833187204271254853922559275622733572988898524717106580737714844775579819469948348804944439087290656227774619855972621769953342958693189423357478364549399532053546461307534682178994062636772380237485096001955510427187721543893251194450706586602163115823255574618261806527236462040880612418289611553087811155593333932728817927492338992641579567579616910420986265960462351445183548102088342770238770457917049009743079620552010466600265998852395303103088510645421263777761759760658145977851119711773258431355371775638870825165723954579492512509814648555069049639302454677072481112167606457122985135064239335251817780964933301353635728512523251107457095209027484569646941205517441451320473918855260290685522942241813895384950646963026652797789273534500518889973457015969896650545735839174798312558570932416231008894339366805440280284164146092245945057282005422775396809860977230784107692005162567229491845315693736740752601192254404645737154657825800333407286169766667970516179238149916070194282212736582955744679537622587220444829831805599609653795973337610824425354818073698707228838001980426186790739411389871596250886902859085778950422174007534067851787741635476670772973650079277163906585214614136234320044928116712357324411599406432771161393018926943080283981075517649293374360040634633848058017438095417530319062657009510177069220980725213525580696994620852578171363461471381937492228390056042689543109357947179444120868574307664500940765172051408861963165513969938018745390848052819959911372243140756207084050897228272733653850704405253833687651112253380553572017439989736804087455839384557832550130885202848476775662558351938380610090850509911821051272376176975682820517463261217287567725775909700454814039696377269315098147894952001576011411633860682209932090625070231087217920183851031710400838438309600747932466732333475908794809428978665470747906951153855557610215493894528741062553450213978024639431118885079663217864626520800010130962878556708918158952134400976130324058593326392266826700548241992449637945188640083308781084620756154035604951388219653878553442851687821436405239485285223791528355879138901771968886514271622038169890695518912286141797127685909272572675664317300432606676941033447825801947957625797965084812253458940051220006768294258966592728869782283325998059670745349027103393855923990915331390791082915495859616954450674769286711622053111856604098622639417903184445025964371837816272777210884875995081416998820036734053239587232343081260866112470621185940270174898030419269568366915098906413145215248150841491344951385656106261591173466512673878144706220525482589411820403411132174894434641849659739877916827901454599656676172554572368574854879813617275434586338279784409757586543300674461321817809711824869032483917012608236854941628569042535160128674462557801617197456155420059355023324142466778950088008880765490731877863702352356167429988179081365257560488946153777556530476381302686883702224597962099583224550125723580776494390509461429173354801016917827645981011865522150999443557650016395518200499900956759573046681920014275215738930154384057292086722629565187247015388707914445900773095623304338126128030646413899047890829778176022282685859554028455879858574841947754522553738977134952792100402106306841510707438016823401507391670936836690533559092586044207718610385429440881984969091412533037710902848524506247164396434675728437102889478713940621978440751508218331252440000025998795304683271140687887746946191675032450901972304904406716137546921909671633383964699675921105481539361217507201727610036271791826565121011444449349280261759889855252278054589614401920851436815039995685469641601324676002340263998136593001830240445434332978707273801450334148296310492836457919306075865250485858344313613771389316893948294479486379761068470627309940840002191684151020650847086655466901880878184490652647189330871663414343476057249232859019836980550397482195278388001967002317676378006822000015546554844263755800275478127567361966505295309042871296529407405318874669192001962301534041541704374818171291522231078033961192382401305128343974223715926003066287268491690061408775944248782066489973258528436987791399086579543282776213275668337025426011103332491402861434703032173595933998179943959603771168690064681243516409161589515702968049442236732956932929542092591571022217254640758439480413016088728941365067341291938201268439910463520655170349967882057116451287244074419480308177207740708098527001559892535675666834936690631399808759072986024570860474459896093019756548734271910480300003367953954013821684575322366670743742636349265004604396307348866097907751460071772014514932980726742953941788735061478959030166249746881035648042000384396541911377382631181890573352525081580339706635860040060681461671391338744476540276155948301414940791556360010002778657918369803082391987123722872569604090033194294220911234705660706024966134867193474862759520184774488676917904977464690867099629076022476740426614127884335968104825915910555649409958328149023323868610581578444110449068506280613989795995609153979616457685776418329792597325406205104277250173512810181404612485893576022454381295402306467433392374858627834990589004800831238680977227114034883295023437154286142667301033913626064661164824556696363129703737967789379233344754183690290525498270231388337550357602373755744626172503885371807331668919650665381020330013474338502705861187264589893189581350587624924640745317458962837407813846647553672782788010412844028323428982296626126996831100464769087546791860342028134275013059528608576896960341140065428474492094754475391989795667855831023426731242647917941725862470309270597878611468516619087546395058119649388199806044371788661669563156455082927263015525152866473406544114850647002192094706080760386134608212461175335494005152319467467661760204065616554913177927839048308019389454230294340245798849689185504297364469678511100014166027890770212505135181273264577472399885738917063242156940280787427485442830669351906482364654819985312220281631317385983442963932300264686617759751405667962346530617788359332500911848311580152239970289345156400284326227148691201331043844460537452851541608820346589128160991496926138183832285626294701979689312033735880211561047971650384384837303697794579428225743155138583610236850327128993672987970268727852198964979342415213827254519490789549821856852278469444155125743845442273701307292296882090513207040652272900627526825801900111046516400612993125929118129258436101814560427574634423692900016980762850905605228135442771704356653237700223734274525825598035598338453821745954089363577994888157207253819099288053996893598104496935032170544996129092279519037754741318374675714687940955060805316860823304447656736852982149124081656712086268913167820051939184541985765394382071367613266526726328997770656793387873057540859837258859280143220411891681577475761057759422682821876997961026517065568395417632151938403850571548962283352451617065340446308566949132029078270399543776886396630352235579565180002327143435523990487177667967664224094608315591123806656013902562870470302080607783826620813441862218382809661744637221011603527973472699180842227628425451969036640518975420976151920616857053265689822069623379505834991307893095691847047938387995843400964598317802524949798825421190241122070032437910147125720183836670553053917086727669048074366320217496579007040611676346730419375851451618500430703744043810153762948698716448003618295180776507389256130019873340627801444232592357565382881527363794754673207985292430042485576689522591393605794930515229689103582859223173470114084154171488277486308002238573397742629010543626292150275569251121602527709323525290254186723765941715701740695353273215807331955510972917604331646515852568181307242742002810879979512347087308306279016118513935145284249032524275487683175926168105285486832306715794839251369883067372250775195592821401102225980570316669736738353058843541034574135943062875796180283905060652987832902680506719860617757845826484520195540364486832761237579510258351577957122338599546043254110411075694497100650732346893167868997813991989571640444152098460337822963834275052228113544566746515939778625443923884146917750985522178140992286251163348579231000908090283408181354457685185139116072816253698107465263951128280560703839130274848388778327707198764330956474324996104868267820050239521217346988597034630920287322490734846050415964227016642979243893800356039438420114653845425714527794708711867187868006990117563112004533861576940262742183723095775729394317531612994275281804121553685974750247737497532786404948939731510047605590554325292633727659331147116785440332932790207813643633846125897646311823679743962164051661673959322827652111900341902403166508595332311731661546896015297375156249196554795807931356426481352371977119403652602741172701850415712918711928261149492900818981982202656936393026385151768824706175153217839826587283091940364860060382515321907491246233136949204707856892490265462000418239409175379682454391146690004791812760090914067843528818626434882090790247696769939485292432329426684998975320548645689654828095708478671225609466736737965325476103410369599066750856710278153192671366167924170820302817183426160901932959724292177855873982279985994574803112194399598384026309935865774950818892490606009282811858826171591151732573286314551975432593243107097610878100175672389822689874218817301229961867057217265887101006393351977381335251000439973889504705648358315099112877299543581488609631310886391879076860670978630272279086139370917140606809492462911819630405809610277617894208226931909029348720138583999191198072042302752002283124014863768170208887386940412875698072631452447025696310338894917961193440332058844483823084596524754579580591024071520266358872341052974059568436354655436890878288163872128941900899474173720684141019121043809846088316714387031805987091852618999484753683508793806721711244426034046171288531450556346689180308476314307204579493201510472993256028696714213812113287261474909332293604938648270444525410321350993773001269836223941272277865068088884165545305265120379244835575798181513129990847096637447570807862382457704314864455376251396849976658966116416573915673362637009581971592805833332402777343899526970191353128247600930859462527711159931829925056766418299271836108112712932971611719312875737100128287813382358896942233847000066061890066118405639659031362748644836091609049100814158192221083781000486134719517227844270780779521525422659440533880936261180249941386670829669888566639816752520857490808977865812983812795045058151992102550127050539584789728418531208671672778501285564638021965997076091744964390997285915032594611259664505058028070178765667533588106215183586343034321594895897209126245926548899285915639007386696010151464197623723879584501767202504768320757716786096515945383560470964474950173398426271942330425943603784856856150128312802683028954415208315798150330060374840195535706762723339050723158254877630947916539157953552382002273353481590221089164286327991430877651416918227474781669035932092925851678323044489390371172265806843075361782059136083879660837940374336430202280651428320912887840174987782975593822135554436100721107513661639188182408826814011243085271021841789162359107408661003362900051936032459433069939229850573319498128725420073939731119489774059862426743318344540032622560165311591338950874902049955314100160145306919945153561448554089635121635927345182858158550621931311597704401899059083022285642544802220249802001000303460651403363546275073546709324795425030208706367751178312270327234575022284033341620994123611769650663725736503167227348323713044086243947470998860473344146981598685820198990269300096067114744264760763229973282574681963675742048973248716703225975924281917819791749706882014184609489222335079515607612658339000105752329387405891324604449216361257412721699833915513097027588497680255568232491442453321786796312521745690519363698469060149607212204072175530588411624840790981853477066404374800745262444949953815531705492137058642024593768889183443064179271085590457816976569411862951634246137235740599834011566721630540095128252387706497429616437328999705386187027411632495733684994374166789620406653076259807202151551803944669178608289902934263959320834469740873895219598825009914612437662423885088737709150180075094144988918666239564954391893381716561595397075681338868831510847679915839498520533219571900386203816291200972023422216341750943629298657848924749132535816116829533594753009784388460717414826879079451985660400852067710651486905879989969068429205833122852083495995808165970836044542601339028658576931032349130997825317871061254187430838085859595539155645274588673042284088053703661586371295685319889268622383771361125313313634775817460371874804915562151977987432493473843665833752262911228259442710569274019489935374694623032176515555421463640666402707060458203130215335528923851348849532342560461111270931740345421173204109158275034702282589602531984463581837369337399227574162261916781602732853054216388271006545904452320365079307721131923124741282816850057939714713066057332265515310277404931567038775597688543315894462219842699614756868675285173573698824758436023468169655004716038501950790587513536994599043841439437224729785010060404709475700863605170132430209517385610270849012897445565192053299274702465146860574002929827615353924562748714565148739938934821819517810814050034488221117543133567822401581398994480324004358190249094032144540045186995772357251404752688980320961997770830162822422735654519793362101739332913864762955179778558605048098062468180829251973654310718330214619096598338590374933201985664491359751186943496299107530774980434881848872450596417140194407695531005967664376705555281134708347420917015299309941791015198991310443009324168422726694991068767975171058930457031911480286538428710160617616069534741669105513967575660649558041152249846382038249330783170554898997619497425589929152466912394014850985368132438865952791708092491158944268839178643241363932030811346062280342991672773128326118512340804997806003680819567690875419413557716070117025478922204270394140062443067148763516599345799359675771670548245515478942823645319516873172477225234483417614992378484791153467547503572373002386850202983306443900827647802472227889686377820145023423671050922796533428252171641239446669652194657033044680529085856763698400005083421673479174930057242612752275188993734355854270948333048864381562606399456779390890629173064112655159831553317121833832979406072062268733496395027827145210158437116525434185754581154466400917427205744728187633142782267930527840277879892917071673152838330970553975384310426296896082877544585325948182739570141884944704882543871685899788704107734675555057808357418981120580440807473256859478502641104872048748774556393722017157466057940900998910122631474119663139134915793165378102600072387688269131796534633902417222168605659656260715104548597863236017171126377065929947790017916247827973920959438764199091666106556093456863043216075318292654504832412079641470523129780374744221375853511431478901482433057176353183858663683939331428184883889521693580666488017474072070450195408732574691108764673627030243822870192108596485060034290767110723451554571289249676808412082509640892238468623505315114393632874509856397007545998765936487538818204452845989166257342830536622850259933991021121863860566300409620552107524742528444164236957765385227227441022806819543862152211273751782306893197883152500053963035846995521088155311274493675215846332287506236505622210490676254398305358905233580092496786940645472546375390688754121273005600799186800916062977075994667177648972322595259891923994030660115987561690574050674020434066826477689237564422301558557831044823934989066302304948053769068254969309860431189217572 : 62065226392474216592834221528346404583045373150659821699186778703396866062127625527549294690334302564911236253298707452309053617538890705220977866253140743851772243650994833889562754473838394836378437261272206181455652236527027994298406456848585906764038189243467587463489996535917825246371209260994384662709540536371334558958925017702395425574435409388541321236722005359531056442769149953043262293651530966889599801124040435336244058275960504773185826267898598937830316421416715282740465385695111857785468391234859455980022446904882127283647233702640919876336471486234822437547454059947144884385675360046223251058738155862676631998488077467490267608822747383142335485273548413193059450457732534657366531498212947620730754807878168530537152800085494260175826332161383945678465085632944748740969479357145882895676857649834934152924702429269074895788714936419510212168114738656191761017460328508219092800121520440976827825333251201739194157220933138844360055923995426472234259447630510532814474241542012386936741299468851098559882738442531374037631189883977165614407628798062765212848265826229014961523090515708803484477136110046011576950563800472898026114295840823890446524260197462834193621327464442073506985008043854937741890738221187775554329971713950587135958168438875872274537411624028454454735148770535643899757311872129727222165334213561316297605430798750573613690128768680589949764889140504804377335419482678667272864413045832761792452663635417733095822919429099368571512085929694221204113312182717229839423740054980998236170103745008945775966618018189256762416922293857648072436622769404674990135496671846906492854297156950426816975758307052354187785590771236127104678914131399790626629389479787273601831729939796043267804164489030098664811861175008545490809634686219416382979176778750930436467648242970209346180662422656338314555235949532152968428434080857614189593209208039730256510247786494538831096194168259548976450432312935722159097512757158479896849499088134029295307674834369702273296283675438833924173305710842029513122960751466937408772424363574909669080494641885065243804143104513572871610993202734020182965178844896021528177242207025534271459919136981895194643099961895362710143669349257751519137325008909210373208210117788264346600393424109605482473169383459207831089599921760757005795833620664676749409183859873221463590266391703657570646261777687556619180561600876099589928930493245244360053968960468236518434357106824711116984681058385676582973550206503165522876928530136182181919464606441864892247262028935522214788929575813368279824942645242235972801025464927776443008837242643480796950203608665879741592081979577661450863207404294482976983117711096423536843560906806749542605817945245808713231984722392445675379664159442593378134979749357707553530452728620771815974027870394039056950352760201509535143481483450669075078528011691826876911169574886505145950206816259609674016728060363403232696668527094890692555483146843467042068221371406480341764072701270129776429553968748888022870479885024859012579248723761044382228379924122795998541130833207157998501690965753066786496978370762321507224673835651020232043408065273935379209917852999435220313776714319663054330275512719528960063047991381872889064015201924552216086741482529639024224032450131492795296505567569044352860528780366314270044903832035971935991901844662875763874035298339213971574521119876790895433272456427117758248452452139412627745968032454328548284309653902595780343033596443657051722570582880316402141979908715482539209704636904118556108086696447252789754153377829815032745200978935678545533075494670106525819734167065998239988896036982994075822070181763879235523973957470285268706525592406694052648731928719696717750598523829261085259210524966420580699595361746600353530792616988386720557253064346048492268631591833312084716453680072463855519508473931563913870926642900397433249116925123642601375212550695608507071855628378984892721058986605964081160480271071925646030462341925563054932402064637743095079977323452602560870251049308843215343516254200660677236282877884927242925780182837102451562361013345622218501556519402625167795407946515496035465760415900987118282468346304402610807364042785198616034870144933962099008046154273558100777985047307268819274028796909996675769030516252907895749441303967916249451215708350595787315933151756685321104394371482818815703710709387637568380510931631667670693947863229119482110857372269241426226360011970952747105519417733465117829669787374515560703337470987378346631742818096881790153967511818359616311263537451951676603347343792198119360101771865297753199520907648859814599980769030356803428436791923861800903452830672168280466979210415992198345650960739776329732227322144170388295036656312337505405092989013966922097036590289975974490730656830921287728308568744228788814636274972500926130175020893624275185755022595836485982495324048072853191311187668625753300248417718404950840035876859772552016044159601838472303599024512959098516555523872875904334231704718766136634004567362477118922247329769138779742187845758063489934883354935531461617087038693741542293490570043535193399523072599277860873950473549562994433043388042446536477159724956784564138967517559978523505450046385150755772699848888771796934127374698701301265383769405074325578709139692633330668098335397141354722849190536807879583403413642995188319316701700796156896478696057290095891836016819844663996671457875047299148171887552592306094689641299413382672611759438028764033661429010817795862173606646104900025791718174160242009030620799611310738646304229434140593857869875055520553407191159519821256834132397207370634169440921455054068153392620570288348619175387671549274055149226220492171040947138996573081253183080781259467578656622499465663721614147646005999326433102082203163357346030743759823280852054137024814889653194114006719599562891028214703120105781904411595283250121072553377449764353779470965301595169853551049197835304313341471342775452097626817930868486658718696860299953888349475602326527281360404557369976622761104536108830877705587131651803101413908335215437719262519313037656653524233256844530794825463874648757188143373560853971064283943882454984472312471218288340085117341375445265095435394848385273603271433168564216768951947476535764482729595513080700170691429737695764511273251756636857216795063478549518562446335163778056137517583970896245137561536578785773032006066712164561896605636690762177991089069334689436196011126980280736852568361767020237676411213526614441659723405529490475249427964066512484558518482751860727456004629247915131210603565523582510010521547491344693311679188131656937633456190023127195753642729298257136811700907849282653877572609542744004905295766468190678544930336870766957878064927081175831658629979801380468358035210576862175273677557712190708783281004549464802497596142967077015685994697351047143130794416914624625391273927494074390882354010706891104476858846271060299495585666716913134554110919414612544495184402809626809716005718847040126241402418304549549346662369272340805114472234254432667873253069658478753407972395093717389593356522047600500099465026110294507146681427119578801949573865786294765328367110732236526152430063001086538478924413360899116910739243774933992401199084569824384778963591440271341621008139844823665799620694382911054839390306379817134238840099236499839454885249181616269518894919260852749093385936620552576230982660782326065741833974558451107919060968337303281971688691093780075169589122787634171218772502108147339357831346801503748073568363627147480873724186607235687876134948013839292116850027521698793835332468327655306802320289961074300504940829166033893903984008781026085392167985018571539281612299761856282153301930261412817484453717725090950073557288828348233416949277839284338119149574028208179050491235704816648421483322557476474570246438349757426337854189494258152860952565104961812433281448790084210141678556178854457178498592503200763675896455380881991243777748542140036575661875942663384574968650684267156281366854419630974401864780094173112640139833249285233287896888796762681526614677850442058117677603988369957210156345868485852766314827105228636493523808455265203122368220288187419109027105951363055908364825405136311676275463402532641574273437502373160709656547953241129811871007756806724475963748345764372479516832001604115876320636246549587229074551031573753138180329606368049485343361157014929809755584797855165928155487652737416405268737730559414566298545172369073405618251565166965798229726793130417278472177110874229911276983376524531974934353411100964777889191236729715603123571723485679580758366622930166063258362578023465940038451238010720213139449290206982409651996598898747502023176933059741740172181292530724431890197999412391415987340261527941182940787482469541223998379071683312592741143606937722037011958698493314928472769827928687101431538453800850610218452252177207904081769703927440837712953013435372127743855683903216422895457590686457642209323281220347443998520661248691423110357388946331763477101036990138247199623280881114880392463103713323918285809960050909587521131225754647638382568135313640561828391068502948664938044912109633458494549344027396269107038462314871349335005341173936133348482962272400137208648322977831026086060993403156764346464529780084279330534895246001981024734634665069838870546335615532372369827180805189975898977956013392438772780583759503173815502686952610086281898900319474723636517533150317134249576280030454528418151378208398690494867262264857016710290576560825110740682212601082678509773728178320408040318707183715619218862953665601053659178599509935963146336061711096074011571184342304589327251176006269866067180053531563368423675071568482635874356748449603763207517790623299576851813065137996485422988146687482527011159065146336283121060832545011067094252674005069409674147216620248379938911624409987337085061612914152452539785427558513633231943784787827014336014730797757831673525181905000420282280514643107367369179054327823231961575154957882455940702920571015866354689987939647309730176051482298036064657308653690136504731987813715717862935588313569845079902746928307584324635940718075017822357646746836616823362096247168034003533502162255611714212930600518254071193594035500092847218754684054075609547881843474345641958070655544927831700344259393914759445078478330052425748099492118193757946537287776380640710209426479049514743599779177025120652351175534952499786645236461437723157145824543480335804444610046819873458315339181612026408695533176313429185786405085709294845281944357635267339890847088071646005333894291478114138955962855842104218925231675739220573098668811377570034533694558408198598064373337993230907738865902368303720043849591955916972810967718152045558289720742334884444271427176141468903881652847865416256080984911365472164959693145592812693959508940133059277671986596193343273326115625213225289625503202103566929770911786094024745874926681083729106775774919995877416664998122561011806565165761421059422617682630962855693116199561452584656561723670566108272892995906957351829939335456451033129085897099822607895862294349388564158140147752018698335123563059218207672818550564484612367331393260505572098790766169940538695133717012572307434910613932996017675028936642945014573099482782782727600108671309750575139931055435435988336171979733503143837883708804543156512503391773539758350640762344794421435271753701557409859298138532532021713968054139981336222303939783153561454922439778130374484340151005826893699211927331384007368370667362153542709777103989511532192525233397228008541574603538904901021255651140722955517781841723151695827211811848336577516824681383892401972948352841385090273079147010385566388918677621382165997265047982430163795884865872714602582125917180622350684491851876643171994655033069460660568427423862306601327178416340377045885381741369062357569187316492218993288485906846963111206353477664503176895501705632175611013195769166313176917566698038223214647245249031315600644592964862514123922571431816797874364827229764835806673346827363283849665268322856828071125131385344967922740046608891696512996197309901644189997009633899453798993540136634445648408654536065122492536101497193726063310611227285991799912024186608254182062547847528480041834002603329430858668303577446116536597862913084513132834901483598527079422146569861216240176431773609708533622646954771910777810157675829705850767511324780449346323164337425053416212711492288307287342377039414820291886444479829437288929575936187286119124817112865332923958160764826955759166251720593945561949596533779333307631599599221484453774431756991426344448559849574644548173455835794160257779796600678784392101495468095717953969793442237940225132080741434033407072356538289236946845707701708379985022537870214375229974632148071031024000453904020165979640270900968683124877911112128382390729233520361122481377050532210020156038291988805615043901977826508324160379665861265097497221139527930121714273773962867356411753927951415294160414253577265758630860909822113905106181223739038047530637755427113659795660035337501403650734976181991660108136813449013554938549968557332817896634494597572141256261826402466572300294513371618656372148917482598341283967025581751392595814281171466599775171952139588159130357150385568821795659558107351840443415413905131552071611780145502455100953635974321303077076569093540213384285067341418779771346673824903554471210607020986378526542031675673250452346107874268457794317001626885444508617056417667109518245122529637656824814458641176062847526957313270181379135380881704161797916845060816208593249201170427557515509382396862994171533598651582755003708371194520279501644697612458514426590755355706636450590260923922697598074523300149869407569796451818573116095544173368210490797269672818680435972632055385664433454309586366971599062595494029917874267575878952133788975675141939859148417455148959701747459908968318160400219076158304486716082475541869136813507633781367065253825081173488859251293399182175413096548341070386554436990165484674574453298257434247888769104082872519763056909861610280434171031275094296912774420205052866435496192773608014403719121827556478672885556949487759840963075148980088291431274202197514591110344529952990664990570309465139426624766849436294207959909347564941653049811756265811543929454900155852649140808627540977839609865517616342676968256270455962899395185612539739715203111699614187595501987572425114349134050383735818710748347910259726623576582008615432367150408663851272550236565111180424120497709027153939827497286927017804628307170737942288970907309739960004932272776405247465086706111854267982636517039550750735073942161978312600189856892469086079067418530296654482612732589487657283157902958417537448630535032040859674037055018660182663586662755736985570018880715297472795620859842404127867867898127679167430664151550359605705160391262156120905852499784716180022229172593155772354612869852467739802341234386427785138498447654172935689671952211904434821816473305619288839476386524098460688604849493545118796566795476730962053706958010170141790985843771273432273494851781905034603587774239365383232797064135105978681938407738220823788870574254015228150502140585282416055003162402075308647780950338718636380305009849819626998062737017327813653413763939688112052009602575566235500440301532968998136945671582901334730923032042354443701080282355927650910359547502138230652316413809649382847094511771178177959487210162022430142129047883172088578790529310738982390461786184876451858964864407955798035772889590340198951451496813099529307174106170681643986737878423731628633277362052419714840445993260071739839436977499170767343097211899211929182810731037525814343204897392005245698025554578470001128098073716545710439899245008977820223980662082849820737632920577512136011271766720328987842255160077468156012328433467794157521738738730426358087885064629329407350699558375724407515223333176950210239839486448094865536285304414598201346861755862490914904547157615749223325184725351808149491567930744144943622634649866496252594165189484119678288575793923851480243923194803694905333998688604947132869004258097857956379209617728242123105048279239182324026758169073886457950256078186217772657824455259218538922681110774782320054186643187400625035605905008919914010352478538040352385353800751882944420132863302147660410989101501005609330482327165906197168898501199930609760951849931003718016465240573915124909279196176470060513351556586318004709241350563424643342647677251196972320190122890763031362291639093585776075471527616034840100328669476802444624041011227417191008167248308277341533059471878646190434693585433262304817146642387134363251335757275240668303673083361427412207430215771596033687589804372458499377847416715648570374633182725319535422211112224891918140446033161652492416250509717576964916157563577662102122595311180420857695933829740956576401083413173998446908049646146322368936306451553652404934889153234630583390443569336246585946394522706387929285515328869131132755718954162631297640819797932942125609937997882700794034038970660031313889030012246223893368326328720311394024006649882104813667402659661637239011845602772221828730279483502888866224948415174299459338532248489266038670875513260492780715263988642253707924555876123990964593389294586730219400050651554194576850056925817101243188241074218077314795633728580485579481660962006550237063026545475585876525077361634634145111162607721604618292238845597378718482546883722553646312908553929969701130861830992910267965489736650536027736387819671257811560370307999201246667142043862413974015030530962811944085577052749567929307573699946814161812069809540272759813474611616036554835160653546526839882582674098071652457353307351698881111761428913087266896364227529969617469725351340414286716561441803872654177470298363630407219736874040998054058314172117679992389041526245125130111444159868106752884519469038382152928980084221338589238493973952868397159123489604194803986411502349643357477929026211892993044572454437543198561654322197197419407290753071328857787245223818900032400824160532758682343636039686290726413378795785935171834106770790236954264315090268881352392742083497472127331816252914340582135944366928821265195423001414816923044508230944372863347626051586166604609414472519968855281766704672650867455296813912714864543303481028536691298730042879642327609706931920576078548667448933190140024925929950762665122202966121886476298084025654625392952955911013240045787892938377622779586218043357762354010754179491674356956100307616920132284275424624173963912450972328070617366983587565848691947739476049560112111284969829050759019503961182795526637495553238766672250421883809360224007713392207897774110131426936773130619921462997809019114074179939853505412221017427123414261417411496246495009847492633569812784182573910102203863641195382526757820509944625315832458433341279952228565318572572103666633847030106001083993103432249835174965614280098832374618977934291721560995266249026781283612226971731613500856502506248072097511796282513846308927626470825569969343835132530920387045960968920465414702394467420527964198707872121951269737692872103807773109782417776191252485571328442275286187210639313061155484611967383755802397900971215739680961171424000454931680324242403361994000789721298378798599940891390841544494079916982904741389637466628773478217008481998489022800963945742612224929414578636983111661118447382501760166534147077245109217366463745115398526997358303504080919386262022420997543219968368446233958865163250028899494848429070511295789618683177527802374692672673579444959948924371328352444908015332789014227424766257912755272826886111457757429131958681463695251987879055284723885800215236431186630299103991623161114284933653981766222618439741629341375991764985717887753730001790329052732134079212679214959781890599854504888615292447302104028364396505134148284548575764975208274889093134306535644242399713599761992980761965952189687706107366129169803513199166657745114043394356759126878885800925632365934079282600281543614177864993040386621395129435052707512717719322735902632396177231969849850555537447374921765431120926609165692102500618573208772509032624627237351815226732309607433985001604175729374885790399598198722097336067138351936922947623490949301412747037781891099784397835725150816227462206776520847355360884968874832298542601079758797765956628648490517951242239350607391115111512105747910372759558686781775259781810109697755283965075935862011874401533586590977361997875317524011218870237010186637284494149469408883237425564792929236649995070917138693979825522496584950685116877380769105535787945959668004692072529220883044835573133079598798021184647496451284413720296539114786959568174434211761946660886081066997755214315882952299921377267503212450290951046989225080709595823501534033638383881159324533299620568411434106767455686485387375707048367598897004915052827880151734221778127479329811268098068983715534698754476739385791917387606081351160966352646125631350300768937315997876531040439642387959377501448740604804931763560506085654188791497809727034910090296946374523653980376590756018772896818134290298905297112366014252229827540132198692120664054543774506169546861329355556373799319663376484303321786778623789072929026708181998419785939328085250243167356803114984763428878964787560175594668754432713636503353179869753576219067607029071295239377897283688465683356784407599141895164347592623577179547294608295355696399240343888056144347427024393490337226976255278579965275531349689858942654028527939768903717374107299605485509195125235435579894028505539429824771843543980242023970418962648375591314932493291289911246347362304839654019591377845303774450937578410034900249618786520488563526366987475622818829837645199808072204555157709281394404573796241413769737735827866300795074508051594980556987354870289075280082609211569901321170222369917614419658329835074566009233613720934012233599868135541693787396271029019039077489041711373352680458218920145252594610261536603081823252313273968456670395446075572735726194945807596692337974703370672165810052588307996854453367760828380701665359606683207628123124069971601612669523936315362395940183337687802821513124404415064401083780214877049710643275333951245083390079092859843213444201190217624778986493749117432402108593066372250429925616586858573635110821857811761151750819763590653945746168695484414752428373614706902566979674238311066258399433979221779170082635995104185240271787428605592865769783321154654526066442962541780284307009565119264405616570338875072976266125592826955678571172481965696398374466765623528591166164583588672878165973862659038975196307042080533313741583753161116908820814596145433191774681520011731858791726784543930113535382374671266745868514672978485052458071787265586173046760464103050328935516404068692881160394873374071754041905287641022009504982091816524576529999213918659854094794148811704919737625535116472786141275563805419278813333697762519459581400731541372147429054835450469113176795157789564579007192656066659219386489445783297174110316077225238169288479458093441435164799996002357417011783956776963833347245622575983702675781710873155876869920047371900588739253953467052400338177947368270110247007605582890939675707911762301056648174482155562500934528889216791884055693039865087233351171839254555129006922377335090252262073596737474865551890116579582455622205185504062481314741182335697962834861120527704322680299885822474356706061534891353467116352977093106238911108580411753423679817821779969884182027759179629459736813239899119237571678715604043094862355588764283061486260328008805495072532319969709989185162882961223436904239472244718216614606653775396803943676950388281661443154523848334125294124379284866944444860632404445312861691820900784292744514773733641512611961542846399680336812783078213078514592814734922463970337333566067647200179963136341545203745027689552411995280432392336209225870362532539304722530481139339954337136357218561863390637152899841554095201831727234379236869607551711227630930439229664768574690194378153439049555339252699627589165486169744414491029087526374465736566945296496513890855485894177812364876801656223202854146054657758455870042612736972928442139176247355231585887734100853429140075998910411637947071621965310472836078626481954465381912627699698857016313393738679652847851856968725611337109596239840819365924980714902513062510136923352115541433348261167994787864264879868461359814803434427785894955729092211372769024902998263219536020759049462412505972907375064847133121093089639452139203253726885252248046047897428074824092542712379199033771000149799475227478393037279412793153258184345285872862592020201139033843898819921783997540023599631352273604805709018814866366806430957570893403728996910141162321609486963686198999948632199747003787423511622289809618174180768592713113732752006256443001771637329524802913617833229572542320509986804304223312935553908175035785302908662657981831945174119384423526393940739753472690744646402817121197661641543854986726101337435084118216189251982389506831814405532100148217523907983723430961490693801808516442009863737145155020268456170903612649219359532048828685669102251665870041496390025578150992153776054833663250955507434695107724115772538001098602495289045369850439969934332989577549261835181478566588996960111864016827516587512490078627621205602267879600937310700142961372320590989521999843242034410244416282825528381070779754140715010489974062479026517912498161814068570928210083536502528094006697668934141829700554832218215775052375656356575495440092555292215304867428413751810426837185518068065144028514514533119118967185272442967014985407126083496765690362112027966873736202533990664821171700800050916605331487156774757056384002214111099171698377354276978276077641767612598444865438780746737833952421222026256344900785744399597643374246492747321819281824685426202854288319578521171522756950944279782013638678274933955375337934975970423757815517145210347068308996610518477169786528727357510853848054289066061750808176186535710286440790419446810760323161450480061552703674054041001263992244255062541855556520080357732112162829963616132105121226949720510460662908979098471063504412211680382759324771664408655650023373770754783418481693362708786023252382114842803383425164203945938680561636248777927048481504463234476680545549549481490808732955747586580832988094434188268006323868378461580832816691377214470943882275690015309104391487349898137383952277896059112684125150629412252877827537478093872084049958687214529926202256937234202842355652207364335329697400881748784300098749880331189690884248486317049236151830272179357134806781788617350235307039085122201270086980588290218409800289087475781789247113682831320512600743030733906433538084340426806015359016710461967558946320124874238541377635976262020710533307750808767919593797121235157751327423842711283692333567896157361641437102296342812386737289057744987840571213342283285491866246648899573220129216288750916584928282875693940633280093840357903030708294814371918828321865470640270793800582734066894180839706783802720698857902126778930265608462288733999593288380158563801861146995339744039240518315206409301215178672240079448264651140838065096019436899813149257663947554380032666489407175837555233328046441498285020616518223904790019319265413102663149201161043821422642736880144951654936204087653447861228842305926166850070819821927589500400849665781628599825653900823725142185471631222227610010948756514791031773827792587361774343940074567276244473827295542206261287655375235345295857922049294908313189931863683193956637818980009041960470307471360754483379410470851563391480916355729534958523877376000519240828799452381726438645417595493955749424200005018856354350379563779465783085730739065158013820362816241174112748227845201004527907237426669112900005499098081310732687103756862417196660582100829351370188204324287915174384853945098148358586170251097744546627637409106373951075301753409463045393494286950178452136162710882612480333149377541413581717307944526919825400578566387123092237378412145301350258864805431908045299521834246214364249340691359611743496708958629311143803931523301202262360698217821149124669330681342983993676157546752289150476015588228390206205082033233149936779982936572660096829953571412677313983754098654560295592545486944090215679561930409404913969892117552870480150477886074419366831197995203408074759663126995066187518821036729726347364647747237494851559406621554302921726740295532506868519615714128217675423115871363297529257998348661731523379465877335027169261250287568185016853582637973857899610349736248871407542581386048304611977311944666387118275463615918548609014284374997336495606016437229022129344265185800489801041384839230963810934949517677800442172527618378563802916950454747293631694407520505059080656842833677278244032173727828640003322158907446128628798820288047194689403485700663715232427001911758406679505293036362269831961591444956010329211152733840909371461408524502536430769292775846988527021548170839513890762783275522631299868836201576717836439712905117382427653070042218588849000632316751692600113430726978391632178008664760914097214404561260698498134736528214240848191294678415279666752214012587251223877425682266142787073742409801127406911255773465712528844274898994940205283336060387840780126659502637545411137122887756238595561132304117193298608743145167620459943551742722988751278872394642517813579893662041267630606487596728826770935285923836934911702468900856095280757899591554807881704331487976355844961737423127072503175170211601653710583796459198840521647979568457199837901442427576872031521930400937911498155011695962698086256314371190306490442078098269884169476003726074889199693222516290740094163173367592477523565354693274730254084994914070433572327973407819890681305193502726491182530958701636862547769788135761435026650605764567465021155032707170582431453342812722372323557442225070264638986682214857502128032122657041812530417208919648778246609738472120783670060931401874069701583525789377350569645295820446594067072045896338417236626027023804503169196095788646343180237718485699103264542560480968167089180481243869471998860090234061813001152149445879130359534511300211800091255090706911449366554523610842366113849775589717875292233344309277701349416456072954511269049832647367837093838922003025393014044296383601862163631344663720917606942014063233677571252074521514093350849801694082441905751728475317862831591627012976228129549296369953630583543409317216410586747404859383981600215381645276696765730165632140300238096523105325099963763771841443154605615917373697529968479652314652052931890503763479926235167492548118010907791055947769583237082381345171796999383446889950868004914442735726404139122911639045894762525093613590843495383816883551531913873006931241447109581595285846499290786814444547055486545497519903033913815035892945324627409320175927783675052530289520875979324157323583890691161226181295549415740559917458983835073847510300724420292345468144872088291707440963915373162081657495312894163733550269948213348520618071771375884443771942040640596766840885574205387413365000709953662865342758978615759416577656147411264060021277919730659526955458549206215945166320105640949386775430162230126584033480036866989877160041791949222249152258844159940456410874812019165357597910346338660099834868891606076827975480207417203623558316409590986940670216110253702794208826472172142914839834191641069028198752683338178213336506742853705039975647905515738910959498078272990440216313087737405298846076372306267476872682692348186146133982544182218396180901315316119072819291925849740651565363540005230487189299830478377312997250007088424459538521913179277031395098190647823903513141326871832335454498050005814174606258052750421806106357674814455243451589633716124066298544540558603362677216805327568441337768170567767790638004419525437077781956794818570844610928855452195458874628521150145529919585533476890917052897098854905822205052715321820290581065430241452946214720336626187449133011218397752895311812591486458186947855865863229236909927057334947497230458182922915231202109615991530158623912835626420539964272440664036168679018769283437343576545101845495070869380076116190889512775119147532151859318788116567556885837473683556882846620572164731121616692483862599666337749372128633017248929902151093174384486175284318616288648848271271334211262937176544348792537589176712324378805819378955987273131234049074784160385383068065191348733097962154299598875187291621224160689383579395163762631958008393008157250650276120499822875264964157089621964721229380509508463503598242437372743486955034887451420093299151380080886483431590459059982805389574750650150140271930524461381931217286218474239026165587860533112741454805978731506150779778616508146504091808990455031610449803625931640178391394339055029443454320386160933500745711384096007121285314591076658105615993148531350420995562802466425685136181246333305649771104858079319202227573221062666197466368492563396944843033252807701336282329185557794389280010357253368899353154382406436975472594945539750659691755617288843578067370252094730366711288167530317100152180027489883159141731379466371761245899197975086641524415025775360766629353480248386112036197351118882301345488331668723079741835674315096058677307450758021116417007336043962766051160354512600671344065711011606251862447070966295938420721752319643340293472895708994501820524534057207119461670157763200730161323647692854858231873688569388072237670801142536265228628757544272337239355913694084446689736962254397107385515469737654934175357202571909689085039771798447568573787918848495835968123021413524140470799409485394862000279100075389970077987758647422182694905460680100887938740906177858568036400024132862605025196750979740383571285200285246828052743057166479469601243299862910524653998850842074425565934347362955925414785495814409579650055382662416200397160510712771580509295245888818273017684427888198922962371971017048201173994018576172352350011594031928836895402029422173987149839119278845181386764735217424262728304124477841525122725814630073885803122226738913811179126917507392648065951730782436630738236929799286184094867791636242264674403429438538234671326680462391515908284084998159369849742437958610088613479390545519275271253504311204191201658250758424155015545177822950367819026541815339278043872701451350033483520682510107504764079109572418396785811579376137249403545729154238900729298084754270643569495484200042462439809544545315568944701421930857481683134535387198798236363221387394899028658986458941034637163371860849859703883867737705641951751350001237220963408855636046084319269657420305203103089177107630305757198361936699927149814004900119820255379937375263640285431625681156388387481266289037728152626764319513883641086698756603672298042030569688287276041412138913650881752958058492145110799895660968118491886968907005915490094756836430449554867000531050200125914982033177022995929789889194396350746055636328613887537652551612115019840579816848415356704560617688740864693972576271044555827483073425219891755563631049844716364889305074737983712246884465419000620550171305549965552334859804638880146000429303423199752120016275966456477538633964786803937307829270145252266455640987242411299255925064236804504293276935758720775181342183416576120525550096426309409434844500713966907120772894831547681006415920454581675581948987836549127563357259829030385596782041979910924623698051763323378716199202870003635857107350106985450428475213698160747219367706805522897772532529896477102870944591730012407976567719074994460109552277059747119987749853413752552789927763470374525379928341960510451383591223465295255256956645753849036978754342492713466913596501497259112517780086162073693316868360942157452687506278972509569297120821682372879725926991802736958074542052775672951962660043738668332131765807601985081668173626201251061295487620623558747613071613001237750996688951950700423695643768137616912645780351045330155460251533985198692109808846751266282263689718437270119802546056312617817223369237122927993401644677650589224660234416490519697025757579105342417466209447700625801118754173302550353055964737618560857385349278071355720877404032394299174701597726190057067788448500253129110758929944810212221334851739700905048204542595917128640750181177831690801690530468749166926550213582571592515855740397305522306568880621385031900298929195623337272923226444063177074290143861445370450668436907381914262913984807635840268102060501325669747491715118476172102101696462971256116603993658009433769449192551408284006288600350695433992958554735625798990220599265424474950429632168385873006293770584838653474638069336720779110943571928117136638173054094928063235927992326779339549287878884237106881696876200881382227465562320702966661988410506636166411558357395469469952937173223468812524154253740665348997020801867334939814763848679160649059167684663514260513124472834205009416461828966530530230612638373634573988587497034424333505183834532468235564834820860725724895190435158150656134982470492657299571445506807784573312358718457454944810328088815851123046175743651993404142302078422855986775569103024200905331725763711657805474814118681030925769810302239583451105769054171392093509910415624761319113363576224335090116030794598367460805487179252646890388385521739032775952688494361882647987278526105737725022856537328039680478269571541030856077336319504101868723106292919924423789522010895012832511305170832035268189924572207242377399610879445456156182517056480269790781327616264620719570561162640274938476426042504345070036984620723256932897468263150527412218875937323004170994062574460506843993814014852010846711898583147951237868142834919401063037108020093433801624482858808351615786024191654801772693670408028808837431165874712885674504005852519264944309930748079998698187789532373178225274938820528261751569452972527187486751434942203980309738327565024337720434370365903345988221760371774245160043547540382205026105035178606562015038314667828001597893617173406587002751582207532556758260861573997835316967052975402316970375975900428012230474266679731330251270077588659492214005160137257797640277993701716855915787936470871032586748081379799950258527848741416902079451551609407569598440452245894189196146791149176247414613487498309185252698467682788667199309093075278710470261739315255670147921802184424440881908359685125538656566247040229787248302137862996995234874456422408069009632745995102410599151385115288214770952187245594215686267872519203157931565829021375396855215918691092412670381432061513072643289467923640538399264478127026441064862811355224863862025896092862140112547997187424777570625107664659982181861658926380697903691643489509913388583400563418853981031166698302643391563387747712627623969812203218189515182034184397956433234708997001865289147726394505170870725850125973390783448190522721177276072121188763270419623199028082591535583943470356402771250287386287398107285814405172666663406300589950256303991929550429097536727590459729452732433294517226858989857496229951599442702942843469661047317426556398065085032924787779411659611495543534506999578097784302220282349066909630406078962746862249646811186882282538760944356004695027121336118844649169691718407900945653211347275915770635835443657680497629270234699126812209880864619901915041214961659553125241849726399702684167542025851618278544066755279142030540583383684264917660078717660318226557339077158031422079670535238318509867677308632910027746306304783087938301796137389347016033274333706545391977586692014762724550592640634864965884275077690187334164740040737116425511837007036787490880943611938080829952588149569587604006246853441196825113398194909127377109327367824171021080884183413269651231290586993032703040314611367824346292038984277341373569338862188701395299591870731909892108137598695189321723250309934637855169230080387399381513327267005739746812275490524836815654421311975671428937442013417797136391455427589348406935971266686489746494080678779879519051729231535002094498192432304161486811291688348243821550558465828327524954433240926982569241015931936871387216128858745555745328416237161671156969021359267463132709819170382208370451199090359658414205173538910461396303992971388188935269384770378777192075655533868569201085558496162768507705164590096455953748009827843735037544418856956408912889278559130831944856227434784193991994279808728771052559536692938251563497727198847704945604253616191251640064179283837952215409829458248533636610449537488480121808129364513553978139398844447754144637900510062409248566604147206268924105387739766651731827963012292122318489325519974674787140023442870991831897171033832381961673896921124565787956625092984337682562338651457645835289045553202372597770502939442202529295599750021459307347670386126014090009217049590565023663363747335284575301069281147821038697206109180904222257250484897063398257603094084212116491529476463041293229862763948787685724041765762293231356748870661475765381417889780354680659344831483529189644710423853154711739454325264566906997473905579532264200083332702608458041276903927557621986819263202525948085698882534726846935248074417560176152691146016570227912479762374997515902142485274447747774425195640277714174599337429238588330094243291840431808634491730905245600406573639858274964117420965499777374990865782789352642883789378276690843251144173002649108158207082104166473416066753808431913642856901673287667347497412091674722238363229315741771113241496930924213884458061773072436672491840982596248840336569714043391069116375197635166509054564828007326092835157151285452046594615707067271547751346064512663859335065866797704065978377584065617863779464379232825009702405550709184092446206126877841041719676075643905891212042553986023417506715656298587290635100633555129896452567061161064754011428271511644820423108095310234895531083087960493261174748735644039837795670118967617832600245618273705238724419089918052250058525509467949287859757598962247963793365508671948862093830629930993873544669530461358298234840665424891268367538995905844581957754823739498249385521942502718945295976426694917852472612998342991406552439140790917721784416106273456519374326970491129024479057536591889329748607010818045456158930028537165796066942265961596043558405031302636952012419114212015914170283907801223535421253640879136016447154362500321314748054889031990671090056134558892411205048475505682390990819040361006915498267123082657037240908143392854229968221498665569013517738215725510694365950216955520630282415017876963296197381317242631134413569240290963129709198176720950419787069446796249009749877947831710537298537977394834618064366063650922622221389784610037527006580726559821515227599100317380057855939075309015137514007964852087456828168437072435524976604064015588250256945704365808288231012363263285035646146004252474429493993951058905153048718834317775627668389939223221773467798178392396436996538537645184966935127706060192885178515862432210480829336029000408105789104789482906339819127062942405898210137878457916900420429314403705766782730513797274117270582996333557775444807920462665658545684682667223463192291357751127272530986981415191058500375775443636458580025536200387916640119187948600116172432777583884999059504525615999237961360825312567658870273076955535301813852645300229515005459152895141234150331385502163331892549126932674847696949694071788836039363163592997147654874581835000085337571647542807172949749209521428616237988365142653682901135248983252549135104550546452823223286352799997243780741749035632688765493323891146272395822648174077311032994701189307502468241674659820314092971452789313029965512605293450712771003533582846056029712386656401950753417582483175490614889701919300518932913919953377888215687193668914144874822191471298468723480464662367169387016364238219450237557053599302692102761520809499807945694326773117572319121232162942759457606408262349039844852254528289103930410439836896762280330729958149620839019709132848462281330757513371255866845686282022777435577993365667843338574241793354793468737525596992181607674244310396854942626390187334382418428226071540006056755200118597854890323414066686176762709178254751647984366001779886466925627439405897691230746520678873898492538205622557108126211570772915226123354789987511858715973859580429700085707478550208537342395634127877179652938647134924323649793802680749998040873178653932483141924057193012308298171617768515948835534676488748998075681985049113919673784045492918881100883083069941100360555079175161526452141201497338133204183142345841256824190828343579093786307411381042870517723984571462863624655146624564683079490196728270882383615253682221952078380093174839846340943225975835399150431911343790668922405692227605748273053107760396489943147242106061646212837393517420360680791517161416344104052534784173629659156931490955991371292165740258597647994167572771748424503509034210281334552214520646656605405992843314692690334869211033145309369155553370103980415888342883777450661633217460640084922970190303203137361561953000769678003392938573477752565616992175975992270790067134371136810481970400847483432998654137200828601223782799267959808924701072291472936776407912708583811673811553748527031842133511701896741931227353185634123648541042530069772606706050071423864243818791419517304630800376564496122375494028359351674590900411645095069704773031998411877041804889996838065145905923205941780124881647710186286622857957064043610001246464083258193512299305302876641065939943020965937972084358729394722184164930058331777575874442246617102588559657771748820801871028024523694936844157954959554387961578326507548419905397912833591138709682483813709146646102839869933845872590210674288602965541131917206997646150252265613212496616618608422005483811912822244789661649419995130175723943603418773969442193480131849982314361366303589953101917612348107307337161759124411860091180380195938837164526359429191145936868490739611140177204386059746318105982564305888505531101848316794477408800297167170133898230182755279579295440352802943698550040145177537220679448534837464386731486540329729259464990156890187862227391015874396195174247743293700080816069219221842808809008869058793459587417171826947826066210069160186439078088228981652772125962190897317487709635596049773669071411402824616590833002115891847422419810085525014733922725149469144769324323420365413110418884305492526009624667457222981259145040660702224723774573315295144558947669446975369065795441907325166929641227497739367286803469537265419739315099543588047440097724780138770199475084909528513984689342414994348367601433330087593204237036606964533906496907594071248767725786431858333234554392459375296833458970516473058077367654920974660979426656907097793357781334101637013030135372939220626117952619316326242067488390064065111896811549854509610031578448298075804284537733888840144105180189702691483358062944626220941889033018996845506287696572605313661161864323615488991032094132216846217072379151763526344718647876805783626380988086752998947937833343278142060323273556246360120890250641627589655179925608271033731631279462627882544534135676557406432658049735870595311837606571900626092125897666466639544218059376360122702471549769898200993732715218155653218102646332163635045989393141536759857193324358965239369587018441892999652811177265435822981020546968848637430175689523410955549358546821793532785772327032461434341412312097152432890243086972780144977464140135380273454773570124809874313609841185493177393232201862330591738050367359552245045580334186833194688905819684076993200144117879755750261679664055312723078797172762003896091922876824431795513348978729617165952012341970091733349552995000970484793159905728627297999981945657774569475328835557229467300440864893706412055959329783451287033915500935691462358331059300356437906635969274138056599108456087413306669317504002246224712494210929338599039261258788623982167831942531934119847525305038038268572445790910768975658191850461931202026703560112747620057773631143860677292755206822974556800637874920278927681587286887340252535753997049313891000015708802012950922290302961846673060198007311019417922909652410881506351144548533036419157207704877298554272878839034228984642966467415566201870311096776258554069060161129505495533517004329828718627403122673251715567005293501365861032646691254018846913588488622966833017470889081784189300675342733199731101028428274563303529583225253464572195546303405611299488573440577932566270285290952159783748210775753307135776091819621632425824113735259532359206798314528620571717796758295352714232253022799545835077509873808068890663046496523665123244767314286106242473571548481497597953427081354354334759689052527490760283491619334713354668996962780744682009604368647775106605286404818691487299908956133592697353424599762333785880543984261196295438805705877292907787138932794103382869885809252023302677633478541564756734373580614880233539278850284943603349666577891717702704490637212648400423173504811124055123008204632326007516314143414762203761897108166650693460400287330587459855783387318371111376368742034700461290790875753305756961786797822036849265563938116832455326650546329330779815333145753898493522744008350132375440485773726044598738586488368577918533758116474987341810140294808290063938203517350428263813350761947568610671018282275590943512910179477654503251986880977567577745064894901875072114074849776936774176837508183286127589166994837300305593513797211781033424473173252420334131780086252087611587330992399020912371741533661903423011178610817818570580586741913057035244639095206582562273346022707235923085042069021243761002618080797665419215798920652190474260553782921512203652906658913328055452447301386042475346492618049930094923239563520360478149700179117033074652425543795836880036558586971433023929744585791043248756619691800030726183198667724522035839639064504623816767779486910609616443457697921606694778173490053815152377938258724587261681914680788307639273245608306958783836691500035333106523559012897753685522840917489501231490799796207306140266088141732262181162350443447523704497958760820619906759954260816373663275308166625571470844603996176564885976708964803835772487412058380776700695999402156563202502034927195726500456689799992399789020502933510950120305684567598274953713459832483048618983009789823785139863564086912966905294909582787808212829986171801217316529873704490671071966790137517752459237381110625983841779837204764033693864493869392102429508005096722128527690185383063765095559316211720613088679706732116187212768308405731186376555049257950445572046257129888784239011385006099923011927272702339907490654370833023082490564844869051613646075693852545707368366953921845974737816864180821162238514738774384843948100280147191743640168827973236501725511740899338634426550258515139018793232680835168687209747931249983252361675390504838962071505626739893614054829740114001936036600609819238717716635796360563966109361205305406346210723236955028516353877147800308541071512921717253544977960968385040831153257362637963478556041470356350728227162083275228945694946908669944721859954572107644904576417346359870453097217659052629667939645046476055378112547095028330227546385815484322251630966029101856054129194264554159941665387569511416461406125661679424618647441687282787999947526770937593795852305512691054839551674257105036029677547318047292885459768462757577021132700512981897072627195045871460369572708998874277821609170765297635369518019469096329043953871476528123439713851190640241957465349493809472996480117445624628492705021916084383831479954717828551226264361784276994858670463518852835868880048188625625790717945424205681912840234949988889337740931057990560201158510360933612700024790570175030497926979039558357257797455597835343978213125315722862977544852662721673752254419383269585968488065371122813170035149151687777601067164638750460198918737184066334621535955391290138012463656713704804254077581115120963811583922357713063943273172175079113621349689974488880379869314669876412502146661223187802231294197913021207277687159566206590099495007691114023479777064225007712482417557378460490636390485787496696757389706271384141297285109170746132314725674559032468944329234797348755179720799205859293936198999719393034016809689062490308860655904404088765527464121321347849186576240650441272052883812935762401404968509754575842770066833342280305078925139699548661980114574252666243454993842683142919830088303576303315161928887380022231496505733750976862802981948212275903909255172937575935584853102156681111854543780108569939377946540892904593022187300537491055466342778995043884214702342836007353689298400664881892515613431159285892414425609428109615715422533843528519667242495550566079673356066475187931533017970072435737144947006678312891325711721345023450013469811113075626645140257577927567475188176151302332439533707449606110828822999918155965641719071578436314314323280979641199008767896966509868189108952239892072923433058275112841033056127740652696298515694007056929376483681135586580234933485385787135245963309987712191024354780670442056551288924617926438768761716562619850942838174904285118620562809209579296835517285507271133782986499971055962796885311886547581313821526806540911993319714670266529965719229863865923056892139941968612103081249653680110599203896999648573737967121144380757208076385667611119036500763782276691822462395539357139163130824875156986281987517834167832933091340486335594673552763838202758686825979891449898058728783586803998394493766522123917885467585329418959086179090201626039164045951608320120380773767645859315711517165852648651504381992635672318178609823522442167757417867491646379956249293567218581794472649221115319912459789672432715008695370201375379729115807269585475292610624790973544406149552076340302224916293205466905408654449966956892764260242783210830104002870024294980259249074708757433541151659153047408121981855292565690838135406152508094368125759027929382300972610065347199533204126986316257161356408435702499575958033157168467827050956784946353317073745991141797903283977086360221468312730132561898001552800877487191359501303662378443255216322990324176193296740636735166844493903297973129815259049830714950703709464873646382801550854621324371911948988129896103184273649759011933395810652597456588351587117667435675256636796181148427131350502608800994485605252427889394004107266710539226160531529322565790761251646643461971859780252696075582180964485393265642759956967301622776022528607484636751309948561742456898336391978979790638783047841380162610989002593466637669509618887942920634655100282942684341815405498303634068996285800009350687656122201800578341758223712900442050119847204112861871310375620059256320546377632920047535832859303581995492491516018596247729913502741807247912462214671845169921354709245090255144985209378526956969409762892000404429889505931805206586379188661155332371782016130161828609930811500362257622975570119716765082736327588533707022861902930008571577639548528932848697094166177238880127114094176320465792864845384955494426838076532104609531980517977191068731952107041320082340813813052845682831832673937588866431445712691400234015004311212511124208072470874035376256966838153758421857718098764521081726640033764543088311853894587621453881649759729014086970630564929251769094359096789415629210452310237180905750549510107972735923126799353307956574677621061046519388884342065075217217232099482592204026593964576113137912786246218495922941671103907154384694088439259586088255533879341238832171617731109859002909908014954284425430801801636019269299716151137445430442218510118297509292564146453214386754015916131237298657496175412734701602709746840139822739387724315568159499059647518089111706126213936986762226454810681377338630883065581114552062430345348079605626490865524671230400651306907588974412371174872061198948427824220624455060157611342685781140529767361516392360817547595134429497448889973848692844423428635889487207253007424120907156014650023189484821067845345641818721600368414461679016856533634099592728915812722726675995933960776179778318764328214388622097406432244148792226173225516844474243997893636723467212977037066509159727564683476502425644087493295938443483338586043407649141386855304310634095036491896920790740056293550821560606601095659520706029379234650820677267863370052736776314973365595546014538957963356397207339406645180659151623647271584884575355079046037575744309635757064502501024492554084492823730562836783883395976056914452576053026888525227132714488479973474004656612330319276108112205918128698292811816751365385423570699087125765527956335428615061053839906110896933752198948583132697142053255319297648252880916388022753968661272896563747041220675520976322964607974182873368262907823969093967906973408349397044238212011877131536293699293084399651624962005788899439367351500828506845968665898470996212798567181228534503925599954277274105619478919145207481415441172339098544568513647111362009959694191027914184292616623778020811215795908113693219159479805617917571862017199766147158667225552480359879351257242796506456717718495291120413760775339446943587911005896307441491322205185283734022897203619521329809950642233093856728790285496504876519766934538548875875951217172389011586508561378382293872840124718640766824319066424257355509920919491770307439919697871352292949850848427699703569834270745599339939152120195566974551170722738165347033288479822495594512349426401757942489951836581526724028482513469446780800809665259226310180645671655103474323518412588667396362634721982886579623948111203395753978317917744008860934554588498308515528435160168479418873047930443014988659274120260212985452484209177957536759754890517361251965787279487021483043694910566462503220210556295695224561765154417708417250766060533998673933718337473521822089241123209084756235704246111635026720673287444168975889704630202069404394765681991590753845879961519866020799333508282027925310829476103429753696323025337136425554553113452767045149271960836901267730782754889936798503673575205036211464525494790660286988845434939000039392080603867268012019625845840810067841547973309891367833752629602418549226397061687902114443549384535801775098136194883661240459135498524112280563473618673320530772826133425688152444027803630248138703131072083223038507403420919234709459372242543033603856453043217769022551325350003328512107837235003882807858583191893885666973596187871925479172642914702360329092019305656917076345886605512614760432787331696741976974348929624540999639582131532740606249762491024558759268328889127363963315000568060048150174891987937167392587438829308414385094364176938788614731466212011615648332334628929371133750846440103229461987011034898850479311776153536673589330694575098660123548026956195291330081977582507723086020953313661922717595640447770778368690008003180146363470554254386866067945090117691452350388249918587753110243625665290881086321635123845916895386617006562466805405140074791931779472226872969242929510311440209505729209238345221905023276510605448925060925642208653603927246299953383243298890520695708193875097633787688888212741774352399968870658195816739407138483202703935749361834310733509432807465185000007501706344195801680171504200929066216317178835674713804335003771869515420413216614513712117357518082278581818690432937297093104863500437777506948029436277620593281230630465224043406699798997489403314382409826242293118131588574836267308435451433530201005129614176409245379078580793947275492278556205400545841221119164741835257879198166309581660184993076497936395021368611879800800457249733559569727739638231326416422286416197611133549726461168445755364352091988402454707923437148561931589371289717934570721047878492419439790966095977227976590644800286277360472654328609634053587213830894401516950048606059971223517512897795449339917025260402919004095848948649181412088066253573502354539273782281862582941622396602895973569202894260849265753049425843613130774575379906409112350298463980526131125021327369954241461359440049580205657723312773931458359365247817107149897640171609240707213256801805370540966733812191225220045141881407818006642723128240897319109244717424868329110100138540960454564496531476237535206376207023974544896704860203586610018244488239664466879049573704929992985687838852692180745372686837359297926716922390827815393644000885694477975696106127716778120489398636299507435556827111113136611586027795834561487833197285280268292496293077274490163850891764936136140976902437671108407054821405828579032309703384107796871300441516735305940139659364147334215041673617135633248894625164509406107384545843020448227000254433473173385600177911957696227172644112151337661315364220071183619122415482505770177846641725374047339032341924733945186723963593043043727775976935769327843282698813105738140556789865360679708419095615012885552783188495928904788912790193691571945961800681505294473505764841550770133351771761365778657403593585693710908113118092333975584526817335914231818530511737265272561595466249777194090730735949137453585742626887649893965104866939427780070170943703269134757657239736973470836856377384673948238016783218147772435766085267915414621979977289815128408640551890411602572001969024981837458533693634757551757918086668733836527272479996645060183197669010596431311745670579246623008601232823105776933584517225978424418793080460556141534361614265272701967089284131106096263210239742692212299230457437275341715708854311684865359911541334396515373178828977732150769980540877687293198595450102132479813202933095075549451948085616594997581974497202091256248631477956003856108159796081433013476261234584153637276911909524531684085592275495182684398254495157984862267425635387297473587439944117008495134594782453463769660305339836334564809080112457487169683572179253135412316698177533321127706898877141219381652888103212666555713734184542206833164554850939813296263674996967312691190301823921788374324959971099213141729131510007496869903456505106173968919593855550482338655132193212726443674290467064308243284564086033662584923353246848060819768888084059449719546163917810948399072683722730747253575357227716770741860676173144827002478887815818415709107671200932088237793025224493900172538945181670325801012094324980337634416729557922047088725258711688933603081044716377759101313449412939391326843491912425478804624793117651797598842213144938183573252420834763401649310890209565883287933363714256945487998124623179335289682391413249558052404213980709179299071652490995853866389801839676363747367570301782158782900336099479220342653622318267259074214061062587994721652811601506545302481469311075225802161184986300424473156578454789844740749196313025144327333934166464166076963885299343918223399413668281635172320201051080869219986515627156747120552349551755100589470612864488047263913871784708674972358713661160856582394297755257347917715887949280733532761890555054805531167861895791689026187685145060426525944270437553998395199636666089442224552639046359935906738696808338215031828116871549751239888957948173042050968567111414752888311623540759328303100784528933859830261823560343882467027629707631797565802396253067712811946197146210337876841543508217616609712399732054544336775191483834717368395135244233029270188045660266243773845546306235603132460107168455310257640092340805867725649646839818401837312773331872243919109616180252145445102795971765391112548219418270429433130724948957628860646677138693743188686035691435689454283011086337871486274488084272294627343899101926951390193422242886500649155320801187202171164826750836136501724131449537878915853938404568349414437758239222299080817303151102550635699628918896442229290093783090520372758222574581184055965395069232424221360172145497998242825199710740391894283941375993627965632805502486448108728689783543305086770404997104516153940082815348261620182694235217998854549326902233454737235823011263792678914125492552799101512827064826047241905001737996022955720550452455527951444936789063473818421271765520925667337342005641627825287130750955570494206359656546400542945658995132704657861665164746771728710774474558594720043381556079749676038928003067409672170721750618821026230589931205096716105188975798032442558659897643678963404889857674126811920984340484981861369783628571484320059920907458417889343621094295797197073764343702225119101157362624358865911365390037334069336379534400057994550763464860838109813211966204686006949809870361320538172118783538666181335478540376006976103238674511318823405877639877073810175320565311656325640162934369823068609568045494845687057004108996829895247349026693240756853142620466352579044596357071162626988439470597464965234082464492482486782701592437583941409705575272084078187933071920448140286806387474989803883342417383827206995245624454270468018961821475559378452216379007450918224309629441554144982153660944907966997328803097322947553313159771968356044049918005573665604505435288602562219481235654811446277089372259072785966172394113642277282301060440898388265104422085352228940879119548399508984100833583426734242324100651557013885248028118742406547466180764863662029208846596122751814429865701810297267445462762651426178696065070399291747281080304839369076205833694443233115439016996729931157750451108138481447791678685472088431938897723997103751860788046104484791892918065374337224593745824331953525086399763485573811435936630014957400859539103262683568276322652620920616217012932485490273668470647097004661019456692920140963233055599797152321837470679010942750079369848966256829565347780396178947869891390247538985487360312781604088807595734875910239801619248219718416501908310412285732072682262224478862325858714883873713108968343832087825738354907672898475783468993354783789391069275779492978833498619040327424560826265478542175768632616671677354206423179267738042584544086260505979164033526274114852606001418726652766293869451924210606067909631854930314741100818272024291733817334823074576198697692262241211812687646533011975588234336542865189784687882228785341113271703366902970177056230400275918543358454818466564597646176775041400036834199398029845305700817461588798545664480679411977635887695157734988315327694298240361349864906147288519596655018195004905102219508253026949139382972964582468172746392151728047924226614847944582201072068170849191746196708532834224796287226982567498767122827443401861681961939402590966773311313199775834719521122221959136333796933308893414558184245947350447060119365266170813284225668247906127596354062524120607344682212670250199731968551535059419564496526560291807650310636680622663108852769623513064090432649378186642975307140397158896446190752830138877136884801015621597596099257494794090791966296924253777529095249535716217141254699322776431461524708156724630161218280390932572058746932558244257293536702918157257091788608561530810791637855446558133197945074247545871523696036655205467928155253071319588840415584626049684817702425292986387104247328743786032567642753303872417648636610853404808607172813207548203236378798835880092412508822575346612593658047457231374345079472266055023644234865696512169096347776200994354129520352775946608332989876059703981082385742058339310827660861679614253110084530257838163437753789876756616811897791915580757999758198733143130430876408544675599864431166486601739324626319578226098272754934438250042882908443773575279538287520905749935834203728134792257651821788302933990522787821950940536153371059585486303778643637080402727304531043269300679359228673765145466132922611771247409911459364985438305999830796994983328551404944102103962245865927886186807827468515545457685761699287616364536027314385568907772772181435495071288132897062265719595461222327509772780703963961665841194024394196045108259830038857756795308535987893335641615473362994779126371429300608731371051010364948778752818269176216700962492766419184230924122558570900028456356016725865743820204332555284090165516388230998335118065397168052885352062165380278602384364363315893954765857466443565420524338061655858858365319431240160219463086586073072257411000335857477184717779723842508949191229408234262000833999513879238263146934610824450313659577768056325994427136421545619862122480352324839587411946658571927089170816610824486349809908250907177388694751701401104682121405995220416241936729522747976227557820596551329010907839620776749952331547975792301641465443265054131565454944537564700759229819973454390797534701139920459479487959049136981728388754292861019062550257127709576681540945389897417298359174512436118539900365458540017630393155617019632216358218527365529628689867699390609066524346124045031730048441178715262018840489561081737872542117206911881236494337037027576161046686495499660865736814609408669035532264445814344721410611697121888381074452268447752821330573508232359126419244401894421233698120176612932887122374522813463625935835317711542547508347989615019383956424350566777841418339947640273521514040428856422629594783977806209954869057523484827704755416054832814628583264377867517573104953541021420121903461043757508376903580055730619249432649794214474355780624465213413397504997187981130052554723251702595196850965545819535694105546101873199744064707574686350131452602213814675770517916253547677616319593485054262655457085745500297930170739995320812786286105373973411759171249069727990926766450973170949501492220238345857101337649342745967796536696851514426133793044601420145967096123268726143012545442206188154464789851432177604633061871109810635804005087011022377592878867760673343269238837975304023098414181727083415944301994031409391995548047951830771755311989614219840087358879291332386224319685581897325898659901178591599779092445752996444852372898074721882795740103412575708161617688159545722431103276515089345122766784562338856162053972159284282098228711566975962265362356573674196015101193309605665192252113460395970156212608471378248913897613463115582493599328869197877287433945704473589715188517974058778577185973296522839381310700118293958512897092161066137940167073382545991730088244712341451306028217390650166210344742953978679572301700552206741917023249077894515728779111060490532719101552015606105739916932050369478342824376158484104518240019214104263547087275241127874110595276816793029293706883404317950369836124473005890449139809793985524192242146115666548796677840768468372951467600781112552323292315065290206746846641324605132352092127311873272266547265510681411253728387162710196469278768682573786931421424321089043909148453407262428767362264464590617879134796667007452604473163785963941325093881559876059185010982508067065946177629326998165941766968095604077715032731829766419743646266286325414863029488837777574936553788054115279641248416008404063876154273494439348403547040146844847591195866196174440827381142351675643480343297505520492740766820555714880828177665822716986730205636015104316304829865910450770659639604829323032959687138715014661567252622022312297712328721028944963732359564981135566497838358740472311776015640441337393070884456252976433027347891243941576015612392783076862698673133657988513763372366872723435500088795281352243125551182176969097699329847721324452108389011858089621087602502624026753152911174957381320354268663637135561907812050736349667318732126334549904153986909528050051741742248334342955833632386393429649090387041647009818325512061043745118044485187708493909324130341068863971176834137432122409184542647701341355670101185115294285512732720262061072146002418684672345620773852289279068055210694005583491038514999687709402010239759389942431968233737053689733310277367363921893337058291939117434709468070638620738615510781905805118281485450527176236771766522202045311471731112562821354381247840736725945410154880603264784166254899867885175111568491344812879384497272237528738371257434624098505203204142567454236484425146832642302610057978699317582044118169512432738742610431526385701312035593505065994763090472062099910838300643995749458101102713678889291928281271347031344298988732826873900598926761711783575532902591784689386751089915738406828039817660441132655921920177646969523129187421009026123688813522197602289283324677605714244249369532356957909461020843171730619185090979571472286229136858703497806069558556230194946325544365000028551509640332218276738420321832874548172319481635675335256946445941842365070890723290502687155988552970619327234149887612260522176475075383597322065170767886223]