0.007707346629258939374267322242732495234654458350033211588868754951161088436910212046116125778778829634898323614474607717507681943997546293944200767347645364207880084524904928298719895529324986216720200360905537961880999019646583534202291505548122933684077818610156160326357958832683214129131926215704095092399720759218803216161342463227338500416791327729700945166067352725890550409170538215907316146100884199751242376858390677422329101443057648920576319854885114245984032093873073398552238160021526378280938053330473185170131773799913819219819321429848280430000696220276568800675898171198684331844927282614627023507783554524396875664466986927993888314977579825418061459315333216669395097480247101747889229472321480653543855291556353386358974937951719946334588411507580333470695712223934547767296840100782589224391795138124457841980577335960153620063186694289676558639623213113026657709886892430203917273977732241208337331895732546039917883640893344698658929213214637184560468612696423497622501839338703637845028893141477605228049774104745399771564482228507021475573017512762470340075379957511746365071569562754849550561586328491779896545430254722537403023101341447122069994599588665533897459924996377772885419077564583839033872057293283732342818864182477452812259498232165000442193959442346375232622247813021577183544363344190606294960306035853462566870075888010145999273672900660656592171097073804994345562348407443159259447426901575151333826332556200970568699065371320616964065625346934090519926012483041391236280226779642519113128268236737474150470136854326256348305832632408865706635355570985302225458705670055565904775882929619656744586887349677574744891718930229319905690377671274892226982863572814291708769176634847518351049316857374572153823284240395453117091078783910161240852700487918696525108149352421058969857425377417248575100528562907265340837458908891109267068216415368780353792801082340278601011212909805604008723451897764756576929518046217736305629411355164543194823131824605177244510679454539638454692054244967926825367256195890042356536285307305985048199141579215754900355825011619351913006335604516776086150673357908027419788838271793105913920830346172011568546649581044744383666295976411304359279769532271691495387070248625905791988198125473947249083153162815815866671935360651511644754544718981034583330981237804384682401244917121561941965335756932566362023253757237397942574998918036056683620571239328542585159970721114855647193197363394995869720251166168963252741132129436757796255840253198379500264375537453828364766737982203104389762927587446207575252944353183137921236788279413895427714459366138480094685957613356891922151283021069130910110435589275197058563415317975090367510222207168810836950856256856358466885317467037733257313605837712935208235721368881964319651664060544820591561433912701504023965030925352014616862455098496352370253706432134517284138784926266509358517690580892328593390423396011974988756983371625448544617370507732749260971584804333877137819626261428832175161494879017614372997190657100223731326713595676660250150063694746923929467240954311014769278245374368932769583076954920677930381735695966250251674221597505649733460534659538876375740674882065930178514642265086811141782436808601519265544058512610054549799507377112416994548783402108606599791886587598623365528816933582467291759574440060138378484159107031636625702570934496962033414809922456114601620876070909094330320769379855901219514489849296535269202037479230996479383412269659284850058614220581400381227643331997343072890499603907112925047183036310709937697693629208134110842031382599385444480196296484463938612188370863369593238007605736102408357654001102662383971127556963049520078428273317263816679556150165305273774511187507173891363293385342869669445902743672392608022339262495742707092602941812919966656693781623924386714611781928755967266356942727414708311929264019900609851328745806213671884555388086353894411609190860321277432490154128115820947198277889737524955733562145186389458096006894462414454285612137565599944302377874495945928146304105253452405817390829838119377315638048249946842641045760488934801793613966555083254773342666448392201580231860168861642214281547716491576675491729091282004963862404293232927079393573322344343022085236178616252791937392862048656388950043372641553813123187710394945064456825875308830142950957867383209048605583686618081781420703333013448341396316806569308728532424107285662942829025235162510984286120190199852852903708972397688548681791581756018071620368018274841421719438281954158598979002372793969603399060290794274434979612035955073093720657608276365579622197007758151892684230234400432032906757288203206000289778169166473794833292877290235416537301412574490865401803775019240141426799964624483244612289981390220174958273825316450932464751496403175517131722994650393928959188320058106167947147472626312234095600452355012127404547259244205847873987893293893395503922354504074770294350642874749972245272758405919001356688701097581857628598470949738541061002067962389051653899492135533389407290743469171554321175821963303546395554727617929365630427460433049012025794020408662485581654407544769786298008621841370914174856663298465869212198531916054651410034227694137260768363750632713697287187100731783960966504277991348051806315282411405969806620113991957714967418772733003287288711258634542686770497571696575913412777711919102967215551679302123848178819473845638556302581095549647091586836544414149454031585820439145643636828923624635660402565853970619504328796611477097175415521196144068673662739607971533999070451846959493151638657913107946131367357806416892938256551526886333572306239074516268033516420449306696321887095651257618437418264680369034380109927536640944149962084220073347746974734730666245171147879068419636422481517233333521500975649225407900406630275044642773139445394691038139699421008164594000086557115465310354300853716593187202342310811548224544210928400330422379906706482939780709429645059376299532779744129639978849957003693730818660961423751648818965793004303393979764451745348966301056937646888365782843250708921592425123390931448646227897358314469527191165152857984235314926774561992770599182223426495133043931499451491322649174602636981339414911532982965183341142290489442854427866875156414352675085286983879678082797525971838830651003592120291810379703485429238617268897205898679251318584753528613712528766128319042000899441330269964116430610359381380059122273215653289828974429899085693425987080409678590850160224747431982101493862912345867179987994904420246085642620723655118818457740370050485378433353843606345765569461144322699979866062272199548021323157227236889889940746009434725585718828618793055108657405055311878458756475318991195636016039409831006640436097327831311472016649072992110130757694645313402616659234044795188929721267271437469069943794325240243037326815206203510831870329914327272453574338449611527902438840812056277178463837001661520281649327018427257211995310862353487969501788533440212554168760031687430965996225357095143204984184509663349271132637489392049164441584296281242884911024930330930432540959391541111807331387679911787009282309795442956038393725738134618894665635507986775578098039104999426088690936529172570426444327780506208591358212859000340583432591764654966402667464497470086049062831057445699522618691444581806823335045658878407951211893700335502906249235568953091688447071264731174297805400787669750734324224137768820998003541315028385088843352319448443006843657151028994752004455809770040324325748295671579723807534608733612950449814748956140004252588716339160885215856510882675593339618132586684128623873581451186491068622857476182680673865960661672697439602891007656541365833648514134212452558233181105710699776645008571036107488883996530188675694950144983168404394843453929975293588563923370609343276111553305070553457486343733358924132688294655474455301717406071417146964573677981186999121257110384784011771767703282208184916105456673459518554270370558538012686262444937443667312081679810176482431728075176736458045201631037123594152502347391337890753630224239379347848585261581247965437367459416943743519976817746466682096413336569816781166677015886994040730767855697998460788685856002830041340431016801488782386003338093974683925402819880287745958629462160427968485683264934395351506564228202189895021272351963811599029807636219260463532170080968536488528359686211639674018376451948570020002220378179327526479891464903912193451389712122324020916715119834563008875867688040629157328847416740522466275654305934242935716288355621790565650749565803165356079037936478367307001153467647396418417096159310252690326866011466936122730463024117446715627887197261784469019138530899949382904217025031941457283122679657760692155855494777407087522415470390880643382802606498181359737016903099309236585058360194264273926926977783046471762622755865655830092145694442092348915495793512356028232673053076446868043677473134364868348509053686110029147167794731682350439653696271081832225966758304308474506106980831362277280074363852243240547868907366951364309490611375486648564939475877849093314215500874038698557318686364055464294249032347899390525006538825570477249591205797068724468003033262394132180242021221546700386308169674526429086201478621333318279921948061967367967469577996428578148844368424716948824046319346832479993075430762775171655931702672545023812615135076142036463125727973566209607463481364817543245628395249896037377620469628801692003439704501534507123086099868094482736559655728481618843860372082695915444988248930737372539943286272605990128725484108301768211334842437824706787771361261174805858035040578352065422125880389356485480043880694188066031789041492846807077361362785332708616760844571645770649987486851785993177041289625753376197922252893547919712630376655169623721165660910618488223528105659894513219717710902997698709734476639928044693578402870685551171249489595270218142747736813682045608073144525921033567225712731987182020205441431880490967012330625600960407646380313148590342107590494523380770395961169725331692511492338754443108454184001610715018224036158294147421821048808804740319245221953142493710496555591307407595575049723299481974480704349118716847213519468765112213773495082238668074160631189539384428374927790667261276416384885622298618285002474404496453980780557013854783503719133450373606853818203714052924031077767804892735035497825722893039867078377468053838525819423040375131011720962439856917324782995666499197465005522720301971432388543601265239226932058309389000848636066844673256297500569207118005573525565396723248676711055413488985607057039257415216364563516928501940949230488426749159361057953752156871600045912904725077666194365884453777559503312691342971279972753325392658827602687786602840202393116074973515404344038190504684433455454133196347289727363903048503973159767500061154483752664924234298821506056175567936986419941254062068978494320159716694797729192892531814444124559452507427917680419839643535218396774053940136346273622095397231301310963964014820083508799659792902692867129182731479129385952532830549393065269710090113483905080714510171401905385546090723147066184204831768719387476690733308118869263003795341345511543144017868399314317111400889280277584905944403988401346527648412523685601976512914886130351252537911075735594355723401092501331286069384936427562043575862607514286628242834105761505040070299431169217279058258583737423345206711563466123238515658370355316958985099004405004506615033465615185881405461753985861083356383869517030112467799812208692968739709582060849652172113179073500162765010603246644500518401854580282665432286933074414657506665838729040476741538571544160123136905131519773596692765518655880897409119732952482025285967774409576980323309643027165762521145338805248371879474861743824808398298211842895072077615389102459162917426393522517080917731225103068826078529883844114398399822369745653797881608682807687024523888823030214078326662790413234959289930584956749667413692206660758202697947655525260565142696931550256754747940034735746771513676965081730615439907722588208286526632307255179784773850719082645110181562958070604262749769024219057242478468917528004049367662637997444683417350185627379144627531560417807432998206762368729548529375791480145491221038647752055261073195331184458858085845841777356282258990179530747533592628344444632612086760336519011517741386155753884250556505802149250810532119275705111197668226576421465411964827704298313453421922659335655322039511441533491017817594050891820540756170487410643890855240751089961068114804841929772072534862759930076904115414505090875562856460077412168048757999476893954361820032703536234502042559757339008469425580638302276263969095346426037885673103881710293334537606244155042610562602433760285713748092450526022644094076294452253401600553965538977986267525463786196398094990789193908637082949941762114703231402921490814596540349728380008317009790362429695864639724823639877239430153112010552441381075227541721470492491170233384326764400940085541010196804537098191520789701961271335858543093212604974023456978291099106015531357196753731834766229929568851481161596489544464954717456876680572255433811090977173383310659132434268338348001001051857120545836696829939729904166219768516166422989569867586430102306747127150520942117751547208438942422583127760184103221241868805756424513727770345155906300040832378382548580181054905436351354148437926317314621942981441025438383564685449560722639013549951923167388289574948112772631392760438129538368323106421973464599080612899644551323665279871142798542077107336468206254316095295620774460382243748600503160275552695407392353996022136041442041543652070502652222918442498791022898120393420906554067149504836849245730005776746619097886689209150216110537199802047640283681537555438891617319702469323970111451694543702875766077513778575608581197160173942168556810633729802555692917934446156769989519062323004811446614017360346680064202799558182375842285408916511898780861845435335248879932109114652426139496199954463430559554117954768262140105863115566920881151435436859406782690834918645719844724061560925860067251115363699827450271996326967621993786704450729243697795239734984692562297602179733968587293791784977071772783808550714002118767652476944759625245323563669344292216821810887756119682147218599995107641299786806061256094279515505954565041086404699675034481720454387222664416181664568597454844470035243799405766585566412828517182528258075684789092298110232368221495895122882878814393319296027216567784570629665381481669649123797373556048554778423192790921287593542839186287847569156312742148234705263613458502449001864741335350490458959696372692359076548478570528054854631087928857577793207524447680927892277788126998105151841878966809109571899796967113941152451542127912599893497114449205085795036513930991398857069740573271539079596794376045506462617675339313301006132383463074922710140918747330371574643281192079647599639470797322750785129487563059681131113331489290438637591002576015023304562500823233435132027826230945674119986978799151740268439958527851633577386765417045354046827399466732901676761860676914276467190149047589478418112264578758507529528207270421363801437977122578047233841574135228557826738998308372895580130249642011060494015328136143052568394233790768871803266966605888518198633526581501991754493913717609292470848128014210420347696169471305375385038038088894157582873733866976766941203256805553203460026606904623467139343784164187557979154788584245475979459620164797221140258278905842793461550764807382192943337077869415419585617218091942473388391185474963354351658980018478062475420601722486597759676050586988960204425326611985149809668429797475166575405360143459010501636117649936681588360702316908179835579114144373505243291353132332657811497419280785637540197312589732444429391033059173078479078580689107539689259955479535828059935157430457943591104186541873886282767042813783656134923726246187253147574236839084677320718574592475928654356739506361007148488731580739912803114550815612645618234197210979205593847670766839592729954971483193807026556099360041848483651054397383717101239836595219412879322445953548935817898882472372285916969146151689463176533236991500467596591154991805299177142900152603957918188472473896443819727871955682756881761098597962897104288152400736864487309033364004659030823741487766280734832276772021729599334639216771005624330828822014108809820845587751039155804689513981796662282360600706381329253858847924793156719184255637032144678336823843098293131316552542991602078123441736712071518757491424259701453218701605634491881507072280836442803622603449865554219565295112721826129335147269405258532932159919915851430356333064253604821607666702418518706686160834410593085591815460229827958324630579876223324884606193349779185271742300650495539486038901778372387527495996733409729396113585515607565091891668124965894614830244561484717964929314825164035142188878916003846146608936834004150978189488579164949636930534151486242122832073550968028435894106777610308576116633831413082543499654712376350338043169420500111959747177955784367408611680318229116684636676507834359787822166524600096718168150368526327475674628039613052060341599537860270472169064863267982711157024015836188777305476995564888670614423802454082391083864436503769938713798897713951313504227186084626515455149301615795544566565244307458400838475014159615084270878611172265594863776035345409932617167286679048097531052365173180089605431270827805908840304003642925555235670563618539028791530950754646329507885165051247457384733206508342412422075075125931194619910770904013803978240293842590240497063643941660504176380821201224595016191825621282513016496657201834258177295315942879830498587801844419229980374114906452456622654255128979510425428222512000391388696017055515099512457638759523634796713087624025997241462363649022186846705466834512203612442397180496047538673154686973718625397739353945216872616151181410542280328390169369694848534456317822674577234349626769481466428070096210115516115617726144576726296992516572865096972194467494980628141223578910923319804079850820693171960763283224290184611273876121714357755611629512965691393776543398044185525768617776949840151587852649682655271234248016242630884707803876629766992008520230844063593136397078885520688091434420754138276873632256449916359482990585972854935919509409322954006183188726500213570274028537504633628192028842336214179937189640994955225509510933480856764908992719793918798135634999934141325189437773901524346070401041696067860778524803317771869313809058766636371676253808042661367865859051145846857882624788076192841726551018833699319397637743418366290895884961830193756221292674069181715373860880135330168353589580028639115160478773749108555794528461296738490255738642671528918544109317873479840659640486902591256602332149758863166372184306442295569969196956952888467393370101290641858644703739455555743723197871447630122628852497266864995361667616913260361921643230386816222308779337687532576523075938815409424564533033770446766433150622552644602128928705162002931651867281598521755001966351862201072179225915953040883183645973871041188015226525616201986673967571188523279159869110588005065472931143814647345613153670868450119580536691749413387375080206457537148996784214992821404445648717355266153721673713544871396824859203561637133755205187405563364512711665076650089097378636574897307509206101900305019748194061052873225814342514032601925707651460839491119428120901473540806975750835934750988350541264223121663552492186338652832581603602281344495437875512051196652121307915648209302631900813072382446969654204323716085134568089402210217126642468307864842945877341040679962592272707600655576065828567987791683366544922202088284494421770243545379449459112112162968231656947807941050841015277330879627277534100680978697541213417858238261632053228862658319550053533694238871295214332352979916867535624838881456267017411151943489493659691292166016547462465259549037428425733054092552136549494675796560671833750124661063034278499400686059223883742503871549240649479434217533084575710191724010755662434776390982253909653188218447579317365427206406731885571493354859711614271386663806518503465107133247152553152654763181613763334029553609902134009231504532017665178260615947960356841116887857730208997800320261327221648310913158751394792648666550002728430813580435081222562805654813986877188624889686719692308271285053279667921744840913666804029045557267881100630173434115922557725128471457791175313910669293486953396520027623009891972956546446359991043220225763537250607311065574541670665229065879373251216974226678031992262546547970517893801946029756830955835172672036971178362226474810938561383107438078733104897815561840354808906350846095803673408713290845079698404902896088182883894919661825113229878763588055870736356434674780455403327932921998867230793258329711106218752410897917172367205390626617065676152197515810786145592831565498333775527292775679708565955581146354910516877696677523939628293639369186795900203409221343479332607006233993989925504430407138327678895681740776492592780760234908484667159665889534303902032398704653950297398958680267423853259345816374724569613560112975852446461601570070807483803470187659589681639165965742199039968688904318635558792039003388899238109216262952990077920220683010908078225052263562653239023711004608225560316196906147625042102509968180851684382650190707905487156617573728786450424412117243494574186033821252029858441482685754392303190758710750581908433861896240598674170792242224442600401549748702113687126134415673611934344546243138937342056785231098089910262851379551069638962744688497876528156465157938510577844012787872971788025387578301260158700589529223375689869618640639318381532474912549088233689158344952685246339668937850109419484006691241360753122171605126439247254163679505344901879982914378077716999629309744637692613102865605024828720403581959239125321531458807280582416486496149149200005268693984844978087878052314367916664314571137718015734578250454895275298669090265899695356587090570731275908332251369390016953904572661875918493304054448188980526530696728329203053584499502296586074465462770091129589173586531712833597708870787161698100071315536437723096260920779540908586277686516471254570121612747228761047792699471813428019290946690225255484616354402464243443768922608530391896748651308423700843555540502144170284189590189691800218650800371066590646939171046268541569054702215297652984997393878153924894767246034837357298364258685347950195788431829685703587039765467850617472118259599842691851023914225661926723756729345308322090316704958781877950703841066082594304918137667210471152959594762165508494828212350947706330523990433557064660046929009993583483397028080257262800574287644348102611578707702266102916410288254011263715069029299583585007554930838983066793867992872209709074008215399263511847975598420144475115770141934852598877391845943387883132840710445750327882116735441939933125219920931956698862150266915800625092907773393471711817492440364969959035904267830295366748143255789447934954209404242427663654102713189234552847823182629868602535370812564329812716745602992618183391947553914733714560976665330676406223832937240446258380516369644043271031026962541467444175364715932718777813529629817797271945521704196702926571340939069435741690987334435995717304460890296382853411761606650597150012889483498638607107844520840507224696626718676203002779236077005725941355672595829076040425936275146253299990027114957257720047945115262089300599690276060748041645262597353233943184662079139547005217888721419687227744942524193654610765823487461449154280531611223070858289066895478519722791429340227795747787618945470898933277635711207829279261479637438586785739150724163171452710648971381583280175974379093822268135126947299888416588106675999781725534913565193502194975547614881049824910008825062424615338297195737626566260412726906655677676355418569511949586125270726195381989722283376705974887146456521043728278397790159208642163476284291200716542381938917019951415114754036666346781674729650139902642061865757440618996276162358568495844317619453523533186186237042305731021882015124915089351404953701351608174755052771615287491932312335706127302936732393624127607768312945369288406427053990941609698912955530341091485226017563567733765366240090621536539333623111502499807128166626210623568749870634745907824198735137108352573474760133297957816577945623314723553508291607158649784265798084829736508850465056327983727262292521653391439501280480805959645567428933785688345460737880592577539181207321226627226728837255687837408103627683976208083305578606091739252334690022034430915190961931804283071874394335401295722384987232825468866722740624076802504887654509155296636879728888060951262698963760793766382345359127353741995818914987740878103119631341955174704247508189996631799202545531865249387984743367561027470594101697083966047030620520434065117294299837611324681385139648615744739303139953447325291048300752106066336620622044591967876020103830905029909246746111045252436300548885012635457181512152807178971889635914428882980424920169877747482787364919153772478976970162256957968993735899187303952837662129944810430508748854529477402006996072941304867332403785180292826484971991246441279464700691139750226271589884860219666905639572407849601366849753782640029655220428984590951770751598013702367713443260869974277483295417553406681080308068063999578504481212401752969755814850566666854834308982558741233739963608377976106472778728024371473032754341497927333419890448798643687634187049926520535675644144881557877544261733663755713240039816273114042762978392709632866113077462973312183290337027064151994294757084982152299126337636727313097785078682299634390270980221699116176584042254925758456724264781979561230691647802860524498486191317568648260107895326103932515556759828466377264832784824655982507935970314672748244866316298516674475623822776187761200208489747686008418620317213011416130859305172163984336925453625143713036818762571950602230539232012584651918086861947045862099461652375334232774663603297449763943692714713392455606548986623162307763232419026759320413743011924183493558080765315434827196245679200513321328237753579418975954056988452151791073703383818711766687176939679098902794477656033313199395605532881354656490560570223223274079342768058919052161952126388441990738388645211792089808652324528969349372743164339973769430661164644805349982406325443464091027978646735949992567378128522263054600604770802403277127658573576370660148539536844165203663247660605786907671782944861235772174145389610511797170334994853614982660351760590545328644195686821302835121866773545887502093365020764299329558690428476538317517842996682604465970822725382497774917629614576218244358263664263765874292724874445140664721013245120342615643128776289371727059071467952227998968841320108911431372438332759422024269862505903759777661113839541924691546192333673916765925097988299736000797830803419382396164390779032855952024777915140156668378992211741284545227033668836239582568902286425021780404598064507631138734121003084067657557471102154331336874648361718422176685652781776340176990484362328085337789143103373657659081629004913057140867942066946283783148082289473337585922049672494218549189844216008926672951465920017461957206914784519824401956190809516014007199293995006030772936224340989874699166981847467545785891566514439044033109978341904369440822217329863522009028283478316501737728176787263308626921897256703942676609444886638403886790819677066692257466021627988807788635050739404750480297907011314520332454590443718117345105101036615541518249438790006792851887603703891871346019595778270777000645415013143509815765061408510069791378534964370456927485835680724671224086963557572712681181918594914581298770700792750277076853310151079800015429746669903150114500010349220327374064101189031331794122019189336163374673764350134822115719336671427308017258736153213621079291962795493761301819016598267728684839897561535523228354605685297144932363140969552593796865503414301869821861693019544973007351709785281903353335553711512660859813224798237245526784723045455657354250048453167896342209201021373962490662180750073855799608987639267576269049621688955123898984082899136498689412371269811700640334486800980729751750429492643586023660199344800269456063796357450780048961220530595117802352471864233282716237550358365274790616456012991094025489188828110740420855748803724213976716135939831514693070350236432642569918391693527597607260260311116379805095956089198989163425479027775425682248829126845689361566006386409780201377010806467698201681842387019443362480501128065015683772987029604415165559300091637641807839440314164695610613407697185576573881202240700284697642823944708819981898272809211182426647548834207372031890652019697388797627582365681232723858339872158903810582924539130402057801336366595727465513575354554880033719641503007859762419534811954666651613255281395300701300802911329761911482177701758050282157379652680165813326408764096108504989265036005878357145948468409475369796459061306899542940796814698150876578961728583229370710953802962135025336773037834867840456419433201427816069892989061814952177193705416029248778321582264070705873276619605939323462058817441635101544668175771158040121104694594508139191368373911685398755459213722689818813377214027521399365122374826180140410694696118666041950094177904979103983320820185119326510374622959086709531255586226881253045963709988502957054498994243951821556861438993227846553051044236331032043067809973261378026911736204018884504582822928603551476081070147015378941406477859254366900559046065320515353538774765213824300345663958934293740979713646481923675440923827856714103729294503058665025844825672087776441787517334944048351557369491627480755154382142138073652578555286475827043829888924640740928908383056632815307814037682452050180546852802098445547106828415572001407493964522872717761708261124000594609749718218955631951618335807737829787314113890347188116837052466783706940187151537047386257364411101138226068368831159056226373200411710801387171859152756373708464345054295773190250658116328999832530798338856053635304765721876934598572560265391642722334181969400178006589630833902540451338906858898730056582010044388746822318940390372590748549697896850261835274282563821760082492694391287085490204933379246238058410999527699217787110892836646024676304613306086658725992160936021119936173535726449408306848737677371523838017766788787466529680623060697236381837306493100833394487817085998257567632154839389508901270319753274587395402311827653493050028131062526225865147777457892785840761251013753172976868551730107387273469679606955428730564634644297297348153416842132993126236026200462516064812462719285866163882726398603043423446817238414047843504735238718879424056480399517538165102052720810024066641452202596337128674678844876477351201732647650444734222613610918239277737321734679860981745857018935309846248219463684585871244409068927689056734425834664619402718269760895376909195940847619961576167439094838373403632764502550612391591917070756678540044896799456571848991703688650292318432337738337839948366798948519214738795087319194416689717202850363445801133145542026302073042915394182985505446512406833496098343936579977833851735187913615998765620266407747990839999172062373810074871904877493456470238464853106930026098851989214230742453066285815358619301107742910313656642976360499095854478672138581705212808195077158141731631545176228405410948722435792496250759726855850414251064558436402159411863217177447731733155703078987131214942016141020357857222156363547411659996123746568292623263918290083000747025539994091536031280988858593898476030264883590088081273368069080104847010298415063948773241055921541619859965640588513118107184052415978443514896291403937596083102357552390575811802250861337382700995971330778016750683518960712477960864893751140766331540095702062881862709124813478824554371981085388594406528664517792191419179175110689615592323512864080866925961677777965945420093669852344851074719489087217583889839135482584143865452609038444531001559909754798745298161037631646786755255992668988655372844774866824351150927384225153874089503820743977224188574084423294401448138175263105405868196093263410237448747838424208896189793410745501382091332810227287695153366036869567835375893090672341802758913971635609597302428679759371219006437215043626667870939577488375943895935767093619047081425783859355977427409627785586734933887298872311319600858797119529731428324122527241970416283275095448036564736254824147929873683061713341650343123695763029197973058156973210572763486445343885774714408560875054803825824503566717660097734273418874343530137870431524854123035294604669191876426545938307356790311624432439348864690530087065168099563262902184814494929822877798288050790210013905588767144424310506716643992465767601671681334334385190453879170030163273063237499553101849499756322903200919763435640080460483854275451084880541772275755916461093517436554575202139089757847061103678489239633374165711715881913514388238769684687481771259650647955276314774358771716898018782894055972346883285256500721622908281446105964726093771462871701656439755306797932413946232977884656998613204476131875410440669801539587649428628954107793715577081933836493608886028740725687329355469374775374876985403835985556251775832124356231453726754239887400482838170182579063339110079952431220022542483549443870533135380973617014870888772224950653035802657303444785027877036209099410847111908941914530493507275501890143967063135889026251267779490103322852395656338144779947350693680013397536132891515709175618742249845232114195178768668582213265442447985759472829533287796763892887451288101595473439196448900254214484768770192740116024168251979053178057394894259193400584448697033160783605329660300955327120037784062577031128573068318025895630935513067301920627125118310405106117141884047335452100985810278092958578656897002677625550155144221089453015480551933328440974633120139394589427612848839287898374419738033008367815053787720555997749514997901930788177803368577132739099918899746161850515861591409018122425631443565701554829228456216212147726652629360549901117903962998714815002982457130706889381888111756526124254620926876172519621180902489646075481568038596946791835782335198074668683823792293029706025692409881811903861388187964421262190911126540857781014261225611121460331438485175212300142442905233130300447274485784875461245933226830447782538419128369847264324732190403073906604872412930127709378839795951008672646634339465716796408256043474252080663704907976614525412980932972804130656084118462820896393014464446664822623771970924335909348356637895834156566768465361159564279007453320312132485073601773291861184966910720098750378687380160732800066235010095194010247609800523482380922811751445597912091840862861540603754697134771310455911380567174907468561891160072331641706228913463582975344393827348661469476385901727567124102205136600299939221851531966859914835325087827247050942625804181461347543753681029502804638708718371371422227490916207067200310100274536590138886536793359940237956800472677117497520891312488121917578809312792953498130554473591612239176126794884098140715526276670411202748752918950551425275806721724518808296687684992313351811395808753935055819931093009383920322293537758659945318483143001763130808499908738693476792343834969450983270014921694035650241513168912447477706838576624686465665991144830752614118970873530645923065777762724366392506411812411914022440873022593288812869161393268490763791276924437519875207219616100376147116989468257059579520586480907570172418010654051907925809261987690072839694340481822064914073246136447884148945978951567530544312538927181004100172926063288304816527140359889432693375181816984387730717050434573169928552746212655779286882269151232215805705619250302479485022796509866570324833800929924488325138632510476233485937291251521805807229777153061205289016090215094431931296230437621485734070197820642366697337992364157074821099614068165610105355062932667972550104338957664162155347442143154178921084372489138022847315129995615693934039714662587192181258126490052517588970365478011670157176431626464649885876324935411456775070045404852090824757593034786552034938967825214840405614169776136955936783198887552898628446055159462668480602738591866265493253249184763689666397586938154941000035751852040019494167743926418925148793563161291657963913209556658217939526683112518605075633983828872819372235111705720860829330066743062729446918848940898425225001458299227948163577894818051298262648158497368475522212249337179479942270167337484311522821912498282970263867484819575456165406884301361769227440110943641909449967164746415876832988045709683671376502753833445293080511289117700741945013651562450017970009841167693121155499857933430051501483701859660809007961372946385393674932871193603805502398196601316044490357349169522110638810328898222003947757135787415724417197769837103272047132231047284646837560519417959848788482634949128877899898577640791734171808347492948417604211944505598928197109368678743265950500620012381430864385698506513422938764604161139242173637336976258888569003896951872362124864284087979662841218498384580790718066539841675745755408408459264527953244104237347137311573627175923573830396977274993837509714154534557928349525158954615846349829990535167591510628649276213163831921135177752563313707448239785789955987588462312843758761555845333724722029350388848432845790972092856968130046420957359330574795696982355520180038800167845536945775730513829380872006488020307051958731072687278550205949484514743875613661723502703028181867789651156007910567682960102814799761403429543448849448951059477910059630325849906198430305527800828313961474556912244256653137413184154026505294096616557623517944607209455047691088944962846299024727109876731377518859101951110283173484921185983015988604567581349575964218041137209963100325341853564177396926469730412218854021424767754087471610206965589783249692816323919306188269252842742656287339516522059833546903607361870837966961525362175669547513270522974328288558842844266814190098242326053127252131468968333267474658522771107234857679403734375029401194111858136651105202647142392099969705009587141375994701199192384479180191215958121409526175059884352167032652730971076751699624229218295163527089554626007402515048707194213468663501686922913361972448493812107082441889127861794630071823589071976004862251877442651206813173992973820235924589935665483092196499705517639775628903302530290286221800726703434623975191978037072788889077056531204780963455962185830600198328695000950246593695254976563720149555642112671020865909856409272148742757897866367103780099766483955885977935462262038495336264985200614931855088335299685195534405512559249286374216516979307204374521348559858949535320007300904521856612493202443921338398806264477147980678946487004201783452913870025082746720708413539790870482330117548326154737778982050688599487055007046878204730158192536894970467088538520738896697846044998409983422430711969908230640842539435233638353081527394386206559147675847365935259040984794172824452761454234806874140309084169268084321683874597556454996885825519671986165914936935614677828771208845384529985454641248981542635965234146405715780302987537657049418467901422735543550459975801641198176279210674374013295925606040933988909399161901321125016699878255535421617827755103576878712782792445445496301564990281141274384174348610664212960610867434014312030874546751191571594965386562195991652883386867027572204628547665686313250200868958172214789600350744485276822826993024625499349880795798592882370761759066387425885469882828009129894005167083457994396367611832734019392557217075837204882573982812767550866417909043525057344088995768109724315587242986521551780912650698760539740065218904826688193044947604719997139851836798440466580485886485988096514947096667362886943235467342564837865350998511593949281293690174450221191063542331133653594660554981644246492084728125981999883336061764146913768414555896138988147320210521958223020053025641604618386613001255078174247000137362378890601214433963506767449255891058461804791124508647244002626820286729853360956343225306289879779693324376553559096870583940644398907875003998562399212706584550307560011365325595879881303851227135279363090164289168506005370304511695559808144271894716440771412066438231148895173688142239684179429137006742046624178413031738236229421516217228252995158446563212096921389204069689768008113788736661266255332200564126591663044439552085744231250505700538723959950399009485530849144119478926164898831667108860626109013041899288914479688243850211030010857272961626972702520129233536742554676812665940339567327323258837763740471661012229015074109825926114093568241818000492999222867637235365732037987283630732292013600757186592679149708057902946893446309185779794934903404140817136803520992923014972499299075532373302022237651968892125372336722232571442549596286323411253554016344241411558385596895986572357044337941558893649530239480958375435843301514185017715983524041238820489950907062119783757745450576827907519367154585363191774816019087725636524092044083915241767195229573932007504125575557775933734883082035447020459467749006945267677879576472270675390118564431423243596184712884402972296078021831209861489798491271843911177346121206305121358720911634593492033922862556709023202951973972651714865808245882421567022491678286018579673002271183442752817340024574694086455504938459772580587497012838678235213316247711411050332962643077971025946436198938358162053736915292572458654864792140613915749819829482482533338602027318178311421211385647701249997647904471051349067911583788228608632002423599233028689920423904064609241665584702723350287237905995209251826637387781522313859864030061662536386917832835629919407798796103424462922506919865046166931042204120495031433404648869771056429594254112874241919611019849804587903454946080562094381126032805146761352624280023558588817949687735797576777102255941863725230081984641757034176888873835477503617522923523025133551984133704399923980272504379601874902388035548630986318330727211487258228100579368170690631697592018681283529121765163019036920373098801183950805451592933176025184357247558995260057090062678641655423650038292115211284037174399415927638251471000543804486292928095498841828161545684281039663857323766890397993380262343326916816730361413590596133907620977681435944912041035599436249743621587344597048402362632916918340888264172316400127201326205543042407341548732596845181308931753477808449103475268185932210725179276721216466174043779083661215450068775273266458553254265290032195483600249133958426241106726805045150825773698303292369237601163628700081476589122781268287542737575760996987436046522567886181156515963201935868704145897663146050078936325951516725280887248067047894309998664009739557166270573779591713849702977376604364360295874800777508698049266052111146862963151130605278855037530036259904674272402769075024320667769329050637794223629716186745094939983930483346222816831971940441177854173840558029960052009536336112569410339059274689005929162409373759269608479586633323360448290591053381278448595422633933023609394081374978595930686567276517995412472880338551222054753020561078275857526987944099156820794782487613864944556404191622400228811853056124762673561129081120952278804232266610969044541162612594812970771920119072484057496504786043982304714916613509307712427155601468460280633221749921440009333115058868246898526835528308880948214383158243342158395757948671630529070959899593746060239989011009688751902845282919458604059528715323055616710039308220479789854377061611731123492541975496809617624534049875715272250353284748448087369999680115008062983473235975395199090773952329609495691901829177650952786856866519519570375639064355215348458248422684738287034684941508088386104948620825265645669039460636270065726957460941101646278702621739760387324274943032246288863674424818559350896901067098699573423954869872666956444835833140461499959543956902083203968079241157532068470441685906808093466631291149911278956648056886841624940491983117599131418163069842183798389661317060595625854986724772834613814139292978900762267119021678794071213925910872514540654559960560062170589021170741436961017309541416638911939425072585668023355367764248524295265137616405207727668734629055718320566158802200056073957410135838220987842488629970213062221394284596032297094127099715678692460687075329152248321074211436452964675288508037580841523329965132535878865198582721318076700894360803927435030417299380363953853767398450627633170944658014718472981949078072636473286780658624381634085439399669953955377925301209353437164238363242580079444378585769633882218345968790514845486140512305222969247762216313758253503211080816120698252487105812310303495590291302327069232520637286170995463278143763842082187862810735340329406274638200665737118513626159818305324579774612798034024473083559604923218193553000238972905741182934700183087115973362988553762317924285104084931347035701046776594203307610816628750886740014413641401397332911837814545735086303089148183900000188167642315892074567073296941711309439806112061357704806366087674831260666753223782131977020967520383259853869008977478214891210877595066997089046573373149606447376096311726042966199446410796306645516623670360397485327628090418315485632459670970060646431118412015632967723604313555032449509917375588259091790057598115312894564024981136193857831819524650901981593441228659437265848890093161799710598166118157989315841269303648006081578199649631850007808957156109521094533541823081019341751953650546344749464192638505497317670258786958477046370152095905283935563872565345917985251420195280379195432794985708667566107996936630783097277026048046725788939882319956495641096565752360092653747076345257516826891414098648768160529579012533846654661571086912752309287390321785485124407036717152045100020510273012432236127810989366646532728938866214687989823893903556556607412676101392252385495285459721775324071721978545125423141985657862302682706076497673307102763994497978138683315739658776797424361311980069283325900711461855596387933938104135736610460991906909703993481872870177498536996580993939120241005116278194569105507478722943845130503668328186948315993685093923878661977529020154636168455200106879220835426698354097632662892023761809871650851176330015937799304156058715831108250962947909551577691596997597099207626058207778473998054346578453675948976462109622705060392404801285561332302174653442244764705771666092755357603195839237093110994447172875258024879525667007250099258431321633069334131164136752715729497724112366189285358111248473490001712325545074617878560367002169572915902235619758355113737931397840964472067454336417400990890804435487664670207981695051755510018986115109673510323817695661418671122476436706990992414962338246390474201275400279617116481415622806670919255383005827551882523177549342260006284799253350795290540248117853157735289524142849347340532627328339364106269557674323208032500315180800879119224899847772377366443311675237702774155550663196855342361616811649835071061510120596641960255230590037276009942778219971737220124153010400025590799354961322141121968384072738083813631240344647853665787923777051450678438434369948874851582772123340126185220937037225204679352929111604110333978748346476843149098394741843403124711868297703790260819169014058004557420296890906046014515251928247914632104034126083610410186643484413133348763080003236483447833343682553660707397434522364665127455352522669496708007097683468155449052670004760641350592069486546954412625296128827094635152349931601062018173230894868856561687939018630478265696474302885927130198836747635203155195026352878306340685043118615236686668887044845994193146558131570578860118056378788990687583381786501229675542534354707295823995514083407189132942320972600909602382955022288457232317416232469832022745704603145033973667820134314063085083762825976919356993532678133602789397129690784113382294553863928451135685805197566616049570883691698608123949789346324427358822522161444073754189082137057547310049469273164848026403683569765975903251725026860930940593593644449713138429289422532322496758812361108759015582162460179022694899339719743113534710344139801031535015175720352776695813834461398349017106320362937748498892633424970975141172773647498028943946741030518909907214535574033618030976157278042153315231606142544515759980882167540705365223985353030722130960915699014566057191673205492237143916257872463735391134669699929060798846908687888213367052974836341193095752868145287999984946588614728634034634136244663095244815511035091383615490712986013499146659742097429441838322598369339211690479281801742808703129792394640232876274130148031484209912295061916562704044287136295468358670106371168201173789752766534761149403226322395148285510527038749362582111654915597404039206609952939272656795392150774968434878001509104491373454438027927841472524701707245018732088792547056023152146710547360854732698455708159513473744028029451999375283427511238312437316654153518452659843707956292420042864588919560214586379297043321836290387832327577285154890194772326561179886384377569664365376401143306594711360245069537352217837916156261936884809414403480348712274739811192587700233892379398653848686872108098547157633678997292267627074313046979815257008774257161190047437062627836391998359178159005421109775120850668277381684890702824960814088487715475471406985911888619809160377163222257974074262241716389966148641147371015785383513880186135431778880440161748905334740827297856206051095041594457333927943083051552288965284951669141071163120647447223680521450170385800117040273520484870380719590697744434471559401702164492389559706533745044134720505192486089707041797678387629106523583991449662333165864131672189386968638099055210267931905893598724976055667515302733511339922964167235873784672240192232063389915343377722080155652273723705924081883031230183595168607615897155093415826027724620418823538266712579571391744332861032551120444226169979358009637946639419992059325494269354453269506869059782741640182071010704857171351100122120799863013956394030569715170639826434166727821150419331590900965488172722842234603653086607920728735645160986826383361464395859559198481110791226119174094584347086506310201885063440720606803012940288762063897967977630630681486750175466326459569359533795849398145796052619199497216059731936376756780150571747381176838068572052212757389813732850871498435386054143357399974785535929670462008012178209810684535065980983778067555946944251572611070655068013194315079190352268643179581552797017919204577742402261022390067759167997952736051603094228710242529274180953294909500772428171706736966097835883945724925250404090011873378230132789905182325037021983625651765671071671173281700132281852548072128420652527750023050536183696779134466478875359635406376248727516318838779845740166829431677269913311167185068521246949332098953599741081324173332505395707143408205238210826789803571798186440263359432185322547564075786399619148691952634441076243646989976309693832429187812005471915038546141528410491475064964878509561738744282055769125829584093060189183747584397891769735492745196550510781065066489036412320464548275349474353691190555489696880744993329457079901625956597251623416334080358873327424869364614322191927231809363598216923421414606701402413438180343631748397282106574389254874953193298973921846451440517385749311776848229624737270929416435690885723909145135584194670716034329304664111350084016852294045811294198227084474099664873429035396215196042458146812157887705314418721927739861997851125524752512508444022948925656846197414200259295011111299278753427003185678184408052822420550917223172468815917477198785942371777864334893243088132078631494370964980120088589326002321988706178108200157684484260717558487207422837154077310557521907417756627734781471508596438739201529426596743570782081171757542229523126744078834715424666143560621028486699370202901168709226424005675136092247304968942930635762013092704552339770548376960001204272910821709277229269100426952380414759117192689310760742961118920068267220632205644652934192130452863064761657455860575303749616608428781369898069588157481263207016395046674983676457029096362531306391490306543906096819778677219108047741894208388137159157836900050993431067606752207676863471203764858187456368627938002525209759879271640690123644957765772682198023863420398501432896596235518147828263156211131621384123543347238922100477757643840049977325799100935005014667667718523787212503363496606396570832886435182833089656236534253096768973413793817187608784418213875105609089249794426850769887908535472423091180394437011822572966707499045049215246847721572103018020815104592983981288609648107692105050231352116227389305680216618589834054956241614779439298059427104796205034989773088640131265747279566311217990331946537809465208743774003134872920982761962287441127048910415267169826942219362074059020662688802708108708210318737169318889585109165457689564787060087573220733816171503515912396672443413285764553355875816882777203866468714306950348204222105558283986369135990636778118361210369542432744180445242275247863826840608835223477300396469222359584601112823436656185728989671478113280684027013346730869466224849042508952075583178565447528512102001915546598775781319092806162866621130097226220784621434928806772529782233587547818102103526073449357501585312386511390728227592526733917782030366494116938662993634288660453371117395910364461906401651359228964268846400635253960458451643738439450475217380668785434319143611426291911990230336010958883488477554422786348813885266661774307966453472727922760946182172621231707753071366341701148387121053889331082848331235264121511136701910466072433252233079495183849194924742351455758964776899034888162561789549545481059985962693883234451237296332048148336315790464040222715221445089859457587954260209505852954514235822979408814901371930280125169115668531408002017157125626363039359025743215145237194721521297754595524244459874191114347594558944454793664771818508545633475776238566463633780607819118208794579266560163781115871752461703180597658065523736407239938205746263461042712173129284342005979967672799050129741589376807585413997038241309947858746314266306137463989417451796154229726347797779998155957105304257669242681689971229167489900101798694492897612340786653645465818406935106625194518300244053432083712020713494066133399568343428527343580943133856815714256145084778931245425174196194873937088030468104643789244713900508240801895224493405664975039562246796916308677727160681994802809719235060900457435538469933633272555184865300193248168658421160580384275959137514794680877087014362836137972042051704704755560824249540400533643433607869923472219870126693273571290133806010450830854224645821455250912142646126286831463887806924945572509460128217431474048859610003744536082086252283884758609140055057852141630021018325646685144729142087268389153264426342717253655626871091993278651816476335096464141833242072026810125677168302784316603348255027368983574846502245780811040171909958019798999324478164085947452304206863979256399111096057699725839745145745247355774206355926622146202494726601824097124610257770853208540552949433709480450322801590392912853919814240903505751343987385241259142595321023406173027673815155398247406579469781217482279312284900863877645872260514337433506259396621638149860473693222766026708515150317721064050383767906503261886079545989112620215602484565549139038952583635812818356129843199903658167134263257821658471965843809566819270624584855139140563110486394538622349423548427765264629563770954819067403531153975700030671325697490408154432947401498943438688396266001305883437672290997495488680775476487512254417705822471356180648463328949027267373047995920525514591459823385850922303698811345003490509764959797983219209658268744790108403378738185424158090926368119885368272301158548173738947503109470289270116532220886231961779388492796001813936071925199598826586582518097022999730920271488274333369085185373352827501077259752258482126896494624991297246542889991551272860016445851938408967317162206152705568445039054194162663400076396062780252182274231758558334791632561281496911228151384631595981491830701808855545582670512813275603500670817644856155245831616303597200818152908789498740217634695102560773444276975242783300498079749210166321379043017004709836087166778626413844622451034075278346984895783351303343174501026454488833191266763384834817035192994142341294706279718727008266204526937138835731529934649377823690682502855443972143662231555337281090469120749057750531103170436605380465564380617980170893852751293182121815968282462211233231910974125067505141680826281750937545277838932261530442702012076599283833953345714764197719031839846756272097937494472575506970670309592221902337230285205695458197617421312996174551831717914124051399873175009079088741741792597861286577437570680470644906960509256907163730310608327170843047487867891261682858492287949179683163323868500924843961982609546497165254468511085896647040781573119123289320921795646177092094889178667058055362683722181766179124305426190301463379754290692663908129030315688853513372133501178870279109063847162714205339821353640385292064406020611883539282817848077208946995056836036361515201122984489341243901016293436148133094736762876782182782284392811243392963659183239531763638861134161647294807890245577589986470746517487359838627429949890956851277940542788381024422278296179632358060443210064710852192435284443616506818254519316349321937900914682909297551374470543296433658675186897510730259803063745552187354758101087420804943540298923116583026149657252639521602586176075989620672849855393166880236940695204171300294858695509002880846603856307661621892176177600147523431575659386460585464802301666600807991856104440568191012737067708362734527445191469984438535980475725433303038342920474709328034532525717812513524549291454742859508393217685500365986064304410085032957562551628496860422887959340735848382040527546801996835020256246695305781827145440415775222461195127963405156922405309338195585210775984540146507326307153569257923268998816425529833038850973108962236635863623619555134060036767957308525311370406122222410389864538114296789295519163933531662028334283579927028588309897053482888975446004354199243189742605482076091231199700437113433099817289219311268795595371828669598318533948265188421668633018528867738845892582619707549850312640537707854681893192282868653340634237855189945826535777254671732139597810481314012279820337535116786247203358416080054041746873124203815663450881659488071112315384021932820388340380211538063491525870228303800421871854072230031179378331743316755764045303241563974175872768566971686414860727719539892481009180699268592374318127506157786094787568140207473642417502601417655017207930889788330219158853005319499248270268948011162104542178717863318787974582314875969298567479739049113636320870990382751801234756068876883793309134974531509612544