13.52774925846868289742587481738126132942548659165656382356912027560947938737122696313150776108903352163171371746896681928626937214556535095629089433219658041156892194665243742412907712821807197661404871263689247442095810596385770887978750884236278628393755184796719551971884739242157498779450220880743314609546586232600769770904729572485319869690428967785031044134083948621599383636792750571246392319970658620144147855556061538255357239909613043543607360765250762299606388869535580336987230880040679667333702740290623380786866376571866712064426615507219197374738253433476267591406179307759087973811787159427893271807864262776229595462816618776878577931049358290192472278969575795503233029229390496630819787283122726871218741089343511167132229051197422913340952014459662172004169164106381733058756643159466207076142589291643263410162954960847950178403251027541403210367272146733359795749344811430420862407509570163981291547920969073677038667254167464668833362059899907942762000522977921331931836027174510922168600692487937832419208623544717409964892437211989094860187759863773490266786388432026154428032483817359455735102428857193268144545215710729477124383114026409949481088649452954426591748567486463378004941643135116606734336968909315829917346438320692398994526510386463590053191935018654101633802747440048296914961926867619612833115744960561923022268641243431069976684596437379327156990981033769465001890263794527820114195818494077023739499542629851372193197510285118430595127360443119200782327077715191253659210755866904273410853721884217794361014046890880956607779628272769643505357524720067340416024405814716854066569691047179146095698764019085537358203388360073934812889829346979455387494329059602540725047455270975274613753365132367652444040728333578845229102150493468894965993512751108713048867948083115993651034377253754723453018801152181278368059621952756086093335417652290261091546360663297925891287256161057403977634812651773047857751374482308033882178128675371074460131122470523973449869221052848244974941527083323150779726595966761048563069569022109532779998411660414279547801017089233246407875940726654074953603126261371061280477469355781563103095488436587487726840549518686679474659753028885822638610105582003919580024458681600556115840442902727044773395109482252610076973973685059063508991570370574827673455017978980583245362137863045935202448003968289902732811865150215798259482964070103799560291641868105089983388219027688710303418764413269195653503370296488633040916685440160413702160487018160779225395935029821728133773445982485615780300588841888401261257401121791963383111191782931452238196338229131324442468741656109254926546118208218885586099122240306640544511151661742354742136542858711076981838289743412526535249736054826531975570474066635076083261664755438162668326067838852943008538203304393110362042450956395871497420721533739940477078182374237297235649805852068742994972346116369146829309002265309857117885549956470725904441774743310055352555680642065644332062138860142992847417770687917042654426080765590773832765361027931518283682163743029409023350553170615072154284990108322219233075334216907263388096435494411627633501627764730281087320867994900259177130557941617112138343677583607234048186139857102730561075988831969712516275512990717757702520139486991445720011752307764852684379490500124037521670529641852599959730643588946079571711371146640416824958699823739612913934439389987051302574900752756912176926634441296751339528184856100755816173418762730112759656676451332739084522438075343542198795494048247155670871587990056093443631053512656916156278277382223193338207242281247299409740133831931846297295834714098845882717146986150952376176264040153664909268117325527297737540349106526566264401874164852224583274185770305689370269026538210767400383584973481821038798242286082026237456638578305756009416100402406830397734735256262509307554283407015102467293787361016782278851909485253841712440324832895329475748125636460605055236702813535511347208068470566052183559986525702820027615021846377735810468802373256127713538255006457519783082170852464854999648195342428703276664504445748667168793899859652019515342526059708235993633113186390461417385958215042188724800621517250375864793420400611221506816474667337348350903609042230575572867451788454476818589283941536506759719151868243102560631337499399640147849289179910545380525967225125162606694541363194743311710485196615979798665776028966060997967396376153207831066955980133670734179561714357718060464726609068653168610846079933978935841854413648570397308634186458621670993236527093846436422976450041143993494312912174393995272436382751049874677090110631727265433722455507001752053740367551834831190206893284114774556710947848038205199748326688074878358260186651057667441566316465009888440406503299207320010729591540535196715129453473090587251887696474759030301965884488944601883146289208853537885838654688443909922793929743880178113671469377729610420048020610171309824518817283327381386376598187910550674977890225187230786787032450000239295421698137359384517887164911061483464191858268527458567238951403701373377707963745216765239720388638026231447362519428979336479796508797560992451969606433053713765957916235498635345858372338882436629937367962660121269777625597944918410891342211267759325837185634527722537694854396372261085980906269757578423322011836070252972465702144201804122635001035254154345633534472165699932919445813884611485657997525059421158563610139503013079160554294261343393331249391263861998020011350219749084990104676340340000878955783602026571251860649204229623127249548636385844646849680473174385014461022564049794112196058394660934768478178120177517373671751784644069125063538952423135000302998137044749631697730452917621541690081489623946100943654775664337197865912638585589168840442246443827020978043617344407636052990011651281846041226200843328138308916607663134973993933295781350051996810443027058862641367398989795958743349165223917348187300425700434669145593223376359102028434978416764023480315777326755759242499278840087860841534424291688009167735945824082856345144031837002059556959974772765840153669184007766156517381195558916679519882626908024351005608626961888729837613178694164078043697749357573569882229793890185931769444775649123780896432082636580755666643135809572471747855780058394466946914868388596130543696821229263872208957257433725056000903479958009771849677511182785727711844871265979670703199158178142917949617121213597035778004022191879248523665853127603131049534411841032077019487258421702152354354150488082698976456983370156005572872226548741292786693570540248926725782266559402799285422266691745784178231835865030747880780957772863541932049131919583655403035969736869456013324289562802597849902447048211399149495891494054845089253471314778091289223214872165336171094993521587207136490645642465247530235385401569376055505281250276395662446535223041823767369114640569613031698862210598780445013735417429168101221988994724339923326607778121144450452898834271885652735876424820550033475958316295752695295667442850535790327398319687492745876143143385757353852570163590704470301022064350078873817875767570457581526576792599956772461162980567060970487081271589897650317031198095390667739806089024569138163964347614665444788782054827369922194179061431095578357345053102069199156783798359901231163194513927477587890696809436809058718063621011329545134874384736554699343593797232342293594544108352064240030889697808961821845084085741685509182348215172557033139465261167331677104099432889990397484957690632152660390716151725398415813655762009632322022717426413920691458586113508493977076207453970553324284383923857652273468915572300132851871105011054244376696248960990984016004753984679343217025105362943189192425117258761205070403000473020912130958477210834688285566185437003779781028905650822371304433952341541955970763650458459019714199713115156151007886456907150638736985666916899800788403533117457650729589704203339193848792511205287485774378150522985011670016615613067645103933263339773244661571722672540543465312177704327094162292505477896380244592448649343358941308877993658312801268334877209362692484202651039532546043142085822296743337553727266690388833778566988716949349350232832356797862708910184323964412453570442283413685215467650960907749776944818892714291105965703358546568894115691373787220625697869664822334934163853193486462285784711225550223771102327157652849279410225643143711639981081878423723107255778490729426070623391402220770231520319197720592570900553804057822911327810066816058384456653174317853399200392901379255889883602395831257224695065897328751565449115030920275520465067309281534931454965777678883387745241968425064201542164290611947251449558593689698880789741291156645877352240701783139714990703921202340688652598149380404450028126743620643151407910256041934614692799298627028803949494838719727509858620357596768741203421129147855269347217744638483972828661158688055105455968898506926559556707826834819349182424807410177976998945063059384406920037923414373772918600041474401925931097462106999742833927025794560690880770248546409786840585404068024391292846719022602288455715225791893548242170325764702201550072412928655725084957174205948283782684719087361201902103643880088191148850079799832098406338221893506768241889206672796966344752667534590010011226547729692253352977816145954996589238181172158034575628941379538563560655721488861003138423296959240405408344500017649449115229772033739685034019086354900221606838273530134398058723263974720183640027542162365592492500294417518003359030378485563110397757296675708073233742571075943296760791319159212004845792857444031099974742168642224648747885275454649483369014405530224193160213780573635673009909976501931141854762830915562808921753695906888998646954204979092596966730827256228860597200807650638400192389796869401094933002173818493940027343252753450433058795157604191197201484219798979637025406734233060474680835707477501163125629825900665463104940894523582705991862969851844718973403714138367415455312438995494957766161136557794808019742131651912500722200510760527341958921485490349126870360376908804208275207609316632441318851340204298892084847892823131713912378428200256164335807607199677290109597363029225396029464123095586949384972409881519313270786551522906065893363097974789621163730562938704395424698264545137170328001800941416754439881550194831941525429467776068026797492223395714642263116932798954571164729682870975415302200745661877150934891416510043674632676934394539235585042291098108924238538621903733461106755543850683568064556112810988719080310299920900085131301606432657520182584485285011227873727378671939173759221407831564309013292933400705699778607001202337769686435342483608974105294746490173765467299174236207298408628785866991896727432974741597184267960071745247310374303874404676750918298003043759987032501861609472851938241680627801202790084964351274094806560488435516535364079750435415556569866443351583906948167665557086252803730974916060495306136716055272566953371766717192388548692042247963907356368671970587917459188991542841703554399532123013374851019430242545106202937309801493498224841942484434593100489617660990560653236055031855024140992444844254963594579219258224841772961620354912231467569789713463560855283078777409460153343004771701507442973364744263986476205078555308704814207280641185520238381179046646989904632045458391271089200105734676727909654930375732122460494504307659897981570929287853370839965809017365236932133280732660514714237812751276712233102690655668378219788905661496071782650409731011106808244288078380086616349644730721829229949932624281444104654087424177806760028868168336888256746743446077242773331765238502941795744404555681610887690268773507218945130349003867458855066092717663659318371890793401103154422639875819518344415839946094341894664899307245123717751996471797385033006140402901205851859610010907779771248660793806833358320678708548261903356026273466578398658114583330021096806107135738916125020372885936593668551612857672202308314621327217625586593391129701923852098491150310451675798423800084826284054471250465844483527159797935238984805075923881000195346371812401409811186634593877786019179097246864473508905419661092531287884092278648625293204633263942286017865064500053443405230795162764817323624878533659646953365572062138673333430853469373469183456894259294110811605039719461258145579115924498101300636837934903847431283193761480843501412166138686049526769883906866948725583303149319618899286615822186778807716931379384890557598893384623140133328215955736971935001408349689911661389033958058474671705227243105884847565417609348338223687542833281087736575374751058811263173855876853667760870536494937561390196313315070318869363357503164589944601396675909159299174280641413559756575946679531337648796505999052868678103932382269434560387203662550101087431653395049264842478226466224473285724018388160683127527651037594951508827360346709317312512076307670423837110463455152912911228505008912112444001032271956676299722369428070052796558362220527424636706464682375322706287562800617161096418288715614285938061138988791151145203200554176504572082882276007564831370240227983688794883506083574358343302145753339258103890635275837465853506703534372964448277435081525004220966561051513868274518290068773108496863153658392161023752065387272815281978092087067080704796888001158200227112675931575652924852746798994961190522250481006457318507054162890064187088447739082743793927899196712746434687583721606001214137325141439624707257540873904382392443932499559073990139988065959547614262127703305900568888292085693936859571267674817853821413841999771669428050820360990031255805245209291901584824743482940643127297649338719905451338900831999485628702837067250329750809748336300619610622299750954300605989285660362312280112468613244105552131577300368332783142374558177248464517789075071129420918185911972042982969322787153331625676970753801114602765999365929354357656513822424549799841244559470872351244217799472632948841676730917678215785582324205544801836550497928882853772247393303506175043906063751828018895464410993813062696911720431680558302884911880489158778387119101057326493436727491958547318160176455621817892384541257414042370446619112537187587093075993582389017628782294738982044659022402693487170893208780792714460757159247005077847173977276597109610555901588443725707808108424982892171232660578691550128104018021788160847650855645964439887632225902524134388624200362573876522499340124438836025126313221147494570906736948038603185338325421772862652881745801550644953734061346881283098043989321034664145840993861285317775872715987627008192080560948734971880892905590826807326102729241770578404338625159181625097076325105835796234701006941434115396412178579292426643406940876370122959473514569560977184149290138602710871714785335999151253651556636689263842132489414714612389945685461463251670304332527794700453607667146526021125005951171489768131002539637300493444574228797321508021927711467065859583779693106851086548963997743125988813526600769681986743126481997175015908866503032461752101106250010430245407618033167169717981053188065068528986014351325691439170105190822153139446849470983870967363149301918693008142716872126279588233641813932238269605254536115597255263250858350382908407119819972487779844913498001659810832486130993360282662800691609292683959589892211443865508205867167799439639865483309347216915037009675188417389119403649286021715200558000744941284461798397799601066336320371700939582015844041152053626897399351793058090537468860537932198341286906522575899760114625189307862329325580300665877787754261129373039392733800767476002508325133571151262149790705805188282734223152760050452156665761962161869690374474654728774556506986242164986510777196666432975068416459010702161181056689638213129384240338605213526123822809320211254943390461255049257188573219588860586543977641959389534702457778259861867613167319701357301440539021234162210093029625204236262482786862662124123610871937012344423712251461430227490610458111643052904214096906239440273224484236172935824787422093032490265115928229969327498091939580885757256379710412959059302680093459327788792280001512052806855591357694781319948973571580996945055688345344455482440344116207041428703381776639049829432716553204858344385461939640790055624939702356541720568441878948494112673444871534830698369102410641046042600280115072624705559092008127711944165475716060774964450342163149447345459803695299034573088519225452671989334036051598478047248383062914713312252927000392809974333368833673071619026730326879440700310012078559119405523536156206230746445823543168795616394682953214828034120232749101553387088786032582355661017040809905158443559226815311737621068892084353624464545553496451771588406855001539528808195737734685951457154105692648249569600352009981776049801908893200759355458675801175935594040977420224852021183092967900434367142228778163893140840776418216728096566054890558039411135352024152544942991589546581142409772742840022633053080287669323868989065886694088554118074264962163429697568454983398993744092853018611588780842238363342512430225004078930299530663278095974481109268939602787177912782719617736002940695368953080250083585985820360451442909173399473136464534861858131551783037044540625970900507555320520870428184044011658044005895185132478899305794704915077779508793844807624082822621191314321914518840027073813531191314022777954979444292705942277165819225521041731343668704540618855876940980827794153775715262342627315741047266631907122847094338407196384790450232390567507107563372929953001622427384704494883500866640251329516194433434231390815583925981156054148557678455677687965656698968342686009549195187436691517508168973993698036677273562149594223523886273278077146762511515986253285666324967872475605523290284844602273906674546817079851688837507502227879453361161766335302440934138706482495927469474959892270662400649374233028831567466393046408476519298944584734307779314269619468338413853029130576640486615308863125743636481052493245433981916834859418512407205633375693622982640133508160792476863568480201247418570772015567630925086937037534892657562851291183594584636104850621287767044718935563130430222724187038723587275210993186439968811566249079576933328542617187141516591848149142615886616389130972806098904595897801612480013289585106934165295580988148695991763626103318935817381757946335431670090544500828163022769517332552595279849113310873055040770681969269150477726262610539480399723235575235117284403348076762765886894423653810811805704661915610574440956013837702501512925757661843969608472336748891528787847579014888220945080618208398429659098054049631892677519986674860831750642939798638803826281001429989710035426617708340490040608590570067770117336784997290804251174452325374641018781508760538818276040535267558196844800043346916016764755883025900103597172981144794862246466679414423133301370619704114378311756404580346626036898591585985547728893313333957759420539989940346545532892179138664407020978503116491865223691727556950045626423759198531599352412311844935895299607232197585855544944373674573435926305813369725474919131255295995195668058883648124661427326150720380483039018144329096199373262059920371819758835348615706772653887159491645741943278399582224652147248492525005941319121153367494610636672109742397632204489072369888288534377533589694359046069383245322080675654726983078312847326980377228282465250249859282879421533755560540413774144862639101215009337891460097066713300421491989489132825456367530620079381338720699338944453694457834819813765300228008503611320249970216746357471769216648697493580525473409420496982993072649316519902898849674335914010403821192078367688127267814249533966671204388010028805586596269710825684507503028091169244543210758425997181210345154154406736754035344895320542467450250307339638145047891940999893911645109737942733390386087661962512158319702061432821546892251714785807141619497148884014203260480881832425120958572656926959068622738753923014433437423271999701222210116214657479337161641042778195777297960556946113965468091903581244703882848001501360062915469011073322036313710899441376763938660332210614422349056004301669679223208214337558350583641745344553057600448250363196382879417879611330690235965193695031283578550186745551538966869858996923381376783215268023180714156526945241012226789455683621264875222898719708717829105121171768336893373181411393155322368635631716334799102969318063933093678970300057454381041086853897155103673538134076119472178014091620789078718191442033352832115228532698115491663907633368727616467918682029387348741086955083302969460039093268039338589650961300099227406702081684628749150574921049638841101542030102944698527218933854226465614894564741887655226990201299871035080932521895360748091887596878251154866020040009332902700195467633526844558050447434719913467876935246939717914732101925589708577157476196896923359750374502302822566025307443580552270197632161359189065549603102926799239732948984433864904224943570133501083208056141471388471487542683712169130758710947523575430486796571470309678972548312790257824796770757583309851090080839374033937449405357578722539528325748428902980585564711356542091277574613727734884861571279035593086493259644038188634746300465334748046729641237904054862743589141565390416359526715932819705266911277944144977415507405855950917774651426877860404255396886930446231216849295304736881590007511568953878622083278886881230767299611580665599520921188312763086693615295836983445566672354558096721650175015552626448161067458589535696760288873454415231207566264908365161311930533595616906653641336736208460263334133107983714224993403215802769203762444289886808167625944833688828684046023515614753905142512089474398841165973402364501719322603687381559556173442826868311250858940100907250059415929686487589837350366577346873614994933030834796809545111448783118536242971564319727976587574454973623479819655603004606959303423114050741086926168582884285651808249703380025684981673108660752602245552433532630682767912756279877942141853361297040650783896747911569297194549256785161260456504035394622090513069244280206643861558754660776461496252047321938717099538207729079028771145254013919905515608879281052548203152102048098906082496246274131006953446037995265552908225242657115529786710405101029676473383352660737045176303700906558626002325118804774599235574782876543689636869777433401833259652172274853310747442229732867998880928350180150923655698093502033520071211021301883231257143851487914005758844620178231600419830636689206023025411217814930626332992458610561575912180734138892344576207851308972601027538243045219277200775055169429407420649457014622425487761237064981580778391703870461601225930978762240731031228283781069766942558955749442141577865421767194679660814718801502748881742180133136714361557865522077954581523080819872088859124544304153466366954795514789661563180271244475819952214120986792106157484603024287496831119289492652076679110317776632045551997038614973750128204690156751043658285132661332019519530151021850135429141914516670428538931871478479325518453639267359456918778923875699154883369423491941748447939895029957041571426217952043752057682786569323616573761746720666409954627003420944318465642598389824569721526480677784637712195236720063754593449931866191440905050491788845499822033215305877873733820624918626113737642392821780056010121639044983514310128343683204297958810209718628083049888387559402778284579176862244282132206124101757043992966357714886625355661981429709768447811957482707463341847082435547440507532415746231492150270603719377263816874057852312317153139499771234487022600094355793228282110166387348899057972851896961064594590389253787876606771358735194949089547076030072811129611843379837323202770446188027464992897764988748588917358945309482925066486609938581191191100765512900968635723313568268486723505746621143202048085644741797657587927480907368527136709273384167928768299907160218456382620493327874551720579391546644652155365895313007480681591757959090965229152129663110190290515345365312029671451412977617846241431367442686165406919386511271293263680152265437658006607375192386554975391944499397443610097935402843966436625539329651502190080542356615230660095483939281001845120507482820152182749604683324691257336578660014713773340435045375842453828679160171417557854701639729536031805239910791688465720041161356620106582589535112239950017827149333768107330564171589532106510617395422323742983437167593461697241547745471449804812658614574418412571053548938886324197937852722698456713536394374180154151762830334009028989391922760521614158198124216198021959148272205344522628373068608672918343412619211050853273864952919727197745163986064147211074646235179933759484084170598074987676318087563554233270712906629440682292572358533878151250207096370997413007081739327765425127277059940943588541653799548489768570454658843868636169880929867627774233351053127907714208368896874607515273183827095019037417450776588049111924998218912353213465314102746751219090868246781353680546253575041589392354813553751536037649592872505118504449748082220623349569851477803837218935651069451481347188618739212071480633800398895395527517255712569678974050187828314194195658087214981858725678358940147228521777019789797044122760221194287993908765573697186979767860717614346803528068801095575751283696864818648267359775818852450404585509619658759515890697703100944937879974521572954342652828714132651059527628810693079418575769283844718824166730204242645666177327494020442149854492489878527619179788546229155675160451233562731128116864186993939712141936390369555466119022872869197491522232914697794051357657891291681887212894990705803193400006840747712731392516079645091218486371103293090835516597749301656150944826670172074657218834685053304818014665568197236331579369750742257666069525213294643528403397502808695001063062400756539832742957274846593038707961702141471194830382979144153237868926404336561199017960741234441670499455615719790933493110978160839175298784332124589821103070658703915055492074635096338585969144139751670501937012089099700949561382813020349663225825371251908718822166738850167363439477617105976267743885216359406244095249764543091008877849588755344636165326845564840777635169274394816534420421403962582948863646181063590995014466547526702662962345901043560048345670128480791257321928509334349145151559123740400528380948444499305884232578530262872101645221682207253072456620678900846859364557906134742082350714416669899636043904185620040407020777637432530897690418707625312155703203671310307233849731374688083822086123316969158077624700647336060904079458627332120099693327337050729033282529349047811704934576380534110512511937079604779571744671448327368706880910729796898503179136902516546528847293107440403485281322780614111350427065032562332531510233970512181967078876849119193028741521565432630671814629999285150929658956836038330865296220158961144389323766617500245165096112552529445782046989608417387248849553827437422696117707419747442276601734068424009021864044957563937879886754681035364085062514241947928830499777791297337888331934474594274670035628003024550129279310763117858694418334826352350886689227912549709654520804364441777916951631611723782916472261939678161593854050604634455730490046503369601112959232528096907674308064011793296464103695063409526842503752723272259742018062986878121947915025444380226555228121881421436658940911543637547790632033634716077011043736307794060061843123609884651310376381211567292527334948863407308313923844398434457736085892754161106247179337019177854692585730803083446112513305227396532399769785445054146422837156285800728159174904754787633947960896227564385639339801678997225484120204174043092266675009779530683122500642916273109809046362880875828656234222329032754682106528217211772483406496455852171602365496233913053016505425559834666186658651016912694181813791848447841218527356610346124863691273221169499156326355593583955740163794827574967728192905637900652298033611003431849433666277246607965046673242501096272984360820052374364806894000898647847966255626972889025704997102520875108115362297374695823872040709881044715855995079545737411851192480981178893345460509909378268037805623434738200427292619308699417498058912847970068894219251151504379753779173240605539605164669528867025897016467987850340839607602799487810110292094336711661740200528123465185088314841793351233038326410413813107279380514690870106467455686536498119642552226563502184896146975332080157634809866468929178076187736757160033726786492822876001546871239833349599964382436948124269360021351761942597064544138548839457130941253099344201813720548079558767646603958246191378505837470957960960487146238405614927186677463987864084545302382591787680824164350949629112140190724380798309223943599517064347697998283780643373623817632731887001637585390922150688449648561789949093340330532990471799490278451518496794171861862735564433774743130650778022581909083679079521278789470771660692504999639000921594623801471769022190595820322196728609651645143814188672589381721091287580337661171300276811737814879612934467755090980620905352750800795610262872459455552698300984158924571021257061865431964188964705823179894016363962242935518351698441313687824618911504097614467613918108470601762321921021494023410324377207349397385174504569498068464182033391021249115959723298413911867321678604198369014768051442872619236669996728693229093110615327359504627620455591719481072005168111209575185184808807808901864556885725762904813018864659716239194897047308118324703528419902841110771201944101022699195340690681954532025355416822600757756782412253545858179206791058222165675105503015770929386520825630574904756746407300081426938799915443202055289440600306190107928332214095050442901365230898358245107038666280805338034551716008861405780588140812241927364546180274654958137296593008575552459315702726735710034474476785394399468221807130830609384843336636509359785719898648335120706238107645536627590800183879643176121851974024600297046441969826368607392924765504142772167923746339808300583210171507330834482841299530661089668310741525852565836369864984948736299749173374494088796454384138289459961375357839822830132001346453627461785210529209250650828560959916898861732838935171045423886949124514715626282843053981901584575610778009987247968082110239417386379596213236515643960248800294794981115859057029779301722771696907110287936776933073363115200872639976159394955282270824947719142609223209809028380208071875295875100738873283541163456281847011669710977356886781643813362910326194082336539868998814285172493015625978235460937940265788933437222871744062813747668015790913088641144003902258549244523711522633112246140541657758410222446560957689559130764985819082564084837783182308685978493604377266140457761374581884578295745118238866641087054022067068809472975356257322109873526513570913268646217353700913723962950196600173053032017678360001447660209900296910925462568204766897089067140527317704366956543494369950516112676381217451764459212090788420030680967510298240905168479673981111732546734373479481426422220827234336687411498435260216977890321876621565160446218783610935580156268220025584892533941520864983422899013330648985307582630595278876376196756219597094411381642101929192489304070783042385366744425226287570949612579833101745652132086847547199762404951861180736498694561103474434196783205987041965009208552864656353520171200032639890998391435458553524790468928853489240487336137552484576417180011089169171363257669012401593749884413043445864548610846192412538388861429221591273570937460162392203775771519069687982088680237365366586721077930928725943946421145158412219614889446046393180998308758908491982217286174573424332769751214545289224314194300762195139877823758179173689207557797188694661545660055291420967034236840688280757572482884240542098688141917032023841901017342191071202338618802417662626202351546148313308265536048661984992156411310294814793639484572025696943791556670125981000572668546146152883994062865931637100979406371934266940766211243569550093689007372550609940482247643366751716155344981771901609359402736795009043049453454796422641184804180928637474041788284335569592327406543508039269548861882119343511684973818809970225972722591080090894869079353480598235960073699486693579523429222215390194499195651163000447981010871699132252082049881039736571569034346736394066260810822411067593370344590911187213139600773920516395320133623462676717607253588320697397374382142681440960518330132853708538981009645723403517117209682255666296031793803236050834414915830094851598526803515822205981523258820139846829327512431030705427759392181255102381711761090088892164551554118691236891938485920704053229891311112601499418334337813350724123987798126125270232834876120776262761685111066353439687029693514363486606024866654697547129321150931511785243413828989155619899645698313871708797946550315360936637377512849373431637766127726167955816249722606704821734356203712417309658660900504895280518572377857519623819685464896456963970718324073004019655393207604544871464253046232791516862820014673123382693365532044099298762525008008379774295769786636103668789598505667606189042799010969799639705927058911588357905551370064119057463403584547998186346877680954294938402569625973320149636559566982369280146940245831485801237389530280099562616367319496347262834979484748180637130037456254404565743339887987400970821557886572272374360602895953384014526450608608763889758142086986394907498154157742162618378829756561351552845401754453243115179778703974806235557434372502102722812887903496635419362171511451498970669487072812711424188672893789584934186335729596511691918656539701783895891270801363179997474387185124033444890799898448816152801837730477095103061632127637785136669873939680607073027633894237772349657240261132187923871940161827159729164842695089762701701533236580164702678332124180128541971319090754258342995635941434585144112267471199388213870223184775575160936153941133242392464109452262663477022639636155653181831519238852230078568887069242289869910984873604473294153605881141149669416062769322435463393688413302584471095814170396380278065657023614104467521730682910521466461881276645286372096424737434360509149077934003397075056464122009403636510988193780484989277349055620359758296626305742267447970379978330662908017200020498738224983846625043278226929750887320172454088211075312773263781884942368764079189373195020941144817965277957909336862657847185923054022871313517300882987142601186025145951637007571443951973373019754139349690311147151217901886687704495139496019303012740273841270915387476874621738674522708729449057831533519467567775097735892853868859061206506896134624767694217762387202522043596467555430418152774701756594234172537398723517202509890005221709896626880230864046087580122927859045494395867188486004959230529936183212818170423346228995812258819933322620556512574463201235696552999078048352419743510670150704387253116122312885663078858808884691929029934720507206509315670196173585934864208363227823788290231741193322171684760140696554706733767473811104777259547539151326415103011254676391765865630323611604383121983712227381529962474555478891505620627432424934502720776465174137230413787786245366054065027702671249216863873565789776346092240560059249496593610259559599797765824669289251531591669907752162611072114149639383081315741956591524570120057909432366627121183645674937908275566054847789475316189169898948550775853284596911898564142601015156042508639425901077403236935381274340933577131575110691263680068364333842187074979642802966301080302230678469294343277108062093919891101327792332187548856362173168518290500215701456068157753993360589443850502296877471460950445549783582124309693744072152320365604766269705826758868832174330449089739316246270603258672381434320776948165900328016610286057516617444174272274577304614157175370826855539600462588256255243122380705241822127688386025281062694336900726000582782970841564043359416347185887136413397409593119363983658499592613788245189076307971132053351752255016608379688735396536012434660156984230934522639379188464236646871725805356916869537437188581515998753934541068337926061362875733756710083638506714836697869243196030002966657332127911493397985024987008741621669940096771798591034043089334476082987019518019983176243741485638760193510102848880517846564583908220197043783414355723852058157982151021666859257047845178001545346024048665365609821390798669081588764606230556104686187225297728653830887305148318995059076162105353584922966729273971159372866821803050315628391126881856578189771615500261950371102172089070332057592127531574047658731414913275898840834808547886262026153703145571006963740072018869470651233631110847012578618235073369239255357628899519222594316254154164453057894287420956593641658102161773054664292637901976669632985473507373252357693286144810789693256785745365045326470260048241768663658955924339433873446628703154263008759866120937139646940028584872280599953147154531639767092285093196654977587113336014990916486096013454837352616803228480629432918305328761277566367285499107516498649141573492805654369992421278137392313390021743470391491548561771490743131235438261756091640877572118128313649680099031183378467125454139768220715616140843126848214635540649164139357977850963293575056703283383376718908289482775202191475955252745419616665079099227335210795915871259011303517246408920461664075485326576417479487811473394368792905205951520286588035744968182250140902984241604304756759684268003057572692139930297321563159212338663390198065176164667770428982271038495636268809877469913240737003131284969986995044513724314555723637261498969475178998027464781660675952825579540380506282192298244714350392496869455792190698501580485623017999647070042013786972597320874619493681188897259712452525060882517844743632861008114780745858795738875686818399702567201346591690954983772403704739999988046109148867955850055758414477881289884672411854021884759226074301297924990101250602148366844158190757563968802285014838317571702510373744675948364626125412140907473391717761426126420289373118635055256708924359090558134864019282581274238338250852166248383424125336003990918176346084583670683314089998158132543725311624495469544084914520687287160122140965682246150893866959093408930865981445503367062138300344046782747806568773203028638199538621222238299136757980412123057393673812956300061610779634677099838535325375388036223174133973543950709698290799317610935714485280370800949459333288307798805008080543549931476091914842494175436720602291697611029864848181642617821323994443803746990144374859579817600131551085067037963788829040634226924302866330172942213542784523560920736011805886339573136639009362592085107648284377589444856874753102010116313939387209882573906694989280346326082178458158508148406380695473642868562632411755151421665213486535427122019561654088922898962267583175124963273195576877880082218288774905953486815355357297359394523885458697733825000745325285114589988077351019099390551429662957637457035385381181266082153650975559621769505365065302912860055410118366265214441026226616990239708900371241031292534581018646473928394894712167439821975543456013930357141148306946367598438922151578843078220152046030744464041483566268403721526535050629455656664031641110016043717193165683956073825201665848125255529983040697272158538337025058884015350648674033840944927610828777509423080292100387185878099597175024104488265911547418607280079361901476545941764548413529332445697123626873239726173065437623484733723933183219439523920738981389953151753708091236234630287472128944168521660628834154497170197393682251355951906067135599915694521462517212855540775460890417832550494363462476611951707537589132790686735258154227327111643729248067586935382443037534852624459745721911382808394642144453264718290980376084588098054440075642589765232030804482836452275915788686536173132933767045879944388888718488915678666278442584267522362864603310384803492036752627226775699440125172389784087425901177680663396853261184065570277367689573126476298232192079543961133718132322655226551839160204446096274815567925604049431433719374919736336294608308162438406293326395247984868420936762014720947113849164186094525206166406252449238384563619806050738832567011153982342225231358646839121794071151060134789748713604407594438694861110249835902359776415722946517021033724568997435805356168943817142861303912215827930438263377178890958742959863973254888369703924234464256869588785350426819742092476269372445442517604868444633325748982097138943259139806723385712981226579381308033842382903799399224682311373162950363333796594617252411491350267150612596808822668092520375535836588091042361804742565872864639176626290969826220357382993351155821034976138128558547813791608454498050197060481940136574313192305641537325400455455297744675521078672631959365209310256611385510854763754099454408383260159565946236394147679553722640901386675767563442499662014288596407808629849408118573111569074242873598076098588687312660967535190902770112661320125315707059078487126183023745602211419499603110578700431200177505541098206134691350187962142568112826932660119739029146012307331639927032535643721497399067584479980335475285275612069150369238529812938049815672197256981056306627425966898796419365245509266428884281446461382849402162890501869701257885584428417260584956496200750391076310725284923473518419821099956995136452734915444357357183906053107592094060995181169924889673173312368393888157461287942321581772435706541337202076724231677262886453771295382536036744940128829774122750159545086221390057274582527929488369703000343665342684240059744880382771146517596963810726718709153801285823298553132998269661157424841721136275702805886601592241337633286259585384617281845029889626659811141615209209747414092305303193974169951032172387687310199696578798043648873422297905966619242111546772673993102525569656685236155483997989879176311495600698195850634041421426396417306539892381866411390986000020431628820085650177209853022697055836525292377740379773233581261066388707386047393104956997974502654530399434183259802988503659222414989099641503693125288958677442319514472077926402965613946460120188638228859554982057994591075273777144052214744336863399734219511305112815311586447270418840008528415272263730512709195548429336254420541173572024678306547656007195665086545494796658449200540720518266964654252711872684962747565497780878124647843626996649916694620618506402539068722892069365485241869650079117428503084614740053290629868325715486507353563316724886200150073483255623683869429483348306196541115333079343561393386958936656330998963780475825180925583321896894763724011190313312078200841529523541093873987417911430587537957191673934765807070449608341843766977568100357557312186498091664674705517888246469971802286290941348890298578868944182654510858764921294246316212194232699523189083986742990539575921007977515031952775682171566222175534419908119834928301715308896889512729336603593101312413380093156117542513049422366774756627316249240586426610676071080445767276612224836275833166430378583694341514264920637757707597238445318206691439415069259954985589238532654391559975379602610237732326521000629101880057280027030453083953095888862664584125525593043230641982234742356454773884095506243546221910180693858037427211864536509916802756367834635112620626924512982306645627425975696206562955463376254699900066129668904719243756110582055627585627604313172343225548195925203253330503320467832616828442926488814525938428186874534732857052982397928321073136183692711077271072030940690520687963168149203340657291556557142065543775706362290677414116260764857731372597898128476431916583803288323797554951334491684199023897298847117426806132008061904815762648129455610719951286996678622548942166582137679736813281192352657914811218996484685480917453024429770426703935267412789865113302004650777380553935392825719939558079060766138860104871663578037187549387605147771749951363403274861135755263935288314008033202637369682062461881492617474547692486901099512899858987535839663428351143197091865346676941268777085144092807670556350898190262787860559562906898330092339589546539047161992182468302505415662578393616110994572829163167434699421548012570922033092240120222472078450468388877290460687129765666888356653184728830322183960987131882533312994512076173967870003215651956340142648739674406332302942064188478148785649497737518606080660440056503833196467241690040734650018800131491657478769351748088200301413431278515447082953523140766250642906994616576957229326210704846991211083823004387811840234123523247394545977688224234721873783562155538975014779083653346541379013322349405410569118021209395366835700911923078172889224241614299023427553260066408607384219945172671693578461119829650152027863423642375396162358139082929084940957473067581199493533832424783585226940553389658052500170172437624898879399651525224340078666516580092196965486812840264127150789786919213386666113862363607852276246544065752806265946337868498228926254427403357579744476739502342245867013694802078565615704270193201570408942318029642907900334130432655967899148080869230429921254153857126964795543870496805387606876515937000546987443922610046635542551312629388690798939273947668986560945817792653211494165107662980558457713034382798111136030144476200298158718717447961053956696987568223407900735194312675793073414721798415628606131487450701712582265064007531112301163361459006742994385219198655954420121758507669299108501600957422400613357075058236708276807793100535324900049733744989071570515786028086993815289651548922961604622153600603907215249958267922507885347466022788695452555861368711377521121968346203837777128737169888495278911378529227385963426649430270708228365213285580880647185873281470539681733056763987217090590609416763502880683785042007669602102402172164891605876697553386487960223613962321717228404212672221028592690813921950458775702289949288416984981295768779396014208297611389649655798869895881938551037245547083828972352712296403737632761430306316378765887386752134206540795031227613246483325694887734125076431499656103606785847388379741980657048228533002945204250251517577730136884923002573256798196089140767253813318105588864761453265644865324292598636345040710023878408376131522373568266534781775530266012143248479973013723369944734925374045415856591548898892360284274644591499026141387227410842748110618655659006241437212483133964961560937151628653629641188584969348288474348916155138552375036427780853691863681439345339165803294036640097346922142032876794337627135185179353317575972454838963026706937887020340898797056476104113323556293872638119314206161548527451943996369705469265397920591027694467040209261267324657550088958626649966152701600871728436051673566969707223735637543121506288706806835718240187097311993825792504961917645074630972577013407432570616596715742419707733462673669996523516678301366876535627124132090873857286385213922097410089702230168357682044289518921581008675457104348728783617755020479205805284907477265284862502373670875043059047407538719381426049129765324019998279939404265214605701103498500430061030359005265240624227493208760976684017722853211058644714245825850485863826890814270745360215340139047212443607405870521749572979884159980140647191095275097790592963860486236698728931230302459621763583124511388642042990247374079640215227682199212817078261105589253404854241582706427204461976872671857047165387648125049686289316312888730486477555572482814971856150978315921375153974632777111631264991393500064541371500438794203665938881623175734634483839258891907827126468957510464762306216674956426998602904413176734818164437467680017969295655111060168769969817184384331347547156868767131798637000877344779053861364378113998648941889658521458220263118495675268875923886560369220272931823366679100727572713811201678283134679637503783988011634270846043013404401347608050264930856042026270551414091437188297091537435286303852443850419717402911122377634534762046310915759757964282233454103204503723479066883858180354945134273003625501066755404307149923064056213577178556361556899911354844862830230139003577216783816705485650503617767120359421005950968934459628465286569217883758979270160800749633752700283160748585283818152131811472616018375574185334326518614781040314159212285745326482009486974145543265228846028571757022083464631209637876885332045905342170133207529184621395129789292302981249277213342903008255939452754464637338621297734487767647753979121257056800960044829537493246235679171115766451868014084344223902147481238633945207289171442631361791959232805747523197442763395459985041259990291439821577243859950082413302277938173642156959031702951189300753907557802934501300392463633740347888016285610409978131143674895743889944799173395561062787294605350612268133798592856950577144687986232144109255262520953274148858121887711331121802473293130134129745409150331782042184656043805978913408186664823229777210523984543185215882613289773500917032212892013963094913296441574614979967214898822769877976923069439941942299581960719454918058974438365390706911230980357795321615881713776828337213657766028541779355080089373164446808165608308606124703638279767482077120248992757601027618894249839424834462313436121994126511540461106351492035181405320922167297225738888143879972567377912338549832743752998367379181799607394451592221989662499706195755411634008014946933236482542552313907792052910807090763117087521829549658439064928863776336911441320216647776354680261389492641918227409239643624869256306800290443350730356591045545700757411312060696683999262640915309287700025204812324099646457159591722742739474259585470088330474908622943428173584453504964566296222236290774055672519483885878103620931454670859644717634069458589004634209010945819682815318080931107793078526300409423397004029850337025045407450690355988657480577681024005710137791584626166506997291625925634009010253014468089390919315405412215746516580508032936768448460823792660953041514839477008829931154187842240464822185584783328103734408672127802017811624788283156077400782882207037733513601678594694498632713274942839300908048486495370030748813456003506147576887894845914738749621320954117320942119516949108013520895495137492616144270176964819027845239508880383895669887633037230979980357157662099589047722147514722421317843648443053123078346328027012595991367686174531033196754391094113060419381258029419180012578808555777454327560486713628101476692079226976856217667164218831254362306447561466095269061105267036557518530206446571802025428466653940976544726066756179351697706632172563785133208890405551980036351269205566794277649676874919290756032436356380300281988265428987111082412212161780564023836899584611061137118521245561503689084341325163795021936825277587368108542148890253840214288049829932803874178259299509360698786657454073263131926488284271461605599510850713225474755872626131524677382210100749331853077505916788655583269154515544039632830660726615830932549117094935261008632257648048195598884850264172644131937818327250379207539873699924656004244988004430825010483202604176605535008822630027725450468458286369458394341638878238957823714670556841943222474158956313722365579291968867496378309894420666779638245401237082336972599068308009416421682870324292412582870550514063253560522375741951683461398505910219977258506821240741955189644935323648626591053709761074459348842294529565786962417838113681451897446186471900112910399066037376665891787673718080190844693583597303541757762940883461427461815683840111956189661934669508171705449432643169018648104641044426048273808677816957328991790764319513255782503266028144902097347641372486822610729323124929148055561435734997750906608667303309236438026512054938711096119297071884756816195129705649823343071850929272281044338098972831830482094829463664969978790285089248698879065621670176700361590679893692553882660948931634326343875374730984120610602284284726657529003710038212860376664490901310908598507732530210617586712464082133161942059643993440844648903808365230756454486567911612045572398620965793758945983416477576643652617143008227004755459368946244679659325996081783970524473230420863075924539783820792964280767016154847512630813710412250471630613148084241101530376867789962250165808316843112126136316353142903323424908297984872262458860138710196139189889737358072121234754199524032564873298353037467944218914861743172949242435498296432753729850884986429931517733484633140076136508565820017808575453091247624390793279663987998209518429568795773781830570293851599216697132059205937812698256471805078951455448203380992382420425159516814731906989322315643865257090184963466967061821904088521135726795005432368463362552317162978170642270447130957590787244516778852491063579384419628545249932699378676623218042933359012855777710243813453865274148071329752271302409157358832159144777055258502490311013906734576504706740186842199028588207777629796156846969978221602450396218029970701481950107875690032149558968237749536003234117578283963868979402539633732555244739611999581465831108982246606573890256218158801216840476595299948944218869090772131860156970073391631559183832428094576191243464375935886639481785099792067148837590935452583653113043038257884729793019098968910805537338026978064759330362608302409259016852343681513590044581705305631318170308482161532131235993497075517095778630360144750808727694812560506604262112697877844853288573054840754705483307218570353026636527048564912226753569356773376618523576219903436270360763349252381324215897640837851377836939847155305283783158211620441940423929128805804558742993218948307206368197275508627158829364498554080232238753743735356786357721462256154695030403676513118199472230248391558490581122031948951280346902030914604124066187302182825108165538243887868641869468814345352941232988053991896685902315096626992549819105748630513417386335968526513270441040377883105064764852397747441054904979444785312130807920957998919902081569683986439817805212459576596161789445322222105967627567444086284909861620474493567100828268004480937129660694930948082300064148260913398251002105969765209715686176556292875165295458106023201274930038274883369334208388682886301812846590149461351461123946167920484278801758758568766879752008084394289537642150745003371503762459431874936763055274567393572822775279293464472311900133362587759211269562680018324625251326961467790521696885794215645441629792495176747032852189517980045602927130663791472551145271750085005781266487442989675072567272969574415735171201854920680704158250566963671514976586728260851403512141804428621795621141703441102050281445214771871878374345466128845043629538533393782101270045376904051203003115920347172706364802614633348514158573578890208605841687328969285721234528819287280789782095114654452539614409366780580687424248080738152247360639855632233514241339174395578140105674307940727257904324244716173075623290631087640184529061431640875755271281399482005639337135030586617629528575936732709335918785657139949024006811794208417255829544961077360692371268286165476857748142097005439537588869907941050968639289921229758612391771736766544848887210830262845152216674751966223245842256111099216885633472845707136121177332483628860343931043619626344808806086188227343020881398564832615793977186122580736659770717084973769221102849623927334920857907198762688084292385133800213842315321213974428768646895208522963675707474922976036308849333760335595008742240750590782567629157711997280887466799373586457757194681086920070085504206847166718026764264989172067170211672757328600620776666941048266132088745374924856644514101424002044318013746539188574011983381182776547630905348094698882267638835860773714457586115266495242950162094484846922957903949440989757589037024860384801618240136160819046131437073015517864122429029492433492429722388325187340894361640981823380727965979884366982726712813076668329816569637362046756900750365836826017826894786299060157911169415568874849166214258417582884461042683871586878918621418382288066347326749557162711973593728108106677574562173205822741087487899902498776732178879521075679541979170214853152176849218704743261706017690634728140990218834207937582329616032428140846199464596713413030657042724565261822331572020354598087792060308264678201429158810221983376978824722690631844954964694006714388100204112076170558134889771683500092958769971699512439662502371653173295578462346002188566436603684145339125178110768421654531923262711309360896196572970565667897425724841965096754082327327867526597922479133301096390866669984090711985348607396372216782218319183197056910196333073643071199602103508973323631101538780473789476374881361562120670942295247435441383366563258409812180995445126709271887094802635202400850656788505802076988543410970886487733792267277290883304314240083225911361901665639241390609956409132311783509450931750155394461625725120788154117623424719867163598985961663996716087236715989918989269592866256734263061979721297876412684346584462631029956095413444381585776752246403574247850731779774262239442357383377237794740277491350206322935170884647740565373770940139120888230637355982019106104160830003217497690373060234223508098009719192286255238710518919581586397495382475487111571793563614309655888577307980239925271476750293165743679223381204413594651477995452019456528461975308958693118699148756607632218730861082233193324119614776741395267988052784961613729240813528822888833081782784553704737260122009193844004577847008423006112013717109684848011405537294570674113431869443546247693129857237995953722183579172671215519254761463672377817471394455107231644502761214441194193932268773292590142297764775104352003917492866290712739006328580420254631346387627753983009403470745865453803501896749356249329524117731221919505895835259066632034338455829456399020221589037466589055611725496488555648574924810686913603422443947530286917281043292174036674356180846770088087844910993492899282265936336082253487386981928941799031750661350119162730141803669682316680047231010287759028589652563100914969224920620480892010118896936979195914744770870804299790511083534189369751379348441958552995898136576530997234930782552312856352328362969788770345323829194991044005336630970353191634223109789701014735240053148507168295888000280568754379311704857690294659373678887597079916227386627918058979081969664481304365824128925393352192707428932376917691995932694062127959970350213376172576948847487735216642816423055973295615322849705502601671793347122995826169535330270593492929333148401779507873953222386750937758579520570280619119921943865295127645908033331398933991555653395991826510562623942610917631311094467479908933084562151304780017733764173331262127539112802297524214197454835832426577082138660349929638647148499161807704693644229874773947989553922947647092507024398457813227181258237735785610463516953360394204351721527884811564928693375966100274361162705708839051420776128843964321668564374454416810504502792346294779568917212987595730847765946360314509255152147543538996248461732866239303968435299719680327249367186671483376149004611681310812177933999529495066143838292897347593255878665195512703246132083418769315531985933311580460186094329779949731372756233351436600033137732414453425220357192100860220983270131342932755911490214469523123530293628335281771705346658117396971448648723239371915265549683209881923462208269585598095521376311080057664333509356725641151188231720474071379994056429586411833633720237938035304263721564469354139164879785847884368684546337244921057574205859991990433346450870274844225811685699661550856970048810349447268665033314300386763796819896046146473280349782534275166662748618710695398354462129105138432219630863283489735195228101286658597960241504653688920696729212745054020087758000631075333257178475460058005116508023639645568481393123579016657317813997965823494066503166985209149682485420374141848977932456153446659465721997977560712349702809905997946387765006005165901356240180855207448917993609337560034687843076574867671994437800254691124875823315904372609841389958336928481474335251940170862115771636674575711501453826732053715935084834100146186839684374132435349006290252457811438139859347732756612983591231364811918784945248525514590318422470534805666810874016390764761650819349944853343854857326205206964877876121214533821820711945142156924942315416137608539824454132342681056549228573394197188660478201075203679751239741225572259843310696910974320559323682841152097322939014440090143646813316916955416982068091230340450734617566831758811311792096441109039657166674852369532489716028320119219708802382087380010061467986266171477280769529068699954047880059842350921954936371408842658191639448701403814520445928217058266751903887990139496996006877695647979363562490439951994420531149415357800627160669131741746507314589099527454012335794321548114376203697842423466857629594696864031101543592489883928700997994091679550832961781916135784935627642513880239294294393659640293148084429511543679362793521794706823091957725740768391779452630749074381208355136936612987266989559213986058337742851162204109880495145284434660951953086322737128530291128518703928875374630831680548964634992480812895079219526868307176950457683032851341901261895290265714735174693047838108275464893385663959712951261818325135627480493173780663344333233699453683267611358992446308608251803032913355306034576315665783327316897752138417599570071856246421001947347824021602643683561122012889493355192576361955930816135760684157927705786940401880974987078384527498078802050210795761510079460555323914301855253040814889203983321175185040198874778452721178032749431830012636554805588715123435467323051950797698802593691697177414461314069324149068745269953310349252355330173578769500133446593852026955532715804259784520327628144411241246657157524664070659069353001003903447340752080149521840135477683554253752995406398709958515029688550109041825556653547226867585441167545804554940078635215989775731547595009025314914667208694870875156588589418813944297259490834933913275959615621883287457925050989985038455940401852016062402974580238068416579357602556201803457261182276636333911245890889070351570459038978383926675952411068331967216893956341421042406716526768211301686535090033338324478692542908254382744570458567639397168281254676733975746243032156509516015691638046956276665412224266981907456424358620580964376878471672220427387848864614438960175637709509871588416649998469424233866808243084518005514073526248008029079194614575864764159102611893623298329214725608014029390101433974245849449247858811903272678755256934956500077679136748116109849490474498330349653672088816604084331234766921415260726543118341707400196197702196880107021660973758784794358105319015225000428596198080739578732265361602903586389939948161034305199330620813289929018844918381975069882196980006828786386813774296120048263403181859373964400878107052970214767053017994810631093031132787381854964761835107949729187751403632235454993917668506259552623997958384006415421056818349683806121720432522435768799612817983784960351215922082407860087157749751146747783983606173683385450907064441004439885395704682440055925833898335282919700295057388084119260484541648722425163680895494562282200897241356197277033506023061394444642205855670862819671601561968868222629336490506715607580287110130150195776464158443608104740374147350912978143638384419842077042272452112616878028630562489131905476255599580026801528594156895603780834505729603070491853229037953930206334154421137358687153780768920152522701352793659529950229977379331798994364722960397368980248608432827685470721922044469613985588258701122772681766119141308926125920035145667935375187576155113686638186321869529426886233407113209634192806185694623168509135526782020377251497139641638114651044654822678249091458553326846619011188527062487268686277710912055478173527706612872088336475688100744285981194047968552767851335990343628720922217825850560517934723178821384139964486468722845952661689523362206888951739492892982351027200308703986979443867133999048627932438049636070072158684477367183750862520709178917450710527676513794051824554088326969053756490550560825046779108610006101518789915118427780266631220669288762847709173727371381285886491863332997763415936394682925018018177215590741804789718523397746465228965868530307134636508280699524529502098839229667191566443616828436579366666014235191835259055875447647300097727068709952772510228264669889662646876995322781038211249250371509999091733200718344670310264804185554815514491617031471061990781397355040975556679679680701771174630276683996243976319163487974088926998599130763973833907644875247724307030976850330933894099533045988495631408101168231350759164346191500201125861542801528248552246221384193949129234635831002257031018557404292138074536834878746801908183315038153638081522039589484582050102209671893467594363656494846304513188782134801357933370357263958618418446340562846849698780487151261278365139499530583308172854511072281788521627213089755005339930534883429388983805548038496635382984376681873469517503144065846173981313744555950278386000067936507532605666156788125076776936581567618392221108396401972809097014219823786476653047872462978072952507848782070952356414685770498823019650811337067344943195284731430225625356571994063401947265029640095051362306829117422112490767108868509062909942643855631937872207816703267889242212108260770723888286027292137323151421500929379837592550851088568826222430972653503112528295436422641423642715140127250669126432538600035778107352862720477036581506130597440568998165134371317873550720820820449196484332365161096729740971593860485675745198862609733467688402922661433398591290091336567280593207634686127399590403618706833714378915919061940456851405345379074235528857281575441691510493159925072402220360161102726141463473292592496042666091774380063268494665708914255236656510946311654874281139095846392229502610280516974177759876341602191807171183862389868435781908234454963641136070195554124096728805759726059840243037481609998864474542759799508572075749354125300477996545256876535559980548592525636178842159574981114290636562550258097010789430644159255656279881983721654427627306318598374613077904177524676538955116005590800267024789889421144317104796061640789617694434752638636745836585121843448481043801237846537789683349628257516905603308908433579641562606019931316656818581410449047629342244812655865331234056300543946331954920240003110072347937091965048558655035544633650625696956688331795314616198596967623768690888199733000207981798538124007234561759153415847331859577800505670803969149649284324989972515109101848165078129255618951254171911125852359549922612005749083158884836314274446027578069379470901466021756759815529040286095717943728372240201107887309205627109781102345211116998517191707997211432623022331119155142775970256570243821715350433229696544027921020960234381115873606811055983121043219787033119557335014342005178258937752981063119510807525364475422374031780197316743517991035680906064160567855189985178680656288434750811741463522832435864371534809945433877798168730103309566025761706386605762711015466289015816828124650556412405512470211236688572433157681424375098628711842888505906741897156572429486099227433930446176965624863118967190521896693186542626803051434464952630404006232506522982390530535683263697708679847097189212663284546052718435204762375130676396572991304128658902240287360759979680164667288298084192784696607744513026097564780032542921860576159060056058190818285099326130713063257761009351996716624202943342133469165736063642701401662801517481248899324182845417805884999241997926519784043588677022373266126582738797778694863434610751109020533971617459351246689536491793614036796195028413940821920806967005622284848556158547086857488580511309081361824573601174653793058577153151218359117059723190639425104290193896920024838790804341112429812215022286350026729890493240305826529459181199915337190042515735425868835790846559305574213137314790568084059551256549422275526002023473582286116606508699319733868592966573847348332648828525173822386292421260157663283559851723054890840472469878107021618919986693955042002363569580348066314030786112084755019216991224984264169018253829875988755362683739051465402341843697269214762275478402447249529765935898583140149045074275047192544812017681953634138915357511610073785779203197745448865784441573620647229338074298148576625509013757889600803076131959802212973486574528134782065751934960401752027442559194237223473516409211152866504713280305390032786172373777665811408428428640446100501723576261941914509951929275252349859375722796291077702314450797860467081576418252603303895503009363810765493397798866956214500114796095579138401496525365136063451823621885067846286110747682387272636080856639869726128085988681766958115520547916985879617666146762017944063396954740040917174212379443030657681599311169696680771652831531402029701489147174870162754101391103822163674737207900647868331687056082327805885930119378794982505346892082525165588550961287794668936503030262091665164074191689681287247706484440941341298104308140407057165594493900959913865662380677614923346353363953030519029142169939284346209206125673716532372659162659925502289712156052804888084927882686343631817324077529063261317298536350638677655310784551101841090140332090212353519331918276139219860744840507164491876127964057434250376140773793934424494395773864091024654581083162401403045809133746949585148870272690574014942406729341117310193718114467783736904164965580732855409154918739135270854234376650134714348281603823952604863712693538571534979843161459128319741606034565084627139770333870829924785185764159852651622970777257398707788189830708653507840234216688718879092430962795639054599533792046690215823945673922296620725209181122321258500008094376161510568331637566093153560259084665640523894737097494913849440184424087076413966183204638856745510792214832129992783332493833215987721848981020706704712196838356040884743210010423632574267612731484366315612021372169344254057500218432962975114864676231760378220417240360516909386375351641751085895752199383417118523877090605122730804796258864465043861453636420222992527550650327514112483925648910548148721862974954880098355334141387477276316955646000480819310462581016599121230743760362189361123760715423101806846894897690285243536245537684322517545940699716941580954326921897267236119331241560917345002420153280109616638681964238878174909728077728415102459155041532970116525320377038627476834709134810033015694122109711419409074713445844200400053931642624490528148841697460809351853014043355329982621879216622792436384056259864576780610235438996024910352598563221226821765853906643561285869699031542867222449077962190202429011006324166241285254095753069867946113230952740694646935336473221067463522346842647733338384745740040124555143226419601711895401589872707300358642463935936739275495717494573153496666717047581432674790707706339124853082707394660041436046518379832483208032773236145298180692840322717282952487227567864316911434181689971649395500768386769581341608871876998165021917335131539424224717800249280292850951043375151065405802564642136949538722117822036766255267378172383112419070905520081878533729064470882371525175364999725504168800474770457516354372269421909811742878881408962514393504750453759587818691364153696994116380180481962640352711767449702266926840099138428462483795768845310700188742488644697153370393989299280533166800450100272284393727448550108504426655459783133392184598337923565979247018125817154939891335686995243911105706871604240345626646674006087551893437427735375564857610134201745565306108999752838823326591564688384179138176177776896817562424329826284658774785422829447655012735531601137218683662401316756743611257053653056108807522915769400359310574439113561124747154805197229621251195508058918971687978422427683650115166426628059865521137309778724383736923152037982104583823733289007447980070037898574821328554981586774253692996957714945655375251053623137777203013466409272403058637259980009810794735511108636784936597765607229281610538342774692071807635153658946331208885191186400232296924071043691993861165824212621650954736141909889677130588455807100276200117873372745419456636647884934033618014373787022500249671374869231109650604029430473382697356326658308107885188465913227397028163455423929215886651912681774573950863585479366647792173341684701911055880624021273711580230317811723612163000000555536277843288388583930562630994543293047694873167212053171720872416268493119112978996657049758264323273892039078443398738085529540743071011710169787743603974225482224317828073324665016136552093727948387035175881181335914442507498804063193745083708167674918812785982039850988122924402431318325550907377381086674726500925729372253057898913109521243901198753442974957188896447865318397361125991131937380006147935574794087443713698150506534949416313136108962973596577178379755532716714241455291188643334633840691427932587849571740028878370310104772552745826595178862788484806100148664796249449709361900446361483965237723952760235963575344136560361266785360242872922305202857343003730203279734281791473291989881996031992264053395469065128844773241889960047440402168293368270233399125451021894377610021764004859555356146548681038319253766167874950350199619272883374629876242745271358907543373087600173023399539925362592707428776987702488290033764985383956840286741569407563659528690263694141630431341227712990754732573749553491612617658998341392757209325111848087622743075845282045746797818224896155368142703205068930248202233946937127544198334185434373594487140497225742802469425042432038732967817195246733580331308746788879884698207779312899457668341117458082181236735793209207306517568490094682843047469396509506401581710446696213074086323980489087258552856527958208184357020566865259058473383199215163933349979137568500226930947965781546019663083081804912355966588299832567434986303499069829996376420107627549977443712289258765166367206224368742546284977251289545539691872452211165885863129807036680362847053010875642432052263712056377502345884726399395333731185477455203221156142344191413730044751076785953371170285215862641540855193856639913979767285126948912926905325431943161171026573042162174597532847804808201986184322801354186891832523706500673588552006189485712727758598399003723947268193829065662589154792301790243985355336710982820523191073659516805054055228347625108886975698375993665507411162219014643171968665202644139697516107542459551781628299998464378397603771580968213989894994695646270379332814210051473030191671877999941363840778026512165737954502990777163044319189593604628347174628094310842081522304993647537871925543998703787846625749058854835476638048909232169791231990823514331167384422841491957598757354163152651422423162952828779391549006936790774166323605191932823076771413470235942946399122734079356328506415701736556030648684034436610922450830586187356372728301848437169682056802780221481011100222138629915954862356336174611253167312660543846720064080928553912198619340472578903729823698671519956020419412131329654568452070821759258497396619265850224326099789984804455815570369334151371704003337718950415907241235520305612100072678515408915494048725577519685464332142476734416035576132433803113534019868954960724276045556379304537720963242421916615531388098759146921319430316114014978292396333431903583869796122351644140022483267657377236281956442323508451374230648532256382048498495804964687943420208338058232605068581213571159178923987240669448091373162661838056150806452411419865093230319249508198507032516678235783068143798834433743900753225667605406369961258581446504327950184898717479090338296930093379186290971148082995432360383868184759413524266779686600428571640993788206204477514085852652947322494906531359740570765044252963249954929822294991892753964320701843876452916651968283892158581975899080883426825023734379770661625496102639584982790958479937122795570664343560136721651697359687077260080852185779094380578862295679606204382869284059990766019630991543336055458125377492920568078220211181765536618920785820187627716436316406208744776160324314078681161372496251419958292106936601709364236161980148714764216874389967996392827686489308982780495632608898831037846935132011484825884940308302720393354067614429279984444268446343176424174505009331011645932799026500095683987911789403294467288208848374660623967689378644418180431079968205741921667074486077114585636872910343431229045660690142786948526206500405950349150043033911477046296188845889545154628714982284461069176256538299984738226056655355435889152571020006280361358000402605763578304582806455994864590281343471772598210817364704950114578926540589402445651427496595186377683581678018769617940200432342637486702717914716786934503847701522741276573206164216237482691154270153619868163837251234380308787614720240113345918875429396328260806542176478605290589912042567235957456769403138185031754054525658865568159997716949829367460373587455675676153776184131629211011806671714515149262144228429433645746967789170428103404512276930138297902996172485879385069149091531751763502037070886511762026875050747572403440945646980088792338872476386787394292112678064053812129611900993389295280323097459601825439219400688550998071534694598619994309396577544673046934990869145080122076885435316761573035069527097381752431061174997818061351200034175716286501929716708116128121280326566052513565765210349219196104140112191264548320406653389883947551903775248435100251703576949297265088447456603667689963154591602109025346757245479598895932187447137687352703326549670430822126422602998369399172654364380494322857482979057892315623293425336473354514444965958223595670865401473037935061774290891461972425446254223383468568573929388064537258093798451904918994930501759290827172616116501249924912375021793551753992347081497890339223601863351732726651301059107430515323014495565357490874989202073520474327306186853256462809599383646961246503153406238488357685971218577209471868135461910655138505752392802449065376534106390688961973266250363183996960924586504310359927832271005652614210837760629004193075522543592624689824685743096888177571366334071883159002007965862740945444268766440250492030710310143663470546135872475428421456529326788137149557255165060447339396213601154140029321993024004683724734500694206762120580764039090646215497376302860131454206790618984462444945043612359606114938244509946261507090710179189387280955106842738855842928116680555331097380141803201227765972668998898976067023492861426189676819284944618887076268361526339075339779489429549455493122120520391335859328419607627069529419048165780033525425664491820416106005476227397284263371590273166651168991862348564257426482775121432813906987163917923600699734762084448601037086748366909997054860658380181974683438162878198016496758287335298020832958924619377230156307679282405674136427062439007327270828898187607607566024970011492626117742161354845416921626868298993078744384858949661492226012902692348899699473663810693668434063751632665820353791938051578347791268597632046003380236756500146965122263385874072387933567040254777304728638294270319001757320986543880945262800871594952161808391969100080644225261937151363069651335743418887524566232052763472124043229326304277308027999226228783460604962145104705720906949086349593000689692043148271972289640505732386608478404364012586898099530048798930737472461914743201404429115774050734537196760187727144637524737131393377070928988498946076170718814404674748427168061545886792098276459504553912698980771728259743325429139505453651392941637194927833432921350751572467952684331776667174757680192608290842578412601215623959024626956115966536349034744337877846900935147618040429643441640509524446026763162843456444457978836880470124133042723956151370779475386655490812626821996894459347908483773717212764582387213951489334181620893723099849152950754056730580877695748463890537052284373404176864815526018442385042797886836815766963404628317268993357004674614605024245100943392924848958909100133599965612119822164762961353634075616536515725529565942237849965649194965846865289422012998637675562356654172439997469927619212615322961890743268583907773216647126088130928559781468356849967698546794245648738839085164104258858805821645565086383624245582850937733009936523653644656863110261829694577841784725784007046095819418252607758457034350786952863388974073108285425564120019846439749134237920293521777135529879945195493451645465683565607975314010086354421184807526412919269486370423467269606944540274708862066150294095730753228537194078188992159038871751597927984789958541132553883146100316665331113344669354112643139548965077800258844593988203049002140389231739177596119835307162537352942417631553799178365540687587257474259808234392427813961739949606578913189050246172866037216401580475226226233936497866616398608972503246622918775821457521370939674598881433635922633744307757787983873295325933975177150521430483804291565950323907610820379066644039109729442687538411517901371344203596461003555933693078363462320351316293006471766975068111656189141622061614862040541544644652819967699886692036141982792224483590935750674277052892570869940854745641208694375275486723871891652022299331090486431167365332053846306545779586681983430837803800596257911696973858898825127062073880592948690112943114903667484666257610970767493841941613989208771728717320205523085127047401540089721016311583082026713073268001468555665765277297230594245293895379349826611799778212150083349018619504858196569093944150793578324107243135415196839005889400089540348726592752069660543203429274332932986042346885819821670120158315992573602231371904257085021600831061981888367767452022207788496888549067244322462812467939393970953165761503049255296760519091456294928616448597643489697953178186185234047885043087343134090843482446473502399608972933007874639462679917856130933944753582492562524339401345123559996367986829872704268752222646182953015318325414790154540742250209553037076193368681654423566482325111394692782034558066120512073883243496123241312413923267914812648564336529032623332316183814902660276987811728826611786553712394825163231482295357046609786031466507277229243596121347950635924140111007284752489857871621849311966333118883068332167757482009601804595056599697055926725669400457444558667454544285463325915194459592390435205333693194666498041471118944823813272549387628178541772992958069316734219595981439270245672182797612792203320700337918782414283519959791782100787012781984962348773312363396022819519384308154412712807016857443877860676997697899657788199330491927405847582851484549132797932417047992549639934254230709780416566221219603975544470814034932381315504630256759795882393291232978057914563075979654445177058056245291741306457361069502380487434267361537745209781368382307617730156541767934700612998020024831778695960353996953290310284747927049151368083379250631723745944468310506508279811670841108964639442978529390963468895615875483596919907780403333908342753136837620086476907803644352934684221911983738370060922782392122813800054233081921025748796337470417353043254077662791047932790374138798427199927899591076897219935534754656347316428744641226285944698185589201866807993073356708606032930127780761748209985954657986484892211998970571837800167565801027376775691321331284893948240270741378826020046102738013814706682668404368893211813019937983069223040667849056980203148105352457608637680296060714123273062350825746158290357629270959392623844534310293999269702541802071145667234995665750135768972980800861712234259007186594188741288178481041742856614341128980938336065091284826961709263452757750399544261348874162928796509474135953434592573097972788199170247334372258220222042316497516424374536869442867174132330504356670967944645703379408684199980860815152485784652116957278461937825733686926286706849910490088357173423966986822852808958943821087831748026741641199905937365595554067998601960608961577916755763555542591554585910736750635447240348127373331873518547793282935670379622829161087547076809506925350833175266000082541238961499815521197385633064491743672816313555658324263199860124773573389392399834209797105418231745038373757754846820855360969359540153848528586614724310791859303436581348860640252388045065654235299955525193903250057755431380659461661347512500863962083356853933039099700699218891324275489256251785668782503334107017109979493629839160339099886658438738116103889931173087300371796951768448924979935286908642988248304657338199026048959008214848828388554372920104156828377750731274666798310979984943631046770484215757900757712250455437797455102189792481201831241906259365345655462774378486546661373666246074464981740774880471524338943069653004354709388988183995946220642437786520623041290751575751096913618322475577613513502217032255508793694407258339938351658650849627583993854829630429003329624598096463014743984241934881630911955872413955118576926175699511506554694456657409468057424283626408992303179639382596652817310831900270042075825694821517887283708683887486572978475522456939530847236090181253471536126139677215629203648848585529640591022883928050022466282733962196817387505480631872637150475703401229043253028863399820054217389928551626421418703297483026748173196073686808355992768112601569968551064275744390178681002331437844185848389340417101696028560566292812560193825861109232101370939741710595564190808779686584640525892606245596965332235654388412441787924198856006090149054540989188691622958801242388838803052297630087082764089760732631052747180880276927010409506798266114382972299902637055459018014114708853532674670231212290581735300982069275401352534937813123593232775550764093294089081525109491530567294778104726143507839017273914598479905529332271488164343448058834066328519334406637952558685616983501315329652570155740206139540386666473429593838528371804193570493049554645298081755811380800412180410973874768955661642175723257329831998516663641571143716014326851796513886627825573907750308990465814709508221757252677290647846723106137410091447738931469820076887028598739751713358021256305524658184660398538329243247886720921722963471870481253987162424229581095013522545024372680312775629510297293311467548769264542537880294455012532793963213988460118818435868485689412909851758048424161097347189408219791195343603495322388422169684897598903210754238354900126741877007156660055085650151613811934143945874399033895070130620360245771761014454798989911530972211752845947145413222057774736828643352927165256712061207270870273983934958649016933503329259428156018501220479987336674017891078045481381223362560380202501573478911720018279331313824235208618073078598742062223124966628410575545996379023423860869491539571894265606153677009065382636714237336352597109873748187975916003763180675433850956430498660254034001672230164965469349038205210677176374894455550480497110199646216265675140105417065687401454549784148181755086085797688848316107145969094621264727306178459247183000270635251659301077546753617612914890816156667756782779515305248401386406524204035993318335497807875194231610988012986288543463600374076962672540630825908001842059363535077644118617404356639392688929318589552220885323957499637478856934766838741991714981704173684250617233135450178411545965277905327014631918548435325336449875130583295798539348802213222840257937273481532445435412555853770157327924113233568731596156110348315659676334427142623295294621757664369183748044644067222269161128711444247475134522747323537226494548633070076553878033949489584343508856140193869835061348700925059867635360697605503921217948573631671246965028351219861083737120413218567758587367335140305812854693310997256139256831400420684791496453882731217944212019737002676018444417497842758598758752991971320289323817649398832069936353070511158056418692773098287963014109852257034701663517393314177093623785539361011101996772947005628523031462866056665437060855185374686146867151542579983340211434840400977180622300786649990746114579113357743216760227135209590423849642850332438702747038558657147036774691343212919928622302999418455860572672390741144131778861149294821556527111793451044483817247840905979010373968749112183088217851671545513312552303373480480163174095600466092256504394125507439166142018044680197919014355471050422319076781830125302361305960394489013740929225681856692306765766503742969509815869479564079101851494949275275384651862270532985370905078924800011687329614642637364890704440083615395412462940201493695428637695622590040173623093123695048796993198243146952768667245164044436563362830491127054190756204771328254161643610216044815543449901235671659978857335928670812374520735739361673062648542250359958549588628157515676162335539123838253620715366915105865008071791723228554455819641686733948140461824183479870205099506650441642007779228224480216541180520441574056363864193844838016132238231801509460888922085193319943932480272390043946000822538240427254943861637407186003260506326692815248392724488782820420011742016627377272750201655563666530514451230927724386849073953374381873330308134380939137950524138148683408565651509350589392950673067159272331204911813296551812991643549251560437606397637895184390327252070115440877333986985766754934983714171079336633322498933584581296784901128221788865146428681212557333257959276158817446176502789805158899397980936520858499473703288970502014996682242119446977062668673530796692797580713674805410082835055396574141320297602040785107546762726167154399223777178648701672079010318756433665787398373107918119836982774397592641304478885967610815344126367936752052584700037024367794631683192255403997588440015177135904814381808594417937442662735188968559755016789043570443680346758537520466402722854663992413874253291547891366638605323639199089222047457290839410524978184034723486928310472840330079936455800399298915138672189918471938308887044216471460071315311582093220496259089571222672583640366550325978793420542138262608817325880664920628582136893013326760667381561667835978709693946695169719913153982526598158777449595264893556469736824351066965251311217085010515572606608427979624318743010744547617151104016122551662047299261022636540160622731518760345151701251381045946531269445907782650483751280887464977912530281494969256985739042792565153248615732340725519842574392717984033283708798548989241323631723832358200991303101562280324880895550743260292909319527666206609439497281688206867321795826401723190832202655340623607529067242985688869593878941520047626056294001714791659771656997484999637029384645716340621867226445726820116330511056004265277116617195038396287214886443477813774498338203640185840201444553462585373612117188886448420936512621327295875166546064989814799304846206958121268775465836467198738059461520943080485484717769575095691421490141991459691342250796077347088232667018668025714442906634029317565679171118693109139391515564312710657319550661654750274265354294882065543618979166849350020060249454082678128650828949715706643003767064207701079130041076240639439431736637265615236813526612210241822601612873640613647193863370639592812426901424274779436618160461854021226527054034413788493821754274106953201527815956795290914905214236350229770472479174490263375595295038779622237920942013974904514770701230679144592589094526556222425657597084501357836518697521067081171299495308938630572696730758103556000143718256965601078781935057700384118737324465014068158571320136577911630258447628087135967570388041761142782705983341744997916026876846360559921583685931360515737984114248245907589899442673773027231673920431190312132218668519562587626776100760349141731670474690436239984175184751685616989408032603039010770845274011247441872273001432436980959190351810486563016581428042813374307484589967107216256205307379588155454497408047300612763896099843659547703991532099558215513441061399373331489213530663899097721859650456695046469382268237011605450681565880341381232014431320892662036304038706516127502286635158756719994138584095803860171490732822110488026088013568004555251689569787563427410287682032562635813940819500677314877498758382382016167884684927146927032173015037386265410677499068978907480299492182302533959014613184999528995885548658106372304141118640681121314845132796339710111881283005817258582500221050600984645108227784758383973841716072346913799102033951748540360234590814492119664551319702793879885033842887887846634122611976395355280790154728877601772532231177384147497277051402329055473633399194509521276745420387006804890765581101497714929460851328237941744540346863243023278925068710465417144049644739670707087105529590974624720150520736418433277287103689497732965169681968982240020009174407842066749378776680401139395784299405229113666111478890660568753949803083324820825350971219626714979292998793684248925263787096121123751587714372548878631394263146148210489461599685656141305987895586830962564884353426638916873463488718372467303924440141622399779022139632074385876472749667328710198973103948016522158166940271848999754128549941133547407370984174546656299280556322138463556199579183529061400917236252145637330704224411175220623484077976006296656202062947759372184370981351360963105534672454237604829114928942405642484042704453706319143489099369241849848845679333487438135280206587847950531778823170852254896444445995743520873000400867845107774260006790490879366499237447804038477501457274064405503166620244697014435699047125816124473564581793966957188303787890880115409697447662047605482474789071742674186185240187754491370071036695639922071663371393115849462190803851331309284148512022312990491322614919346235526841161619016972214859574245993406102911381447744452358540657286376306882408924195441711365876072496848897098211273687043225218430789052460595054527554496356780998784729045997963909569223209931631903436531841238075640079640637930023002556776562614620112383269015480985472199566314363608234604997939393534540412999363091921531745475944636013686053309592826520861082259120417268880658217246430086028344050199174462831403912097923981613762594824481575574552390416652944214592116428500603397229983987828931853391406738032301425210009585688114203071422062294457597123232695042952263275743295874289250413801497001321931822162284210004510475080745292274175325497030601309534359692738858287176906190104150472740187053169725179778620088590844125070382388615726544332588690221424085675977220704270664479305620894254298216871942287380145812099109097202685989538689570626098421026909161078415809766933080653773046127407464359880557240252796905063582579370252523261833892489141724081318578751974177037939708953269939535622175498013378145856617710866266512912884062269816415834300419402116581305488183224004404038996479426227566659073582063754846967479933727624775690183571772365036194637539968833442065234221858790731518262164854156333528325276408383051060441798378808605968131187674586900643349807256850399669656703898017293989348905183474650353529188544494775050427018467379604370493484813586027601177128639608991008177542053733599157565854364129448424493536119213563346754207801299873621354584903823472494410517238470211962708320716965350622963237309342039338580160278167296331565451766212317180