[15583709119612210056459591655917165084547876180163368651724060342852938121342573747484595514633107295435485280252315681390299895120030779894333629419283209529946059294319499015769374143794477062999973872826141057232433442881956488547404231057205324374755465221779613728139517801431345174295335351759522403280410602877083326538539894144357421166666631256889591001280839343650979902316012031683869388381395573690326954627751122959997850975739580247131355375300807922221336402218639720204407074741650111295629615929894972520915236032194353537901409498234993647593674315581430958816028426964800106151529080233033765075194316261750710901278639742803527609206627930565935523554770067414418974464327522291971130981816409057752386467787482591283884092217444821536583472975732147253816915934793340820361391047953292985715719523518456666097884355183637100832316553962926594889320635438616928332758061707209756547665244421686038207560095252171005782157878868526076253137053337676416653164143929995456379619840827775351809468454408989810833636302735202155928830401449899793335922524029098111716716419760498337096970626293975573616685758328091376744525842027629764501667246354274673662111598246435789867441805908529564423951930877022873050420429886790755683690376991744067647275065772744254885419650630550688088383247269447561816125195449203800746105582943793118901679480982514969802828691966742733450159301991567042441335425372918416434851758651487280996164011839068354497421417262852645523660793865566759218368013208274394673794911002686000479986182687680853358878051849936604407779082150362990816195025105300370616036466984728321504477439887289935862728682988858112967612595798608230477025163718769983283418039912902680666004369678097200890739169453436088486952716895118826156104419244605077102193969153708754164216053683507963513341685474773417055584043511679075823199218019906523692738585264506454600206041730962854970342504590228117729728359190982112463239894991904106444229004539235829974611767289750047103291012958245954432191594209265210389535422977740388181838904593368717677477880065270895354401756777687650194505977821787085961306808689082682626373306890212294363758532525091062662129197616682938994325014202582435886785557477881616909407929610194607725442088095020121632968341766143233001992568653846337227163649158421901431515727990409291561299191949693359432330388504986452307060893855265175173412879614827940269212787617613543361634342280760634050113286791226207605157455850831779037245250213766026289568035090960696641393247943232038643140703397872593562958692857625582627140451269917054740443208266063487366360459486643107602753456010521624608482455681877319683949707063162102781119809305951902515650319313427422097684928143877741829638977253331257409737147731557906678004369787666724748813152899423822924205214958412333386926530472717142474165395800519144665895967778891712416076624418414159105480722860244375868728167593349369612317766642052279756848299957762696732321679447853342414733670529918457522357328023874045151077334159525927843475438410219401937496876379330141226063255108368359210917778787695120599218140320252193329521384538035166357759993719064667911877182270252891621260579282344416392723787636206423358763198017734193042361070916607514098424246525664700830565071412444473225305790507551203709939366501388927745703893886119511888709495474675771829458980882588579378862216456351137742677986967901980740824737319147961928476865045764789673419231808463316898654593612155967168674438397520101830825339988945271255369251467315967287414947635154861550655404227094943746929216049256751224141086030568925826540815660530520504691709440816246609476935565272204625051672431855296192855493015179913412464619481902216647841157943376484425339929108898974758533491608201236548817862315919137231377310913891141569413242828839462408274871659728669794553170808979869135220680910177346820360137663609655877065058106280491783228031849510048855488716225617586829402174470284970861910064111822378499496187505135253675574760634731286862220607217877301292549598370427064117056544446835678344458582727866929011572570748426202239980707160759558194976374469232504641183217196260979290821822295437302617410455382739483682071473651232108469044167117822648195266494176971651061594670226873407896813652937596369740311239260207320258480562286234884442598549965365526589294818049859086508912942222503894437305039570053814452414124665011273826591495469179944471927919348450850349609669011753503473525894649854093799803149211977874819005648703255363526991085786589864659531447572480964833032790951607651061592550534206613386658118939730813653036675642181319739372390159039559755028780972984420308435749441401451661948658187254815700145712710882695715124452718826278725475093870021443792370586689801523808109432536223713231176444170530412683094229585869806613696513318045927532807510217796308494693985852351483287632359231808308551484076945748723545869765029154752147607281346809913620285401931203765708152864324120915698677356509139010963370768226192395388383518795695515409492098923280108631298732977267806453831904931475768003661739391945965784723444043963786092321642868738358831420121014516369261771821662639883790897969829008283149581830652455461517595757204331484938177259411044954619889206884660975153260419148851003915308447352840422508687320635802631936120577543450639050202071885357261246599331101966208827343360874212921991213203462782030804473826095747834929432277283656542643771900786240845821753668056185855535852767173969688630535573658416559094572032243040164942249846080045926543400699239596262811315777562692148416433474447791011854379602811141572821212069072721581670576951658800568607162252975032092895909837950871950381564635443739039214653166416398813362490738792570180122881754937910235892976285560633670863628473144866271683745599200496623680368506080627038129125188251620037835566112153628464992252289918767053073655705123303395997997325114099467889347951484255202405191950341330396650470126998380557770084793116063595176651090270739570859025726073994958251005800920476771149477963655216854389403195738341705229244344926375041290593269909211190104719119858357503572681790205058434381017231373140449515255210489761485513452134860028339565233132482473961287253720855080211527251109577657639215613655518520089766978941121573680441543430287845430717982694365888094447439761404206182082697394313635632445727018237759196147276754727980134443930845874787832665834578522622629149217534350337357912645890180563182753884515857880948443666728072851961591510078270623620074423578356707152396828244305340871390513848235854913232269223890283556532098452943521589712875661758727964524421048983944556063248351275921063099260909403214689921281277057351692160620776091896866279134982493055547982898984058764263360105035165228764961983743417983226141625515533646810905034746453856752243943259538089920245134472320590529384046492645057719891494332625482330229229801287500340011386513521271176298141920137143106890508246887963768715883680982671863493078187707705069664997549725346957984796567601762830765805391307720378109480481802764544546448171534182003789669419800019213215339198150419939222289351630358167995357692423297262105546833797038177577398132857370364538338652656172991794320752826649909881252400049253323245327713408291018149382299376550359107861738504386069396181784688727081184172467562102658100974961571449054985894139705444285538877120714600379935202655791357440015159803718124358366467330835523170284212644720830006967216862954623864521189101815652282310989918088931402192198303291297967404613829398504654020176030225769803243279893364662009765828363803797860893382488734186274322936497546894647007931640688502067267512508533957002577799289700938862356932520107835347452420087181397704578801865530593622970311392550743260266689619144885389831116590224206786769075242756076507549407435321208714187593674850756686152449262580458576612871673703821090337407148575597869890406682743791894394652938184499690629593457906014473057753624486647429220572140478230413693456998249952236975186287085052463591628872887176665360161367306506798368475016416116883370065208370650983036656675040742831616309735917006478298502678614155710015509808315074863203961409248148174893175168128195314331652647759355355396075734990558276795977799917882566895646652716175635300008547401725842999528327380545745670615110102911650814770580613381420877215732590012110301219399497421850893414112454298162666860425035664220273928909568478327010724630761695205936942251703834145704295160176777328737496529839658506823968173044387211462994969380463514524881513258203228657528589855292724459815299028689848877538953079618546979817266807463344856562355736781271607215514904218045760173957908060685532162447251970136467160502158565275665984480583524764048253803335955461385714509885601312196131729007808722616788755755876397449019432794613617008583172207474156300231514244430943102943247493326990599583221423725230847417708475040645053835049801630439456476443980066655720695941034320032304153743887133247710992727251221844877736216522034476257960557073170356122691080035086199147870071866477756089799788360876079526081961962641146690779667350221308329463353376484115625282631766015131957750273449438791670795688153224859378432168401651474715959766687096862884744067534708797788471120129585742218711877942865700262416494241731436887792539260697015215533827049036414101127630809330684025813048518061280903632031169136005252238366362475496957332725809725774506599931470443083386653039956492235439930809617447306781445997118950725639171909517338146284260881621010642020810418365845478347572187097001309780789416032863419157835327812408655128999712164312347053594036184129925782446070358477888040402199758530184192345199666051462738079427665421921758677869304802683202710884472289821598395078317804132835951951325076607448426567733884586600885448248820727598195673920355208903907967044726552680710524453890136508751005517455369947934777045756676430680038293874534561196938073225076065865901751952045268610605205062325775957036368079809347105127332344109846647268326742286232839632000999177153980011349864556117047830307834011579456860819079390586979791615506075058808936665299025125882441928045545291811431854737938635522586253520945920149207849654211299480659623759194381609257351972018166774692100262917210139344985732478689673959835664209894775645153971410301532592379766659510727647952706110201555770554331084970194352998138464225105730189835300134680535951501105830052315682338365900857959275351660298915212708356484838740593279422359955727794915407291803094787618795452443941756781977579350880009646632393611981541944159729876465560372685422629150659950516799960993236990008088931310507034996559851815289421828227343813943036153725097663278187554532206820534677407413592081004298294485522724948697338704346158701894677853645014622840751988855108591046195209522544669424135286654785813016930808692349255135443517962319660926653638377451997785357278854416215297004749284129763721760587080629018554227461769330950820079715467451444659342804860675029612173942959144311013722750760422001021276046381771815467074953230109796777460849130324225750029458485532948078351588442989275843909218970923933238021233048957723360442529926976648277304563053848413524330775087782908238883676463231339395958636290895925384842484661947764766039663857207500765499391131483073370853055101973817910615921901298644375934105956410837783376863525599586874686913432546831936158985731228411691289840061361327130747188450047242694608770233399324570982972320474627214462253532084673363792966554711681102761845072939784603859396926482198917859483783415177313755320460335817692845831365065399928878958354955580184139502375711946167885530183644892222614860885204247510680890580965158886860305029822553275668688725705389599300042412947521797026392769684735009679163220298780510003900281305387376992012423185801786075531939486365048877196502704306597855280659147938779189660841312144218351516756041360532860720094621139299852418999479920868358161969834147709650098058804127517298866039855346319253140384823178004535570295363319136931109734473499372787881075958043579812454447016644564596121771935198806058468497130827835341312164447850550901536571402817896199475582111867704005236219030246289827736139375520514736148020537287036746562499427150668306582327845348908311488050143620054105650111459798638284020265469063483900850343100538147271975677351913656724695792258652500443593995867074096212817437545993736617861522805359879164624743049145639085683534304247702160444033635518286320008920608257080879399068471197297544376493922315927417521976156441486704409911285317190385366081244922670391254498552764907224496159357707747298977155763710742708993153810390342451031844489132419235427131911050667802180486798982503743069152897926216773105448753988852451332851684500769690499030768868431473729113897988464599081434846952155090676028112400055148186354298932817002063339861923339866653523436234966917165250112467486574571737181357714400661187776699341355198994183435903663615459000184174875900644072768013000362012614886555208434495563789718383704019745521651136168882173955188459416782495945582317907302278465983334578733482445383421431955508217743542803358914139991908175800059507286789583504040650612960837620316444846871128124077824652377943422383321076069894515591403887982635009696344779615082958315067606601139339464432798277975162439642632366915473018963624611876864832000739587346340589724094263210869392784158219892849673431239521640938016050922903999578908247378599947202733281983388380730566425905703832839434639419882643984548383417438403403118309793945585097937553121493933370045198844948056189034190386489508176596582072765383359420199529304035023406239618178094143522987292518624710498901356433689245912844046268632212045310420167567304034120515151706435262864295294293757121940373356658422408568029696139530601997208932714505725015502291285663253290855288485990276439914216111272225423931447534303429298109024911750331487930262911780113051978039058418655686806740440555129916071842996986630702990862594767369315880663324561690573499896332346960373419391392276461902958839137108965756296834047489347032093657972949031772755747979597359792630588622646010305998287080705064791527609194507099830155229371029059778669444402132846679824038746430947825080071406458252587729005145019896277225670821651605912852499095748001108406428897610247207571497753641263836543209919642301292862861982969058839206004993334317087335471121069384346478455595400194432589540687075709981594230019927553159896628406018673991249259739936548989502804614515421744215428884193609718287640558560565699356891612035624634970091529062345233461883926537517113140540269172173291275963717540226096493729260384447178142009642878479013804600039296910313696597376000398324990398533523639788211825656629675233439539073104626222744941690231181534227710348063958202648500662637558522725241669674698887133497740088166381265500000368180356061984262956958343775612407892557177327362891834476285829798951093058011231136651512717255946123953244220789967741704988441335219030178983604910454574345077626025115634284523530328620148189600719376470760121203126037770709507294311028967114822584537836939525912248698224609887478494487216253696494381521144193726455667563660673295495767519187027931877375353668287292146398375342990221172288937535311440880135762025409074025807772209994859764600047553919550701810972903863820122179077941836267287302776257948877552386549062175524528864319287522647157651785652734984454481630993248712985340096307373538519880962713377855901881466612025748094494274295515511868002457356313292809323131476715936131130051021403137595694826480910216493212939143786508318582300989698044881413349886832842554875542010683418378834913572886195820115792147447337057765956266183368514905711891551279476527453510408823860961948177475786314099094178678268911126945332754917899578213684826071482015414213212073066735222281927097389629381719867448331930397327771122401654597846452520312059184435673221931111462268524945609051898657421930869991798460581442262702550458902885193520613089749736425234938864573492339517164912942669576599105294713467793407614433216203704670176476728323667693379285658977483625681610964399783101171333307456370825108355708019712508547501046834383067906779823205362594508868288940648490485536576128266768141525832554691650225679587701668794884068670237524057063005738439462540721991716148689899683420182596867305452976579076425328439217641270139521552597218389923678378873780745102264390164152682970408351718600446278677373575171596574194500925408217688573497600649709867574015102593076880206885076858880022007408956650163588133542240859863071588520424256939215236539531222653419533655800690120352281858676371752628412177146454983795240611515181588449291982048666914241609802533637389065671003447838357882682630629816988844304366362552299866448298079346853676679969911724170330577841349326858250792110805507608958840409939032803735541968541563996081270380408770889024703146548082914899938906382298956203990343031216868343669229716897192365105586691138758641230210565448098543010019826276228331366959451783405713144713049899323011631753872776723430296492931052426590430782785645997665757537694853495039348270883876108198667342965555558098829740310949574756617898130289843384492541286579310478468264069255686455703885276882410036923779139720946252297901205965034723711914978606248920193261161268578901984781376741163014632765141826666840617938842558148187932916293786014982905099266374622116775958770865917649637261493130169277707024561800459995383300686043143656735036863565737168279648506655575175170161277451232247118276545708594759088589288498885410538349751377885868527541893374344136304056484783470669980782286459513935885776989619005532623796424906743125812476725343774034790098387792719851402766725594884298802421415586411647496171058944408522568730874001278331132624927020126136745145530014397400861918839907445579728205080846945750155815458263773196306501211427620891783462663945313913689437246075692334463500990743013806647250964126896071622488589646013736848983179884780525148679745449475161301692546817702856069925952616041773449108448475562672853043730093325215956868134895645864326162312461543122287668865551883951822395604661562828962730324137030314832934960553155435259478429226569776066609056920401435664776327458499870484323883400154234340483818878186805174089690736214827777825544825948120636308333815769113618390836584050892948053222501066624387600619077243991398014368541832523549005570669680953206900187063821888669945371598374184646942036328952374420571155033425524814135196993225783777258095461728533601654012491810463728445186198512190086746539299124408094179682999170791479741778677341703034362077493961459600471742678116043391191084719442997991997804277704638314439077026707638847868647307128900354331920486293059667828101851577881552944820332471276262273782273508712722118793606893499053590166144017579029202678465218754786429767898440138924633995707951757765784888142334846629165438347986078083807097389775686199282858061854030712120834758294003681116501506468867668659471822408304189053480182070551332509152243793063778442620877638467150779733639489408082507928810435111569601681081908460868899026452863353045129523849856921468710697274647131217943307639468005740315492506383175582655938446593820934789788082221711266682611612014141214155576478437722664841617679017898516280202680114416833379620618272490884232506428941157763599163575128637462261404517968018587821384148285475914750060114424422876951309385603687633975357875113338430452240125703126698955596184029576839495615881991719292691349660114113574934638092238093113039994944634210954170634867057025098611876174070080579438665092836063075204231617684670710547170700376245744972407436965406642814128771121370018387081740847992717887714525890829357744007374999593344323497812443572306810555762471954928634799196770546190853997505863311733280767087784493574274269027913473235488078637681976420556914638729927961440799946942875472872507571994653536161905999818264341010099014363806194049043799953011735359164991365849920770123962701024364425259014239293229714099412332273044936280962162075930966541316015998051553428656365822156150769411047086522604032685143283270321890224270784654268289961201077111415928746614965995718670368780410586968066083692120525916403103493307336417893373313507460740898859137086718378174338046187662938776835712754169584643852904414023252100038641201211070438644625323355571866461330483045625092316760389979800128395678660229975582926884199835289596175276109156419372651015045558579170439695298387767374029312813773473603873528787331841370648978094199963764752036936308094211566567729244419216205397234162903184269633146215937233184327977187129257897463480996325429472810914664019171581015701540235898100269505857711622781123979554103885858314726426813475597690508752073501902747771657883777006576507693040239825374112099614361998817530959598350336507891906161035982262158311525266407864591732240239193586366725614766081881834595812821587117021913624474143029530815683488531210596753601237700951225588686875925458811064368726921518170398390135173972274054699018204098692646373524340757605336855200751884625386860310817779134532710887412804087713074188631793783922028598229391825414359713585449619063989362913917250935088263817759510716206656617366587670909346192906826309276515005430620304259022330084107761917838632736905102476927591956261811788939798716370328962424433569773602373275413843795957297690105963063213390010384532383343834969842348830280671541605715196097044073541052697868088861602385097683810663242653023872184679671158411823060997438861449705753386161136594874185931873891958020303661009741045563015413917457740659117931674366844989622839410047048456735578843914851422178958013907866170991994822884917328288939929144747977332566367797766135944465734050616434554709452242511492996288966569480323296494900257788606394101294864219916095009306038348252245759474142843820899473228910050419556759876867512781294441523422246239567065396730934804845753782250511027434921518557622909439607358075695175611933629294537912756747740198921805510399101618538679958577859334536113546145916250676506450445415788806815335739625827454817802961737808934972977409147614164517465418062493710764850805453673963238655940695763614495922655067011880604168660253815377928757905838506253349641447944488439669850226774532498906875458216148155495003709115931754154616457834271843818435961076532653343990983930029575530347324393727431366908527108818651461556618695895049844054261073866259067255247297395372516414757824654722360897159986081813548715093686286583664079964844456136399111074604414423552949803784334502947820037595898895473772816841641213785134553127878890889147579704272457805328957441873800309697025670281602339632599552011283446905517101728679564084365810369296665633002541190411360672987091533069254954895496421024869862900635025133680130378408838530613231458798874522327067563081461338186812985283617695746130457173076205622562083077493853407081508831047869742997343376903474629807877195956667054886573658810291024403868015838088028564874408978977952435720242619516389729513588912681012410219591491265466173326573004301236015486817499897870501580499721727279907486550291270878722370007262321942928626585305025885397336901856220268503056707922294643611384027758375144913485935279458523943314287525039638622242203699884984844630831667749335801160172998372112387213302062250564926666173875051534633495935323985026184410837424275460721866243793006987298443091247421743758616247778195374709689190140726480522854363246642611743285665751561631163297421962461008826959771939107910073644635700507663872125871087831625364028955958902201861326147962014807374939838919995848322498170369360474586141459259238651052745099878017874061718427602652772106767069973751495284613821336186886811657125025324833834366530004061124503574624189188248814912620457379182105632182208644127503211282569017845909453145190915365331930369981901952195957599152172776079574531004219142621838437659161874800562606270904432154349785494590898439471647391695922411891947388277823452590493968136137371588941929140047442349114566616904766577252357988847659021289159746812819279723584740216242332291072462278776889150811183279175852301892139437665395128647178641521154587608270696560055102828203178597624248186356410542800788536468066603840391247151962747566944031564538765151570263146351491127960976559371834178730526853425955953340977960662624271956881276125411300012810063445676404895942459300742983393531466671051688425107370146220192682716823554207628709190018776319246673855721625708392590961036667077694342050679780537324774284783828307499668011471079502838034983343051095503856196133502046119739573727708630224745839281848417361191159001019100623404655626273544160434267500095969109602238533267773465747558160 : 2110809711318024103275947299853352935598617856677183267104872442983057106139134864197396864219454463146077047679311300926879394934555370692963680286729648047494432383118323740407554814576472245071995947641304816956634515847965157005018910642528780241300610864721207740646051874993988331504454672523647677265324213858025544843512250690287260648640182857407952074587096083200625572666046994111375869106531764902859371303864522429121180677210578966378819949338641109635250316870145554053037549799554000023145256866184415570526138625869987633010073467781437066773411198619168016653518756347900983724311255885728123341309928888160541137051226678148440066040722973714798937703445450778542825088101494966465589050338788841479978060337041247884174984593571552549094587378989645203608613121514839379469519474323842041822145239395437492167027724789267391343378608089447250546685333746487455927315251812375954519240717298038326925141913843750331588397848601038401972411002773542376262610803985935851152474750865082330605161988414884886671094121441506811979833991073874400781460841557099354984477069260304073412488297631719988587049717808089964948575922494181520997493650335836373740265375019020343061381862872097514766268364589731732454443608037055849296216458121129533391636896518318038897778511861998872242061274495257270604903115420258027342846244444132328117558426559196795620075335042101516377119473820264705704440153830271697269267466073478260725953123358885386273862232015056694450985608314799868845153312042984281715035071617628266852649177982537362422468836720899704220617518697450998285212302035821546516943304315974680775401402894885797134402370074859575671450550990267679102561287336531063416719247914609497440016428051343424467985953816305343543304188115814055045756041367635037514012720276022651431184890081394073168952187191408246607739398856928708858361244316824519827651679905075790965586439191773268642652906517822513588184349776579210204352619476320444580518238510460869297717338240989681561114288001745289432213439296286995360316542778915773464738532304952383109647419124803641338313811324094486145597332534772010390426511954344294342476985109952887484781373707010209217885480063488115930255272440535620338301262533426827144950682954129400145311013182249245132667643241606391049810671512522630989930160238001703949069625047181197979904248128641032494951760367549314650478375022133275987826965458390790887030493146006237632695539998607407275384284472123554328318054437051663479140386688981348082331519423047093527594749627752663555359001812278963132188904073305902882153364449927073712066734465951124160068762091719779591788597986494965975860186390433557663964855718488123231402319682880650912339648077591113377037358401043800200167153834153135336030514960545356550554702796204147184549833223566361711816394753215496087304710913584878524127171323552062603941179523531859786236963070390519314737622501245199366147050810901638530954936647680142142953680647241565719598655467096584181379801212583027774248953330872177565934387842032209195421103006924184224635262274571498449110062337083347430572476289431281092221448936634427374211183143129051720009612866153588284590368205069031334945981650644292563711672826977143445699341124027146149955263593698815687135569937304525941387788961627244419944349117573989351111315442281382460057171769081436042846904149992889493396267728877466965071856090214111792596129242071328479545718207171136475961764919310000108883011162527849738413074761258334316889184824667322376353813995808016957787010657867175824388806755029666891240467271785052896593142354386405234406361972338866592493955495306145224934786849468170263083600204402435552330072792475580708138676779736902768328869365889893582122030634153790746952441230710401074359299484432448748246012559166842646911451959270340659162571336851716446964306254990403814832508935820391678393538258052444475823946838311862229444978120833712331211572761405516932065163332513109518213976982555624617357081090564599662202571554914288567681713902721030110165176668715753509455475088352245111815629134996436769778396590984450578453468967490145222383377094754402641590999557804261827639985812494227234378383304149906198714751669612510231267144562732031633364178166062216337724738159328821017830360556664025028878911339732512836979307313401510963228011266454002324667017352913905050936186196227876180334543435294242045699240431823234839498245002594408202858460687415304678523118501974965001590037157694314397604174651062841241597097257156326744618189495099046199444025143895601604589593777572858096512671182928661299756487028723895492041610612392164031469548956718358999905822437384593028920416522289805895836430488282429174408970335398049900660989220666581548434103133433124878630883958942231220928036797554437628701280080652781204216285422833162091330567527534327315351066920918786794214423644929674975714406710960711320473270190907071777233724528155958000445450426502580245378970087753345445453761075344960320216452972573243232210663135500347175281615309128676038806952100141184207272360791608191996010659084408615561613388749776801288559738494815647476875660075478644119485776038724687966809365918818763889203731115953837514148617760845534482992989416352025093573956984542580813017127201840981906697064235139919863488285083923203117436202153346952026576550472954452537078548319887305252121758939614561229408919138334680494872095250284945095049335545583325605713311438235854055198207522850826963206178601025147888994823774150485611462180528839271105787274385947361646125446186037212061579209467576749023938986505506242300069377372726014129970840726127602407598138277523620909044717464396388499636201196226755876284774292866692206072186302874513547857435935302140470548973882354244250498111151950508141890166955986889153956718042842151941290192019711121767462136079505953855806545061057176186053008960167774730468902918190211707381260193699304027844920776271645705391157911138760420063228054566279455687949949582698316838340902574497257671565963275183023330814925373378480033661089077492364115243520874932759712650481325953598605431734556292078457242392257652068092135414529000674415206367880330160780030843676737746680622104295343160573339251123655528517765369247905115307756381012739870060602150565838021312230228060865987117009680946474889240575832747771226210923913055314045765428735473681331883959111400031189413181237616133960915220785879661944427548728215784324800068616786207703115719303590821268542775291129025768069948484989553881818297022386350510838377207776110162392353497640225315609263580944885975718473523465739563242827962017797696005226227035699563177260637116405876008535948739430177445888653876362311281620933085291649051485652331779881621806927128913192454832450288538644936039973309187786821417366792804335185616781269331452369045297036662938881765402868116297178381958731725151847308353544537884177937837396737700606647566542824349070315393643740061445861540020534215535450592810852300672130344183245106284187149783354153223805880835491677402866873005174121879727478300259555151565650660435445853851444891527269361047927461637111865088258765163257425934611694474323254499377933037451371605537981240845341346936309699133214228091696647142525116175643384161803235518073391285983963442722938023267364051793833337650173728461917865356839421619878423827759076279128775279227123352412578743975355588108401437874128686500227012904633022352582024123147034558991656573849191461058144432038334424396719830479530641030222555585786250161844049915072566315322934717163061075542551785184438827470837842897461488275080532060876762232825163239606400576722836003251363909035648027831500723480868950544519597357059815214037595562434031511405081326081417725487388306298780290637932978224850417338955144361499173167479058527416542258529674410072396068130099390801057226946138756596835114892918478366752079965262825772396954001162243179016895551739023337427126895212649340903560699897203929295507776431220280961096687116131469615953139825650198532746762402776439534954855483351496440498788224587516553989565084545188530439527477795494235866309359038902987765062474931878157413671261074364685244631104152136563552888660929907394131912423277670224620894776660650992276680757487692714379758180141857709372721624582265538251773080651132037928277851810839268089767396588665567822814724360341291154940362509106531593719437165869803552145855124539139256028171677814018903657059296165212299019510907380737102891664136698858843577812171171903650454885976172376004068172429887224505224801741984739515579749139653306255762505212944386541473777696218623451288808384622555349743280300868098294254341853283230279479569965484458177246505222527030382002660727340615890723430961534675027503062200476171464150072851154399133115939304601957714788700485976174079615313463788413740984875391271974529062443731129988935245279171610292960472941991828381470852218906771150089466704169596994438679135008972261787408595408675768656628879357371655760208499399695939974222743431032809547665888634615418436016387696155759898695708276487651273499621395520273672758102030572491176141078200984094770577540458462877077636522579285180189223178526832072118548738451807746269114803253654432110360400867440503971583812329809075325032063599144258070572344044866274294284608057829512686194533490295888732252337903616350315678609579117133114214666687970586455313886417683304986997002774844283300447107445176067909066367372115604600861002636219882628147212940581902680732012664501853792516290470890757619115066140717841767610955406037949338072850396848903427361043425352933264266951298319052581894107954468287818311453547499669015539980508441450522414194808758290679245130142634272791517920644370424119723509317449081567300648291533398526413048611141971668046422802740076245380772618678996420714805831204251578307007982432745495249043005574065191692225625025585276351186816713357970624999255392836179279522714690958697683388386229132035746169405775351649680243908944202524732587769164524538475703341976004491902012987610142398670904405858831940619839818200043260441443565985962615889220020611027409016488993600289714285497389474273329679682921807257368858893052181565184286838911019978988717046972682904028417012847947150382439276930013087210728564864429558704781946011232162714749129763934218702476862988008934004208333493717934539545088015592869797957914232082218313170003757134794459164326127837205849864713165813924562106973041836707909214092239106224676823834996309969514905089292579748360621959042787410837104640614813153791773781686403254165687428936104635851483698583288046870611462231343090619774012234050900689337978290653945815682408199621235028240520165238243919367512705396032539191223348091882369929168485657751044079105620925246160820464780253204868767922604615378408428707942507352799686840202418969242797169453873501144180991178774050893771652890658166466527575447635902924664968078961541926930814232387491906310836178014890873707015145955999170918863927469082179691033480444924584505509086811861919972751389260030823551262221709768235579328305255691254612482092575414991769010363005051014522053493504479857170806689866257941678382308485252045969601177980690444006956112641452191983084502551794644545935962501864435955065801634877964210433272305758803356497291857948745549168152524053011791348367858800105698019855403938831011259308547901254745422395825738595694448646286416561823096183390565938143145642093997698695235436135499486345115977583948946900361608667577477808207588029548270772613699866664108867611018975991440343528881128286960505899831241692238163112965008543637394382874387864366862000146329114916078452394026174145442191649244625473017896238838622171061031217847907500579329996456439615665457333798083878825464083655841444704661009957706751729008081195747979783089189538107569904054487685323087764650134166415319686296320814255056451727350799139757071483530239375678317483132914071338922598330188856434165044481712962851784841697809210152878699677927120128467667358597446353121300780034419686538536342110688659428539023363758222661000306426839915382004912217951091136724567010006466395261357614598311563399496013750450593190212205148881008749046489307918310514081875436972853332478358295768306179450547783364625213483836985626539152062966596183123930949921310704330281219023325067887595080255342679032164759591417602008907130351498856677937642332369664062839018435965660118535259393108747761738263090924381774551115062560455241602342660927358007393388884668488184605798521306411025363860886402920170767736055935240253611407372627740347444364501564160787372238998370226721950947473334930636688935685811026620921579610289236344088449062010895630752022084715803575557033791320043343333849818773601242575340423243430181292586390575192543402097848951835888494307512518295463604932448572645462247076041304150757244106762802213214205429678703835602639472076409326720849233427309685595170923044781809469676501710025008667350227909175859799975558188686453974850385700090906534121665427458347512662788509328864265982024354988248882681819041844856222441334653290746536652137292455434306015151012394321333501100371702407189805621123761060089076136748952095706808677356327371980088809513841095598007032484540329361371795759225489037225939330091486235354165842506450973277291307949704392461081890853970440256342242034544331359035604983884603272601098792442634352326045395508849261282335033239397659203705132030131029164887593351873476377413349393321793672088282537119955106714629624053729682748728370668623655181961862810454561776870061887376560789996988743546253817907608422786232297071943019272598781679385013681454936676705539626287642134989215313447089199345611363597509097097003123310099718165501929620504986122264796117782140822688236130753635148085229561020434917242057344245980406562775022339324843918655022801827579316297197050395596822603227291366789150491020672738885119720636100788101614860670737471101343595885641979653701954980246762897197682360931529617357554047975000740769638103095930618282338426238569634238466335211075968652465360578666368319050313907892533197357578826735724956677237303527844996463131607468729921509508339713786177818944106194331035910916116788572577151317747982243492399069486016864522244301086331953159321969683953846837155862323562763225191182999551711261688333126462846358407320426305331367744869498666414638134233502102621175949966736057203114926444249762379624558803316236021505372830232354128751696295291651443524652901003444751830191318871512951230770308116722514413044848342572560202112710683975832475336157030109210835034426211047059746053005312541817631498614001522739793071183335375930665262598081578113951865200751118338697315514165015163288401696903667409612971430997986993123538327871691885071613617944617361034438026606450902999163572160101225678950344914794664126685481023860442265770691797467808212852455088567211300823944864627918486265470945167868442688210012082142626901680570499872728813539410287845371896057746953248878867470867524209161728621056682110212021020329598260887108515647658231545304915003471133812903372476759163776670306667722950828100557266776109359800751531519154759899102787830992019561148287428314368398978487689867246735396455825769501862741295363184933809452762389261610924642555584214114388702774837316846163107596052912489342068368444611516011800862464849070503335548962645989882909355726306686556472462024651061490426847978860164092229948317522969397873519508984376639842834276753179575991134897930857629315821095711802877013531963816180640344337059065418545244599901390215641590984853962274085239495304387076186926175963279089150539991268152497073920223562240285342669882806346900998266599077555943700653335961856658250956549161473361618413649558325578734567119751338264743627429832754999103717402780440951479400130133785138612480419949874437974722246769271347576192875714378708841727257887733253449162399936031454685265283428473918126004355226245264225493174357047682505099514383703745855252436784892107612312308587577600733163535401961381617981543939257079988852507240834636487648195672372031898040941641197145626819953802327162953568858984348248508805153770112672894654083040641020757927284886952353693329255271731440970347317399226741467267537441304563307729535792234026833651055064689759670920852066545982321656416882523958284224621394436222305582056522960240298038121533686479590593908265161152068108731425663997131378915679154876051033955007513681008149576943207499195621155770400572295135440595207772080551746404307200169521325773226391883225018577209080314290223402133778280099763767808444675780094422810862221429458940037567475411322698239394898046869775380305286142206880112529767255410532627562203136713059102791508347392571545053500127022028843157745765017069001496733614070382978431401446894267517226547866926547351282032635858056870617353316429189041086686707565859816564138280200272287394046465966404647113142684702652975306296617206526174416248085683306865128349952112678799536058327575202869856898724042060655231105124745599798670624205737691293938935293885100466995993464593883919106777628087352645637436555119632165753537284405839276274738238983890736872662857797186467985616095986371639116647692992689500858147532014357208538473585725511793521415595261117774451950323069236161080335611248744813671102045313188937952113993561537049366947628846442490395409972160287456579851746642284914509338761692566967539369298137232697385921924734855540138029824773713968521791083590994232778460215102452638741119539017999339910930489954065675689587966570339621265639305590297007485891825960378345348070686413364553409899050717375645162563215638977058635667138452562665747833171313570946510098197464352111421144486300107872519535645414294671453639806596203193308289370534646115030153911215125663996116172454968374912621271535910531475497606762915343890187930113762691319041581819691167843781337470246396802025202741211408109983937702187812465405611643805958294383648926641319916571669264873952711160636423121616635890980031825171160022548135814807333554633026327323673409590217158389564819393000315133163355172093012060340967507248997233410350367666491336108488239648856062205377015880403703640413439272335788404939060575434036690708357190726660895178997934444046342983119250431747067808405519587490700645964391102393528585545656915204078262461750224970260775639539535775609403965041377721913867908801180339046592612692994435256356101296692212696364817758138120007579223504543277087937029478900605995046000208753862558908360451354008542265948864632672336856301592868357267985348700107989824916957035930113735504049498398497077902590963509392090265929510441274074704556578847854925852910765770296726560180706170430516594958692441520393657376718949282753592368636903493789629446041440695002780163496830730675734817009944344845258650221252803092341898541690653061600936915846148240817315595787869480187812777389775803307615193978041563352695834162950876400195106462410419196942305204674615107643907217585481778416884546220000408737902466148251933534145917201691362035989965577119250971479011042597478713457346339754584093292972977449043651666064178993737564593245101323718869087726868573179630943931163639020703572403204563458571010536679997989643351427395114855078517478466535166923611407417033033536514407292358243935665224371130474062053765847277625214743707665418346229432230623605494627485075797952701898379457806953470676786111701517680366088401545152896818216312032551409127160983871962900383740140454463920769354857386857371321001910671727514365192981328903490322580947883559282910785733335991881906040939856283262351125502340352830405423368884741753787569689227444595273361288755739517332476637168143272793239830136238039027491670610765833304909056872388442127526864211441999379130173081692553156130244252892839150101203554923162374098793265084733699682659105427434776914095699863057706874545143947764689853828731784848717998201065287411441854279437226252484243921233235081819137919440171262279274911937633295284410690478116726065533285976234921395242456003757871502851139495771557286781175046226687978057067946135993522279202998539323310162063065869134905350611056246846350386434781683730273167430932774908675103616485632318933342872801210744307527153603175060848257606750112796571728485605074732672232438755814248282370029882235337987805693641166925971223091562362561972603070089444484195663984628410131234724939829657526884174944745289575625421961103745977645786542842712369689893699746519190026183444119618097853124118223198823098401321374087449278709089392591498620847347950923227582542812123733928133200032148355982613464028828233002095841056790485604952061312147439090296369713243267723036744854907309680922499937512421909115257068338836978519418045067232744041387890056369007239404412170296593416286342825021158631475928237397989974913278288106106655749301182211443008366442982425077433373701557955838127933131289843935721869006924369813357077241568092545643957572542735377886489628769872055952559057453469194900159389495190130532641372757670350760921363892462192659871659331316486362530979659446756486699206225498683110233243860130996862233150872445782998300142213941403558189924960550924720188051904160749048916483540926949740061041207072961862543388613417885031565359969019220399781203243477291294419233370364484250190077872623737259677337234832252893496643953051572390584150177880452238639200798472870477073449523175759873418929458882741432975230614446710965458790342846584196738537943639783993977894068950891398460902262585415905394641536273348892650168974059263118321453422947508963244901946702531273605452084431063810339752736098159811645680129166828930579973284078106690682715542730238838915137261461175954492167295073214884094936004408488119229075779673510556259313382969949621283287320070762597174979545139878709052003717122877813024765381129834052225558955920539864617933667226228180690009339651086790929502873472656190051331856454651880153523271869746857154256311293800493002974767138419174136417825280614731372500054948307087220307894139869190494881290833178761993299007535319755390195568487669382456288782610304929605488969451734613265603865292151771785233891086750408573043327996416651189375197566596668983999463065670971286426926435244303345733118093325212314174036314799667600973452454427082399770246077627092381488941013235743942070476754604891788326526731658773538667512033657027633850534713248415934193125787474865718337679737986655145226761563999448847626870922039890972169543407900097260640262740785364875339059464411611587233996502513619206600998785268751460956193023401600913626411200533755403053468906467713687521301336987458648814052643585755577645219818039984491570134423412144043770594704514718365337689462000667032142560742310233912892129593721188314823861768279467662186949371001378220496958595865999245247535124299020274364757598505916463418165916460540545084114787548739824607742666560159924677295385287756431359986207760435589253054013792286754823317831857460414638078267230655364749832249533059516276673886622878303107495838048479972818099494627295138293826676784157099495809682306246945925297173947887076732506923625890127811218757986677204619468262724826750754685331543964423731249780912422750497715395828765557206333668695376011001042409966862445147020209487929747113309338606666253213717200608582419529147789341251839615462047401689872949818082126100164832883645136793424203430869968485078085640972760375287303328513620898992953642924781722666675632963133731987882544584213866487409200810590318161452268213464928541992862415089309873631415248747045763119590072852329680929175159231849683666620436469443285885704155933708720080908353580196923851261627291031533659710058196759838747714345172187316096691991181393200785720434554852109744443323311753323101639056184657092627948326446851569492121548361836304618882918109720381644065026336306990940762076541014873641361696269110192571755787739064761583509888618814386198477378542291021045434778162844723609499213789996908694112535827697114345403539487671326548328294279393281512615171133873233026454034530451281239167366803679443212018675931682971713315943855473571973320238297325806020001506884677079127553512949942956365432583462808021966359621547686689878163320572974396810526971646557533105481112625849352319541146943541887784789125629719803902828608820034486384217183221068983213794456811815460838310776350881072405088144113250132164878105508836404751892302253855088818116733398834427021452798036115724803173125253709538760177188625603641786556292383810298414896362304352372039473107290882603571198691666959980537649768088822976485699856857376119805604862948880936358103360957063060352342281412362779557207626960589103341484979244531221431047712695012173929991592621882803224247880406525130263667335985522802593344191710160039469353640252378764139694991390044644365995006035497587368733696611378447875472176476022378393073735584986003561894073040777235590521148645154232807 : 8953391573416610758159454433158466858686290106657127061011466397623225386132795419899176916598230670488819197063890711850940226465340671243652918234195657355585416353608401862259026289147958937095355553970478228830975586427284362555954542019843214006669951436678205860220449821504655434626317918056214579055213763853120400740085398575821420132903961558946799832444801308440193009197794179221066476094531919161228456610352175812620713082640577432659058452609411581028944345825252320254520305348492431412290366917619590496536119738377021296758652634501124143849838820362544337529690375271755209761997166124824352157296678289220508443581702106897539982573064427186654609462288972802888147735961466720037708176782712845579548398866499327261309816802960708450149135484991221154885319372770226145819527468155776298368138154057564326779154274202677236678231822679131757132580081798491039902506649508795638790240289367780151216959209875785455449336799348939435618598564548236722448894951527007279689951919717739956077371773130728455252404867637836366713314970357265840855037449627349455452022987940337842956818471809108222434929780843943773785048229320268864400024042917011006709555593311468065368703053158261715262103074894509591673195972284496066225379033331312098645539485066622614347305399554687998289722100390183645100213795600453537424461488746934052872575799817998736403036219583738663746342633303625921178600777804846797710388877516012510526702241775399550985229378364969556229252343734301893688627160880906640696297184522951889769581021256170019595643192339362307315960460340869828090277983920470710520342399473489880084539951325355400139526573430197199843499734824386709030030098176538602784737641978893087182050354856852627092578755796492391555107340926510102383875292918148778122246960619657825493105396719028997898437215591908516577838476899421863522919961783256748095931370291806213718014322924918542092128791663900676205304559565735251478006895513020096929608440565054953822189112060273997937245033879335759277784375806314586142742864234029749430972418927050176252617957638824194920482263304062305408158117051118273281872509905351741949849322432847117851358416509660566447480067574843240534623628437601629110786891896265024689270987278475346648297576010067774660528422193463295604662165725526185363954906752550062295780250884387151614093285828118810207835362428060443860500746389388569822419222731716350581480831249620589124844005412115497158867934061022637512411716574906685893189725067868165542323592986025864594307764536521585079819412183954542033284576209117725609499203635599169007394190880052026175349328394930877790761416109270442364188805286191585277322005480803568530907680560151731358570244818767070930635961345004832110637252414711870103931995501957189287518002192819359685609243567144374186394368109518155408453165510015058913744639479032516747300222109749658760854073975779005284268313576298878296241229181256518846663036474265194678824722448294204913933968877330157204954607151130227272681137833334839969123078409245719662696665852150524397754299987957516402112243803111118343857645738982783764526477381528205384339622319296123161362037332198206209808655834666318899100315548412872958560912489244391902893019525276472016411564283268895592630639920487531202393134924695756540051276725146569477401558661854212211969711014828056035671946041700344756481695313927104402860538776450358149025877257363896249373443826057027417444479735503089838505782015310120603479766466893662292321539534890778374007243142313853160062334158354512359017723684127731576214657881109697679365288658552440092047482698042718790984043153690549733439166552506453580864970723861951267501240503089873849726777327195411138440183996464820938299117909290604268985346385759784627350608836455853557330143650165352996647818069507117523461468070682932468290548995482132594745685001701630001893227175867011721245353244454571945808485016037607317554606475452057333542140231963208976135979992554127419380295706468831527224760209320204547052050558173047803211740361381855516712371245248195214492203164864737318581228776756404042779957823812396452768691915869651336951484901848065339976538164472369810561465490222470706509555666125403475959526313323870346121082767366267663248678974461635292094765158468715733209905144549800965572886984669738524604230543601316408253571240438761710913203539023682160521569327122167996935677526397875587441704280861329904922905720043377883193564098729912394668490131510621491108403321930025169289572191199543799747850035035464522444317538798240638857558993273823751910184793379704104320730578078753707747625413516809499211790338974114476151260373046913566724541208110983046461743313199756037203324167061026805188914961665402321810239044114334709346426080100424317036799526860543626912212758420171371338767092096889215356541540673368650122710588928615972396379160634835682532764990749246269328029395318507461215335657027768214708070836366108780195451928115591341502765566693624701417269535837103831928439853012123536074310408031015117503179686683653977603009756878689604798368641245271534835551864555822434161183341813505899009539128070489177420040418180949550461173260668226124218062226369016485010720268314319934858685591776845995737958048142304710087920678731711544147335929373592696188427773945593874323452558681444526366894017592951214407131227631136914187720617509207141268675321131419770827730380968894104333984617458043637923064911863470200118043416175949471784989870356570789642514552642274043018488721034148037910151460183021765996230209159172579046272111652602487204338282533821947747024840643653379019914415508151542846860274327080458697994442974691047890891081135860653413918073110019428723315279800264005164552757889096537057845484862943251629082968513084244707045428166163199540875710261352654039282615372409102891011644208890803325819258573404617840277240326920765869422198221535873105570708996577974485751125520357839361165632047438619753703986550264347182166404694259100160686173176727133856776300333542571383909005011438756855995559765678020917203468857617948257071178869756621295979248878605370422594477866503561956071687036308686570210587854822437665896699348701283450533884155795721491550887692635165830352060213118031063544024473723115620483057843063002373067471242752348987124684193561173001384323939139728741538914740660380978429857184248864055297614609368253713811953568792529049569143055901734123800298833363926965347545312592100925025653306564904641153910798569763213045529512365311229625436453360883601537597830420370621686956874861453794544687104418892915296659538239660046910496369892874633352203561332676916986779098225814548556002080517030892546756596295146688722303199501995968479797280347318044551639845681699380429408531599106303720423921246659829547313026971268239142559923507221955803260285446534316134241849232314637612709038632556716778858660276170134700905840083615167528303606395946632802823272805036918819282423433632399296901943774636525914564523844563678526870705418287339607677593000617019005314138901925437973999842132965493403368648339377761352561049249504367082406679615378877886402562585721451747962311340369191731691270216978468897069353343031800812274783458539368038088180498396982800322816238166635288172059888677519352399906664972263364115248911786361394355580326463365131336486607613058296495392743712042524356122274598306365933133530963983319048749004342653340576127241255325476463771125755344957902717258091043808193448041148428535964155194290703075630332450906657966695166050818817792938198986078803841718519304387270106548240510603724690997923959042585287916012571931115232061609658377411358194487222676624614109196212325882174727070155049393770211222292262943576337127519335365623083284454623264060833693248678236778032785631090519914408451341634339875108088933472645311373546197113710760439580533741452431540481086872173432787267068819545807079311592409104916051335026285243454481709138314653484380514721017395942752889267547713267444537281508990034398717690459371369756812531730437576029109030010411511988806547146369457186007541033678850790027271094873004492089675852216808996085124695666556820947052051056632952517944857258794252243250107741265119123046501591041120292830297158655775619631029752592391515301441434994951876433256620121728525375783841686167639554515009638809354919206870540351715000916952585817716992701229132644632140611583857636221931316954489420235422271106231411402161600191742143690131662978710797530163843333729443820388821912746334133571149535375584657740276841055591842738273960534093467564987078287633722854810079303275300171562588494729226652036495730486073045892972804510720339092040762857048746632177785443875014422079943346849464827515345114593325987377467262466403917726557514312981466876241020867403640254177203925034731061181089496257796699879099534573401386302377448645791507498728695509983518946713916843336603477804716290009594747794671956547614970496532235118241200618390302514654276144550550580245620225333699064384938133607656679893343355608537533189041878115044140800645162005742977509424284158712544300745798257878721253810681324024517414151850740100372710992937190627619681740834486139327819063052873440274541615067620659569507179415831689012516692565234290062123173320532121350887756567001739080121499864791040022404776912838584619088407901292336405873105159401107348536525493194872571834346727478368810733846484149514158613581734350465468981071885518260351133820376310501463295283852808044154324566308870221655161712087551520378896155604172230617211964344572672031057239945528397471369084634498055155947678171373247482470767618392525347705617243786067941026989232461860875894850450617876110068642748993915761942471540102724617543593294508093764530579197487942261176252693424176905479392572526683235697652471957110083888073362830186405573386966931473182774695649944915041405938002458410444565229658835753656546467299900869400570223131838016795720013097767208270805524333397309506613826020736975387421237063795471904767202875573584875971985407256430159644300876562334321314264425741241286878344053686699051610945321626461417658895771194664576808074591059539358700971150789889830819674064905068363031144400794562515243027243204179653522892240260024063757379520733189062461973745906046320411851290214516377511064505784112359226307879874015497818696949565152706932538610159812737014784811504581971929665380066440702640584756475959898970984505016885967421652092481984997324219280008112481693542195053071499373598527487043637302769806207562894514122183883928915490358365526769082856320457984724006237122163656289977842893946452146066798804057232667867695009014740892267952694114637442388807969232140406854027555676117425763028723837430367801112195106302884677761905367759521869586105379610504593921914705119230891812526901182809747514250669072546574260301878328953142106528826363196766656292889357164451380939115960689978678835198878824978955229088310950861209779462476436424862571611189864366010468462343478192343782501316477780278842763291372674996079593759979304932335431038299119552719460877696668841673667538914922100883341661121445106254138957522303958256805703637626140031685608839499770264931122851588032555890974631476916951980079371731920492288222743087847743580863422687647752762866048700260803465012044306966552245728881779613289878282709075944060975656728751223282237994524614250933920728119658092617188656809020781606982532065709103082912717230700703306864255373880245095520640173020060368315997961053987486270810690033334493137612909843206021685815798422776744239936798881367951971511060563852364226660475549712127977474626078585075579988239303918077975246546285252152446926119871602428596692188837574949893960892742223020803949759987164543149749788956059776748330889880079064006788549176837093456866670349297714204570899698183888239348918793025970650293308024377318026473495497503795312616788887215191616085152135021518857848152493310374131219642853322877118781421731801381697033003017780894579658227247358895575812490655346666518370993383798953083146515301634969218042672159042090798689303894790930381167368474983333448400352561362957615792306077053752194957006427163268424700590919343245058676034330284474611541066766804736168100253323635847719565711791336287448294458126019183851799363323408989496325402879129867273616411660487939988840128794343917168571290829130429832460464660961552424682015190785843630880942349693608389898613324219369950198507400351890163655913661735160072152752200251542389696994968091748187568077097358216631775302918423188253246072813225605926210707264597338605281833594178820959816711425282021680771970541646488723438351735275363086026591870121578390292078854514995017471923012083003169845013068314364123210509076224618386057809010999609662276754422939143022655536420511325141448519595513335955235485933930579690497031546217739555902933547859097785680018140304316593491824781030636577317873333640136211197939351121130084124954154905250345692447200347572310012247659630638706726640770655497837707096641908682824154701587024365621531850879319265284906656084996923261419598297924895819383414568645057331232372088021617593095636619034787091503623541735908959624546203657816328757391855015147304066839196993706871449071113374760509020448700783820851581960059104205714153786013862369477570261153689209948221203549818804612514526085643697886373121928140145327051440266790326538322697977144577109620078658796791168643585639493696738193054747208046136802637342789426804381924979311690578703596887701617475631441015570624678280573626708978075671134744135843024570161275212985891706491328374275504135269310859532447253539832353675371896967409243586604323219548269754583095857190047172853753560773873357578944124945411249043026063197704168277187827095904324940644057352178706617476569586487253743104220437047951356246026759028845657900603218366166294796226630588416468933290107523673458344185362833133932205158281116238489605239363421639395649985534970818404435929199782776350956740228692930625364418925697675712696572927301988165744895473021544183712728699852125034448030584451861087506545436018266082792727727088281294871583205440310757683034496666802683439193135820669134121445918078094965271679647067882422289836142313421973607335500527589268139744709545981882765497900358856567512303508272419532555578655173064647665592234870446718055487871936852347666670686198038750068594627595870689085196803599787692692907393778339704721837354519755170332289167351453372817179906590675356256858642487187681013761830186397871847751595414854555458323565585513241360861208303525368376172245604213855077336188199557559706824704803031681428863573962811913373357685265889343076970084789897188293721523086082876781857576681075113504667718978823228342835550458947859938421426130358022072356873652170740417463347227812783146117615459144827483660298626907618038181426270376280984690975369228390605568819561878027769206970150166606723558114030204054738693786880706397391549744853032781737638611290695068587756609370077750890475548911930403394843679832138371406777941346133449414580837461734638805454283464096352844707284053101599459450853096853890137574056614377246488907848199923311190433330576909279833854561511286215254767836777359246369778910056146786393678911257832530615258219238844367941384021968703794778794699103787427319858843402200078180057683287276380652378666015089058325111807281368041238548546754842288768756183752354878874359147539981266710786786811897199667629890504312101398236940133190997408777071057298823256266049997282012447258700223959923483828876840501675439772736529796267345364586186785000130026241625312534832452147766477964520076380202286552550479311020129583625534272542503038422357691280710559850595065766377367942199145690691951607648485887237937008232842143844542761592561146815388389271845733965822788406813027738799241023880354547272107508771893803950443863091005705428458797969037470345796583812689458007839864213601674191361469307770674619557459113996964190538387901057252847540781661681094248086613849744379757724502903206800180168101857840595636944447852767029850230428558820548643650836302716927363581783839561091047191781315029361168976304006717889862638706949683272433319471070814351498504598189716430421907730857291147854064740154629657357739467488440303029018233945887175139632986756117524325520343391837779382052496202796704987259472729066927379226996359945908280418932076184566334145033196675008638008887616110280803601441831224648355369107136264120238503499155318143686804125194026052538687123379785935396246039171943762114603271277063415137831031746017746355532593012508349278833175423346081451798328569789714770859650023060335587143022716055616191571706673392388156543587688182020370303139698911229054330774493465920116154497781680160789472105390376636821757395070483963570049795073903606407781163929260281227773979198802481711316141227310554607268263892345202151718681501328593450049421845433126893621807065624219432564778793874482796802240611045702738079354176419512885410499273465191669709506583739507063084284975244654678276355560179975511404713971665143744989445864552401077457097495898301806985326907334963898907510008584625740337381887307288919024302119376537804356906644544568783783068967472641290543519878363948089537238678740284689507675881342078018711287585947538053213795990462387871923598365224302509113944384190274572735664800154399037955589903675104330198651757127990684814216019047112764911403615727852305051785490024021067434729660099298790836865704469996481191539513876949168911970041837723078513818069443109530098183028523489360093503802444376217272777676051820845090821815169064385683825786283237528799467775437752936324168376159369029211300309455424290870421319824106599160396650598213446372316656404192640281224306949552362457988268392050538543377040053535337579772617736886770897397925586539808067543327408363736508056111386919830957705821508669956334108878695202071058695915884797342823821412547280294811907139333434924805062117912444400878169178989377193177489445695893559604487645483399331013763160112172632776064635046828151115076092622688670101311117772287400146872867815809885947555802328142729709542340427322069225729189249831438071694989755460626406879375802404631719719447327477128387359452835320491260143531141634137962241596774160436152891879463883352686681181655807596238780319092427516986038347316991163354021697864285853482435638401759707141066652579115461836839597435396294131904839211978043358286451706769212920857395720522561696463954269948016357266773232652828065161442358364184871057199696776225632284719460670772041581899066641611557997465125603183328277045348288055098284341446317047410345669653675311389004048067604820712483982221170652327968955401664905485099795095329916218845266829504803235044043173496299869718110173967582959448185423755024076296625989820161434962625772928608120932811676853172162414345613454239465178620791910178254812422132036235974478722170226435396827575824772219472097583725038526329408165914075353958698203287994958830443746171936517351862399175946674287573353038771504687499517940406865149612923651639842459418626268858279259822959921672902614201407978073857088862918362127919570596587308216593027426894442325251768392489514608825996301802537570533792281310769829999741825545390943062790104356555556125299221457119596303110425541034891292650655885362676605941435778867178392724528384892620007893323898222161880399633202369542062584165379594121660009669055716458527697001129384750060785443898193095218624582818279640211695019914475371025034476692120830016917550944135277356768973535545641656630470151680932867960520769301725628440930559033250494770302714315652644658893895828278100522112290599538318578379495411184821505188546969730569452370594633549825308171764807861242051198185965839773615316882063336891254699491701033124256211652233895662363078103640141988981572541171596600378946807983295934755128681532323744334932372835966638838752932526485590885704108725920388978810937331289926097478404029742015523676685521322538859282026634063912776433207680146601129324073338336425305768559011993894491236741176380154074478059288586661291660065312595073467262032359044859902423603487901721971515255103541487305231287385564805425100590105812429267768019379801942697090414098268987036466990311399750844693663147164450574478472478597133395824266173452583932846657449752097889007175552325420702006963420559552972109000034679181405967717796118558847234364730028090015745965926743275370762638935503084164001388489138982425058436894834899119069333481135951331306292922531489146670389495577602697605148147527149142708008824085153710840665042320336321199936570972012459072160161568010399748468242729868862786901554560767769630720741565765056488242965848525038738982174668827841894064902040321171212409369844386811713924366530022107702541519952786339609756630434426696946235230794074711704407054763814986688795433678673516731733391720069114176189248353973553425106928942167531761124755762215227932051138291995761389783978888625125579765684508469917600801871090244631551667165165511853183531923551891463271150419869332704296600430308434859598601785492148854150551315274583014244479248959734365202228693868845382563828874323247249589012509361164035096539212015198011476185382229520351528081805913902950219295181077808685798236952407547952790276536404829991893434137391973392521112751241194317910558231794631480857342344136960391072940630921208854202791385187576226100502648512717432244722739602219655217112017849100242170385586133425789494349594770635475820782003661087986003279136611940470072016016241371246436836732879476627294714821098835313252927029413605800751865573432851867847805681975087284449097970968168852507016463247520767655701478875249562971712133679859829716461285354391140832638627709568129985520892436551079801187799051426207457206124705584333613483126874391882360228110502347376675421728554344035485801477892201111768151053636239844079706796737474208695512919012095904426394516207252997956601765678174770940004714181514179518603954670660405006517265582449661443235957886518520483484166638558917995726827483789901230947655614042581430133385145679699413687446090195611983168775084448565033852437027567765838352303177694596419718497597804661847650279527168233024156624951219629681691932114937272159677966439829179894153258746171413229666162635105859786615977769459602392480819738610391354768796963871872040852098871894292068617749920033839041585168862328295886858972039862030296622723376685082889763383232291414591842949328999628090388427329977428116880945484914442406993678034819660522909204668969728646984725887769473721512442754854058451628063047112736470709747637905696938496106065201551182259752255640999860536690583425075853931310133568266997926629589575415308441069717819688566235776501033511072212484014410778785183606304839267445803612688026964536573035641057489575813010339450299238432299901247678104311974428857379416804769867664010670775331805493952651157543701753071933952366808396349152810973832207796548694160001941974436466188619693840494021674299301513277491893184437283461275842751334013494216731915097834723753908583014272155991357937465668961229184360249908599110463992393768677469200533962289177091088545624171221153621097825838891252008258887334997641080864118690261045266743610185066860904870576857204258149870830087408849440862819464535002177060474041999373253090513229588236406054869550784024910412123014174647503283852212387094094837183470703216080923091849805039040735170094211903863414787441973930132085306602991102959516717316248329851004174409777013614078324450383792371349919719858326977824789986746525140424175904343818542124465507547414153923424441453283401017735755182479781106770319021796765624503159394914426630985502419070060524105383542450318403525434707878921228674622471728826643230564807112354899264954333528666469090545017128549040229361016525757725620200690996841188714221408395923957909077287923218200337278527172356323517699351826046020671600057236606244529419354005252223235934380213909159620504601236731402926649671797771948917896989459089526427882355345313905281604338594203455680945158185722221081069367014953671548873742248328681925203130807318739786594142043562179816275466205695364141475987040746492477072084015303045782685260113953153072470718405612652263647967243679261138603027797997280011140861311032092403802722012001295778754975104475358056478447330622593781529588024848444990775459825366045601056383508214536247689115941247068559205079098619554042647128070666656081300694185521086463904091722831707834260283838602042768763482080731549965574145895053005428960058104431322810549304028435405914376643026529097341900370266083486625160364333370168936355933231870483017845463603361136619697072652152834654291505867684875558193796349438129013254612996045898903864579055021899243038216305465807515777133766358834765543068202659737611942336798560893977548704181124496549703259291341364159237610219539727499919290374845507875681112463]