[214483893577288866939462687549601438396747271492563713720676624970797334916981795939274777914329255902590321124432532131913654846326030406948181510547196781717468547910903324633952947834701492668029010990973412526458560696996081901196256191183499809600214846565324076610959062792202086331150981085607789223257004619069300234127993343551456699692442699148426504892512848775330151042783806250076989394056502364900770680645761716813042835845503542800642203309657559506721803563015551518737533408071680560887633071577074271553170834458922067089477662704156354323759263217594418233439759136024151113023016531641507330501331721374534498763580628114659400510829166867500002161351549758711821786418805313782250483668894172507318710662120770379420786586541090155326654798127225432326808451401076206128133027616763383858775516153434608031788547787632595973617376723675473996962216960346284120900557006190199697365838854191741360892921496985141907636087150437271185644190248477851105103075604358352770440160647141122415720303191310984675825086561228423887497240359887504607305118808677416624493017573297467572255741035629549386248465049540599725368159748846553638567573133603083704413701161960613781469871463762231530362613560746208177330637888906793576806031153432174289147185588200978621978672569498245162764726658284359348083264964162249213742426799504507900865937381393290973073020567419663311533565411303253552894925487490937885630365634936338667446219255794420557829346941488819357858810858907349560131821356465190166513896157330309895145832848615018873929569549830393831839381394476450770080642433283832980158426246736499187455560774856184041552587605988449122124000085477095944184439957676004253985234536931185182264521275125984296728045484509903748398235795283446000026366019632104183944333649595649615709849739627145321391599398314969556495123694183129224990261506651779618856454944901165157313395605360636187731773031055666189729412576885517546537424459580882625349535154036658957827258197435606432689867382168036986558892832085776429614486832780833500828290885678473875736983735059350999792445547759231003888383782325601327438592875069444606113634139170956304363259794300779107682102676240143356388257734430608858900928716307851191685651485991453870887246346848813847598729415664555552878559547440618837314016254521417095679631706826016764532916932385790995668149288705972928882023684585011244711577156687027914877951980714585163432165825223606124012816104301246409273402993222553304304304012913712761157241201776927768996737953791221629725162300909975083347053242333224569881424827953923540180555368960155079846331583462610095508096752414545743541052703342003485112674660387289803236408464146105164152121355821038054827916344635078456026859481814214883316962897355303280423157557846205459317361896198656735229862100648833517536605843420376062350600768020138978354432331325147998649167901061565335828384241541372547208266848196632265858060028126567475033868026060316791461716300251597604654128176094438026168538951356871216602920815607464517716641509189073832627631671562919677427478977883599337983014148559202537380426313995227891673604388099298987786478479835554986367184511814226024620222115103888056317984321733188616447681853108840038344510291910090846834472342848362610857686502720802555052185046651861073295778652244876863677222335874980974715701710709777141497253828425283254249180746507167544340734464230893481951582717957410354097478658751649211263137930262133087180145276626030884739005223094456032145967240606195640755678462330360106619173159245591127268149167089101220518618312190216888814982441958061604862187497699040954801702825495783478504245233081754328622671179945371067192211974239486833593433487022682718085601805630401814546490529689834639059254910518536390457451793297554808807944185132251853640428867797523294407318822187296602617965497182926780744174178749105340911286645201474315010780451027772926380787063828736137340285028612305229406942463182813158629632294248765313001601482275037214978037891126729304005365426664708736858781325666115562406157549806143661789026722663557921663567730856816554207523603945787838014097685424367707540173989472160191708684572025809931312012180083706779371756362431461600462539479358393506396713874155018367208895879051544035121272639927832526227909891173249022920341615594897841329792055179033034484327520509628997058257735705857669516404827665497415065536712391676313864617038595169421901953186611739927856715665508473720393490516745347702854002217980021458605836017970653227181108325981212327065366740053231202582437707344426074825247181257266935090530470180071037644206362431614312799069131496954075516734094101367018319730323489339742387664773829838497845401531344358350111887461355517667987342202366468681841021313907540640616894350891875375337912855182134137905338521475448861293138009289749747055983290969641872629642174584025840378638222434804173480387309225872210332242404684255388819201068271150604904503836120218081214539518399212189316909934275567598593858135623349619827252563137342610128691288474456503777774715868037428696989685062758299698352845066982142164842371025699774699540702519009292879706545737155039268175566300552934900314167120156720633207553355014927080118624324487484356342764105573871628180495385546744184301949821943365900362712289733630949324259568403443759615979035990274228542405746788589543571060450099393469414645008714328722914343819259073066085295533439218258828816716575124124826104014830113741202123124105453328587259438018445556414368101377665598388342668193950002909414422083656547113768489596060545053688310856123302772818747451401819469889162837910250080641057780282123543206040572758021098999324935589550479619855196414259611256234981522852278167461281026212777302210716165715770684595153733926783070533778382721623237087530289875380337465355874820504355253239851103824967380182836091654960367446575235709820782303045347796330608070948186058752025440335277276105679985062184351752863475302795755940824363242860488402821067239030511657440327441615951256871066062709955632365488623119674650001029112902713085938196998636073923748431243819186069291744361521360430607042947878762959487274326351203083507063234015200911290258063872754889581698114276619472484019654052097592619967824741062457307915721182865975560366312302173267041296704798987493873471484359571788669439750070073826466036465757249937173246258083071272187951055472915519627257218252791364052510475915295919205053041288437210948063410984354794044299821476764784778574012479231024331122191943792603173595188237928660062187186115774557763359383201957016993566585462174848270791088212693239289846500681772114722962015468192442579844259007836128950857058849286604714462050597459565938432900685138398379528641794184185108990466860277528661455227402840786855985022034175242804503200820935176721334675094468509619992231872467292691541145222725199094733612823446285221328728616244958451523138923580972777224344152366721717821166933946415416681144498222902511157424722442824827713738419673000435867068814918372051066911837681727043224710807664888996917626302496918548190134099722602398902433835354525878985889801851549220653754518666649595239174288751079258621293505121591016491161005478408940332769447644428962948097419415796609297241832803637938346367595208415359460086758458922131095062349516536172001986937972634519424023627591497409649931427552056520457412553614239118708721317808215772959333455410999304769597153461414857179239467689288167126795109038558546606226089077951348912576878502421832427468030022632661918957063343729008820440424311211989998291493736323331612987411994510653654302553483245732832701081965286999784184053392285714706945414678017671177686638032060366026418554343399861420338816905558430669662756494177745643249557768733603031126214010480546580026472237811324675164244993851603977185564103679566388312499479089196328334883012073275342741407562981274494315953196393291193803661613140482811856885677063957653883764308360995233918088183460879876700228283536549110954211617480470435768150916470262729898722776936750311911369603953581258144287604850643175752803665367421981872756468545345318798418278853001552618939108737777916702616380870410006977390801220972985005016483772900116275792250063159238624729324007584104769703199356999698884156119010432977013938096559350351698365776530216042795956209112942223832778277784724325040873322354669396421300286400833358046790206712537176995110610120464702878006712290483307153389792784655821005290131201364128906061969176773723568930515831786046944220339457360541300530883691924490391159018089199395133396124142303009406994442944942844757303589703029150326918821799155661847625454931072999807140728711449957268010029946513027473656004378809675092509677749455032077301859620690327049743521854666797808603901990792529768897427513927459564422065527353991781201203850552067230129164039005097949238085509587089470153157466110424920300249940678550387678097750639148629980858405418132777292900588570503397796599650630715103140674626936193501726392141190972944783238441250864116425116128759028810738904327588547872192596165911946216369543727777696301752216205650694433908061152492996419013009525554496596011298676257214540785808114731152978330246222929249464924558952910658506399174340321285275429728331465002295374165554530226538866312600089780128009908904492798968025288111179739773086168695350362252557368732183774759575270387786610851799869821800592593138740540782072228540371404106338142138502394102630973108635657572473329946534784525933762236161002808277656992383402167700478538551498663598826209904785299982359731097015925447534906735109629661128123502395967190769268255046799101912472935126224647617228745359766998917689690767890803880863987851578806299178145456472306680543974476680202797500624123292092292933293785856681502934488414588927170619257724353079751777229360585520342713806057356916105154920700818949462020440666583039937672291002481623562921303770821630159031845598597159662922805992009880604071912160151232968741178725982045656824705218048654830287350690242100385546098710012754204179579652518364094461910701484307280420666660442393555260685464595283185288988991178665534280729100839346677455315046708523321753634947105490244955893053658962015583013488816422784768196136312855083137455572287705054119053555494972324962392839739461030032294012639569238016780761785699326574226664228918878838917038506253407675696268597737350846161973248940597879305954571515347123399579011606504818493410248186242648660243307734749188323095992908946162039314037854564165799160188159996730900756930117114506101999684469555280232995070873661053329315209078829697056980539708748688561562129334329957234151141482152006299747508732646804635236088538393770470805261642358586473221348947605260211447223998403353877083361645112861099602416375426662612807331005699482148814574231622807323599580412225028392982173221790047609251186026372124440373460365364701191480996587775264926876481139982384235702260400276667968562774352205144542438875046114812034449767767249413180711554139841180026196067977094305831930546890525691017521122517572160291749149479367140994890891237070094221685201111786278288601727610716951244185029384775606001926472107145539789614099515341799681829046226011072891862909337421862921521483900368234024806095708861937371231792616066775140549846689520629664202656422698643305726535441496639593346679003359555656301155338246975785555316973479383283716803655329632626707504416312286017601672339160274188628775847009932571847517794839900256900445854247133536740381137199175694052246029617786895983496268854774037508045906460984296530601726450314270526364577340573497567614343843116908783359738085589463850982693897752853596492747281477208077479811124346165270578355994165162635895632232919733877388382093149365628771587626800886309802358554142744147403454201895821105603242631380554812481689471320367897246834290379870248258047734150551770620119502998747546286610600469731230454034394458668136103776365221102647281431533950342994583495303841418757362851739709472911201079026856887994473247531233766826790293287068267923867918380414047025673874537223793375677643576728307337040619774421564044883718808689833965522736971816516985673800730701421883930863920795487172930222099191896287350989927692045307148463473421803440538670334662068348482683185332460358946205612210192997831208700074368452184253593941054556227638918694136485531859664338036026385886986939385151702799889066779685892355085316648776595389593060089449040233500243352992653096907762259704753364838954306407244214233954764207327644722552375665544836055916586050407096582971624806207275473224289881806326499632149726410846689223135616578184904725573811923783135672303166185547974439182097095387326881576390714233969329603510696664648867385372053940084555246213422831439983543174544687053686109918447338762178231021245566352950910212922023297567011937864403132261481025269537726053923980469585604407512464265548506033481619039417292764350467599788165928140124389719488530229783462371696240658888164553786772087078130107151212124522673114238531600190530272912437781484212024108398717786737977842018957670919219919741204144119864815644056883478177087306565713113935855227503594689736088109241684461303019855612016638462780951124457485342741774832716365881877303612514919749316752655709454691340150563436725133306278819439766882224715325490959260551801324329483785077049402562232122372396881404602416719289929998182286589705791417069415890189481345710279226668483621366660185586068800963107655111233109916041991822494131561655328354044463378272736682410472570771160404342964484155705557326809824791512545316233074072555768711665616615983522878075346639978032758171761618001896815434340463878129405972903908206277733998786912384015772948066331537299494269841116370909040689428304897317087439782301489528705862610223839603297194076921272452605982038694237270363314758272028130490647945780767526509898270946319384047850263459734949996261922551659797183734508667430319946412746468347512999723495417215194208089803467492332430748319574237902713913691647863952388813099437023982032899401426486666540227110846434305602876036698213182545281802274558943262720191508123584960528952811347480411280104454134439050459305039075575207151610779449305656432783932062044427753038276059240651194959487267759001565217710478994227664498777866027941915560084905957994069313503140493499836732739086374303595373640654900915265986138800449494181279833364306367539376393926244391758987891807573921206055046214481522736617162765839720196289906170450777413538099219067664992388116818493671879887825854006830505048304615774377737694069780717605273273398384933356150141722451649909228754306391916540598342555207150405829928030847293649624193394174384247194129175551595762648606252814515530018390293705214148602185422397534875746566398787685088922071075702838825563129507263820281296618133368477295028179837332391017936410067310958796524265024181726982783929888521400927962125768682795467746625003020861002874388104857514367255588374074722635968054985021818844481162077981333171151823023625009842482294483980825455917739846141100540703773095708992983623279105783713266908756642639608776231933092049722257500604619478290621045787115045142832168278263337826156421438663209594671404141306160956326620806157443865376828191345928148491674212558506404498960412402854244472419857502804622080888164639742663055826959238716352875112359828156029671409743674793515088933054791999468515125702472986477834864727243233983397716745490537956966392752350656064403838047589557040627611137307516552940089184402139626771766651627725887023144377774827533653121688194873963625766243120477596795783382189307925823627681181606238378347596538407497208978157179708683271622738737800616111604123496479164737699407777760584979104746179852368027091222919293595444081797804657559404087432645677723317115951879372020696892403273341491995140652546492883862073063062633729735537197353244753448275454120614753275580140900416088741583388334817231011901097418909482258394522244903282507157423503763323768734285931125938524320824592766881855237542570492505531751113121322844184167897903551545896396656773628601781281229990514272164436077777609813125059091622798683727415963620482229445309825234420795362505342742376507295292598589848472354919905891429268394976894368283047466045776064497565102873227316144095081325309513307779516996951105527864785589546328422876714871153849837991163935744013589083395442346721778498603104610084548747048530547097477741965000005807685313746490060094608649786846641539946549390191400532184224717592474682906915263121012657285752313504816847850761372225682602780253665101765342681806361463922546014285063996535439474277743579692100948963266496846782172222044922824781346569778831764403549320019354027722715910685223948583213470440894048035963949909699364336551277219351676449873857286732440476437837280452270541723696746263236062306066441384445613817539328916648762861670497210249960550618897827611078757055307998491504912510082321232012961169194439032576111761023902629033795333758569639254600816969190868994957699616733241241517968805461589848621938579769934564112393129947033433446681869985543312116743013054486181338262899134639811892326615975777327341101747763727682454517871710712987081971627515928462658029292005117098518847551357004367097404354263203372719969702532560901769734217438402037270388108391994091808820947541348760693414838838537443619219468929765302873531589449863693014866775164975433681694560317422655775243530154481956301662553304069634918374094309397454175583453099941596900794933155550437487749117822712578892648885136674605783165725495761296712364218042104674361404525391645082347059288552196324123491482837949915336943974388772043239437281178451184564359337744485532914661571808650421188510674931500138356318940779348174630666779430436635894482316251349372135071950769895492710407981027459532577408152402598700939635281236626484367209779841706558963389060552013188608294656321055096572262838648184286121990473103392407478021482330331713582331380597997630880481343219150493577498615962796456036662803213903383690662034436442225298641245938082367715010386667166777800101791814589632447343492787862382411887149314649492686275144845645303762457874322941245392245410387700686021944217649368606474917397682533915403533617646505238366935094253304034823663018335911897682875898326346099657189250413225841310803356172662990211439096280799892952203516561464363715667508875069689597694670845422895265657119902951357095158096790698911484383598690755044963264058351257658108781177732898748591173412984620686468216472547957236548845540340503949122985752971677049939452829273208863711096355917864952854431369974241484800107799828074370710928724793943006917263836073190664343463495211264917732676945817908247658240317917003753957302016346999985661218595019005056119850131185894601801530894930895516260806704079629816674662746177879763417017844503779696676434380274407656151976890065578371328615507216299908183108047850695070242891350100913784363773444693045237878449591831303633104673299763999842456044189370685524622519887151534572009443824803077904401135252266955631523185339126121770441104664807415627096884322393643355490131854570052876838028736205199537601246165759689063450091157572847467615623788922519207203443950767592560592620529180951956178332378651012518585007335624838710350313045741955854460372359552349522846838242621652036927049180659698859486441229557673797019626373395354152435791578970549021255633152019962858097869229495159360027768201124866442712252614951356574516804910879535661982257885516986792946132803839132627224495915348121459488266359731179185368079860078746126375854973000713896017155506322014367412307367994560095890207140711482513235629878929075901135433031587336587557081812262780410741107668855520632446356876441350598665390027407275032810225052290262564539875513675201614742209707694243137875983704054587603489783257152725465550386483597846029405137228931826604614336565655019349669277447069613356856404058283872244723166719545600678991546630006100157583016238047479547049116943563617746886937927232768043131305931594423774276233870959818508365858362459976400461806388607621578332388703186196127622973977985918586266875943604966474573444160157440595376947407279010483160010401962215512855255171433806130552362468796741546935296515900878356576482562152828576441727735369208801026918034045223314307589076678275293461408304991796377217862979023165591134634454850133382895191662362638943635513543377114945216275612715196450421659799122166200019615818872399261377328772918820927526746935766861574046174959970447990193685800563462927596920895213633231369523709098729638247884267801048601607412468898037874965322887934185494841134990869855559799427498667186466514574651646193786925117789664207889250058508106846755733898940407683833619120713984665208413400893672401096364536049607800520622746867439391196855208066978138103934479915152408015056647888572449595993296170953451960765208386805127790199115315267770198114361657843870889161036476061890862145301566700803078312626921241045806802751636224518546086261236348120859559466197793657771630777781696951717717904469510982467125659585518869484405709249004522847626353200774982706951134891292002326972731608340007141723082543454990398627620374125656033271904919974373711976755906510492906456613973790333079703153807682970434710232389908925575546265883236076676296042928416608160269761226603531776492049699439924028385013609195140993655984608790984332597962984935532606692121561501786975958874368511571572033346642178513701594753815087939221235216187343739884858532954058725069226223077491944820977118412968197525517526832062383597750550197160086274475958389903323521681902102941850946237338923203608743660531482182910576595698494090379349494914127277287685701487427203969702734169997007218426740402670995224589796162277511621436049599964118838430948242450679481324115786203466665841638244363982258550715284798918801450898747381851020045174773210603495673733056374511935015067306298268413897915022900044497632291470377554322467889304778771939084712002983177852329122363637386368579537681078266566804367324742322513709162185259712488646810167566850252800261147416159397957365300196764743855526955163474399967773073439394880451212096501406819205383100660121265425123160352294501303403751844556213673657781298420773792677450966984842395697714105869673635633510634184916270248725937697356635073149776626149374967118531078243819722371961875024791320593466442979866505829881716219592419170881214380410715109196984812332024836304592766261991646269419691082001527741358236744380069463504215229185419077048540921701549005632438663015518588748128921343635350314037323298080649134689607940588083157537413469415660633348981277696311119782177061614217043133776198346764048756465777538724979342998410449411768825075590591511347540434622018221107451305008677564193242069812079006012694396174421726791546568494333430569113975823887131413546349959165325610112868636127883079280607635439934301412970156685216984645167932389641482892468540560538336697942655443047376142455038147808378047003974314510109866677156543670687332583659198094561492322631340072497805465235128719801238054993266397826489377496267643945084124838874804560327119277446978417626971686973942236721229278526118565468504062864869085295101343158113002783996037382379196036420479104515858242036567142968991325106001848562600700837845706664613577454783834475992573839996810708060605892731174930707015204702040953544400029234003982100019235299552137016398292306557713018777728776793670797000369387194825868984646330789422919047194860065202817334465928818366107953079501618270909739658815074331761251044982866490106340775445787129779570405386685382980433435142683094307975062298567355798921158857426577563456188048718470645835922091754570644790828648908572446666699399999739862971322411577477649887996338398412885817947020548503049556785949131794738205901174784774665063804610720771164744582870947399166408225516291311570145663154980515586485298685903001102262514750865034718885505613296079989031254250293898313143356493011036935635999359294584981436248321567081239098546016210067505997305321473548660337495426840748111026012510283711079535615583915927719780752840829133560500568672050850086191118311751347939838151490329785229273027680460959122210193438011097392249785775012590772485637964446787097676834589782065317127483340549083086630404620813331399572761754897946414729103182088381974680077586378795310395711902926510741280604679052191152890658379381111373124989332968835185873394003647947267179772592932233846130740146845538248915230315301703175679240895251512880282886975835906266197334604297380507642077010862566082993732604543331763096419399976861843367908249430297142396850822140883919774446049146766121192747635561062132098818301013857725171705135568973413854367633159654935720272599096581787261666309627186333842742718237148205615806886999335450876113237182564165161472077715340364444120254606171745560147867638923131528201094264837738043603042416452728608985537448078445550503707400478638535358129414741103966328205319587682265947343698958940042283199110817921979353489976156699468169823762264722817487216820758469742876007835576898516553072670681596363835736877906622692354983299007017044064284490566520599662147905667997212292161275946949141805085046039936350831794684322855066038089642183505362086409170433396654992594139033860049804704633461764339514283105641782468778046618760592494121515441902501611197611426524628367091849913480046753938248315873946477948993642318112265039773766903841514836009527809597271970854681406046741348869325611501431040420686448177004958167427271510935269176737118719185377196603835343604148760185775806526969025483176100695867840129937943720284348024509860312070971732400149174514168132453563484326216005135966754395677623045704100703349358178090358823972255622168065918449628955379226557465481356233972346602682687798832482263237743293619641087988946552210465088736251625910051668550458911257916251073227018168715177940797497807716628781326170952880094910288008429144405756289327623616266551345421949715865072442929726609470529778298593438546702432795704111742641078962594239528487500836565898260459427877618220090908240867439895616088554763881339596742321085144761379149416485939798990825393703187094558977462564698713918996803207336899440894798913989647528305258629578135708499516554675157084735630135005506361613044890189371218127460870153044011106925740671199925699444958846482487723573124795130486605293615444284922559988412136755114046492434707870852563239857600829314217618432554818217812389114685473424315637620828193078174433140202394546481762277797026243346323501145432406874247981644207203207838614158781956764584702902362895930568572835605611172038444150820257533469043111095572485591844244032306710499833316938535251331377901204533292356473959952818419425926485731434875255627991528406577940634329067723984496566923364713964254211850436742467282653633308449444612720904166484866442415081223278783949875998945749358433568507905467664443628292721910143585770924840841208743791037230819029072514251769322302540062976504089396286905083836656839523123946638780687953913766606574341608376857265129813325344686872519747027513097291999932089030559967519107440038530964839763590630020684824409510699489673337 : 151961057635878323856810941217260274993103132441693147034802600348777335489367181079237374430255053973655522290079574174081899477631470921301102778553070319940675293432182617890660284153825359114740457214560609237929055404506892109726923320745020879142271390900115899094803429555913149576701079032020773974363099708616684242074966737803071243946254880917847174559509262762550419913084344961560638080643287756569956479802750305831022774350353186254631820836948767262603330473062864635090390923330367504884357870440745564661477963295210597138219439857075317694983543466330629370322332714194383461800242516737515906700075840192249853003490715108494864108000868265999381116320102785905338092268979442467512211049367605802974810482457408697745584993200494969398373079414010021399290103318974975373763473178965851782002060065845998792333407424784353875165284663117591726015637167399362998012589185934497336415884906205722100598238916582745749496602382589354697496026437449689357083193871780024793519419008736448217380769877240122152997302985581715510234735293437339758878785967473255404610887890946889611933336223712848029618228183684579535231619892128586491504599090961734641965046778189480863034555858608683911686207657985686760017318148809835310911162350919332558321805649205737114772225778559166049631998381251963127800827267824656378134692032630113957811545834369780195799660220089580652497580930207756750545135184088786431268930557802251687029833905255703440810350860260776727237827328699411378880456351770198083241456743029255009046742599378309524968034486496300809749801151402600114354415741498389525363506995777442870046952411880435385004632431974308290707973107176105297355530427890251410496996819848555775739815828531965305401200287076472275025980060122023576516773119493886847042150031416159737467765814143699792688175175758742059114500130947372095295323440689281491577753050915284966903763422905228471775468419391086541136450314401466997297618189888083746592289090033054902054616576758802943593538064703959143142176653800459174625628023772204088409626900917839699138583078786338846818182955749755621780008265318009243562567617163779256710388448848468191522925891780041493994789300044931800100591063919140868564656760191734271322086355617720278208911008244560969894390112811279228665646091589220737885044114222082450658731197708674579286846782702698275101736571049261364816304365639181899738647495238636202581036259273414272735345406657749506356078694991222774324774235904545866771928989076293858858494397099393261361113256287095268408195291692123953041982534713459473111820205143659355957092972346577291565996305182576732130484583670907570704317120043541525950713652269168246207059452129834016070548622345653226623442870986240779201276564879935425210771916773328535617860178312411108509206806269525449897132498741748988215144611488624600738979371119212534248089623932289073854780587693849487962250743455645775114859892544019392150640676880606564031539983789872816338461729148186638155250736463917042366192284089505382325359483642484545669240654096224297158404766964484809143924440474798089819689635486565631869452066363376710532112040158743613300551045750922047668265727504450253784956921584309950822349101691443045842591160954900270404788147201081799124307628371422815205912487422513318823207504724957757845872654834973934097059087678603169791192746714194125665138608051881642387766246876815243291668973025242213481352903454302354943008764439236410412016836262452468758313617052503089573706519687858054761542111244210369037652171847425798605861821433554941070704708147155402409239055161538046774756253220598429794106412076155291522243627407257479840927049861493798770200803509712217129103585255697163036978633470157680767258262879030186853356019366075820059821595374053523223565363103138632601172024620070692839958336424440331908179219748207242143616042320827624427773280632159810611543129521081052532503710949540569997615432878276120524500604392651754167678400331574246920110823554798352734371379372979454784228401161657888169887346495712214017811816109478820503913657900477781150955822203796567876116066102637362227290977069825338290261087271595682336807486309793239962083444276116683420277952236743997055399223011038224230202590711668171607126240579463523380506830938275320990801975514857134655854869624612640063665036704638766157713020243947157567577805339923748227107098798721186027036116963807402600722764274970432238066382072585392204456109293839627118984970855700761483375970572899978586314243941237017619444062477371528462875228546445818459181917373855352916219367732715218165173359337195626224282569151016386614447979707987878567265857034686928410379787992177456520634557362544722399223782630150717460836761638349356149451742705155175499292964396346687541248275418989190485378594200551069824824738543384539523466839385449667827627324924893068094399179924570567329060030322424150741450154058456414591411906030476533857927218798402432374136961157748930586200447893002185764097344165266872743699365700877992425156591363983345323059446324484068389156755710047946713527591353180930220845841546823252831326687502344540460021292386726149287847521483367821508811592886985613410445541312210220959076588847845179670810134015682255057122729225071030080944263266954671038917553726301697484449346012981169158528131214679416270639524594020354448595486445385074249634565759972926254648448024590731183392038196085495836132248198569274729169509237421872577905257127903335804633784567658649145330281110889751724027691146833712544952848003215349976585633974547267325251304312122104268061863478732281557483454894589076058426289243391116676634948354411588395768084281362813127578477081744428607507059948848308314354809777430233642732807143126229273663754993352778592779570539987104832915267707480330183656425378802364367515142737869111422611468078323398216751230068565130233461679927362185975675594843138238467088562839044015946156172675832939079641605135319932244309150741821767228228976776479867376698056111134735011426705954805411421675353767509384323032405876825385994090979265039283240373504307723734828490793146234721608076960566621923522502974936115766562803330430233260043020606070919993257844024957470102653983302439468696334003858097815983884112093313616743628784201743622065614656968939027090405613197249429210402374349953263120111778233572047575481334619085464237418157662552621585110922923649116307227768319341866448166169983386382064375330621495679027609014735907929377627405396241905334672972561188334868453923369815620379286557239884580776020187171797997413343437729941924549143233935249774775428420631159717496432358156655405559506661029773546123319412368351841882154758078461290901857855469160069407137072406379508806924715268194578826238043853232901184845241610311873602421171098896996788816861156120646161260554595923901493966626552721821480955026606726784849188396666307251836507218140735996926100268990546185402250191615390592875984812143206960999200483533043267373435926369575277195584414946378227251201570106337304311632869339252903002590367695447366843756245487645425232681280045107185710315870442566003175433840440305836726395655090013697878293583158045345789142973255908188996918278253134128937106813824099631915481200370858370012627044369484714362635619830753353857442372983310968010363728304402752703661678380057267613630377047641165637797057327125235839168693880227536298931599780461052887473344045457053634831717923800659505083763837101306086838816307606064172361173489322387090549269894162634267486219310478952472935686162213739298404030049382350602234080339807745182493997935258900272384066454186664087553745567537393977593594994630738787712515530371722153204956079407335793122328664777285003294921679188746725861569826586472248145692135912465073310454210859123628665891098492626168429355748595303858787313342046131453526144799487018102256999388847016554521573226517998889845137240453016169025065553795282339620702198253914155777647467415912706766742892350499772413263659557639864013512362570206206855151801817252958570957774002142619067682889475671778972416191711301468332182198392881882754272387516988497867840946661544652844469826541092673793782095265908869556406040797412585807606445371618888950569655074746488573909776587907883358048298031656499886883598488401047942290835673345865162715489354102195951670557230765738446736672795350588780807809938713959487199196636637734309887885854019778713305630444468486533038338282507023038930343922515453223387937553195042580601412168586126608755754020803004573154288597798678235881377731896039576657121022009855860529792068054485912928146890408390936021342717607877499724030782227279437361664773038874285179140191918683306907745562483765732842191923294106632741031823940497444197506619592332046371306125629641117782273522988693451094293091567976607636093658457279580979256270861687782843494530689181965288750500145435321278587388738735643155022019970720411594379014935480489058463580419640792803509095988131341595991034095597706830489535722779909766344324644177144948202801122278253443787745409425864706212634563126628178237476504826258346990570222388018479500971242309182678519422513566847085996737311614677575892990920215399706612863502725905698261217309122935790526947867904080247199777903258646324137189377084974917665696159117887722663812018934778512458676258952619374822027617886765775523777330457599438352444242003166056596734804200162408151991253312854250148416042854823630950948656847374917513714387417280316098966559569119568126686025199741605294582434335541823939536500123775956405262594427162229825679260793835679345178919778385102803039371384496033439984995006924420050034433500783274900325546870133848947929998794312588897468403188025421616388073780095265487786162958093907050985537882890079827258553307442620620665590052904998219767516948649546790678264040436641238562787908898305310965168506386178740911749919025935690855753460055646799551857319706118902916075197790592141113323902495829298311454211587951622577014802801905946766872992909826467555651446852717839274343936235960753631400779702689581786213451596391839503093378358360609831530451645736752957785274036556339707801402944766647961530891105804969457830456955528221268002003882463847665409652873181946293811515508738550973218723464794018899180497226035795356350727882754588971916106188022607185501551112664363485852556757345165170245193448742171429223021494453263418130681618068394345748243043504265508553660289160099594222978180198383418295993530607047430973842583627649941321734279324288162874708456677146885335140351717401472770256409341898297913651283185466335714551760771631100096534551104266238397061366518986724060903646780723787360566819091122977977147358022660424374391076538929571020470920164163794677621540332606312165526027422014167836647658988371370681632846594245198999291611029047987752577077744864775107732706195326956857841821033559131686906396303674576119935362274611754048811747654889661952367794140376537860918277620416579462295028150358025729257905376125848011598509228866382752204679667790240352577313602628455027866669176509687233444233276469319428896418414515511685313529605337412043615525842560169538104760500746296937208926801662387787086258670276930759209229526788573315137319170213760264203295933353318266004529931625743756602679698081075191984601282226270396235588942535911290884647148136528197240707627756738411018530634308566881719746443149337954739867697864008984333819563194145350496393756289242570310270290460617882731469717035236798033591181123739772550265447951687757481230059603222984177378742435093902438521466737327333055496097091593444606465865071083915698260971113293061316785955603123168901979155967007494684156486325774229922584530185347542644138109312263401448574748144049054502650385840054230072840615864436872825755099724089126124415199939865173690396361173286980045794600849679308146779641570087285893345821095717943314115521392916020530343938629736679969976324471812151975040409477229295149929135863822569250150982479565804352255236050978741545542208210747690535961901514254646365367211173522641565616154321498774834003000347991441792603096499330075988707403950174606396635171694058292418143768836912976376887478350466864076410479025707916488179407995334657194288808978123042927306374405682241191638632705672864429295503666651275991897425530293827313392085095143570629352087488432389962965731610985051003457789318728950903019749862960724159262226741820282068447587200951773795095121160599418799454259441183236623816590831386900347853589669984392517089559812182804690988472214516857331475516038666651692997489750458361377603759253040963862106681000614609023012440856336178000528492020295188522694912763585553744999868614695946042114532484834507879988422669142437529985216019354380533166021019962679403751212243526578957372588483759986542692350078003498765370860222126730986450528441681668630751060759568996196926768050364477200706163215296106918172672716352712157493504509253730834080321004830183683854169835028679035165807016719314777391862260839026088342933931796018223921573959758631155348250075361185937276146764479384757882595792763577205768136997112175756601583529640572225428651042597036368508949844255929741305939626304686027373772629599356769742918946613031300919091559237886365219931756914663414481897326045752696636683428042807492434572354515101474458836976766011423887010142982947124572431835256452762813071662172320507933143187570052880493163249513709172170407330115146015031081904728367196750490231383756815490957837377559844072380756457912788788698047737121915400765333830503199855381622965374350542461866254826722159724660746400712865361194788161165513428090703210202749815356354865230583498073712347098408465967663896702823293361574824392134826337845092913246488043796773853541841597327308588447460385414646889664340683391329428011014269254805837006324303443689709008374575303674820037391565541786431086532686318481728860492052035508858368413369518872395658737269240611584736613264058952143647688285635490736169614369207438558561549100438538331996285449488549506851651342332676284658312684981610254202791413162837821401177152450757137844491871277365442302641009381599415358152605258915433387496040850369132740835920905917245186423556822010430042354277766474949541518299669479825358870585217670302555958050699559217966475352414586508631764221288346444071376377373802090033686927904252136115772940974694769293214745244809810125092219415960412580931978468176221698572732219680068750419515499231195330263270371229705271672758174154695427846668472050827189440340280218012054547234129723677707330106305426310398801166534088273447882444114759676349253120230652759701812287580412378632863861021151790123370922832876867672497272983001115544048524100238537334586639277887132273851142822358816380040016786716154863204625980138799081260530441400016845055203614959224169861994204351957728402278378566141952056920650288560601963410477298908716187583420503934209077891069480543330623509691066183522622459531638509141469280044058266556868817293472130377717993955693719459832946687088438696921669334354903769331166045181027545357883077980282889321543261893282649120874893629242857188198661897583041240699705772876301852543009511994033719405405517476879248802549126519150919293324404535519835606645068937988734134746853855349002988388821210970918240053425599291555291488655461769360232565549544305307295302594490749263525247574377910283399266015301178756705973392462251243486647642874619892574514985784227075316872719139710197209903049231050123768722574386039007182896075187902917793403261654666493879004609778280483662528877855381301779383020340562083232077337146575681970114816801793893789814890516398815245878342519712177916826260038691420785832418721075064313181633562191701851668949724810933174004421568212303012146196000443014480463659004197768579114622913634997494172438619274474895427430454684108307643423247956440468760387006123873217651455772463479277315660802868755096229428355593232940304225538858881551912539045841072547437768054259247953005404406921685557064524529635190813729212549623877116273623004115462232582332158193229836755906180784807836332678229918812876456060752212087762606367273925497671384566445906922358638517206671651182284883486895426020970574267936629010625835046003855044303146817676231451080638729680747155270470204464339091172240894434862750110347145381508779254083961174578214256909056775124921511811795484301220358508586938842793531519935514546535137658218832302069370462491112510165410243776253676044119330554731104840342234558847281886095807020471929827331042137231218204183794120717891146402971084331118639296974828740650819409847179210568177197532421521350356023703356497907692318796051073547457900167238133515847194487189751718744606524585116497803012214211582751294399571803977624056660498433980721934788044606848125555857104259367782237050846297680246911793273417636158600596444318297645366352339849336188299454320374173913827905186203053396484198750530065872512000398092404767640439545699088079615862669747609136690468768641371397527881117331614165253940316364393514181763677740668606842127774528979624738968954552240415678769259979669282463056284380377038466550436348251137437831689024132822766986322350460760932225855524532861534477443486803620433854767393580825477733418496710463985344406478486436184529963301506067911199074055723763338401471659051821541719388569351248739786368629458258241053752088383754332348932289400233972466867877487929923091082139910265814644760933219574232126326729808852534138480352519638476710380387387358861511474060535663852015896373829004806501412787283690488792999334786323219947491267396399963009449630789180175373998422016214990128883157511350750436509046965849125007693569779312573155571419773261708233307829552583042485099450537070684747867283101713855977201242211499260097412589828715028429515834384100847327624915539438016420358325671670638115385816552720017044394856249765314818303135933734107708982873767563356425538831006315049307861373321805893489617831789723008054222311533545649413524344385322024857396779095508041701942586130035883103335433085590409767413079665575806637790524863920227699142537103549177184482023911142931792204080123494896681393469862564441770574122113733257055012459424715092434535685096609381041826792276847586057066228773819377212357297586380033612478658613835911876775024706376648550927512531804388113531624536963051688163136517963660518029406502715561088679495897568552632409340038130022513029564727739179144088423774898973528762990821586708735096540805318314503976401895467824950207470899825748167242998328510689363350832253935082207241700744313821802039523746217320342735706896626296569589316932517415056917024482481064235418165994578835828889538439099566191425670395301647550083562428924878630239212324491247649128445625669581212904753406660466631565721690449093738622859159897469737833244069891971633025198967757451632842197071298589103920472483102830711531116327232724496035149113869126356368916433261800664817565307864469686250440616943541705846609922069503171103036113584819544627886301301858966155454986242414794520702791687704355815450713694684584341978641527395793883279078683616801707328067476240409126687952979164874593463955916021261360912994034964592615981066077576106768018493370606337692952305754221336951011455036757294454054219402286680440020157860257557070675658521439469375002838724327387723525429460925330125074750647417649679147537190648858119322373349215010704858939710710545326703938114716573549386825723977186510267046176014976372121796095928282124854772580349985123783078075845794770430642047451572856088735855837157662882217403064433568636431552958443577558027978884272440500419998363698400897569326256044537818282566381469139437120289144157336642351618018389720791882685082129458849685890687339409629871440201950348073869221327948233190176464030927195153970460953689457908283464476246746764046004730455720499363735746666911471740485666632138610106350725868790346269099553108252933529721328997038932423604627190746587867071365686213952007787528890409048016713275037060487901985767115391491856315773293708068083386607342688135073512147538821797414872990192576861743951498780388658926653973504186137696686888174213292520947700633418312373548747184040404564130573020836282502972662940510363273884182462923349901375177498764952856070347696474772772623994814224800495365079157723843310336016414004275226530265804098109036105045269981281332915852399368973052015953838950338238760343692620857687686091643157574215172325057336752245327972941956051430689904649577236586283017514171704045519675627214503253810875798684990420460160421110542620741710710487588541304336275538397282478469621946475404085766907564809277688559052579230266606429943814973146272541985624058401715725955879188468881736322686226842334834600777637163731310606663519317002374095617065913321853485733320907776449310148095166744583173586487625218469575430149211509251576441409409426914112554761927746117484433455827802304921468997014649852252724310818686781713995742488421311402943998104382666909331330484256150610523403938749097727350046265274655436081070031077548722669326343575271533455681736105756152696951979716464835322282358734974799438670012497837603479474831954907589854976425117010557074163466496488047360557255310534333388991623352320767315114228642292557489329336226396545072003950805455753427454504850914980714059466380271053470464414196901493430914954011557623590588502513200610761689158344362913349395102717481388052797506774962666659475380533654315446727991840765072766419696588102613042931829239916533209148772947905092515238943347337260938266956082613283857454444276301280540678750823584326845695083585788828519040154124627844210346712514339808447665442553879174051958203664146340973721860647846806696068574649662437088630598634817261346863794277937069089232786088421258758034749508644760350732726268080453187350576768878655988570487276032258160096677505543974287307139064554741530030143519140447499158574785201529936707368495625907764294915087008980144804315679848602369556567433845830518510439300156337749425823735253347178068612611399158971141420249734468384457131525400295170287110674261572486295209608505746323943189651403491899840965489412048878610081931897255259204241957427574443452673022488397717011874826081267846671452037697562029412364113440156402155834925018805300543674542098408160964007560301778519047115856862054581012499811100912300003691859296631459140757530542439214341832486587573865183825965664375580034200974017670283295850454409874822832070539487604572553298939094130848276745974209684980647605122116140880349606071344631186316763365801880310492585328245002779073571846160165389437296949984285949596532642512156659485522228551729390021712591661994096042295438248733754746520923549142417143144776232113324331513133929711388822692960797132036081759378427912465663697891711435937077436419468950760319618432000442270865100174339899039623569110331532782408488677959371257822535198875947270690841440909354856981829320276799869865977951488018320186278045133310086277575542493089464990107082902069565521531462579953763238757953463003851917932528114942568538383272885465758790763846041592346192093040865738284361198681873749285603492825804339081345463252620514679601353817323269120417244800369774783091140594044638233820492040968684221845513498668332036549715627350628365142528455565548235219396593812025621871505708345951467120684092529568055872370850527715765709712401366803245445966509554453189943130753722059123081973970418926792395470868027123102924131812794858942396369997904950638315388763786095196825717831276367604532466951447157425515058635056383707044723211460729625015487427859115957348725503251952070098026039504447935697331008486582601664159008030424210082160711553658069717587776108599236852288098036040501960585086453865843695457142627136268626504983652535465624309183129286467031436188422630401181570441082305223433731515316198978615155173419333680094847730973739791582166324043670390865016378802108347373910115249983716376512539308436024101541108016917487314128825041265975235451885660918223077646592757662663621214036673581161830875162755676066689382006034781972904576142383866622081513370292726079264373705243105424652564802215953073135553446614633606263300365106545399499020977468433969803236270217261585064641588865916662768310689241508776802538749501469437989098188722097685177967176650308294176943855469660917025362293387896290358430819191037126736732627805288222081405525740681572183118965488472653874183894356429780182793654873913334892987536279498018363341198497898486035057626958692219695155633661475663750197966890043010253898354818992325298593017971373238228637285100793566154259220928082132446197323341748898243524624593232031658038910617492488275556347560534380080986944871026442100954574492356278116546718407610544963786826050947939840081271337505486428784498808458455231499131471242250834431752250999396898510975504835354121841695150055448831566112762979427977769230683577389778280449853068688130482148576893536759640167723160206156052208419251313702525844364201776513542829019339791241202987304649744736139211776606369124695568565347326537628261132934467657838325614014530900994821856333241898154560361246793543323687854245870409708015828935652924017716973334906363586458712599204634173021002288682319179911677604037746653087565721424839047325737145891196664318866781089634797840733559614293777733153212724086772501053922869945126765958409154134130483433491176514229772027037525640914754674665330827864044461019064994030777028537305800081275275683729208016996849031803127208846186240979587524425948023651857973349477840164306741710487621697904713730107880432779694105445015402110512964037719026179560364081933827773637570408995881142487311596713192187315912762579139080908514992632804024486417049161583227836180161628919793693359756049926536473482534687437897727897955676086997290791298028066856317046472562501163938495790010477006286456052832133994305461422727240709222406547906888674785699146231191146088046879411331639463973852178525127254058756066649462682085102029417047109786714971372155492801340627199976347498750098926543532418628628165475633376952868332961776400397272433933629509436184739764921702591836316777510885707832418686890778836184097013185783433150487869863577741240524649405410420331349622361096040390679708009247074822132411112173219592456135816796165308013407753888208171786694572431942509904642828158564693252867303657696656696259870310262174236241540743200564005950639775965237691278141958187859314702550006771634695339792127156800851926187411991426643488257231018004209953523656163583631271437181680104924584852535808610490819925784847625498002149518817616110564385445012891752770504521387339668998976267727051092990988942463340905274490885392323742005587569530736589200729844995581591497837227404339282182521128382903606513928641341868989672989170884423076784679854718550867835337931928623372239065404678497481275973376725848737909248934095204909426107534024117178951929751776736875492221133062081088517912398837145244784959644312040213023624127869140294908958752118961381483823374123317852362735532805184171976599594783013126380252572461700172965323264784144372869425113918820939756519904307320199161110416451368666176853350931712467114727867737215935502138576642393553998873984465903721530159919799534898205812097763779934711033842295910073623603 : 31408429040164376260739113877809252899099524669650741755212683628050610345058214728725089383767916670804611752632266125522731761694164333190968185307570208612822526376313959916085608798083653234814652909990808372858953598588565495347233293769170133369179358022472725076968016578684107942473139242883917200450787933269672389327008534619265451972119183390403770976744203041903745158181519390127440469070461221460649819358959975472548802859452857195845557962054037787186250537203113580105538357879168624545586542734147446119421496969848230794003044253440446281643767996899831858095886456365661116605416135302316564248688569774897628385722569998848570185394945636466837489549534779615671436490402819634110869185147263354380313637698094575321796308835182778350297791539811754071849314605758224004488598595295598939006602119118414860042347468310089114221665138113750105975885316653649292739188714284209511708102339777421412366612028720388616823042841168476005051794245782329099687216061956176465775768423194733421603489661016028125181182782068479018275430019534821960512773925511073010545086061190550125764253721523984305511869649525577053909015120598357268676573284780544766670649189431970726890894397329279627479217638654518467367005025999098565545134105027833789224700236941785069039933134947871904871052813750721949196898245207064720651789435193153484765303773960265355115750438074141720863246884424945102471479649953554179669876869282266205573208827648505412913056799245210366716608656203927495439081922296840681837381131296277527168714429445818214282305788861911620450933102954013716886300432676364245445722920864965881748161647127062114792596069772018890038451362370822451436920136275294342383134312043262779300174680628146516433106366438430412880922424429235353735912191791178479354155492443830312042881055749392660098168282959621575368805361182634748106254922181051653791064515957567197267211422963947323349699468617731343726675889594318857507737518897156312583225541922018725714600085605822047621805193591980375714480724871517483230374958556370615477977613524147951473995175430874934587963307707888155911967612122707271234834095366898467360908072002015399732799305867449023958782720399795389713356463485368767012595027691119467093152299825646526466672979406915605871903921756783967011760800457568673753113284597939663225781733539620372638179619622662948431276119619309276870789929408733273520450997491474550510294296028499671324790962258119467647481471602094246784005114852142165174271513242485030378476174836787642511162154040884431926746949574982110171568083778801231953228659823339317577760887137512514091694965472899394771968102455976564155491149364309181396560773845786609159644191868614024929234316856579467172750111724268707978213508748697095869645508789260700611511944798756789724906196663237078876009315263054713357186540937922000907785443676461648729279514714208820275542571176358504075031645750946743647502915173245488573635342445448483500736829407197229463506335125092132850377628380404591921962790679916279566875947482859830231839520064487062962219235988415561322528914945215907610440408383583241817584335802252838062301319136529920348671968076401470991937353391842146785333611351034912064681612406085479588070061610960261797746584120212792944053319388580568071144592362925409176607748106535183653781711412701169344263820166221280753042731202174002805195452960169109353310007183762825142679125276133416873350494214783121617887866332959270067590275716833791428980812034791962787861141356968235045618660207362633188823788358469731646701188478604647225114726041336385793719731238362744451807920416936580075647240448762718257779350944792559893593600241336702570444241188223601994501690217095996506000714922527238028976341082421557095503770955998182914774903464994860356647623080348876384034501913067457651537349658263581265996338318250392790418454307423732619628343181534799234661859556176749536917532934434426228906108545664900246988864745899440271049625084260976751197322947645758872496358479646792336109147219900745540728066127976225273782471148649336196704959192687334924713183054035719268500765496040198983743127247553070004320890487129732867096321677150152776739345837601643444148123295377517451591173278754367802058781657600494554983553458982232261911117801983251122342690950710670399805817610325956869741801811884084347258028067843186536458229846710053412477792291965690186018517545671202971406447042482639710818456523296227808313258157466458951476457633050263070907689530192892526025537864230741347286507154629032721270564198786034765008794267175399336929087615300038268927403412072581611214507200093668540889192357498498691563857494793924747578537009425632729451079267698183270887148035052966582818620657403862165973178120655645483437049659454786952572994777364835508128461499195559557933094261196718834050925673777137379746451225211711083008960517351140410904334113365790687975909523242027158839341749420037922622709099997372183689077423103844155415926766664063296934388434091295560253693672473459343047929716612600625420139765407424066842109850188317245991199828333181589823349776864155454831344994789121166763358396854022215002005994845607815441014842949792657156759423894498347205473318361858603154426344131449791916846345691435061459679617571518306588150165753208604565556749034417125207928942040769760492811778536198072269295249688293599018473690912109562556863354081129546910028615898705298040518708500662252825242513190291470070185126814732072038131387593630865961574485129293988533525042914571224385345338661935186403855744362749524825861438304878112874947020533856303970272235469989447284964243289185887030454050747139565935770133320474306154509938985051115637664577123404509678487079913212102399753890117411126028201935214383258969231512501974708291894384746422334042598458163123726300937750666687914289091115024905766142457227605090064293378020866721520487519507042646884143598338637675390394799793054871825893615764597188054846995299219261643942923213083255388337072539607873863300339800724211704582034317485279253365787878118229866637777890009645614872354391604453643033086503539455817933883995928617390579320581111872507717589760178252280216536389805158980248443882827170389684712418456486511158294108056928794154252341349728924149816591790389352505623753249962871958166574601846561576200580902945999985713278775872003294018825627233878468907572928321458945882178396378134211599272157642746248548179697181673055100099638198926923569447708276456774785835837933593730205349840387174657003215939533575053263684439164837335546463234885799921263917504363647950977738695268008728086740126333493102004758435772858750431095148179441576576926418970058694984578756737451083675195353035699833862087248198711501970769283990902533376709680070355572011359217383846199563106766296332222164801111883519045777186007253221005406938104308334029740774509047131794229697489106443113772040148209405221439449634225946787552441840263248570954315366986771705860289026806679909933576175605522494778262369845103058009874751942824059393336719069433559004651690611405876598336369943524164152851780642985384751011877868907075431932886333061357651802852175982399547040428025797848397836019515364671104128256894099698297993111451081547184847773936102966991751110082737549938753291513048349134270184119994646747081150074583656657160019639883863461958044104419970893171529923992971636135177380650070685852570750933233194793027289005225201305319072018477663691928147289939561205712902722673514221589678230421794763375541402759303050163548190309408435934854233371124392190775228426521033246430892854999594923324929001640983818424004341540350073812064660502680295827820917964338144698047759310466120123742488540792393566084447103099097932631749615781542346190346777002367639115031403827203913358280325480757894429609337756690908635648840797053918397186293885139334508298965653271659476826193462530005011431921815941618225211122435507447090512017238643295415787068742587852650195516418812411555289945374629770228874515941625196821035111589479538835770708149544646927092601047593155870800949838004685339161720949715274502135633844651339688710536438395681947444485415599867258893818676916361658312924891404101865789762942492023279159597586425537679134416934423406058562456391958598132379747311076897779964942881895678876568484210024972728918714045713141101574369455932626625334167145328495194473988764998705941244003143087246684403202802644866540631739757962402349314574617106116575317493436787045232564227246199654864555144680396733310387233745707973693373364075666239618565313483013945427815509652046746009907578870963758469290841931962978948067027180478329911864296293736692592358783278935394834103472050459162140965638817729504974734679594087224202315942784732127445319744863807505054094831977424710090438908057983117900171880798396358896306645199465082856851344434494312240130768488632081681190229605790771664603053681618158322771289249397159907825629479303070981309892914655935332831778921166911250728531013240827882370252127841171047188533154176816819823277124511416931573337428389200061845691339530714990286024844969218793199952611650303238575925857950924565780627086867608216585989232182608633061070534478183316742480607609079926142647377728173182977726639006837093226182452004556336806203584202315820403030356118390418975860394066659282928173190549933298152952781550110509285526306661503339525943684079141157580306956464057110196472132869395240316348637341203634025360831065840615296352749947665738726136879719802779063337326312434068450635613609834820939599954855193110516294354059849282791817171282932645297857382621366971368068235190060951305764400508584993816122261720029064530412441753471983739108127435090155507373530105638764929821339941016338768604682526954409541736580747012408411890061528680042638589558577843785036970148486306148854079253637437457854422089307449104654069983206702025383142172146001201401544933665904696776349125243872458008843791688967198708320651943538771493550219153656819174225031622306999481170390925742512695251311581467701047960757446301044306402615496416507734358086967397885127375878796894115319660535054247491543865654230394963926912509753609583922133210794528365772093928842361082217554487879915112018182476312999467212154341120801171340074067778072048885682683120909867358274448154867533631335336939202030335002619030412819792209617916945670066020508252368634023999984897337424534137010232927413991540436649792830543006148158158254015764350300710770409394809761151284050371700244296189446778058248499882910943083145562229927173326270346790213051265459578553966213487842297349040902056450922507356830302484526958480204263146548629025884281746381636259928349539743419040230308939264576546765598139431747200874687283417871415387091353673848649281754442750542334505513599849745156774739420433516080992359784838711941127560112951269282717536094260586713663345428660127983803625704559110929736357370177529046011617677422601276154292527352752570996433539270094474540437258691621853045661411642128773241324470183167191260247789305025618267944358817557272663579743109121684945074266308785742517867076070853236856910133558716935773188709253145265970742736607862431558571771493852873105583596255244274319340619248922548591045656079812827787357846967587613395844574595742652370112694082698986055317358234133304360193717324818350409618603318084826199986458289670128969604806697990842487625392757152267617147452103720227309495057760557392754594468636253225293420412529392181717721163695993708863927060753984638245998415567678419515925303156806682136805530772559726537607194539949235423019318604784947764346955110390707281953545627001513770752436524733273606401122763921918813747566161217459254691814076245772597907200008829112342013800626777273126617012202266933096398514812614742565020352974585034579175497498143491310404996772217125346362934111183603633049636619788637602018356483718805821938899314108701214996786154029677045752729909711539846783123461838299188200057644635315316522527667788398761739523470519552568622649122518089635492840400739392486993537604624775770961292973589300123799662572367822567305716947414020626892448645754652524711762683801492146415885284644970048504118982085323637847906229451352288842399872497047726925308186275822210867180016297214974048108411917348145260327412465317861211337764502290363182456175558084084378459240440954592155180356609627286259647082856605101436418154945481149505955989004836776072143471915773125377807701443145940058632768610873028012811045066506329065218961357042010834219639891432182772026126019725199523879440117967675034375111885152908302590112691205701047972538835342048804072894569279601527138944240393324164427766040254273918544498128854420516656910930251269983520047026480982965201978220769548175153487397835900052179186025246618747218636076179587485646936642432907677873170140054453114259241589012659908965160304176363405961910750055300386434512922554217688369500933818875891397523767765228579290201606628179097162281465618225506945488614847063418008020263738199084600401354842379301967575065316597408095904158924383935080763598286383464806674333329312228958386789347670176815418023695025921483320081120628920131341864590707179189560433800198030884240592315957039573941168162095523965876629965444852203675769500158984728090461900641145974651259403662207167090884794839711378096882792506954451109855718244800905749125746285305375897051218356965522938065580083850133780034021566209228801887394814039722864272432356273494186802408619463205954551528175172035251351030235052068696062893287188180301586953889339610113234559106709187314202173459943721221106328692533321639019550346768402996685007854518311671679570579195368231564095094024859365049291472304664075153890638792394969347256493881981675498467167639565111055309213705537363534461271156958497648655950074204049843982776589054185714348988914054043799907814064654482049948067448357867157529236493608931526971478480252596266020103444777235244979187826859874712983137491054249600115529234762551404798701035051533254329537390777767508808121195882351889248248194159631827146190443040510221658079128682418988443825865644917474718412070136122818008926910017268119271800450855136917644243002874145009339810124777350677814532972325273077298022920603748373042097853978601460084541106066995985903549876578008420507407010748204383979633302514429502273381418076342493098823873889125752161077965034510695519142970888618284830269256437916631915172051909853246776993746983898402865681465916269003245892052467496706881295997875400347126790114253811493655034969501847023481035240649557786133651105987728101089714269839161056404076502460857710327438349308102947267051066871316115594038477316041082843674040415877745783594126020460337223722084707456694308033477750432475518296346896899135192968114321932661015708282683490234922973934631575408533000133714231879732257432231106628176371584514683528302691667399203038508974758539315663416850721180793153092467717991167758522128405549897084193042478459853198236307803189360386705962708924740045056458365483014719185473937657949498449000764804300889282066526066962029137299140004558755445733412951349603128946728437034760901537546628916268420096214400050532886558285133424884941450974964180703362638695989235007897138622501180494351206915523877419775428286849941314804267134851976929673324746148170440101194460659500284963274574496070121118661460701770567118697967036992383008642673573400196108225883485417593038821460182261443311325358403142677898130615346994127890935727384686585316680718277917361498174052493248208014402623461606647691122824768996812172849469806316509567408741543295432907517137684425609358274710560190374464907948789661438172119516049947386000158313772472411467122472459503101522893327237580122226540179186890288013433794027852875313076313078143402000549916021438007758817568961710347159504714733752204730821472159436171654219270689470428167111484106461511308911204993140004783961091959537681342248450902039659797322494887373521270693379639311700297418251102692398373415336303989128529306764488479588942695343107100215276556308105477177075314739137248502452848206480613820152005361192221432688200351792407612340120802657374156661871957353437046404208132391277073713518087505486980477406235937832742876259478689824914780044267465707285591444934243438849252926697497891163156568787180864137281776956143750401947685403587649293094359859604702097772520720835350352512642809689418860853276951444573547521391522083988203424430036502858051265477215927191032406310211958086936411614361087483295676332866754743090149303319419542319624981605211402636434013598374318242189287007964007134349770929158523969130208500002132136662667667482340410925811682313293804795990124262831479834982920616512351496701682931997714719173068329046130338707952624007587274219001437486884395409267653276326645989565284322934023630001489496706306843990373149130621238366593240218504707362676518822539673126127818936432937895039770931817177535074640694230866955454418573644643280501106231589312125481781758960611043796838958759394848210902705120762374269253908814495232396214745596452376837789210694949712988008876829123162216758219209521473000052785637829198668760381159024921215212304855353263722232871911219852139776017422468503781533034146991581222588168176480884665614699264058620758219218249739787366989321568355651461972880794432587503493816940364640649759388058306008855758392734239368348195393243192885439761187822601684666302853398838380168967013483308109129417470497579210098843640285078748682657941662207139938807338952786592418259838460425334350995534100591667113620902274886003891652221689984456538586591659280601209679311285630219091952160374193619170603434556383202265016116854090220101315370977350135272383066601244326345508570504309015672302427262271314923059041903449590610278447250939894052547180565269010355351274720567256182832444309647884458209276385219433734443351538495607940100532881448795393731438353389428343197754721114487763615395937777339411211306997184023764561326825376303129559927570809679140315017578386476175106607524716212709029683423155867036443943999185937703080534876825245713867812959878298751621733814180338100125318660858366991682755652210218084308100861763151741730993041807903533716365080024310861398087651969404061777643733186494379314890195554022232653452151634283446007026295415232184687950858918489458253465130976409350939017329700886493939568916018068962692054498209637447649361750855156249665237709346603236444923800100687614256194750404336995396595955952065979517542395041252482109975846264015180820095913281863081174441863627483508193534719375673411373571669121626262348816168483689007312882759290533212411881481143721098208647203828796486801295011517979195748840177679554372873311929681902774851751742009857976584791104580350864621342182557717435786723478802849195927370580873445516581832475863127526574752283668301065306379111032866053945587503997503466965681527754542760843815911562206221766703205899393933682709259026879605669709542639688548139430830216288877897830465219871085288766734004835300137740835527453753688447991525600593362770563691681003756382176758463603605969705411959164883877758970533136205091244159039416557192507715251873378992381115422781891258572438756124510070659955062736957381119080877005300581648142870545188070396919466588045275076555565744954290079148541129992320251262298457550116096643562781398537507573607508437830408677910953935614176911217758977501912939308265247766568139305530944650956290689611053090831902481025063062633476589449388492908170930815476598095821173998075258370512113793424893812168803087463318723497331375459288154150723631064014800464923887861341814391586401085981919395816854468612347754878040005353329123858468698404426236012012456206844411802333580485845812582191020029524930986460363750651756423332560526146637273193626300756594835257360466574135818227579759464844399930965912638532151972426661891458511960360579862356039284883209622941868895313549546374612340446669124547104238842391072172543023824040384567702642744904859040321878516974222981196981334638320835216262627968208604935469509994912404926401067153957125490416243165644537752786119844339326501848255663729621856761778401027685813736368858090280265480611024028597881942154609628912512249131489832693130583634746549017420847250234967038047315383209833184785321931093515825978111679989903780606992041036258997976606306853343929009919228773323805237482800796137744055613971798190038754235258288069245952227632196373606087916695472148737574688222591798433549832758717038678796658384778371892661736709171305486521407440691214181489008779727049467719236715333163406658845531469055843290165525927557714641376983787607939171641643001039858508789064556268668064299148884723818157528190922360752931448629750898580240348089673195606801487570157616601035632401558567909602543072501904577203751451871576061958165486039808326190026580703572564975538828326855139797867350046527075909823840378030229013572063901398158919477666100505997910431779943294741352596929417326066636439867612789128620349472316343006066136879571830983907568404972657138878146264006672855152676021628920919526651453359247225209639477055954116979645762305122768066802593590370709664761787702339101848796746132114511608908630302810927758088991544742552685300116621335394330218277547472805216652147140029331840400664647032303453776999896410142606471395466161606123338265447475002138006930597714828397927358511357734179864690778997871037355740399839803018095439558886997996183968198369522995893016243780960322211936548599580872747098055289728621094503347168346976557300482647924144561200031245981257881224364307905161522902559383624776055221241405847577143131605210869839188016094526029456531547567931784680000647217295398532236807529217833080155196416963537075481052916302664035897488272024606272124814067763131027470641808443275587187223806091677640465415841465617931321478750701935397874258109022948488529658360767566560775890841378502050700651376788100201184582500106472751124023690837196380932096001643976233319718529827742946945008292871824945310162339545819377492902734318135582140347156310629923727608375301789291523027551208333724849636369815688850391418019634606404239277466774549962707800468190161487700954201466097334290474629577556312497162533540275806237232899342002644575935909494833758220861812684262202042997837505429718407701343667548694071635226383441164296661587637388815050817257733126273521746883066641206340476400257029106062482129981745067770419410045649397891046322242697968543530287031873453861391921066042140713510783754172620561561344897875536284277515361020046269175201247823488542844601566509059298877796935414556467183344682624323460863956091555309024112286941387257904907326517206136874468133821100079053314282423957292277653218227762346505738095598301060241414065379735262161545759205612920272557051863804516409592761049340525661650701594444378227546418653364190751533920553164242516855431284753949656318586694522648017950401951000324862911382235807543425595423297817314610616011215962631485267316089370266550649722317816728172085361940191933020113287115347487854495514496176593080024400875208022154518284598851957653721653130296618014106247516795394902437675528175988295387344642126715830540247834332093854769585656821501684100390581727595433991831777761111644878882599159313039862144767559604983968853245868939265497702232726910248119659902434928020863636644515436077338824185374782800073682084578011067058833548461778395988205952663806316916464114503567330305244466685178165699655102899516269343448652547054551910480514389819342251532159800487019408713477845575050851458782146999414001895347903390423566741028188111980838532901890007106487565305570795098203170556036425639033725056093201709175379932069237638748865467445909635563943114375433672066174219727315196610631221088877842818812463941636162120857858821976725239035921063006445568119237618533440928635068449453634357054578649454234756698142575596361703931942762893584190434052582424758558195726569669645955084499475843839785082220503760730026772059584115141388938473556920345246960358929063276251492303815916681874276843631618413805738921273902373445119361919310759428296458225661794914053768983081619479354137922720168731572639140345344608555787286640508914213897987487032895586144299379865994827616250190823251880512604844063084486594140541088160459023763240153537202636838602160347739005845900701883993204173978466019437281184110579276355173542793410230701808953527176781796341550370646961054227064690928813292069161557385168906044800471488889640112425767055722485374797975685786233925240496158559588261365672669894556428935208572864909692990562461743909586510573180720800348077929930105133329819779799141136650053325631140695571969750711478152746099207501827724956096274245553930820710027527185849649225489798452107019580150994908539040778268459190077450365632722279595450486058894044310114500325411514353391884751353705003359921519157896880930171069980350565175956524338544649052057644269393270683864320287767476618117904261653131699407846221730617653534886487395023268974823282303492585221366238180393651902097713351941321284128785819725978415196848040067441633239551089815318111424116631153372549714380478485121859007526793558126100567097446909820683369244114613366700867235146923531038133323055892083150832496299772585483209005175278707852741952931810002475099669495395448300432711150561373137504809076155829787881356152072853956948993364341392200790376056655181698553353759310010762475065963606354337598621009945637371509354711478537374938501207953018782839271201324150926714829227404377394211505855113159665634073518216442653388859289592025897202377876172612972346265735579627834005671243448643132972756408409396460173125029724999231356267910466587939766792854021468562825221843397325152948096834068863862496474446414674496459578333091777176789054682011404817258677944038994773469682854613935024871178631547554215365332450432469243582648956387745972217398784642794569676611558014855127610039302785625646849078558897666260732141378627225389226740405706031077568664391707114267625307266062617769068528258463870246651297479875085058761183708573519271177679090408222295008796648704504828331035090230315601489679346367518340089774264011709013324470430722351393019415071370219717505928569225332726584272462268991494916109336651264180453157587004033639063790180153017451412671355476887530642424863623715023087641894663790511618430821070504921186710521514813950825795855265454315377440672509241842919620058290306705758371820892184283512199092097054891912959445799257885046358836384210169909181887923722162695177512543335452900525264158800876070642943748045914878255101996673637467944207960850136615794185266926524867636336963771771637016865177450989302104043233414950580181786354280361052422720676665979968785455585029452894120784657883218588078546448729110344619209850547997957740594555182690251176325710349992642996329341707094865596165340078857722354799631647017623680138155825881591838656911553443075545441140498550936587278300790142394824010436980911807828320398289981743130956681103650966131968835527103476241540687630280314525885331209660470516939497613385537408950907725875554760694011319319986227274582628261749334738239376645981455611474687855050170650672797926156064761889924973220193432500247255973434094535067265910984664705631833479096307]