0.000000235209552894865093208841621177139136799757640076697131007957609593539075833441529727664971276209400479074817336261221847768614013596993833746361308216716437008059220120389657553707749308013495383306895779587950496856659535113022894357040574588712575808038898015019541209654505391943790561887396719485323864737571997644141118205031226420242322289774405813627476991801535824296582311112616452249638247707647697486644801586629560007601972749562039812509761196445136901368166927278851274177189942063182930936830240798131871647087823483698096307962690119881604919454840706682397481564275244100473994290993732135834457634996170788478871596282560058407236174852899945619551370707190450115817183845431571896033614267623310960200661973765667308318326963858640940386609237902231856405508795896440056375025637841265540295159763736708308165911173582768359987279867379445695759265845126740315481869106824652219155089652473181406778927482072327878353382595622091633878454993122472673354144674573470996780451639975086604157375889327319495484917422630169670763076239883637129991852341087721873171245726242423900301256395347743211381884348403679806413129585410233685394992106367404848327471911275193295210569000133599026044283372942622040828615029702262339563563970412519922249130195073394788885313703684886939472114496246996374009532572759723092497567933223067094936220577637028381325490506001606951665377718316802805955882214582615944197003994799046366388743058966094072531099407083759062624073039152041336667663955170940894661872155140457736606697639060591862502140406931343272348200458752711966144877794524697943892172414247301205590084317920521751238613505544359580837759977118814694387523732643887091887904772119576773338903095545883738740518702922807988092751594250349521395601769528508338649069228757284439853153971936677825007855999066688494113175310147316447169111905178561684175665784160424205132836947092904010040625393976001098899031124809715471708054139594047128467694438328996069177952021014562293838826887650745802450319038237546595012428472774964671525155191263000031988499193701652676402460480090922604767039050430809817082234904721314313348048042962436093564478465154175157731526171296531505849191161389505137917473435433096053936372993427304253905889835372129737826023961267572505696775371113632557518144064910309893290130042657604513012733304355516416685953850004045604309791679603192075884246793152955831409319190653336870885008872104335194311315837505950801688240086858183693015781620161033868293940437414501327522716538618586070702109923773288097832120592878607408912748545934544003943993782941097882925856303898269045858336108806057492741433197664463223575147570473486238359479227233126537094428167943384119779994392604258986416177901215751137002978693777860571540396770290587290028432130753931292467084775167892578856354703532471149196241915847667003486746412113480141727868192329910563919607256496958270061963604614623260154937236682905534198528152701805092192736352671321934137561836591456060033004604462207469879064656283576163675741992055562141423036611778165403120948515451385948769477703075223778368624174649678891918387930174751289418768969650440970869767293076747936271382900453672185623615791781213718926465967059372536179933426288148637384018169467542022538720196597552691644039507678180644699976102709425881706529981691288402663701144623768207571489591506865296429895322340579669238918337124911325998558635859860266708816218545426491369691085181609999981183235768410792543292670305828869056019388793864229519363391232516873933324677621786802297903247961674014613099102252178510878912240493300291095342662685039355262390368827395703380055358920369335448337632963960251467237190958168451436754032902993935356888158798436703227639568644496755049008262441174090820994240188468710543597501886380614216818047534909801840655877134056273415110990683820028940183388184201068415873069635199391842180035036814999219104284389047890546645817691898065824804634945365525053580736149450268232974121304152295362984790409471606443612743465408201474857980471962080456720501429133243389200306336921690272297395195327421106011768004350435890343424763990734625292365474248317310858590135123183947042098746615334533842891308724769071260967821451487559296328284795489997948972698756776387218901063335346727106113378531201017610609644344339258732389860774761450471454027822467592827802145487457685801434213769731729392350232669289723600550202186131668426034122320257563868801993071667409928853814440361206606189586426338953900809309029600651812712982250146300341900606087975899488372180543089449252127705615486949633167181305168400631490607612133802247097984536383154479989312077916457330164590236733710797623819012834914882366998406220069584394128416889174903705209044842230840300240290079237394179222152600194565342154632405102353789037729493960759519871443866769782534655775523529422833390724464239680416076290688900555282712474197512047433299274990074156867836693066586883586324728427050227588763381071464188875152650999828767445492538212143963299783042708409776438024164488626206860215903552793254566358259900910919556451233532979201830494824448998101388489032648967618230433858132887752356329300900758503766175360952579872459972038288351858437719332908074461699417244811747682245065773999371520074664920470945975188214684226471047585715065265946737267166063589373044232567679196749968481919912088077510015222762263355668832476229722584444933680314465763838318835016492893848987940335803974476940996272399005722178002826277987584698959997440920064503867785887803161592726191618636875965535214633421207622294854932156156563005112514841722787665987381477906296277479532064707088839588966602125165352315685090160525815659687528813170229620973918083098594199544257970310909395398548474807175208536789596587391638958981335651558686665123691999676351655216665631744633929260256547763533487254464747733050329199290231653184455094732999523935864940793051345304558737470387117290536484765006839893798182676910513114343831206098136952173430352569711407286980116325236479684480497364712169365931495688138476331333111295515400580685344186842942113988194362121100931241661821349877032445746564529270417600448591659281086705767902739909039761704497771154276768258376753016797725429539685496602633217986568593691491623717402308064300646732186639721060287030921588661770544613607154886431419480243338395042911630830139187605021065367557264117747783855592624581091786294245268995053072683515197359631643023402409674827497313906905940640635555028686157071057746767750324118763889124098441783753982097730510066028025688646528965586019896846498482427964722330418616553860165098289367963706225150110736657502902485882722635250197105605325896948109009278546442596638196902384272195784668476839385745548424001911783245929463477601464696927786903908430098543394280832679450776285608374212753626460886533030007093920115309131211178663294702516365880690424713185471200001505341138527136596536586375533690475518448896490861638450928701398650085334025790257055816167740163066078830952071819825719129687020760535976712372586985196851579008770493808343729595571286370453164132989362883179882621024723346523885059677367760485171448947296125063741788834508440259596079339004706072734320460784922503156512199849089550862654556197207215852747529829275498126791120745294397684785328945263914526730154429184048652625597197054800062471657248876168756268334584648154734015629204370757995713541108043978541362070295667816370961216767242271484510980522767343882011361562243033563462359885669340528863975493046264778216208384373806311519058559651965128772526018880741229976610762060134615131312789190145284236632100270773237292568695302018474299122574283880995256293737216360800164082184099457889022487914933172261831510929717503918591151228452452859301408811138019083962283677774202592573775828361003385135885262898421461648611981386456822111955983825109466525917270214379394890495840554266607205691694844771103471504833085892883687935255277631947854982961419988295972647951512961928040930225556552844059829783550761044029346625495586527949480751391029295820232161237089347641600855033766683413586832781061303136190094478973206809410640127502394433248469726648866007703583276412621532775980776793661008465662227791984434772627629407591811696876981640483139238410284490658417397227537958117646173328742042860825566713896744887955577383002064199036205336058000794067450573064554673049313094021725835981792898929514282864889987787920013698604360596943028482936017356583327217884958066840909903451182727715776539634691339207927126435483901317361663853560414044080151888920877388082590541565291349368979811493655927939319698705971123793610203202236936931851324982453367354043064046620415060185420394738080050278394026806362324321984942825261882316193142794778724261018626714912850156461394585664260002521446407032953799198782179018931546493401901622193244405305574842738892934493198680568492080964773135682041844720298208079542225759773897760993224083200204726394839690577128975747072581904670509049922757182829326303390216411605427507474959590998812662176986721009481767496297801637434823432892832882671829986771814745192787157934747224997694946381630322086553352112464036459362375127248368116122015425983317056832273008668883281493147875305066790104640025891867582666749460429285659179476178917321019642820181355973664056781467745243592421360038085130804736555892375635301002369030616757081218799452808496145385847158950852493503512149043826125571794423087417041590693981081625241560210823026450725480344948921893493351096358767953545172465052564630880944451030311925500667054292009837404340274837658366591964112667257513063538567780807276819063640178307657858539329859758656181965636825160271789342561074512504680670102607815354855948261425068822315177037526272907058356430911427609085486441580532928396567069533588864991598314770595418870580177291552590033512657096460378480395754185318784211229468558127807226013800214887447524748749155597705107434315380258579974070498888870072124657299681432181559194717757944908277682753118408252280121405762822213566510675691186792136850562903501987991141067399767801129382189179984231551573928244151279257716284592268944247809258224337226521852849140356126079847057340325642921791882824245777047687325592116528457533385643937897151330062979709883129077357599432486390775269503105706936423798690729544766022945162303999879572708917829072277073089957304761958524088280731068923925703888107993173277936779435534706580786954713693523834254413942469625038339157121863010193041184251873679298360495332501632354297090363746869360850969345609390318022132278089195225810579161186284084216309994900656893239324779232313652879623514181254363137206199747479024012072835930987635504223422731780197613657960149856710340376448185217173684378886837861587645665276107789952224235615995002267420089906499498533233228147621278749663650339360342916711356481716691034376346574690323102658620618281239121558178612489439091075020557314923011209146452757690881960556298817742703329250095495078475315227842789698197918489540701601871139035189230789494976864788377261069431978338141016594504375838522056070194057289520379496501022691135986873425272043368878200966805346219053479125622599686512707901723803771255887295108958473283017305778063792594097933731119729189129178968126283068111041489083454231043521293991242677926618382849648408760332755658671423544664412418311722279613353128569304965179577789444171601363086400936322188163878963045756725581955475772475213617315939116477652269960353077764041539888717656334381427101032852188671931597298665326913053377515095749104792441682143455247148789799808445340122421868090719383713337886990277377921537856507119322747021776641245218189789647392655064249841468761348860927177240747326608221796963350588306133700636571133954662888260408963553809359834864077103573115359936474603954154835626156054952478261933121456568085638857370808800976966398904111651152244557721365118611473333822569203354652727207723905381782737876829224692863365829885161287894611066891715166876473587848886329808953392756674776692050481615080507525764854424103522310096511183743821045045451894001403730611676554876270366795185166368420953595977728477855491014054241204573979049414704548576417702059118509862806971987483088433146859199798284287437363696064097425678485476280527847870224540447575554012580888565240544105554520633522818149145436652422376143353636621939218088179120542073343983621888412824753829681940234193447626359276006179425373653895728782687071565799402003232720094987025841062319241458600296175869005214125368573369386253601058254820384577027365220222000184404289469574233075731831002877083251009989820130550710238765921334635453418159306489337480548169975594656791628797928650593386660043165657147265641905686614318428574385491522106875457482580380512606291196953189535621075528609949175919810477550659433502496043775320308369132227283931800519719028076493909954256446153006636672744481513469980675183134157883941961572404086248520531912291298563716386202795794829529524443917575045959946635656639213007652778012987330672642870986619398954916914577535417854474908785735387371316853611219307505442749053987178256852595114038999625546391791374771611524139085994494214785836997898167435331485527085791273161084673557365728274634437312890800672134818352366490353585816675792797318987432283169721568339665174497263101642515349775421918895982809004198020100067552183591405254769579313602074360088890394230027416025485425475264422579364407337785379750527339817590287538974222914679145944705056629051954967719840960708714608018575909649424865601261475874085740467897659382697232618484460175259342053021878251772068771509913612235412773948566256649374060337836185013952630677723397329148484968227893594961623209349673811392045401088737978439751543445086096104741636418718164387015680009634183286573674217834152803415619043318072937541514486085943688951360546137765057645157223473537043622904518093259646884602429996932867430250959184556705259850105656131160373399869411656232770900250451131922452351248774558229417752864381935153667105097273262695200407947448540854017661414907769630118865499650949023504020201678079034173125520989159662126181457584190907363188011463172769884145182626105249689052971072988346777911376803822061150720399818606392807480040117341341748190297700026907972851172566663091481462664717249892274024774151787310350537500870275345711000844872713998355414806159103268283779384729443155496094580583733659992360393721974781772576824144166520836743871850308877184861536840401850816929819114445441732948718672439649932918235514384475416838369640279918184709121050125978236530489743922655572302475721669950192025078983367862095698299529016391283322137358615537754896592472165301510421664869665682549897354551116680873323661516518296480700585765870529372028127299173379547306286116426847006535062217630931749714455602785633776844466271890953087925094224946889682956339461953443561938201982910614724870681787818403171753778876676808902587493249485831917371824906245472216106773846955729798792340071616604665428523580228096816015324372790206250552742449302932969040777809766276971479430454180238257868700382544816828208587594860012682499092091125825820740213871342256242931952935509303949074309283626968939167282915695251213210873831714150771205082031683667613149907515603801739045350283474553148891410335295921842688087671067907820435382290790511082133294194463731627781823382087569457380969853662024570930733609187096968431114648662786649882112972089093615283728579466017864635961470793559397938811646071718215192279105300494316396363848479887701551065875609898370656385186690526323712321781721771560718875660703634081676046823636113886583835270519210975442241001352925348251264016137257005010904314872205945721161897557772170382036764193955678993528914780756471555638349318174548068365067806209908531709070244862552945670356634132481310248926974019693625444781264524189891257919505645970107688341697385034274736047839741382392401037932715014460683311976305930479582869970514130449099711915339614369233837810782382239985247656842434061353941453519769833339919200814389555943180898726293229163726547255480853001556146401952427456669696165707952529067196546747428218748647545070854525714049160678231449963401393569558991496704243744837150313957711204065926415161795947245319800316497974375330469421817285455958422477753880487203659484307759469066180441478922401545985349267369284643074207673100118357447016696114902689103776336413637638044486593996323204269147468862959387777758961013546188570321070448083606646833797166571642007297141169010294651711102455399564580075681025739451792390876880029956288656690018271078068873120440462817133040168146605173481157833136698147113226115410741738029245014968735946229214531810680771713134665936576214481005417346422274532826786040218951868598772017966246488321375279664158391994595825312687579618433654911834051192888768461597806717961165961978846193650847412977169619957812814592776996882062166825668324423595469675843602582412723143302831358513927228046010751899081930073140762568187249384221390521243185979252635758249739858234498279206911021166978084114699468050075172973105198883789545782128213668121202541768512403070143252026095088636367912900961724819876524393112311620669086502546849038745599229265337074106062573267775726750476534554164996678841113124504883891156308978795388387422122117036510167638552539228249231805600245370605579923265235463579211991547509507170128010447067501378327979963909446203811900098035341646579770849445187706631592218138984383967364204116731678587086807378429590490760027924078119678383865753677266149958320867227029905483393264727410944959082946178409268385389911580024875762314160932257767089855694235107942368014511488575401596790612692660144776183997847362171906194666952681482986822620008618078018067857015171956999930377972343119932410182880131566815507271738537297649221644547560312433553301307200611168502242017458193854068466678333060490251975289825211077052767851934645614470844364661364102506204828005366541158849241966652930428777606545223270315989921741077560820486187554215801942266403984637993681330571032344136037678688697334229011310756979608272602226775879166266810426745396008211635910665530134107078678536281543953138730357650237749816066129636215497110685852239477195022589525460022843551777149297852442698248723752965992462004248825363492843043724515044943841367150822010345456974527746259697689865855287793000540041133446610254007500362222711458092243541616096612794270671626765718113581752254718774050176783499955780604055765362476737775218697842281645563665580939370503969396414653743312992411198985400072632709933934340782890292619500565443765159255684074055257309842484866617366744379902943130093462867938303593437465306590948007398751695860876371977322035748088687173176326252584952986314567374365169416736759113429336464442901469777454129432994443409522411707038034325541311265032242525510828106977068009430962232872510777301713642718570829123082336515248164895068314262542784617671575960454688290892121608983875914729951208130347489185064757894103014257462258275142489947143709273465916254109110889073293178358463121964620719891765972139898878709019439599127654810223524342307048195378226369437058864483545680517686817539482275548932054546036154530794575503207317463274380410995764346371469269401495180085842078424509964417498838064808699366439548322391384932664209197258021116172820689408607916965382798843145335041895525561633370402358869564072023046772830850461292975137409420801180187452605275091684683718418413332806463934848835524545528101896541666901876219561531759875508287843805803466424306743363797674624276260205742500108196394331637942876067145741484002927888514435280680263660500413027974883383103674725886787056324220374415974680162049973562446254617163523326201779689561023707241255379242474705564681686207876321172058610457228554063386151990531404238664310807784871697893086908988956441072480294143658468202490963248977779283118916304914374314364153311468253296226674268639416228706479176427863111803568034833593945517940843856608729849597603496907464798538313754490150364762974629356786548271586121507373349064148230941910767140660957660398802501124301662837455145538262949226725073902841519566612286218037373857116782483850512098238562700280934289977626867328640432333974984993630525307607053275904568898523072175462563106723041692304507932206961826430403374974832577840249435026653946534046112362425932511793406982148535773491318885821756319139848073445594148738994545020049262288758300545121659789139340020811341240137663447118306641753270824042555993986162151584089296836337429742906550303796658519007754388539837912392909090566967923062014409878048551015070346473079796252076900352061658773034071514994138577941859961877235666800265692710950039609288707495281696368929006230230637079186588915796861740061455551980370351553606138781162913663040676199239426389759164234599889733761602887244303695047992157172668273618332044384983469472622548881249282610863670661465713033055409725632760739197766073750425729290739705818708003334330621837607561328538821807124403273364305727258529168807073598009939014867125419378632811544461191364610558839080913967872256750984587188417905280172211026247504426643785481361054190399310553758554571438786243440005569762212550405407185369589474654759418260917016188062268436195175005315735895423951106519820638603344491674522665733355160779841976813983113835778571845228350842332450827090871799503613759570676707292060642667765565697791476382138374720806260713795134361104995662735844618687681228960505493554317412469116985704904213261679095139441631338191821857929666698655165860368319343069127146757589271433705717097476483748901571387980980014714709629102760231145131820841824398192837963198172515857828056171804584140102099762720603039660093970920572556502038796404492690627934239172363442037780299224184810731576976559956796709324271179679399971022183083352620516670712270976458346269858742550913459819622498075985857320003537551675538771001860977982504172617468354906753524850359682448286827700534960607104081167994189383205285252737368776590439954764498787259545274075579415212601210670610660449607764549592522970564935712525002775472724159408099864331129890241814237140152905026145893899793203761094834610050786446661059270925653082844567882417803669645360444527238207063436957253956695098797420597959133751441834559245523021370199137815862908582514333670153413078780146808394534858996577230586273923163624936728630271281289926821603903349572200865194819368471758859403019337988600804228503258122726699671271128874136545731322950242830342408658722228808089703278444832069787615182118052615436144369741890445035290841316345558585054596841417956085435636317107637536433959743414602938049567120338852290282458447880385593132633726039202846600092954815304050684836134208689205386863264219358310706174344847311366642769376092548373196648357955069330367811290434874238156258173531963096561989007246335905585003791577992665225302526526933375482885212093158036357751848276666647849902435077459209959336972495535722686055460530896186030057899183540599991344288453468964569914628340681279765768918845177545578907159966957762009329351706021929057035494062370046722025587036002115004299630626918133903857624835118103420699569660602023554825465103369894306235311163421715674929107840757487660906855135377210264168553047280883484714201576468507322543800722940081777657350486695606850054850867735082539736301866058508846701703481665885770951055714557213312484358564732491471301612032191720247402816116934899640787970818962029651457076138273110279410132074868141524647138628747123387168095799910055866973003588356938964061861994087772678434671017102557010091430657401291959032140914983977525256801789850613708765413282001200509557975391435737927634488118154225962994951462156664615639365423443053885567730002013393772780045197867684277276311011005925399056527441428117138120694489134259494468812154124352468100880436398396059016899335956390267216868852798335092700788986924230535468659738334076595520481107027873272856253093005620567475975696267318479379648916812967008567272754642566155038847209756115918794372282153616299833847971835067298157274278800468913764651203049821146655978744583123996831256903400377464290485679501581549033665072886736251060795083555841570371875711508897506966906956745904060845888819266861232008821299071769020455704396160627426186538110533436449201322442190196089500057391130906347082742957355567221949379140864178714099965941656740823534503359733253550252991395093716894255430047738130855541819317666495434112159204878810629966449709375076443104690831155292873526882570219459921233024926567577586223117900199645868497161491115664768055155699315634284897100524799554419022995967567425170432842027619246539126638704955018525104385999574741128366083911478414348911732440666038186741331587137612641854881350893137714252381731932613403933832730256039710899234345863416635148586578754744176681889428930022335499142896389251111600346981132430504985501683159560515654607002470641143607662939065672388844669492944654251365626664107586731170534452554469828259392858285303542632201881300087874288961521598822823229671779181508389454332654048144572962944146198731373755506255633268791832018982351756827192482326354195479836896287640584749765260866210924636977576062065215141473841875203456263254058305625648002318225353331790358666343018321883332298411300595926923214430200153921131414399716995865956898319851121761399666190602531607459718011971225404137053783957203151431673506560464849343577179781010497872764803618840097019236378073953646782991903146351147164031378836032598162354805142997999777962182067247352010853509608780654861028787767597908328488016543699112413231195937084267115258325947753372434569406575706428371164437820943434925043419683464392096206352163269299884653235260358158290384068974730967313398853306387726953697588255328437211280273821553098086146910005061709578297496805854271687732034223930784414450522259291247758452960911935661719739350181864026298309690069076341494163980573572607307302221695352823737724413434416990785430555790765108450420648764397176732694692355313195632252686563513165149094631388997085283220526831764956034630372891816777403324169569152549389301916863772271992563614775675945213109263304863569050938862451335143506052412215090668578449912596130144268131363594453570575096765210060947499346117442952275040879420293127553199696673760586781975797877845329961369183032547357091379852137866668172007805193803263203253042200357142185115563157528305117595368065316752000692456923722482834406829732745497618738486492385796353687427202643379039253651863518245675437160475010396262237953037119830799656029549846549287691390013190551726344034427151838115613962791730408455501175106926262746005671372739400987127451589169823178866515756217529321222863873882519414196495942164793457787411961064351451995611930581193396821095850715319292263863721466729138323915542835422935001251314821400682295871037424662380207774710645208028736962334483037627883433908938151177647189434010548678028228909700230129026552336007195530642159712931444882875051040472978185725226318631795439192685547407896643277428726801281797979455856811950903298766937439903959235361968685140965789240950547661922960403883027466830748850766124555689154581599838928498177596384170585257817895119119525968075477804685750628950344440869259240442495027670051802551929565088128315278648053123488778622650491776133192583936881046061557162507220933273872358361511437770138171499752559550354601921944298614521649628086654962639314618179628594707596892223219510726496450217427710696013292162253194616147418057695962486898827903756014308267521700433350080253499447727969802856761145639873476077306794169061099915136393315532674370249943079288199442647443460327675132328894458651101439294296074258478363543648307149805905076951157325084063894204624784312839995408709527492233380563411554622244049668730865702872002724667460734117239731221339715979760688392502648459565596180949531556654454586680365271027263609695149602684023249993884551624733507576570117849394382443206301358005874593793102150567984028330520227080710746818555587544054749257208231958016035646478160322594605986365372637790460276869868903603598517991649120034020709730713287081726852087061404746716945060693473028990988651609491928548982859809461445390927685293381579516823128061252330926669188113073699620465865448845685598213160068568288859911071972241509405559601159865347235158747631439802348708511386964874746208892426440564427659890749866871393061506357243795642413739248571337175716589423849495992970056883078272094174141626257665479328843653387676148434162964468304101490099559499549338496653438481411859453824601413891664361613048296988753220018779130703126029041793915034782788682092649983723498939675335549948159814541971733456771306692558534249333416127095952325846142845583987686309486848022640330723448134411910259088026704751797471403222559042301967669035697283423747885466119475162812052513825617519160170178815710492792238461089754083708257360647748291908226877489693117392147011615588560160017763025434620211839131719231297547611117696978592167333720958676504071006941504325033258630779333924179730205234447473943485730306844974324525205996526425322848632303491826938456009227741179171347336769274482021522614928091735488981843704192939573725023097578094275752153108247199595063233736200255531658264981437262085537246843958219256700179323763127045147062420851985450877896135224794473892680466881554114191415415822264371774100982046925246640737165555536738791323966348098848225861384424611574944349419785074918946788072429488880233177342357853458803517229570168654657807734066434467796048855846650898218240594910817945924382951258935610914475924891003893188519515807022792746513724006992309588458549490912443714353992258783195124200052310604563817996729646376549795744024266099153057441936169772373603090465357396211432689611828970666546239375584495738943739756623971428625190754947397735590592370554774659839944603446102201373247453621380360190500921080609136291705005823788529676859707850918540345965027161999168299020963757030413536027517636012276056984688798944755861892477245827852950750882976661567323559905991445898980319546290180847921029803872866414145690678739502597654302170890089398446864280324626816523377007043114851883840351045553504528254312331942774456618890902282661668934086756573166165199899894814287945416330317006027009583378023148383357701043013241356989769325287284947905788224845279156105757741687223981589677875813119424357548627222965484409369995916762161745141981894509456364864585156207368268537805701855897456161643531455043927736098645004807683261171042505188722736860723956187046163167689357802653540091938710035544867633472012885720145792289266353179374568390470437922553961775625139949683972444730459260764600397786395855795845634792949734777708155750120897710187960657909344593285049516315075426999422325338090211331079084978388946280019795235971631846244456110838268029753067602988854830545629712423392248622142439141880283982605783144318936627019744430708206555384323001048093767699518855338598263965331993579720044181762415771459108348810121913815456466475112006789088534757386050380004553656944044588204523173785989413688443307911884856456314059321730916508135428015527593843907413993274888463630017254972800367303237800621329554927075630220476026501530743770239782026603141270620821502292822721619144928599788123234752305524037475467643633065570778317818911224388031785278140000489235870021319393874390572048449404543495891359530032496551827954561277733558381833543140254515552996475620059423341443358717148281747174192431521090770188976763177850410487711712118560668070397278343221542937033461851833035087620262644395144522157680720907871240645716081371215243084368725785176529473638654149755099813525866464950954104030362730764092345152142947194514536891207114242220679247555231907210772221187300189484815812103319089042810020303288605884754845787208740010650288555079491420496348606900860114293025942672846092040320562395449353738232466068669899386761653692507728985908125266962842535671880792035240036052920267724921487051243694031886888666851070956136240899742398497669543749917676656486797217376905432588001302120084825973156004147214836642261323458295464595317260053326709832323813932308572353280985095241052158188773542124149247047179272957863619856202287742195276615842586477144217326100169162710441986975035798893950598467186385694743160576620923112819673303339411148180136647341849800824550608628239070752915187198578957965230383052869462461496196191110584241712626613302323305879674319444679653997339309537653286065621583581244202084521141575452402054037983520277885974172109415720653844923519261780705666292213058458041438278190805752661160881452503664564834101998152193752457939827751340224032394941301103979557467338801485019033157020252483342459463985654098949836388235006331841163929768309182016442088585562649475670864686766734218850258071921436245980268741026755557060896694082692152092141931089246031074004452046417194006484256954205640889581345812611371723295718621634386507627375381274685242576316091532267928142540752407134564326049363899285151126841926008719688544918438735438176580278902079440615232923316040727004502851680619297344390063995815151634894560261628289876016340478058712067755404645106418210111752762771408303085384831053682346676300849953240340884500819470082285709984739604208181152752610355618027212804431724311823890140203710289571184759926313551269096663599534096917625851223371926516772322797827040066536078322899437566917117798589119017915441224896084419531048601820333771763939929361867074614115207520684328081574436296785532166317615690170686868344745700839792187655826328792848124250857574029854678129839436550811849292771916355719637739655013444578043470488727817387066485273059474146706784008008414856964366693574639517839233329758148129331383916558940691440818453977017204167536942012377667511539380665022081472825769934950446051396109822162761247250400326659027060388641448439243490810833187503410538516975543851528203507068517483596485781112108399615385339106316599584902181051142083505036306946584851375787716792644903197156410589322238969142388336616858691745650034528762364966195683057949988804025282204421563259138831968177088331536332349216564021217783347539990328183184963147367252432537196038694793965840046213972952783093513673201728884297598416381122269452300443511132938557619754591760891613556349623006128620110228604868649577281391537348454485069838420445543343475569254159916152498584038491572912138882773440513622396465459006738283271332095190246894763482681991039456872917219409115969599635707444476432943638146097120846904924535367049211483494875254261526679349165758757792492487406880538008922909598619602175970615740975950293635605833949582361917879877540498380817437871748698350334279816574182270468405712016950141219815558077001962588509354754337734574487102048957457177748799960861130398294448490048754236124047636520328691237597400275853763635097781315329453316548779638755760281950395246132684531302628137460226064605478312738384881858945771967160983063030515146554368217732542276565037323051853357192990378988448388438227385542327370300748342713490302780553250501937185877642108907668019592014917930682803923671677570981538872612387828564224438837048703430860622345660195581447423138222305015984841214735031734472876575198375736911529219612337023300799147976915593640686360292111447931190856557924586172312636774355008364051700941402714506408049059067704599381681127349978642972597146249536637180797115766378582006281035900504477449048906651914323509100728020608120186436500006585867481056222609847565392959895830393213922147519668222813068619094123336362832374619195733863213414094885415314211737521192380715827344898116630068060236225658163370910411503816980624377870732593081828462613911986466983164641041997136088483952122625089144420547153870326150974426135732847108145589068212652015934035951309740874339766785024113683362781569355770443003080304304711153260662989870935814135529626054444425627680212855236987737114750273313500463833238308673963807835676961318377769122066231246742347692406118459057543546696622955323356684937744735539787107129483799706834813271840147824499803364813779892782077408404695911681635402612895881198477347438379801332603242881147672084013088941199493452706885618535265438684632913154988041946330825058661262491979354246285100321578500717859555435128264473384627832628645512860317514079643836286624479481259443663548728833492334991090262136342510269249079389809969498025180593894712677418565748596739807429234853916050888057187909852645919302424916406524901164945873577687833644750781366134716741839639771865550456212448794880334787869208435179069736809918692761755303034579567628391486543191059778978287335753169213515705412265895932003740772729239934442393417143201220831663345507779791171550557822975645462055054088788783703176834305219205894915898472266912037272246589931902130245878658214176173836794677113734168044994646630576112870478566764702008313246437516111854373298258884805651050634030870783398345253753474045096257157426694590744786345050532420343932816624987533893696572150059931394077611625749612845075935052056578246691542428980827598924433756522360901774609034681178155242068263457279359326811442850664514028838572861333619348149653489286675284744684734523681838623666597044639009786599076849546798233482173938405203964315888311214226979100219967973867277835168908684124860520735133344999727156918641956491877743719434518601312281137511031328030769172871494672033207825515908633319597095444273211889936982656588407744227487152854220882468608933070651304660347997237699010802704345355364000895677977423646274939268893442545832933477093412062674878302577332196800773745345202948210619805397024316904416482732796302882163777352518906143861689256192126689510218443815964519109364915390419632659128670915492030159509710391181711610508033817488677012123641194412926364356532521954459667206707800113276920674167028889378124758910208282763279460937338293432384780248418921385440716843450166622447270722432029143404441885364508948312230332247606037170636063081320409979659077865652066739299376600601007449556959286167232110431825922350740721923976509151533284033411046569609796760129534604970260104131973257614674065418362527543038643988702414755353839842992919251619652981234041031836083403425780096003131109568136444120796099661110076189078373704700992207977931698909192177494773643734676097628899539177443968380309385237495789749003181914831561734980929209451284338242627121354957558788275650542581396617874797014155851731424560769680924128924941809156613810375940132582920775777555739959845025129788631287386558432638806565545375686106265794321476890191008973714862044893036103725531150212347184353484206148942215598721212702821197461242169873984129941047077662431013038135936068161846752508745091176631084165504731475366033106214989058051599330875863924687782839487356075274583632049465509812001708562192228300037069025536230738689713439497517127959641804076087467846854119271941758351350385085079999473130601515502191212194768563208333568542886228198426542174954510472470133090973410030464341290942926872409166774863060998304609542733812408150669594555181101947346930327167079694641550049770341392553453722990887041082641346828716640229112921283830189992868446356227690373907922045909141372231348352874542987838725277123895220730052818657198070905330977474451538364559753575655623107739146960810325134869157629915644445949785582971581040981030819978134919962893340935306082895373145843094529778470234701500260612184607510523275396516264270163574131465204980421156817031429641296023453214938252788174040015730814897608577433807327624327065469167790968329504121812204929615893391740569508186233278952884704040523783449150517178764905229366947600956644293533995307099000641651660297191974273719942571235565189738842129229773389708358971174598873628493097070041641499244506916101693320613200712779029092599178460073648815202440157985552488422985806514740112260815405661211686715928955424967211788326455806006687478007906804330113784973308419937490709222660652828818250755963503004096409573216970463325185674421055206504579059575757233634589728681076544715217681737013139746462918743567018728325439700738181660805244608526628543902333466932359377616706275955374161948363035595672896897303745853255582463528406728122218647037018220272805447829580329707342865906093056425830901266556400428269553910970361714658823839334940284998711051650136139289215547915949277530337328132379699722076392299427405864432740417092395957406372485374670000997288504274227995205488473791069940030972393925195835473740264676605681533792086045299478211127858031277225505747580634538923417651253855084571946838877692914171093310452148027720857065977220425221238105452910106672236428879217072073852036256141321426084927583682854728935102861841671982402562090617773186487305270011158341189332400021827446508643480649780502445238511895017508999117493757538466170280426237343373958727309334432232364458143048805041387472927380461801027771662329402511285354347895627172160220984079135783652371570879928345761806108298004858488524596333365321832527034986009735793813424255938100372383764143150415568238054647646681381376295769426897811798487508491064859504629864839182524494722838471250806768766429387269706326760637587239223168705463071159357294600905839030108704446965890851477398243643226623463375990937846346066637688849750019287183337378937643125012936525409217580126486289164742652523986670204218342205437668527644649170839284135021573420191517026349114953494367201627273770747834660856049871951919404035443257106621431165453926211940742246081879267877337277327116274431216259189637231602379191669442139390826074766530997796556908480903806819571692812560566459870427761501276717453113327725937592319749511234549084470336312027111193904873730103623920623361765464087264625800418108501225912189688036865804482529575249181000336820079745446813475061201525663243897252940589830291603395296937947956593488270570016238867531861486035138425526069686004655267470895169924789393366337937795540803212397989616909497009075325388895474756369945111498736454281848784719282102811036408557111701957507983012225251721263508084622752102302983774304203100626410081269604716233787005518956949125114547052259799300392705869513266759621481970717351502800875355872053529930886024977372841011513978033309436042759215039863315024621735997034477957101540904822924840198629763228655673913002572251670458244659331891969193193600042149551878759824703024418514943333314516569101744125876626003639162202389352722127197562852696724565850207266658010955120135631236581295007347946432435585511844212245573826633624428675996018372688595723702160729036713388692253702668781670966297293584800570524291501784770087366236327268690221492131770036560972901977830088382341595774507424154327573521802043876930835219713947550151380868243135173989210467389606748444324017153362273516721517534401749206402968532725175513368370148332552437617722381223879979151025231399158137968278698858386914069482783601566307454637485628696318123742804939776946076798741534808191313805295413790053834762466576722533639670255023605630728528660754439345101337683769223676758097324067958625698807581650644191923468456517280375432079948667867176224642058102404594301154784820892629661618128823331282306032090109720552234396668680060439446711864534350943942977677672592065723194108094783804787361155800926161135478820791019134767547103065062725683566002623056933883535519465001759367455653590897202135326405000743262187147773694539939522919759672287234142642362933985146046315583479633675233939421309232821705513876422782585461038948820282966500514638501733964823940945467135580431317869716487813322645411249790663497923570067044130957152346168248215700331739553402917727461750222508237038542378175564173633573623412570727512555485933527898675487965738435687122371062827294092853204777200103115867989108856862756166724057797573013749409624022233888616045807530845380766632608323407490201170026399920216919658061760383560922096714404797522208485984333162100778825871545477296633116376041743109771357497821959540193549236886126587899691593234244252889784566866312535163828157782331434721822365982300951563767191466221085689662634234091837099508694285913205793305371621685191771052666241407795032750578145081015578399107332704853407998253804279308521548017559804380919048398599280070600499396922706377565901012530083301815253245421410843348556095596689002165809563055917778267013647799097171652168349826227182321273669137307810274329605732339055511336159611320918032293330774253397837201119221136494926059524951970209298868547966754540955628188265489489896338445848175056120999320714811239629610812865398040422172922299935458498685649018423493859148993020862146503562954307251416431927532877591303644242728731881808140508541870122929920724972292314668984892019998457025333009684988549998965077967262593589881096866820587798081066383662532623564986517788428066332857269198274126384678637892070803720450623869818098340173227131516010243846447677164539431470285506763685903044740620313449658569813017813830698045502699264829021471809664666444628848733914018677520176275447321527695454434264574995154683210365779079897862603750933781924992614420039101236073242373095037831104487610101591710086350131058762873018829935966551319901927024824957050735641397633980065519973054393620364254921995103877946940488219764752813576671728376244964163472520938354398700890597451081117188925957914425119627578602328386406016848530692964976356735743008160830647240239273973968888362019490404391080101083657452097222457431775117087315431063843399361359021979862298919353230179831815761298055663751949887193498431622701297039558483444069990836235819216055968583530438938659230281442342611879775929971530235717605529118001810172719078881757335245116579262796810934798030261120237241763431876727614166012784109618941707546086959794219866363340427253448642464544511996628035849699214023758046518804533334838674471860469929869919708867023808851782229824194971784262034731983418667359123590389149501073496399412164285405153159052463020354093869310045705920318530184912342103827141677062928904619703786497466322696216513215954358056679857218393010701093818504782280629458397075122167841773592929412672338039406067653794118255836489845533182422884195987889530540549186080863162608831460124454078627731018118662278597247860063487762517381985958930530388133395804990582209502089601667917981488067348962537704091329046874441377311874695403629001149704294550100575604817844313856100677215344694895576366896795693219002673862197308826379598111549541717707139644852391892985298462105859352214074563309944095393467948464646122523478617569965433604106570625902028635351807632455907617214328589627070549694133497415517432791222355821248266505595164844263050837251924484561785786192634742144471352417295617011107535925907109161694336718469218596231754794981945314719790155445289317158442799859250603547712728223829173887599940539025028178104436804838166419226217021268588610965281188316294753321629305981284846295261374263558889886177393163116884094377362679958828919861282814084724362629153565494570422680974934188367100016746920166114394636469523427812306540142743973460835727766581803059982199341036916609745954866109314110126994341798995561125317768105960962740925145030210314973816472571743617823991750730560871291450979506662075376194158900047230078221288910716335397532369538669391334127400783906397888006382646427355059169315126232262847616198223321121253347031937693930276361816269350689916660551218291400174243236784516061049109872968024672541260459768817234650694997186893747377413485222254210721415923874898624682702313144826989261272653032039304457126943536535570270265184658315786700687376397379953748393518753728071413383611727360139695657655318276158595215649526476128112057594351960048246183489794727918997593335854779740366287132532115512352264879826735234955526577738638908176072226267826532013901825414298106469015375178053631541412875559093107231094326557416533538059728173023910462309080405915238003842383256090516162659636723549744938760840808292924332145995510320054342815100829631134970768156766226166216005163320105148078526120491268080558331028279714963655419886685445797369792695708460581701449455348759316650390165606342002216614826481208638400123437973359225200916000082793762618992512809512250654352976153514689306997390114801078576925754693371418464138069889225708968634335702363950090414552132786141829478719180492284185826836845482377159458905127756420750374924027314414958574893544156359784058813678282255226826684429692101286878505798385897964214277784363645258834000387625343170737673608170991699925297446000590846396871901114140610152396973511640991191872663193091989515298970158493605122675894407845838014003435941148688189281594758402155648510370859606240391689764244760942418819774913866261729900402866922198324931648103928752203913510624885923366845990429793711813729087518652117544562801891461140559347133548220780858082082488931038440767648713591913307403832222203405457990633014765514892528051091278241611016086451741585613454739096155546899844009024520125470183896236835321324474400733101134462715522513317564884907261577484612591049617925602277581142591557670559855186182473689459413180390673658976255125216157579110381020658925449861790866718977271230484663396313043216462410690932765819724108602836439040269757132024062878099356278495637333212906042251162405610406423290638095291857421614064402257259037221441326506611270112768868039914120288047026857167587747275802958371672490455196343526374517585207012631693828665834965687630423697080202694184302678942723651355465611422528559143912494519617417549643328233990226572658112565646986212956847514587696470539533080812357345406169264320968837556756065113530946991293483190043673709781518550507017712220171194920978998609441123285557568949328335600753423239832831866566561480954612082996983672693676250044689815050024367709679908023656435991953951614572454891511945822772424408353890648256344542479786091024215293889632151076036662583428828411808648561176123031531251822874034935204472368522564122828310198121710594402765311671474349927837709171855389403527390622853712829834356024469320206758605376702211534300138679552386812458955933019846041235057137104589220628442291806616350639111397125927431267064453062522462512301459616401444374822416787564376854627324576011259951716182981742093666088992004756877997745751645055612946686461902638298512911122777504934696419734269655521497212296379090058915288809105808546950649272449810985603293686411097374873222050989667714760434366185522005264930631998660246386710848429082438125775015476788580482123133141778673455755201424052717046671220323610711254871189840452656080355109974578551523122980725988397583174802094682194260510574080659941555130296683921639467033969904467287996221593742296887142693168197410436906448693269807937287488168959489388285811595266454789901418972190704142134310299732237444984485577891054698451944806667155902536687986060541057238715116071210162558026196699163218494621227944400225048500209806921182219663142286726090008110025383814948413840859098187757436855643429844517077154378378785227334737063945009888209603700128518499701754286929311061811188824347387574537907312382748037881909751035392451843196140305320816421766480192533131617620770697029397430759011818809613861181203557873780908887345914221898573877438887853966856151482478769985755709476686969955272551421512453875406677316955221746158087163015273567526780959692609339512758706987229062116020404899132735336566053428320359174395652574791933629509202338547458701906702719586934391588153717910360698553555333517737622802907566409065164336210416584343323153463884043572099254667968786751492639822670813881503308927990124962131261983926719993376498990480598975239019947651761907718824855440208790815913713845939624530286522868954408861943282509253143810883992766835829377108653641702465560617265133853052361409827243287589779486339970006077814846803314008516467491217275294905737419581853865245624631897049719536129128162862857777250908379293279968989972546340986111346320664005976204319952732288250247910868751187808242119068720704650186944552640838776082387320511590185928447372332958879725124708104944857472419327827548119170331231500768664818860419124606494418006890699061607967770646224134005468151685699823686919150009126130652320765616503054901672998507830596434975848683108755252229316142337531353433400885516924738588102912646935407693422223727563360749358818758808597755912697740671118713083860673150923620872307556248012479278038389962385288301053174294042047941351909242982758198934594809207419073801230992716030565951817793508592675386355211585105402104843246945568746107281899589982707393671169518347285964011056730662481818301561226928294956542683007144725378734422071311773084876778419429438074969752051497720349013342967516619907007551167486136748952376651406270874847819419277022284693879471098390978490556806870376956237851426592980217935763330266200763584292517890038593183438989464493706733202744989566104233583784465255785684582107891562751086197715268487000438430606596028533741280781874187350994748241102963452198832984282356837353535011412367506458854322492995459514790917524240696521344796506103217478515959438583022386304406321680111244710137155394484053733151939726140813373450674675081523631033360241306184505899996424814795998050583225607358107485120643683870834203608679044334178206047331688748139492436601617112718062776488829427913917066993325693727055308115105910157477499854170077205183642210518194870173735184150263152447778775066282052005772983266251568847717808750171702973613251518042454383459311569863823077255988905635809055003283525358412316701195429031632862349724616655470691948871088229925805498634843754998202999015883230687884450014206656994849851629814033919099203862705361460632506712880639619449760180339868395550964265083047788936118967110177799605224286421258427558280223016289672795286776895271535316243948058204015121151736505087112210010142235920826582819165250705158239578805549440107180289063132125673404949937998761856913561430149348657706123539583886075782636266302374111143099610304812763787513571591202033715878150161541920928193346015832425424459159154073547204675589576265286268842637282407642616960302272500616249028584546544207165047484104538415365017000946483240848937135072378683616807886482224743668629255176021421004401241153768715624123844415466627527797064961115156715420902790714303186995357904264066942520430301764447981996119983215446305422426948617061912799351197969294804126892731272144979405051548525612438633827649729697181813221034884399208943231703989718520023859657045655115055104894052208994036967415009380156969447219917168603852544308775574334686258681584597349470590338344237648205539279054495230891105503715370097527289012326862248114089804888971682651507881401698401139543241865042403578195886279003689967465814643582260307353026958778114597857523224591252838979303441021675030718367608069381173074715725734371266048347794016645309639263812916203303847463782433045248672947702567171144115715573318580990175767394687274786853103166673252534147722889276514232059626562497059880588814186334889479735285760790003029499041285862400529880080761552081980878404187859047382494011564783296734726902892324830037577078170483647291044537399259748495129280578653133649831307708663802755150618789291755811087213820536992817641092802399513774812255734879318682600702617976407541006433451690780350029448236022437109669746970971377819927329656537602480802196292721111092294346879521903654403781416939980167130499904975340630474502343627985044435788732897913409014359072785125724210213363289621990023351604411402206453773796150466373501479938506814491166470031480446559448744075071362578348302069279562547865144014105046467999269909547814338750679755607866160119373552285201932105351299579821654708612997491725327929158646020912951766988245167384526222101794931140051294499295312179526984180746310502953291146147926110330215395500159001657756928803009176935915746056476636164691847260561379344085232415263406474095901520582717554723854576519312585969091583073191567831612540244354500311417448032801383408506306438532217122879115461547001454535875101845736403476585359428421969701246234295058153209857726445644954002419835880182372078932562598670407439395906601109060083809867887498330012174446457838217224489642312128721720755455450369843500971885872561582565138933578703938913256598568796912545324880842840503461343780400834711661313297242779537145233431368674979913104182778521039964925551472317717300697537450065011920420140711762923824093361257411453011717199087010599483291654200560363238816726598060744278292416279511742601718723244913358209095647494265591100423189027568441275701347844821908734930123946025993478109517331180695505239528000286014816320155953341951411351401190348505290333263711305676453265743516213464900148840605071870630982554977880893645766886634640533944501835575350791527187401800011666393823585308623158544410386101185267978947804177697994697435839538161338699874492182575299986263762110939878556603649323255074410894153819520887549135275599737317971327014663904365677469371012022030667562344644090312941605935560109212499600143760078729341544969243998863467440412011869614877286472063690983571083149399462969548830444019185572810528355922858793356176885110482631185776031582057086299325795337582158696826176377057848378277174700484155343678790307861079593031023199188621126333873374466779943587340833695556044791425576874949429946127604004960099051446915085588052107383510116833289113937389098695810071108552031175614978896998914272703837302729747987076646325744532318733405966043267267674116223625952833898777098492589017407388590643175818199950700077713236276463426796201271636926770798639924281340732085029194209705310655369081422020506509659585918286319647900707698502750070092446762669797776234803110787462766327776742855745040371367658874644598365575858844161440310401342764295566205844110635046976051904162456415669848581498228401647595876117951004909293788021624225454942317209248063284541463680822518398091227436347590795591608475823280477042606799249587442444222406626511691796455297954053225099305473232212042352772932460988143556857675640381528711559702770392197816879013851020150872815608882265387879369487864127908836540650796607713744329097679704802602734828513419175411757843297750832171398142032699772881655724718265997542530591354449506154022741941250298716132176478668375228858894966703735692202897405356380106164183794626308470742754134513520785938608425018017051751746666139797268182168857878861435229875