1.7320508075688772935274463415058723669428052538103806280558069794519330169088000370811461867572485756756261414154067030299699450949989524788116555120943736485280932319023055820679748201010846749232650153123432669033228866506722546689218379712270471316603678615880190499865373798593894676503475065760507566183481296061009476021871903250831458295239598329977898245082887144638329173472241639845878553976679580638183536661108431737808943783161020883055249016700235207111442886959909563657970871684980728994932964842830207864086039887386975375823173178313959929830078387028770539133695633121037072640192491067682311992883756411414220167427521023729942708310598984594759876642888977961478379583902288548529035760338528080643819723446610596897228728652641538226646984200211954841552784411812865345070351916500166892944154808460712771439997629268346295774383618951101271486387469765459824517885509753790138806649619119622229571105552429237231921977382625616314688420328537166829386496119170497388363954959381457576718533736331259108996554246248347871976052359977691923235702203053028403859154149710724295592067062025095201759631858727663599752836634310801506658537106473285386259222605822205104036802702975047987280794616581004170526819400190957334621759438936702493204226910343698124637201111852610842689102997203112021000635071763745824052038475551972799337976149061078949855442233260040188513036315611448868472815892881632451872650666453848775991625766428721112408420680167635171001029431807155151909616424609070394081292169035174929613640041396704310412536323270309225773279602923765977455370954691157421404242307819923276174019064245124548775168626961053336942162136053946042456541401285330078136334498567364067039773422298119610429255345016014059404795471545345484072717376562623665491666402330060132657440701078368584684523131604677544805004022406399119703622186029202388671507110171694002968687596635000408953162142334252279568340670134701859020283607167621477434934495635958080821304425864694685226109082633530087566126034606721954040559841289129759948100007720574402300476732588000915143714894754448791571912946590835708739615155377976402620683708480460729693827195856897597596261041591526575777907823349805678400229015320521389353737755365664270468268742899634413957436660737444455830864778932129853021481973953414781705166149525517632919936995657445226391125190935413869893668174309382264247369262020729909678311541319464843779154599159239282877146951492740264092136456540416445814902019457494193052690026139726460810650714396032060775105941877982847939861952499641652131397152935994218974166470751872357886294661085601704288696057983940529064074308118333886778815626358671560083967602453492299439388670597543154429434309572584709882154631112607667740678645715780606474474997503545445593132865491898493365727476262974147382356869148378313633612836279038248401638066716071798487285558429313492260932405659575536511367546443878342833134666445541803908218989832946263450161711220169296194601693206210330397448662316560035667818134431008965687067429656581774455726850156315944125073611980634728864662413271936694267129514503975189283134861928413032551884311690146714237943747283343446524820437960597328706162749109415968626253025588897684704175020031402622846910480469840324379066067377496271025127106020608626628436660501928908938383200060912286918818368423616939035231269303686137968115269469978919266352843899270165198255022529235793662816345681089130741126783781994497727654482949204388013017835464992135740327915775077860022964235042759969976269187384148473947738515635520912209633158390345671894152943570406530760852901742497681855028852763449495774491104225024537231560636181035048717591580327917983675100671361000662175660495737667771129252873024799267201589964189377620161141182898996829559025116563914223649950628500306968129735072517279185983011152775422988518853117635947860031230637260983698503083108521455957483595557157393566336808648210787912470510316315695816043487488296148941545853555619749992968779550992855274235902518103237668616095925525443199549074206797391570726142453289504280973510379677366601359175226270612323125894506976348131777544560666035762204830069042253894948677295213257197692459276706607658165582986750565728946588609190296443812850578597594375064024460621214560856085452492513683287548434387337202016923116304327056480601375879368567215350878168440780232920646231638112917722977527255310751613836821346045777998546256220819606316360192063309685162162316606834688631166215013238542873913044951231552163656212951874755309765706399550298804256473405577851913495330398886430714317850520079862424684813829763408021762970564572131621983068293646286822222799238164163531725982732130797141926762869156811818399665151003070108267031286640159183127196040389235406825915045957649183685526148034651092898965599618297164084981357029227296221402637505955199475016181058544740197649715937663423885697019822140454102096429083882488609872188764948008359444919344789313310807777408380356018922285371100938980912048532329904555985240968891805044970438384150455861501309029070913061564696859589692282764737642610837917002846890366686704976791703999544363304258557977940772699352889508378271143571257806312827293498833850459271106095260628790597150549459072798416817516870415050729577233652010032638314784794107946076565063693326630382060217195514719520412084796272485391115893028666410796969915248112769791499951026605745311238813939349197089269407357384919442919630072809503386543021378123394561424724245868250054905097821684198951540776630466486602532118215170585464816990103510204060407790534823954570811036628024193078335395185975088471185447931503450015803847094478546020921619344027984589124720529417767625064979618582347765562808249405444376505977794390801979243001549599367104079839130331199968665350178723089958743459810504105468536187166690086026518727095063078922094498504286193436294954293109720994085955858967960004258229594269439095741101667847980907928907540843387989975855690094719632489043233660363728874204771798977873196747893346400992387959284132804790765822581811835405914553958100297291326797141943540573531614158479802944118620313225190540915890191222553196537373928563103907877579205034394436105607282048657439146472804807233659273201766562230057011146855912144509955053649856433655095254739749965028288249228569590931880337949922646598620688234011743944962931319859858802541993470962010389491719770622586572667076187283539023348069250834356495374456283107575871868775381593970854006988992201660544250263128328807897949070455443295484928701875961007620274613110586720246495399705604774396010706774205747235875707590247265185322889102236303744620047196424007585416367657268920371635392194774286906858888158097042483582151491356992810750723078264474067187348094845445372649310629225803372585171451448054620766460867364272504830158120434217518693167085600083352959344267458729987350716251703005711571381753013024070110296602509558624225602890646741319080006821289845940660914873475988613959100493960659145172165306776819355721876558600653077388931209250490628043760017778544522650152062185050204383149506137210270801392037707562978306536077757366325928647365858953011561800178170369022806607100764410062540003168840377529981249455547190042489541494822410559478357875720032559664471237684403335315543214042574174579800602983082917713082714255424692326664441483627985257179752582246812204719564846717398920410879193844507863357697868887939147231768168152167068102145555981333521260636726553921369522551228189167174267189035559741529104672580692438625060986038713588672293142892391620343327393103925796435866555813425301725104238496068102902193241247883304519746316017074652260342989164540709484562290741791740090112338623953845452949732242933973062002716882658800112089852261253378070284555814485777518119353345581235380184354322962152848369629989192615657164169774661682445203114487162780669497265548371919914676148107974684952144144971912661242582093340384084351536196989622187374719284744719240730263128297944615701596967476881484379225755735032789444896030126575921998002987720122905396542336317981503621696885991838704958970325070591396571344311334355007767294918902707686149548339946677241627655147311951675116817189988757879821783910897600657100083767694295343505528881086589117067587211951593614891128230823068433211960720502186353183992210997148266151083690657111006301415107040757110854813735703344847363861289738071706512644964788393402501211372584839423856995813954657565637476063663971548025635737363996498472554328588587094954469906316852551185998779710745441588287563903866856240456273771403576082251948946485327585096461353516108643806062047390528236040530147069123230326365570538517553758640102485671114083731089069377746847929956368861770711886640773881462294837128180191710321559241500607987057229143543912519573687682238088982448959746974767810227262035149129049368822889115077490463869723017882528887064324867983149967119935102615482093073843975322668005873843094075789480751981638168561045141783744286400415613577411126912993293889596922900960405310032318338218577787993482184022913347370689218898207143551298643155087785079937015352295709988437829588173708847207000446716187002843143753441744194989748281483866434927418179804510217952989529115295358662010382233771879174986955322831643061566459360934573676220209533838311337455435570693333523605410975808062515075690820184887747333526891242463787463298297207036848194279920122736653368224997431755841896015620405764802965737706411639283600656124274527930242718781907182856514484698958989307844166763219885733320866403491603258218771672650046563027922746573906794446548856888469952701960611199427601957150010699606131876917255938986907151318947664410229132623397962287470519452771373516835620250745275664982358719100125339240110313240293530727058453878955596620356560863445813722609269451698856155856727245918467232376723889024046301478272090569073274357508512633882153203818017967012304019729723576801301149001545761421717982505197104838134595924675755060567951649416187383995284330819433744891905629838955891842366997243941630336015977981770968099747083279664585361364212373269418064931700218353510636886985761409975808193233084726159560152526795634829933448130862936150310687944450838567919383524529125004597160435444282261550962322402373162900504373772781347828505597613576092283525709520818983166516401955703409999385985215759638371453039749218001165562891592108179874742177235818010247261951186761253690063515801526045025896979708259356348890598694105955063792026162707067718087390644306123423600395630088194249193272120050585414562909637699049617062559097050613170541611281637777643062377082565860915795786071471312996038307212196898855891394480005155107065710359761518498082267043802144533530877161517260965721980312582046661604058657756565427575470268165624580553015470879936950340823284475265898527890494254552157075955914945113156734523101951497264407052337250223810767272574074532371287104539307166910993083856695345292768997264646352120149994950915423333145340014022110124806824899314675171865408622687223114158024434081610546161034178549923386446399052050275512911978337294000194827329315149427531702798304741111674984530814769799435528133294415339448471915440910253099019906508522402430753192448792335637216884052823997728810616189629901286359782815383946111778475090316138159207697031577129225883671748610325896277327349774474865345654776375316120592046501085242167020834330622787937556879835661707948539805672405348813332863107983491253431573486176091981021427979229101874508025820263636232561930962435532315872853488298737658693445244536021838558628387693371633402106422218121648108158044148550984921452232781196216717695478891598057099820333683236400840543660560960213397731321134370041157779279416953733290555689847546860131792597138339147457628094854081997114823580773194364603138983390293157229579605995737996880892198750625139336749428243289715570277272568733015593562060936647420322995103302578000433139634271097336646661490863286786373981691639308336794251913207194270439778233336565492715428384054154828429512441860192136924864167982396885951056057082135907413753597009483249106782289570737149368582861767705691151789837945472481786809925833497564131050431929905071074735720210361904421769138254077225877098258665377123363114546728096226862857517903656171356262848368729933724838869641743003095146568858073106078606338136114106578380857916824332787866051017755602745219297787276714818643586326926397144107440076379893600927865076344498613322613185703493939652925810312589979756682113528746900699208692461044703079948739387836109589924287548305915916908189355927228541346610288285838279190331761854589620529793379972937540785366652909730692348052308968960238907694503884253007950153484936908505238544937145462343779231247871980418029509120406614915380943198231301287028138846468983066808363657353390798462173737636521530555810107953833590149109533688942698656282762958961307540977007112160560798993295078135867385664900357460808120670919935882232037759314200235575651111403852388794039396321789726441731028564686443325620493880317031515593096015481621546048918615035403233749543076452816087928819594429051611973748958001216251344462661015527675073851438848772603875013059124407377868755520879930170699402300494387519451356766084988656208142725930283969440254277155903118283055929466746159464420661477391285073828270312641298117000677610212224092504509581437044356956442795847267426925751364169096524745256515429170481346514932428047685141556173442461710022652053755799305094490904737874154595585711947650935840049333898017322495667421349594227762088042443689291676237878470678272504359258059600870021318903848323784744251992684191921700167946735390326156679718204155595223009560952765457007061531156573248938348404539075519429837616622316377478559477733240437643333022588796798900972897817625827182709465857106368465281386322352299967783910650919388133511815108406257927001417262194046438720653414948648106452246614177739084530160858904450992089619297311169329114091497769851850444066774516530292781478958075008838132128356821349425177511216469764855395440142471268399165112143727355201194782764445993740716535226461304158855774618583343321700422885508182803196367986345019830445745677236982978064465386921306419220187960397916451543730378339631156967789263109277235980770834371606727813820103909176876013687920071757462097439748508491330592612324897288161594122861752895045639588199319397018229860037706411637880533171349077321534483872647053492608976945743564584071922425263896428461789693834811922511483429307533115473746469182857775141252643845544976256842191379987356275063359164555359775965709609410175643489592224187479885791470475198317865079883410852441316847315873407664016418782948852496021692802413006922494872726885362237962402814505942688905368716755391946427703539639315975421206980288723469535162309646225023869382386460846148888612273489574577807749819216506979170456011665336626678142971273181506632959990610746201759135474158545265342480351770716165007195259035889050547510317857046811052327150417210214328888810284703730549581195361696109888397347960223358154582046511234599261916049461467433661195790382730654255696097656637975080005938163426578313970167693766317069758397138975903848043093114543355249475659788306946532567411865225008837152756171648861479781848603575891436440433248669210119592494369770744954634889971180510283090229268536644022508424456152566412300295176504877697486313112948260864187081101878371341532945294292389938375781744935321383258964188412694034608767596871938114266315314691939848160895420606685229035762221329843379206938311946961324495157028294245460258796347783593472484763230929442318882442038949823875847856040419543754123648113839198940081720444173727269054722039939559357773196032606652425740389903202496224670544437964811213974425420738482728139983589242738605086596528199734789794381391425861810655580713362808634157025726376360562756685092702737655131055211244480718662752782255875779034637289025412019019708664796419158437289944719047308735742096150814737761472675541371218112105688188409954587115503282745984165940343530641170476062513057018368179279209543908273201456413792998493062220590641807618856901419720321836693916136781813969556017117721855015686264234700067419917233984820802105551798814449283369439658456329113865788989423707615422589173592146718291098535593081272998076576037717379430349677054697920485769161749575044748055455140583939277795600757005323166385413033324059868839751280826011762565617090658606573612488732540304200706603638905977046943087849621496529279062843532820019138028902623304810006086494168199912729118732019949273177271728770116095356523074668511124330704268603812346320048970831203321710396591963440580168315858335355535413579770085828573125609681711447443287026413955824846485530270913257239799039728389943269781485248527174126376955942825858780169538147599189240158004330342925359608774981732106539349404021393856783866451144621075317413164507898667075228932034562815574855150334536992079716564897365649252931092425493429982103487585426162899539514112688728119671464264309626949582161836802753102974603887875775357567699478466821601672656995850488736403571446106070133253787835509166640118586177427904029259127346066378627472028685776423263094289854806187195269405976932610776565425721798232360802796776099306283350167252274607935174088317559803954737592585816771448205678758250651139005595665258955613405318511423398241880381578125861196881933010373091924613848426129290591769935407307757466538292170416375023820186353150962830416136816824091883663428130001007623235778450192790174345156327848623470767101172623375647603408933721603862829931184059838043604162565133539010228488078753616056569770805296676814317090235622559669116678734166436135031780234863598153525053535141746466395002080075751594747968341749533490739065837654238509068218541913321124524114996628699612586776530460989119740428191948336060178966278825204356891693268472960493119541027205487942974126756487774441049252337948688611491888666532400835193945416111561385806743757827395988135032952611461834872077757353156631114957840790465928936449779422509357053540431610083385241307711286388655584093155255016852796469216009772519915294064742952356930447446545536193845073942837387793886456632970696184776805883395305447051058083601369254584470257338159177852843414324928960163980824098071419916048855624910769499637896552328855908293808558597854685644965083705481702914991151927246895060502985821305215059353165101935079998088806568377464913051924170991100376476439981949642023946050035509538132232441971787407880951232960370221012715113564316523537617211540047389436623718648059919987210194117358934395183028239433924913791724915246158474789731427058008305697026567084027128029770281355741041867813772171656828972162221300338656587723594278336711198442154339671515247032300933517215089947443780075958948815700805999801403901632344264893771270862426225019264487046080433420124885138822703201289381854441440780194388505088050762848101304034580222119814952154146428354107588151591996714866686547266075826211198927186066495416919813588193670522818002121146439553451306258518941434453910241706216104574937426661272649382666405673148510076392769155204906673011934655195353668184224866507772523310196666588285751223343748188421705766375609131426279899748364474874367321655365209864848523538610080515157257113582042571933514003412522408307643236919865683947882447078047419618915647608216253541665593185139810758927895632293261351895320039707190712139848649210519128222683454142575710670404465259448362691439822182314017139572365512964135439813859210699115099046427735531187329487495549789393724776229924831429200696790756014993251510504057703503066429644397048257021173658115730080126604546765751988793093227379870459544312330603969304256694412741992101068471096204900685534047507704200986521101478772421205990782045000887877056384328152213890158158281411613407070888539675820983989895350627755278197566120283619058919887080086829288063322576644392343016647843633957594025366669388173499404380498076985037611341827280052963637639129916019376795185857316693698030055196373607410101627100398985431251478863242108219470462453669327146799136623805405389224611633493843474687124920941937557374444503076155678488433241463344381609835322655270769576849921892809548936133272251638496443219650413141580768574400295939328650104384953203551290372167238240512289248666814496675174705025903209123488115535033930743169092713114342061584489457924766619706051672775465594579075175313644555941565479707972999064119289901930904242498273533880224938751903298693326749599275933400758365343743266383840534407374278330443568088633075986366045540052414234100106821020673615497237778509811142134770232234239706729565103689189511224646993163443627524819157535954684737748546201697837026145287459885418851493597529627798426929022837448895581228280406659195636873891472169981698925378193275028027989482837318386214923072563119790102816363623529151646549331697579523787853173558273109114272429458964505943143078847480718844076037882538589194962626646414929501223821811550879052945431112077419354034133366305555796326480973040386525574142570810440707392618522193946738293065870792854759971625173977847513757218044934179306999450395424432108496351044912972376045625664854308417073436429687425243196964782698451992751670822292809541849167494108585600395200184740707676769935561501666857813332880868977803002818559634995213001125552485249286206052668749059282471009527591629754545555509824090811069689300312793176807323035158053919681591765519181684106398304107737071639944520771285122950747728098176238654239454980042789821899526584245010890927676313660243982017559795115141271060732727709838399513708789042794463411984859919004300943161352997044276680895145387240130658188485424637994131399943209802777030050768081076326308295789745748562027449891683345330564750947551973670198765733695046024293238401234201062304145759472821688786993662348423261988611656715642551099448639416964239439237830774185741108149318780191158114755317809845715892891110891245153601304846904199662661458578720569121975451151883468944094682923285875020252466216756721486739882962489922054375618572691750365887948192305269499245404228890737009358743056821710097708400070141887547521680764928330501086004217001143008105619281911462334307071013573728495974993585897793976646082922553026034359604749317062111410994320159231720386953926730564586681370742427229126260568767580779130928979792435396045509338057922342200042914291938258845553365787531817825203053839064949311789134325294942632150249085966858566556316274966582933998702963879043509461148983283826684012649031446845830272249361359936961786488828298299199557324680912566597416834424785746785091625134056970346584047681187098809308840988539396727544379517950510723914737693198353433212387330495339947889468549250594126011716049004793083881608352391563254297856048036547110614714851021779582584034557394943726198690860726226462496041887576090849191040233057669499342417896220578311121900400503717310617916231814072843942369150742696942338173922629315493759569417649288849570125885643928782125227168322261874200550908835610692754509378309244789857927874680330831547361514877985092767588653394419260629005534904930855475537106004455835596076252027613300315391662856951010013781553401329948207058869737158048309343371901137574200853232833751291597729475627311265456078580019505443047813254797108445180178439161364943467526326401262131667703515576148018418709650432765262938674986383830967116317301934877902164100362151887061311585809756739203857918285452010999838431524484201556585398584369321792249787764385497845044950427888201968182015064033617962947905232273609961083294957775061159866017607361003344436868962704608398874694732644068902026760713501322153472540090107461961791211386356737471406972997390425153176063070575581468899925611926806823812069051323089550986171781755133704085569050956972104950089319301213978455387421084377546658567833958973412706076347779053817782918377086474303068105939833503883660438190745105976251456066576719159538593184810667862947569403959400630747306789423113165854208213395667171366108138608865709837573220223832970993091984219384793435356278385157973378058754281960081828852224184925169703716447309769777048049947628199794195018199561313106499180449921931965065210505786765242538211924388010727092979122367284932507534503093286448724378272799390173389643775563796892519382208447785560935437432097862368355445261937501860798672051029351123336123778179181226541104673550797013253054114102559229151398523777084420883784022907072270148746646828362554588761254382848925792015525921590438552485471441431153276159944026982208681953731821845564645563648865676108614978314241011900177370819109278320032665544069351690108144590374535376755085165143545745509317358577240167692711709152258307033334001409769095762080059796475918392064135585158722627166750591563718370923448535018392979989810063733981286986940334405368072480265835125855776831796126471737223240774048164808689135398632933172909387294536368800592588267219152506564223910935149540533018803591664795042479806515007477199409270679912616206774274715391407148706101002419257498850703764323191293392445991747501607832172124729586003922751335732107357313427168479509744573860450463197599724510554107531226088256465853214451536042146713253229705201310196320166221495452854990995792191919352683589045025892435322612638923946530037808262739440001372409804509591721569472092152587667265819199745018343948524400676493801387135901897454058355490769525225322717720344063175072699251615506504083307105890786294936418599580243989307828668506940175732961122381676738169725033817309991628669657261065956381148295849067092310796745178395294256772873019132565565516835670839232020821856341779616896941893123961614502490593070194446320961280885259492753527749400275724377659945317475046003674696160969896335677138697875382240128052768504791260225043334765675351348676666999601865849292519537209997512880562152953117509260023084887425196687264086101638935708194000490121347918827711054937335323682047039988206166784376958582411904908292917877440627139978392305803954940340519055569778543021970386589706413093315581606433546844234209650632149813321051842228420280186651452882520161104244455934791356180876849910738685476505166330264328384888541622506385644164615256169333600935660848030974905205258638842253176374541705519569477548906998956614232338617879570324278695551493329545009543472283470411674889144783460928144816458493119412588806949271691361997919752199205175025975472143793949411994560017343244971150068540625004231012565444437456831946180737007356302016622161183666307034343417937865429163767449868940046798708637231394738986380753653877640292502576850885060689232967823563395161217713526815669386300347072933294551943612621628267296247883714548338182949033340174827443796280349980303528780251136515725801864449255934411784766968933857583519871946805775405208997195819796923504281596023407279287010453347527091683393319339241834376814910729358533116733989873553116288462354319435527271742474994981559546050870343951107203451598600081705378105057004556353303616212568608202052227510265778353911667160573105249086520575402037326233450706761804956703439712412119218099607828707031184011256164577004093008913535138284950228096304860919033455794859796427426102703276449628664119669145811472817742443300528999326618205126462265126500031990014630326451948502291843337442479918826488644356298458276223939203474633228756036192305862240819865324741795461114142448176753730440090909099656604762557519315809303997189984376618583771567610554978261138627200314652640424983016105183504876179581898359359061266192763313124885932745388676249817051130476141825279101878518175546579091935675755099756728819442170581507821639327690139935582421253887118294722415602698903235543823243348634162965800532573293541542439958431247685298688170792836066520842960374237744455123067042366885434356948713625631368074712794801981415824361628865446797252435171260608313018740817190603514741335154857632442822592530949680428803972239485652384681433664977060107116438240430376286243804727256312037482711194626388913636792593917840628981102911510802237162731228729580733920817893477044211427783540206132085523187100011079970383269928283285044746840444368102050627925982569211389121761695722163510075259898429479697398349094590798532933637542239140559377795738627051358844077296456722975949427468922989834883824879975371942189184071157845615716918693718555836787275764068316188825568507616134085682414183428844481352011849924899247595762753833456745763211876563078549511706778521017465902367039605177028551084792117258648189816189025060732555944241987713056295370560351658154870567173729361407926452844380646462931359278802329810351178583775913922502888467522844863170632254742250630909890047798635947380162269083883370263879101526449919392226105341848349596804319561493412977268161458635541476048012688296939554861906593269069306116683300557459612975199729765591327927566752302745478274226814227988548011737302075609710859689336375500900032659279294129193335418491815415242833678009225360241771503776380097402420715417637259800575225561831400098574600838104104992502658177906371905361574513862045266486473792836592989824801994296410096950546948717469116887457254114489094374071779345007629587875337451804782601432627296800551338225976553115402216361652559269302579129877852954595718194356438005870776574577576433960324194479259557966527368503049969780478541077652450698893655845423312741824320304045628521501959301918608522834200608603183097701528747165095647481872880496325666389671198234066205093805419943283685511883327140345334883298350502227285656217831283402863025353077698763499593242570073648845131603280195716993663780347664669280259823744716053635670584596427917071928676004999173503854957997577495930583194126425536529706495986372109024254686864061107368422851636136737632157256758853003029081440885963688258005135440016715780622987401771456695802208289479291551648896850793354155974532282629756625852866968529847800273981608884763872113647076191568820463816239776578438916328986827475553155478267262675989755611350700224750394877206012294846586919514019670744926654381800234423831138302393746460490374305376229863563611937764394170077758622644334809790995163549786303193078183677332088518880014965391936780405313867734951398584688994502595856391087734937416168460388712632581460997740877519506946167514687711900195335174500343540604766204092246062626356266027716548416508255604128776671791455690422345577933737273738227235700431786608809294942317642971218759029703967119929355723022059085037122005945881565745623065081930249039938550896811512711783695142945615136744414931807020384866341935217106684162660022542951001977980684151648708954610071163515073563447829833108443934192749007905396718818707450688841571230369098646599707042005163002219324431778189632894592476676456969533111960229227281514011708778768805743564829940266923258031276349474883902032916081545842736359611733721711318760754532456589080417435520242475798094074053195731490940414419625325105437868093092743857524429998570636407493341229569325884772061400985662431060289670535592466603798467393593485223495793561456407378293263929799931343681115293038469872202710068062346800475950839747429241502990549958859587297282134278392348059929082366694478507703663732814486661761400148195227275104149542331562832868584972919666603814695053771859678811031439257544326903585737589470699098089462221568018281964930944671343382934465242885849611984734155672968194727932188478536962349943535123944724899180570829874324798750511251164110750121201327014660381382763975560932170297138389427002841985530444376508086297421049077219577170598481206148801310944029648001684104783796699944617632890644582416236546331438658662192635037097884801875785473294549855547517265160708235595166443624803321986185548355487633133170919679297499952183548323876951400326201876286259032339880792214115981058522961195213354227081933943742281365363594560751085667048550701231445331596073591156014087901434692380018892749348159602002515171617619784531806451058604555635010022698073866652993404033975055498628417250953171177577332604652243272793499854418797483618593470943904776954294409448933742443610365489351064383350137411134239347477013289410931739194180890315601333454726960669391241390221909248298392110824953501376323086953204242786782702573781286505233385453759360743177069664763928820837903276027918401145301295236274191611872778091848619741419331599861496097011829694436961827512443965177490852295556345963343359088230785436471497811551813896221940354008341976819358176414328814742256653707750473735170810295542559199599792461676881304592436128081513845074096262753828250406922711859925822722345327100841382347577907525307653866521653183135317950558623256267548514847390757202110768854862762399458526796563189341821892207516740590512382841375468864931333110626107111347595434125386250840909886048681098812298670335267831312684125399789911331889114402042769415936398552188300681767701663315908014973963872105048065231422228351313096724537769041484899235338472887091356877612851541378218908409052397457077425477632220362976627875017765364981465231249538844069848983420034915640440829723934976933409893784637438776715505910774897370624554105565736284071189428843585204035559767062801148838063688335492313893520422970888187600163477900932462108201018289504534072311699619627269364196030368918778774529099792275433959725506078167556232187744860557913761859647384688605162981577536122101980518631289053780461687014878576266374233068566740000885110822245518407619232624771013901054629085853403257878975667713763461099065803747758278690490193345825043487218851300787836377054085964624941950585847958979856022444036295452916745336962250585986981459779079574406446332535406182627401473278023419757814615074949213760331031696608219225914904080892521808399475822171508607101604116571055165638019656764780525699835867548629483748961891626063918582405555999431881950552736832147635416138572941100731826329773352382019315467422484291718195817174559807210761074136661940285728144982405024959325808104833239739760036176653369718313930523979490772922301505199228605604041263124087942985704260453743876982034484461757214334762053277770485770207522615913299177307166289380341830102700681884344470440955058924710588314801106528750947994959584526731756374128715519784158084746292371694625860190799946261621908236916204829376990973915407640686733248246430748715634476638219811401465295409750283236254865368385090085147166882910610051848312558350633547794468706810104099483255077242674090466275690948863588426338901229144729822309502128893804902533179279829085676161999860526707773463015032928134060081342689145035565532404977186055964870781509223337896167173966993942334242846116535913673959175944733426527926182863707923640582456833668971396563690504877409704967407218365345164048599428290562602749249479573918211920864126984322322579952452785453041668887083378023036861575854174704362719623612599525011964085764069106410652884977855048214023429646491692237154977395606627458429691806751554729653587429984168299649643334258138388079376331600726766476655282078582280420623662876686507196246445799034297349336335701334721877700077433463720969286064168876553376482297231937981570224114182735281018269290434366738107939164091346942545484819129877998424780084546418037887344734105788477927492300823406438289942645624455509575730794460063474588254672216821927386708429559318082948649611188884881960349061643392579016222614450347222731198885808847959171381118870721320663598510078457048365344404591856596585578245192059189942347527242292372447473969044126440485518311156549911677310584648782865057623768328197155596181155806714098295648829037152713687309732246533662760324486137087542218537039358001432052373915635505844905928142862147406815667896614507464408393179355434566316349432655187926849900881798384899559200367451979359927833881800771814886618722947836756243754905019872755251598446019961917720491671094818186567344523210842645205788726704322040059122604142848540406785191880003027534671847951782625477771488118206145571130657701575324971834588854622519592930144638543014193868434362573412959256897474235915402826549447361918326962103515777445132424558760255453432342948469307558170038696551684256832037292580354357260074451985346148888844390315749996524676836121097044902559234902606554680161547418375530319805933301538951969171970623510494010933674631496078276011599773935656736970287430932944363119325672065180234678459611147828302048974264558444069503204141111119228332053871250155348797678914596899327665546197409939529370598754062544605702675933012927891187290264393088984496559984129063320033848639269807114790037856918978824506369926624771650373275505919390770431958591321369295742889789948678551147611655239141937264676623891521050612707207818505653375833043803487118021470679620377245622406005011263017195440803058099410256713228159520196732320303466982466192715868047454640553703800926678379327989377331378464075108841359551524419611857275284763914355024421715268019195978316197849633247489899879951219834688669934403688130757679271055443454673969540668097876030490560626276871815052707136531247810130460493624847764660469542577723386942861703916547969174777041794125921525256962897181227553420032560349016699614799748842157838605461205430118892219375383235680400783922621910526221972465849246940508106971771532638269752611105886323988678362735093015115871370666657994771858624417584177031507099164880027213731389105045949160544982047327996338936942650059358471002644760772280639561750151588473493838354820912796526545031141439424116990364871602734724127553572252267574363462111104601627194245346488663647899758331633871571591152791718183669562519286933605514884125681743373474766390089690308470136678421304012713658900110889642554996369305202604497036036553325026451374486777770226074171414972103218833583028007144487030048882417009768704768961488799882285530956040929001482366014995787674835007005263616385492049786547613401342757032426291927419179973844198599416197501200713083773900077107955999503312944306653626165393834785081195882358953838083008013567833477665838064779780715614693614700973939636467373989680812792018521696535179490894445287112279017364249672422630015706361771625664111429899414351161622993461036479602998969839510322668928100882331023486567418163168842476743806311732691461495730743395691133624264218190347122524320537060140710740579335157863444048419647786183201149490314233411323972254062404065065813388567987643212307516083232898313284356518103665675137992344446535208052438852283526338995426659225966581201608736586986022600098099641105623797421291173096354196957480082628002281695093892834220910635006520327706283098100568048731525559307510748142493929273009025442945593506282460676068818163624787411361823643842653298244734774520899813267547680721435421615385970929667760718722914086470540623491659865486885090517531641783145008051217090999842006570961171778004693254669514987060086481053905323720323949444395652704524206714659035305582360418872486513511969816452291717400133575664874604168006605837829779651311759397237198114361210940730436044910171578647485136312067941344358646140619200061273180246201203453163697231479205106460764213420879982962878068595871808657159732769042945328645440608391399952546931149421609008212524682103352775690959262108523642223071087251856158793988030841390315582616374318197517546398127989962075944473575305796011353076779052193517098685042343322639823069245367719738172372841342582007571226478493203589776009502201122966600066966784113588961161551718456392736540012132321617870929726835085385034332106678694540555650527364832467221562022364555536083353594465608084695330398127793957207211938558290860248397474472682273167251996936558042487940335166416273960704431271681795617845818100774828087865199055108874131133089303167021784573937685404049740267816335047996909809261515347946574875711141214822197067628236604914437354412761637598941759379417806885724478225216712473805916306264000364930301225151599278676863410645697909488906871573916028791135176006503113809558901175509839403594674093770127284346035890799055506559885276799316321987339655372132570504024103615825606057093475116124521791053107984909628720935083996583231428423973591043400478316352299839691481192402365826850826625778394624658846146561260824934466454991478211859069388560300008463975161755275865861382524977994367051909779625153454279083419447672495250291771031611749221683585625479998433235792710333120809210038269373292753293161046600432151861063136989300474037152791269633802793212776403020339853433971032750956777080553690084585695005606680178631841134861474483891309705501947072137927911778796594941021669661985511254617316908116236722978336250534135149750797623970391730596528499214672598307793604831124520559945364884034932421947812598883881394512446558216140152240342594791230978880351191700778856397946076387039656916459519915283717850202414488031310230411661820208685507401236271350220982849136293997033356644246279962986560505887167566794763666747071340748704678592481029808480068601287929318117931078975051344365080200596138895345193841082448059084989386401059278459376724468549545711711993394805851734928556137941451896099703988183369985825635177618296784234778885399775340388920500163061472667320676342505334282564387954826055778319347901504882837885449794874479475447317486719272193733536405884011149314219654109790358705595924259843322967409379376204831073240066965761709810422210482392693245811518366416183257481431585240286698739554699300872890638319919076872388225676896121234361525451405252730035137792299089527299633211466816304210854030989549837072419819237210613441627219046067471919262394300646735456748801493930362480418534448294363273737726785847647030069871212794477181147762994174039743768370420261884314119690968189283653752270609747089469246078917919288716031137897992434866726320265280071187287743197440637663764507628921338961522706693045401516462533019427128815346398320925730722660622010718356217567900886373306357252668724283568984592755199652657256058204864170574361420560263420317492214592396605738660562548014443582069980654029532451646269315029484472404305973015971171107635322259304716906056208325499675078118836674237128416413817749261162067504829762178038047766484306665803662714329296609898108754376188888134595322512556058626481385065850173740645743637243886906978005424107148119225559521812907340287505432062418120075923179846659559374580344508774775762615546864295705320564753256792664817060261472231675772429202396248287657726697093297510399702958175012802778429736387311272980957003343848841224713481473612412575753510663723745072860006668963656447997549742601053192752010409212758763501090359403967214123039651172594558546369160543686211947683153259457192312149224744571134047010001519104974579496036938158727650808769950594875894452795463246559951665406590081380517334965775511740869710113249096353778006633158448662401799675468741254345081569965976465173459676767831295048271480916594956552249363722659770934264801647244710262157590804657014879549223460231713469186817598564870068876899235680266096673562575519414830467017940198708497610488173826110738110755718928588800265638955896058355262499370040079982266026450033759358350353917288705058340075559546417890128277416768480400920672547714988254849402452868230946110924082700647954901698306544761372265257441509094554271927396823155359058640928165193519238395829704144974425143525606994709816564429380259502712610132542150150943142007238313388969836467475497436333701750268867968203714563469997608882385109056743593681808403113103611544259117034546886255972332636549943612470859822999856563220923645473316565126680013280479980096159262639293795942297154199788766561764686916019840568096856277956884260501078659171775974894976220604496407280473204042668592206888889693826494015648696958602209130426812141668480420508971075539064477034027336275553734249523568093779845298271029143947856421410487564538136500256221679490188389237880738374525822711141148511604526598106859319562552370088658714775433734664327966091713079667123071024410699641113574954585075177312653385231237915199844537564144531002144150801416798776609481510866919517215313407915604127806699262403766525568542771851122501187830257838107092347262312771177768614529958375453783546875201076319554941770508028660944753548870768402655773339596967917073891805360518945541123009278820712216574947792500290922443465141274261566454997425032643964557652744429969655446679683214708826342208195358932348920800174271271517668929703969058563939836692910200791235361840065486504852540032001676739908643436640348895001154071492160370472097954992359004567686837683905361412147377532782624037084746493654023622023375539060792097657337586517568278553731674784449639510133811146378942594792820764839694185734070706841420532715349124781291439343421661488564595427464588374802352196016172762734470252927999627326356354938867331386541922808025450495339588352536549421242792463784364726730963433542607512541226357997911752577035170421889452879507305624356164052013649298440268394227749819646976566109816272722452252474803680016877501931190253963385719153601552278541583866044418280006860535012511583087043430544860011671708673621330864716020084150370056850167647047031559770164745749159429649525909186139884260451102659886166228173262161652312844841944020798076698761283730526878293938826118243918709449216508436830028370918089829582436067442839550746862369723734524586685959540092508724334421633011410883846576841659519575324590699085455308042855690299473424905617934864066062903078319761071100516698529369378188699885161132782421411923734790949557338846047889668782495291628802424280314382016290031721092317613883341363001670080829563292218502829412451805879699964005034529588003585460240700042124983570994395173734275102374524290975386328994114064255441219811997364485605510096174796215765907120353570294952980507867891081926934369102876747451616808122124509119464373046033323342880867575706438867390534490256831771730646285167358372597284456095009309053138266002277704444314643088704750117829905376586263740637282353170981291388893174232976471311249136388839454195108876704097283217521510354441634690919284062366059078165498085015858327799278961202755144195850248838133372610206504998205896046684967957802513052796992937990443844395112423059908117870720809040907825217538608007908165662933073895624914338876701854341170318341041834042158613256343720130592579480534189152414140370174806318449186057043386738591584850407412628359270837340505370301288423080080549708784211211595661340932114070835789061703015408122763669000742961502932965334488563734582024200277528827582569875821185559837349546897122892323109351757222351045987983433436924372823353564416087430283723962066880507507629363405718449249920056610739478345263710125573232663673144384114771955980289316039299583300976718169334668769097116166303187018569694501015609445896973881390312181039512388606567003089619218460748558139138435302357854362313546318348569952747517679999028087989721419399422532115158297696841620833920779708972579791363025424128783974396878543784868973582802969486501389955588807222184216938285919144427388328441823696390892356143614580114868800116618682686002721406412374550612894114445353985000044247713783924434687507327970148940691028186101754351043929129341278260515167188381695594176414888387659216381597330271109978435632351033690657756562599863670586649496508031947244812429465251491408462622127367416110954246620344975837808133225844951634255167646592704376355346179903166831510831087633982091394660710905417321411544399849318173633920836552742331121817590452642146690529520319455405022571131951036237719434937291140576201262964501677214203736390271961549807392093006807402833150707707913352417020518099809430066297650205827834281426924679110423468503652566933156137041120103223707620561914264852876319627907392722619863913202697362057564866881908557978057687156688301477472626732469710922742580233989160539898996289524570251609908687249552626854678057743179710926756450404699165793963035782389649974352075735358416969360144714240306616938873762231194151118865543112202957348849961819343702209814206565483232601255520303831284083066631229592904206941106765311659555943950110772973659583430482330889640023105471933540857663828301631844444551290997170462077961068416757010758825134067666155057092591777828027134840899422428539121577835243066317137156684397680793681301789601254344134637540312734796711816890758406616688484314014816022615818522689449886673826139471118637095530325311105141839191400844350765126097993122515058669086881812159377288207253819358648668347859486648841684180475105555578624758041643152405967219177171448919777262583771915891025895281328311648086036573030386964976502091878526284558218057252897006229049376481323388697521369910686042904245277785538684466836638592766292759500172253982432008379447578963733071850993963552581756626654879102101422725539985278486099367127846244108097571416413030107502260648841770309676825770019813472889124769374300478628378403312454790769695975350112974718621843815628222530216842504872133523179517915135987862381863649839311407088143772092536265945554171767002441044929578622169990708374193144148354178773738959768284967690878479555026641379156458634564478209987729632388281287498259087243291744670705207305756308587969364559624428458637204914720162785305847137196505726777896822417908944309942658152176479122192471662838096959913644053347276171338546392964029001594707964019069207336858405294945243557191159539474761849224769914663121203932118772679580650359402812191572770831869578992047409329332814551921869149627138915347655385125255431302096343984022351835237833569246775017502788760674836313729769926026924025732960179071413246698228072852995037332200675241692677956514839692133636191130359990739895253684448008739459836981701795270092447101197592957576029589562253498438811808189594872765610193773156207075446582479358268551139594082173665476005303352901220383282427175395850401512534880205160560730418869288911743040525771131371742169466863319788102071156506257964942048802577896178479563207810180925444369767671319418172291233766841015061638489873638511399317486640723032907862517271456124533750680484983612735673495785285165306201494527104210726660658979120621672604166750570056065433206637831141713282332355158333798148272591562270849258614710958860781314026366801980726791265672558979981617575171481152077906646475316431706667812200464754573708006227086921100341544394383431290150863521818861941696894207754777632238046628328859824370749900838181651997496476308958804680268304874376204290171743583473407127071678483709162531935715297750596237977708478747682326936044143911672151142976714871349459831593521921189466656750170796463949448809875819567165480538677789443853706256014170159882517516660521296640253071165183307997153666218849504585723885704066769992385019735386615166461631531160464877934778928028135416376848613021813628173672389395483279898764847131657821115463542174276907770844040508215662134154657149977045019436259769165970796368507069708902265630328662485847214587462841232024299652998856354073336520658663337183989226199112912034081451383872089394414949151487602382255265706184661400099706005247442844180864944721855600917389849569735110288421898605227512072345852730364829687472855122894830157619550381988701324467685463077191628520590176759897845511568780675290697257472127159186363816483542776527202851614736174727470809205351744193482871215736894953322688591683800456890022623859300904037990673221577722415178098605702365643676407342480680307633919089554983464681428131293740784426293988312985504369308293784625113473685714260554656879182374577591860430455097591317294475018064868368418034646938482502151023620496195393640162681511167361604976984496353278185549286333541840970433110618327155540750097434457707914610555754123233595521469069877638166134808608927941505540057090520041854022518483167415439750170675296948460457413689417476496667699783567097108748346678151225541422164118562566393153635008589520212676613062255434730512345429006456601343212769926095069176794382687703570480788243100658988543743181138447733662324131319036356514248552749604250778647203940040813854780882938229243451710750977905817948922343510394758949460383707783412424123274848218488382043488436235174901369425628719131528024776146581285380246180966342320560232531130904609742598076047707107159707413230121113804996166323065289787664099818885425920581386739474144105456994209847097316134624982610803654401921786415706502975193365175645144026806861074131121495912148294824142869616010987621941010560865560798196973384950463804345495961452668164458228580480921588564899662404931301146789081789952152830381130527530445660577745504273472308985137571446576883105948905315191460311707151214682329200571583740122778819719033136577219527579860850878974386490504184825693776336709015678836325774105638827964670927080972441555366796038263423137027256092790752428758927211065327044384714197551999059676394034112318778445038312974965835074500829587681196331793065483885131474622092905943254374881996600932425864272996298021042176600680393079516050062183449066062069139024312661977250960391907669671922875367354003759456845841554506055085422086231603881565716788469339844153943594542472702794177230546864657029180562550006122071852292973679266630462460494171066767391942549869078143043965821334335674459346302048384561098383154051594069725346171521914607113632343958123925398294432899044161561698773385325923189650433874390445147921396034256043880880858195502333992581474877466468982847231565740300866210707431316083643417243456560006355022668922043650351914803212841008656959191835102234272888022719413801574961404288237878661795980668088074032537100217987988660615045660023258237482674504113403600603294365218313225893333107050679419675071543742584079356142998631077569193025871137907626225409842670405447754522014770540548392479368195880745182241347539792911434878367328634393354042507580336885909591024290301052368281130640454352558239171286128521620317095368462374665237974037730639467759423254467948445687930009944358600297190829168782041519791413851658069902685574455082825900175481541168081045035962483992680338769728323334842651415790751005680641607863591006218879688841489749396329048329756729247621854323864837333493967014530140424560630802806874244295161304052980114162976176586279035011689355733878659780180055328750596706616515403006811737350708902595901187359686705829342039764074652582014317702514335305656892409733426708221630444475714544734032685176853142764553164012584357112184263488650947042043511983072130189702163125145139341701347116731287883737501528388387666997751543098276957724057796994828150820332205629044064363360748209900750095791247293235111818608876502831470155043273880100836122048563051997350168944855892194315849594768000809423313922919277084643405363714574208538978070974286231516970172644582995087488958244349369680220803555599483146723275721688981878414952699691170418505090296861459329275449777494820991274621431035018081149379711898403020699103816329092575434050966514756985117504086090832690361917661869621792571525980843632498422945714765390046508868910526202260524479836434159993290470536803933827913349285620431371924905287938825021175387822132728707223125501404693757520752428473083170805537754119711018360146076270305627190831251386467595131975528005770449830821784391209085023380363993247489034993924629460828629257246096814333473216358925846568623516736671608490939256376447804093270370357322970758114693679618515406921512933994393928748003825676111702775046708934160675847133581308472769886133793388373441230425052681665721316657096361650797128031548855866049137891282669666777011793141947603636710100928580127695688308632689548827204568403634929316993598509334617398792270353578190846251673157848439857761989214751939361320915857997994796414163218799901262746487684448227058912590851949188302489440579889537482563101327431244085535874261287848153559568276888774182337111745739817097256606686876683059859278136541716453794663535823478927273314941124119053035409200104273970731486899511367238027728451124625062986412439341324861779716600821437406312945714615467605118554805397467499912713469609541496499290327596885496325066581241489654221281968168172723085697981237392438031169049762317052533681022100916381774924476637451563619392094566022375814393316147446191074487884086900745590891106112325164420240578075916935176584720673418883087809383524255331790901368143886805315555163379863439588507099693063601785086471496476418335731138878552547561616683744474664708233976351398120032638905501762885040549361103330941913520003459179984138058997912507246412868024925628123713576858939016756742063891008399918802546959477522130837835550774375091305767959281926705831565149903939425933690218396289114130489361486912291996882768565143681110204917520638581397308869533246890358590972886562797441021678043864684991987507683091205019243555070817642989890851227573925632495281210013861363088863166588615608133051046991681103057478808821954579942312990955842246353424010065998105091125494415027063851795796244958692769480215624963308589238975408613705531761040236096193628205860682895033142029833801988625952539451426911532582043033234321448384073040416782431288689830173689606093191928418975489552156433748542938123735340351352927608777793060584028766961373258740872778695544707269103110842771856787436815434900514942486886075475765841517236522081120828714300265430686498687634643972195302145873763002941324343341665802366060953933930939849825147305129659683967989587999870704983681544107095400331073551347737543891457940393314034685924310702896080418567000165527879683892738742680431005924641430887847352041844076672879671166802278429614423243136277024893992022507458781586670783041237695635716925977542055728136224434783035103830649738843293931447176744281151893516748720214434655249792732608353428417817906050592949827416292391385766243199662713896129241983996811424534031594730801221497975435238126111120986101776113691240922713333575234180490447134531863293711483594472224809246771854764295345984362604933482338020806247430504701141315858854934991675196496309951004407802381142885592795140897570088451470390271242549054253829786840371984646345154494572423799972766912151231290398284171740889935572554311465184014669035903394770429777901112841690217551076251977630841847567134090565569444747095780601597033746597446242562569807465389924968443213718895216438768637327281147312361166179366361263280052442676322581842285126919901478446488063839625027209556364054862203881547652982485061553871964551634943726421340906404606660253204044657225303618589585369026408943368695095417139296642796049057812141227189240026174204954566026415233530595287975972996125073707431878720679217330620586747709738256933205032464698912032662051648716247586120472572681235144171036880293164147162423797803395966940782848468562216337644591801970824442670968944661437623357677765094007628047372929060393451381042128826728240298518704075866548236265955471592490390794625947838881690307154173927486439714663836204935292529718091521087488207079880146379524784932428531959587842048120709991267949705531055619085190007090822562286802018114510165248641268034028822583258189225617914617333864321168629795186832913282692794110217010056828585894548110937115936163226835190376288517540270512413608740961964305177494365977861438779525652476651868449395122425591760156080126700002874239143196280476461467758948430474305783986155596374222627620037930276108589880829119157410704594774740263873023340315793551712373232120048743198242660828890215771197613410242017541865464974653999581549409683874116157033966124159421202389778347248738811174919216639681746086965836315262372566508721732595358147164610134586271259329894495941651406819490594259296233007612709542888776834210587313469528311844319713896594338557274206828774714123239789373847888902832041545666180839764756729723056057496294072078982039338061609176958037254325399745300295291128134722847870668682963923466319723208501680808799369001956885256707012818690836568037013869986680550471563167507760624851488226418025309570725035807585093221459034754329886961457449984117566527731508998245641649214730346845527974283830519703215037795975801356617446495857304135349965162560036133570564344839078870027565172819015215880146849660540961091986695772027914642656039603452348633942989573058497737060341241285479054092587638680785288589053388389076365234561822137526913240918007245209656351015746984130672882660179552246001473872660871162874341839617544173029427890706169939065655230110129543388626965958988249399983028802530921094694054333401253756897178661935605637046439647920455861886500351117735052809362585854578571010227699060052629732703112597524972565218359989697417612696671086215187602265898892999175730826090160446373377841742728652545491135306919961787397599221812755959496891972532112842911474250916805402561485476853801788523434134299781094653735556309120205423798694422434662397563204747395076438606294116455248356713857272935977270475617040043727002275476218694844734995572757919777288737228421737715210265889730725404470680274107903716713274312510032599252683973771643664633173857311593333913202209950949853807281011103462015855692936783104955026860828496679854378056667085849338580626846228758360649437820570683740968724460195078391552699038249489584168941866000415007966145601453032964119352052494857352367256368399233538741450998087571190606874074258301228015769501813991746286331713244701478882070551479471254101298094516298052577729331097056289521561627987756047664982356509129755498888433411019632110810306389714638840179160836955565804327487624173404520104873540147296630878388657103134341587391968462683008453747441486972682556564512783822440595392870823104918362821282905652088044728980110932777430054718530627520160218202860897384986972852369570670355392822176091097813783100769677333160092513555005872994695541449676837605060421792306355904582627096495818331633897714759053703235528829236479524162362915402568761946595617473730651305585132290922160348053872351060311287886911225337200938130274311110751884437976352266365102799864606161264571094075400906131945963415383998345226608154597608493110823687282320551741154636849048543380920346598559345694547937556065778496184500907836577164519757658627350819553867297731512487416247480782441444147321877917810335908992109317916961236489731290052649080438145394562240699645670417464212198851187488376477754737846818953447789285703086965861621273305727575313333108544805731871587707759202731970105315618275872019315688590584976133023070432355989303306278552170767761537202851871334774686110790186333700267496442977477463727813222516243636539460124943097150024220767736137542716923260390986372868900846568509000283786774525036257506212471659296151789712829146206024718736890938646509042982320430533992335113989188081237543531638043236357743403953704637546237790725659723413528955345528151052947524978375666349496691411207050869602712019631292964718325251760193601042468037832519522677054749622457666058419150862053639995996975461854115878533102799645337298446161621897920201760028779205748141834980700413985401205097183332863656481032917722052149880210295051848725956802429073927008172597020259998229804973605607854029683623163495268797554675866617905814063219997430287038092132327284968673690917041320980717928038405327290250777203043819378799735778661853649602310561585897303072157420218719058620148885625326102465010430053795557784167114355585841412833931791224637103350827601448492035700192554119556064055865509529576926528798859524315543790485343809113454649004766502746452086155306190387472285426875815703173544956901152496034568174143033456348990140726802018248522965177631848603550527099356031501630058682765184244307965957898413283143049405012888828438732016255065575447660539494806421075133131661989916502464331075555426237029364503195419513347565100070900967705954381005483228802651172428994695498608561390200456590367696521540330487546524948313175265417306855930690618175713033559440464030830338939566724249029068103579955469713599541164778557832913852044834940678488245064845947501399511098736474450930135760974079374615223368294193136117955549676508072090278044296043433246515633794114934860098996476362977906039225294510370857709972138752965035197971335493007580085966127095424933820023110478840625061342351622606952035330095794010070243737479831151207706339120244418410040201826062987662173945887975159307789621539864540397194877952634414797464483341639053909278509035043681616262803350110547181190290837968230171930239896431691841182329311500149792367083328603614508773200902624540372019064375086912850248285168466667482725289550025371510882966052713124717820797928540021548785270819428062212182078187808304996450075832961992088903498503056136326243456248652544805168691150845397915034144067722155851905956643967484054673995384533578516921608182097531875552103500249098075673756485674777457314948330827965184418057395560960389898558422354117802291805475680873055894602080519075528298594001385181854920795906142399482567348110800916434645071453868346732860720018877724637423491096994100478655222421202141494843865906818411643087460062010803259050114225790625164785418850236724780910113430676128161306133167683864862770877314369385134476676180888806058930484098983951884223723263780530429447628033637944526541831562365556812840839810682556264088642049187657957222544734088180291266213963294274355399042998269377997045828462388588752603167988571995150345381996115710506722340895184301220626224704063622425658855069863466273938746397722159635795916797765582060823764141655360598387284254444863547102331536586428813775175059470708904924960146095691641343798136746163880654998654629613739403977354183269532225582436749737694109827135437202532173940114363311732713288471442208339650187146456939498888406200154178531418299635157819982158165204868401191166648578827284911763839164053584136509509712203969772112480694861134734635010897795812150018629206840536617685004329731188942800178805776364501006190561493499334608925509537616885169726655734431602276432545286708115426441806951696890749284122538983177864272596100713240666080420633030460627403789280676897918386332664943862653771595254440864647278075344040600126376331173847256828620760237681496063689613705223877271402385579072275314685515994646597554092356096723319065181478132708404345597040105193947967704690331046805337935536072132809720686218075261762513356346179143618561321567854650681445235990680395270223746420570408409950185983032641988217826220052414131523832477184913508851569397809326559692709963512540059463290808217485404377645916094996994603624396994847166181912455284042095592096982777785504126273271475039449515412594002825333864176000170276735402468461012621475569191826877476868557591755916010829484059840733948118397763420760246463457594346986990647224607114151847620423246606660932938195344880929386948464837664660090789045620937632897354407421530773470773297584893924404809484762176406116281830499265021781546799690286231834348192303825482805755304469932241811499160666247253682648077762330670710620716799342804945784680418200655315984501786974244116176574508414555036578524848575672931359273927875638127808828206263026285484651077647960942095470039963852692479297179744326347242567663432777627387591511575147849806904304260573677727563042546847713335208737887164810300621114732745381610812176518318290023855810612753730712562457063468913078487625858942210757572071806569591958074780431801430349509042952703742257006581049312709990610177019869835576446556508320139345289118728164781926329056332613322724728951994258541961913647745668796715002745548712627960791430658745535680132773934797944460468359141745223159261205497551848782118153757393473468790339586124276007022105770115112526847734269422338962707531008924385221862083449197642423881653290869405699768506796659660763848058005341086068117218423716945099229033262028068699323004696943949501233455853339091224977186736223504012549123394235993043550197352149116010044511090228669553905175134931936294758836652967511142911352879313756584358795888939919883114537337110648371512296862683589310484773189699427379972945250897258608058749333579902792933802905150020770150440460667319692238184108970647178164956587932419089062595026576103916594911501076442208043189045996575517330795685690934054468933753178045692467831608807324560280573072280149748424443618745612118811545336040882158720626150510249443938393849518573601312693704515732882365634948532060088477721059778178322103693931522007539643529454160135765387725517197500525363794331288733447124535266584768239666803577009695242644673876179653693607715365755077618040074202317995984557310618171916352871900755168518310422847764455008176062794288752212241279087206602074038912674332476652153476463804133841248240236805027352600886505373351780039769179358706556136060566561757595602011610150592187504692187991169349270213327788870649852321110307955071005254309100523703678115249155717909535517491676235300789383517165667820401469441229641541372638056123795226857694905263124181874006088004838521988296959570247579553636958321045989818274502291097805434465211581654184169291267716304053882484509182316508377821471746659229822754296700195921169647358792049894834627952874021985585208000882194935589241228113030183915383188863026619054244845533847375869589887830514260777113464075736310352993723519794986168588355054894407439978326915219109663131113200399943775241970028021967139146144335945410133775898782163641499404286867100268116038172956544147750050063509218951052154141546347273925047348497411348180204021645252008021969034662676589916300550011166769536459231835520020719625670285447526134460968421114190675353826498894894398431037379986902394592718584401732709805251906610415497578466633401296394579084804145919432724538286306111148012498108254166291288196870726796917596329674713799650330553872154105699550832967936188640172895590249730323671943782505410911356170293131381798336972847359255282757091153181096230331404080150103944019355245347308204978124074610299669612192770011801294364205705333692762251887333521676867526756873559602594764725895336688905958909779567313312728698809603628702594017677400780998530928861371491349487077892450004946202344135958164916187199745258553730320982111790738554541781219882062645282236700328605494033656059744369241499336578779080243480783159223115872072068651239078660946293915930477341922027459051325070726747721375411461389070178827027899840685871505860930337885368397257496590204967676298790242831222916747186268655789047719209495435133870648356700897401531177710347801282601759648633882041336696511793204814544110071083375778592338001935292686976277223360662246248431349387372789142319553979078637233370892449845548717996431717441091086706023392134828519866261679606349894228351000823144286322966308552621244177474825448742086606211445763457241211048851440841037272940255938081428519442910748413214821957784951574506853359748042971278430113383750496962304606088454501698990359320821926688914796915955862180152262236367683900212728164744259198847491675650927418435339904640349242304535716122287263929530318354408546059021160780086815754862531652768728589655328080025774023694304940844797189468313800244605202704811010031214951635508825118137215677409849136955721210888946494638825640939688766370096184484598076098488456336464862907150312498556722894657619441267135798589636359603004368851561253535539849907448043540400050415606127958552150049259929988090833028523948680351687974734234734802238790058481441054230871559858866733037830660202567628900985347558625562502106538635029917560604335374580162834822144802828428245999026564407755241207566750512390075845858138911822023000661056226791516248275233037022015900450001242030053422958695556946263778431322839680149208892369278420190676304317765728932811440151578110322926533548764356139302842271877982950246452073951729872139005889702921780479988586976753691681282045515732852569344817721008912502229095226721028383639332693275494245032253735524260571856698409796302802854809570092910241898633845290813712523150362195172617902757426829155173846640997815146553505877166855951306507660746477400554121092986790594709036294980066634900576495928455645011088729665458259578322740101010793117350008065005478968233498371797273445404940939895335939261982273510465257094767676636857725430754396224620347082164610213026682950504857248527311104402470533169749876731451838881869541027548425485422115255824577074292175579820751884150218667836871174840822663247076256149674246114590902464556170832293781977958383308877889557617120544949840879045011764190435481935391229928833063967695755772844538084103847572191983656584215311402032775406940565793577025979538435858313240306773759783750667899112527134580596646842446788263714967313415604325857849765898160148609100809684765140924695290629721204884427586797583153071931294436017351751727367465329039516423865827086611345403813259340688138186953109139223934623992264256158914079944273460487925724686835594281418568438840291286675837356531109828229292408961794611223520376616806594967745752251953337933213085720174454690261525305424282328428927356652413781500826904624902140882358355026624854289834931329674874521767417150989761696300905763180120578192484640132752556276410925055896714620665054550137625209988889978719560126870660035444225003819060342861168591234615706876632930348909982280453437495705284818646858900845725815276957047662460703591455208475033672576486778251662466850698704804561473254101051758766582579005043726149950682880847524370561577769121529294477213765880913976640150261498844094066642245244618606474740937935145713813787907809453072128472356506567549236403808756679973510270195307380493057367504190204588569714727427219862413961862941544487212980404345603241783520572857679847356305472188990745646259211628366885318412291339349202201681523671211668322684116104304298912899318228363945088118926366464697345058445850015788798055987525357016381932059319629725100525115161446141041877161059624840148591928473335859299252009412098010134868705585297364441214017374114025070681290524115162880217414249900867861278642375787604331109471968359522660886176038181467524387888872153034899742391956653241583050580940798567561734438284902502490553619262708570820877094334406046564634593105791779636481470882329525902710283165299266686486874076524446114000537673983846165394003653273818127245514758596326615641431093546695022363024431205125398096299064012038547390708186040238167156937504725398929711389348391561902546216002990636034836952599438300946877182846892607619925802247415431786748319464675055182959256132144712547085161734820177236522303955296731671686363229326322333730987448326458908706224184050214515727663746386310710028997580853921168994156833293240802733687059722218500157504242497993240228343863082806749598275718777593117412171125684084509343318315974624130451769759028193091427916261523707224917149992758351901983603216844016142598604836266089412600630999302682569776938390741244074787677883037110207489488042059694565325136605289377018665332070428711517879282576853601889134333921161162662931028248579019822648060481288994712221848106326199125283830899694644847002201352432202644364617568946698010686524622667389577876982189188841776375215626716939278730184393396905000980411276667382019196639808058523570609538213409704955804308180642352099966981695048803033522250706737580715040453248068909099487200345534567525486859772452526397053368876078197231163667546201277704070412414264399682839974978350752738735192330475169009265452137751132269768295425327337775752499141236781484155273474214918551916848720883721141850195992504446067936665668682899253011379107714038959011703502396132303329664110076813507203955464761863772330916707298811138011749162179307819047706713445491186844506470929259180580172956449175184136524244448623711412924831053268104536197937523338925780015645616739970122877759066036361255372764575392377408194308912488216185418718632167754989713799946771033082112089171715530922228036430731027319401694226106075914509394470725993838925298347586161002738815804748622761317227570356964449149823740787064216540130347957746522780142022374533346476291845433210490458941367308927719224447106226661384151037995802357753526804719369022034459062108723268806317118496125439640515910136309169792593373739918117382372868290349224291022189357514560732326293507308185150620141936996494328723376531372033782046989521197656308883811342575864113297215369822765218467963522692140193323398120077288398849786530410127365134394035801406324822012569873919069893892713348623410520036669726249007448990276109632706450805889489073915438212923120673583148031684808279701019352773750891425480175078354982611011666507932170313535929232291982204210126418573876558962518471057903031044896433634421578245929738657402653238821303590266435963219757334487260181249762767494846203009112010205355665806694720300480913826327739869156675021464193487826071508687124028846873775599396070604511719212600756953121790324133327212958312111676621531499530271311278279129890949519487667024320731280964999315591960496031649554458032130073616177850886334590264478489540253317251656662239960661154690301137193378310792148423891229959799801554701799155539000608364765012556303933718341211777897059459187534673436619466519575621291269628846797626993958095275997161659121145682887285037043553320235054076651985633279992281480233803540167603423492601790392741685129071559611500128310944822648892879970569923756373237500156402001566733904387608247697964409497473388098889362329024195564396876953161616559914270455029613294240178332865260941089654739138679806111778281526362718568517198199759814933717374947730130939508549845845646372967918665641509914712580770549674510932299489971306197498004356858089807796548863316625752847877487160772428848300788913652499091527597131083457370445513908045964860608889504282945182535818367092767848211322830591781271913868401798169353315661867476863772184615914319259668620468051734977582422977702201835451907730431898981832150779169038242742295168201093007405825941210570913357993420766103609314968158635198174432481524164883306543663012556838627094693167103474129434763632283411016466524010268301817022601406873834267336163112368739824214561986713531086315744428682364432252845546438857288857772749158796663299862671281027388265695290603471817260508418197794908176439936886826407842486210909423742189457123184134174354926355819714098335121507180385100835591251916000876726160183870488646234416990238650585586899768882082467565368341014806379157478457225229180246960221158819679593816682925127793962445375790371041742122456281776879312262493438453353758010158688969156060893575410182267945353663073406927382968502491754902152008540449766409200706400388171577413754627490631923969486292813152606020651857798653496970264078794342235165430698149851488035461922119026618918008373869470005458761060624266302786835362781425938574844400248154622422189538047563684841748621876245774432886750446613868367344017331566686086067888784719811128375584532211757340511536856304354707145953178551553238805143557430988486075954688031270167576097646353462007142591904697016513363145221037599004176578064577196686977607473276497528219953799617225028850838014933441069215368292383926166581921358077999164505205180646783341434818615200398668823569532788226810674328366457152326608073555969250988603725275339808502547155693845486521452921620289571519545497363475389075435130034097768599985002052523092838893282198022778823733253550103820493769765803827966792071518562763421585321110584509069907792942731344820098543302567314015823633718765735220455092716126413698538113224753787960944877768023747676398331261058308436739998001565275032267026430749394947754803190615221322624787700870252993341329066323847381899449185900519148869605408889608360459839529147823391051711203687020595772301921358507828146039199672849241208231297740555636345426039887834196643183635377928495788863428399412322027620329105284030017090899035981363019017748805951836385107718781628042410513400260425357046562662766131947370705715275836011091966368024210649038394516635004470659021982068469670717995130753872614434739353927506672235120508048385430081451593883184465066395039202219649056166707244568239919600897599987210608625750042785861269507007603325979465233981508028318407004099940493503201324645582624470525385237038119280853644852512888493802654779321371412457684106026856216892688992215037991709117408184906534496066741958676453738814086628412870014542200382810379434545327252982419189766452671057242301737415785459448303457124551634743851223848050700093273694652754113056217221164939328810750520669063749630976886383023108256138006900218691531404606911619327497911456185766105327532150580407192079775030478166092046560311924317300566278440920947467651497024646836768229206254863078841576698617642763684296520753912568580777110510361191467816777697069269836331454119617864346901994776257566442924544533815323118802344388883456055489172278438275387430296961499621612249655081707096226964878573598855319988289170726035818460161928148986590497030534016071474281409152099774753040355562716183155316974736464284704931131623660540623494373428490824717927909081275574140784740854174682133712907196196266892085224750786712532709533481528056334296700550744514190641047342998447810468295608345955988729211239006019343807571138782161283691664464926308459953300915167976256219834794043345154444848097026591187440516804018418819446192644298594706931135612676983650160755165128757561307471349219418555065163665209182611882903621866000664025158196570514163443233589115313200679974832660051679675100976659357566511384729029907484101280195840009807422921949000642005265145080802431657649261101327150545498067048931748184192940293130650791009963101134450682600981955742639974643777754358124737151257297342417079767467008750844670502329426293023908190792752005267624715412059916424057465849411858970295708707630719142935656671815395673158441538678984990554455262512546428701144359637112485370278056343032232960326991567589008448235186736591048233086468521529496193273963485183062445826215598819657452042004054758859706525846424297889953536022359815523551467059568442385702182286972128539923479829464871372337633429641737692950376110382526311367736959255841773755543954366997858119693229947779269175872518664051414005177312547874195001348131387085146949440955581039792562663855075602672189221906882326548875808553470070767922924301019517390088560985885910644506506149977498252725705299693002732371241106631024978639068981686494440856221732680313430801974894729211304913309543371949659225144958539498345495877583455968444056054792911676295220521467166931134150760983760767167728858979023036177953448672903986182801548782833190288777651735025759150579892056720631934678646542011389280302607960662711899874102248108737058527090639636532414996686393315795471028033438975265526741555421196393727863995156296824378856452897720157934801206772353347021220542483523821742779388688932011874383388859669888315566946305123367193792430047522266518754693641960977472081041341723791428051326337564920797709457077345409080790186035025992665497941782064172885814377766917003613731432644735997836131248388854316123942706854275317797002151569138635218693066414414823775001126766327964879284041077467144171168282161379214704898515840343694350270890253167504509648698580062643633390524983328117214398595227919423726243420969584916421311799644169756396070273416510478261387125694760232382461341332044285022283172702789543982209921421924936716706850300784743807530792498668563582109851774776685242779974462145887955853727652683517507402602455768959473577636220070406214522495382130461095843451610240905233522496376791379857021273805361557202179731652614615927228242201796600101444808840961555096424006146628423171101138629828626672448816304890890882822390694529451142138113180039510681378019665192835390242009182348769385628388768125669012284372161893512383778747840881559874508859727461743533840847625986475786958239548021545410143695686692721227203169685032526063936909365025551041165190867555465266196432083868099379776922085379191986845076842312849450417593077313841896054306042422579329403768543142910699804692373041736459661933260081060552373086025405905334358877407822486657577519570049108895140155958711188022123313140771720269805132976259636053440727063663185797796192143791174379109897068477799747342292737852523879380552988899837136761741253384301054192960901884411268844461743353020258980704003495755583897496177408855312476321193110126283118405240771688901102006810521207400688158153827947058338615657085090304661283611646922014730527506790632065603726449185041974938747494033298505635673981161336011516079925654189548520896505239413613543667642341298289695605941403882643376376964946143545563919116062367379802853096765465645983913468610674146114212739099282445506782466389744390961902632691803603740360678842973740137253934762506357806101227176731987717916105981133978936785188289545746798041460498822352966027430591508154141396122827359996617905096141486758354630778230320675736241995649881178134476023086371384830723399192664177839708245283194751353663138046013925723222317465670287926256142980212552659291241197311503642173368448873390739724467433636238253842418940246487746680285801621172084108949845827982635827103532656121194611813286063601194569893981812818342648630042764571073896767553668631902072995372332700136154883774203882291655167649501132516220282534218886030828643550239954051031236665445785186249186396064702792058738987888079208943516500022049830662982008930478131087261958959599169241275238467890180648953280809093317090551098324942405156515938287274907271105095199876033704564892559095995995664008815785963844102903863507138354603729788000533550670103436057833814200916239153551828593803852049660856655905161389292773076147215273371528072285540920073673955192815579647406613265611943308563175172765933416906292883121782172989241053491956267167281008576241125850535276043229493037394652008225344609770439708391509176466089360106035102181991691320813615510226661406738211051038621097375294260435506825662523815292241177582323894907703811105198898436167880241558560620232962411492632260097782938940196846019574137379278578671264376051930798801995507142549832590604262008210704493340678944680103142749680658514472912703462761210625461613950654241876503574237330349046159820786745944646143502655395427492993211504475367679528022241167654762443462279726232622185144451129805739360285630530578922494616390888057222303058937980865172969889712536171157637588117898731044972913223108811953197487665903877907036114186730203728288013828619147589867761856523047808353230215575947097598172601493002319427319911404488926231222815612807795205995030728185719290620246115226136449320277338909409615301800296015567672411549241204572243713607841088273276481601301674768170834308851712586332062996586229448536614951908964456678099082492968196360978746080890249902631590444444796185446189631873868960122936908587171445853433384751182309296211616917157786083688971389648858133818192074530075422652284820389740113603524711552795204064966492166830005259806396362014462780661376401843383256200759913938814187938771954617297577508760220704977497823046839800765943683663916593805098411014135588558346545489330952726011459571715917125211064372646064174777901128319741851101499192149957115003519801860603441842552263143298274621444050731984050730770688775891411931319459533677015356069842969420285950476105786185636523019012990219383941254895604067847283917155066023351725917499313578346921110259145203962986707081946595328017979272181457120173650379072918817178924867801884438338325947311748216808047235971654721839278519647229037824871574408809151704355694965799040181339968245547682630108375917828008269459150439214402706364676172435610883806104075892024672955083649888627120746985008502790147422724822709188515270619236605805283261623278132023419233500996300407335158097240425099238164846782690724454414416579318024443247234944637604967615872453269636529162713539449951840368386222671142924490433452261424071624400559537090648299115488632442476994276934173449014489462369868755620035654485816485966784055607524458422840413693079575118207063429587843659952384053371727521674790851529322506698033513546990388707622025891355322298985457705692655410028122470293110518532088259517162304549880131591274397282429885439145288435517102234138455468823427045789576245117179376571802286027728497858370853529100678465746245589029260568672896506977999996661081546911240559165556839834664909479176994825648894671284592669732630932320719506552961094248498468692013196841676763890429283591911389027750787460536270100343763174099108229141552281776525772711644762200773211655015590043312133172076422960218808457155841648390134485613016835060937486757600298926904522759587622665501312710955329956551908228256107941016440856374113591796879447247291463937102944425902395788485316875639120608036601883998600940527553640107477164603982826058244635021666848266485023148652609305324816096362113179032800549531790171067678593834951458436828017039433706384994166084702119354692003680636663670738717840256033541888368869532186383005605754721833442745569538530466412662413342110817389953482404228432211874497767675133574297402933628409423243117953435269047922880475139037561004294806027805150040816813483555661827254472473613960349477836902688578528881335163667161842012299183157446429259646905296268946806214199137364861510038752405954562203277577514436441374202238043288570583446552356390630612245380721403301110861762127631106756624198368775658812209750405221515289768128587862910541377798009921690301297870581243328192208620765411126026304360300604347115905550132370485917977034879362753547447510888834917049414633270355520670704544598116143583221685864005429649178770343416796970003616201593877360479597676612763704047044766766877268989295930648769759248851553014009754489349253875813399093469664223031729025654827430342512985890950784498316280679459790066228845702640578114706491297270983069616768790218934170814053814861723651004613228798132733539213674473942036876301267183241083627000439537771787829040036120355429274874383355796614247495338460275193275776482378280462392355692224720969978228500400980808205416992987827033165723417569838849887686253360209661264581065600513665150961984202979577182755040091048655669254336024290534841064379292731368185994787164189797690368739593359412374735444553480710527059606740578074729336796223662659793901116060371546624566358795825862803883583359037939448588262642656891835412696178823941120046266773228392066761610472311192215400938693235486634819684400585424510544481135050058854857736747822070585936380152297131523732955849347643341706912133999708122122544063278394747955489909580624187598631904826831321938008814611844926981903941443585466638748953622679388434193458143581093872251172008389732006576023785194669505853255978605967043335639110722048831889789148195436370657417950997664224151988151667250851923085781045403429924388517006335032385431996452530855158376257392594715741055314340123312608204894521832269092826144222966652524097923785597954775068420552474137461608265456245173639897535011131879075677127956609334585709812650667336408734776006215981658765026245428463040663951263651075990374996500603204218025053452518241365626471673450640381981826402257837877981892154599434184065018171166959545618009351549509637775950474161230202002395025573078261670006625922417118862755399624377776450635816333425833779714627097713360950838946678704167688345295321206569642175055850838160019919999315178572715487914094869922220278695272057029179713521480572413399575080775381779595143906147473470660064733378390517941736619463686953990601644749153123221303148328765246221970967888542392749335986048266737302146392211797265492941036193217397871285261737334122336239063085222408144869863155704888257469438226077239911293064299697269506860944252940628813913311656014681218180813742316606108828043142639610581875575417246790553513309919163982653392429680842098828526933021126390652493360021979642969347070065688125523233596888347809440039458086642489982727911139998317408030161759772150233426051346142804388486083182950980843068843403144419136405574448318857689707283279122425626592213964534342758272884718819519018232796101367288115892527122769935921560694972368151850376346021177150818150166942579805525293236462909831770471205890951739856240621269713766084254670282313092273082473277577567054120936073869069645224380801104982751413091891514695598461747928567337455177388578970392448895057206465567278008781036160577873059917099620184197868066260055791672820008441426696606966896125468743252309975160329494380594011962476052704341818152047128545645414599730939604838706642127157278921530681892180987090714238078566398973516262757035181412258195779580705068296472828658988926958674813547267443397044567460241593302666292436393760012547973153372393131678117438490565591796318217556500705175621693599613597696621405340655750980916515257753488445567841677354158769033172207097791413008473155537851945268213792837800129508078710480417822212252489878930423293418770208066534408345338153511346282720320519492882224766506899861247173700339511841516878727649488705120679569236283791258835279921776385480106555475372992245732979033167867456163996131376982512734437356343347642405250953011653339482772108679354248282321030392099670868501403986571328039410461318822654984439151122074937113001951605477408468471503746098106088067069336505974147201512643752329732312882660717743870282000367329535364130792847124858001759604401367753275193513409237400129179785483326038762410845564952713249599444563090308289120727325855256483774500027109290861532098180677675843890574745059145360007452412596934788028338851037130460467642565094952762774604913583655894495822045633413957639355333244325744477828144793482070374260897813984813274010558338091016600030446039305371598290863468361972144091492451086662868986321204321471904556420720932347729564937571731806906533968994821390935283477619408024994649209294326491351916939641309219349356380907074861198882723405721510571106906857473949455438046122895634836664761881693619969875677694514544516184017523388491632503555325345824841321562931519588598752253288746780072700256480844318631091993705426866841367370109933225047767937100444108468598477768398062674273288519348295701364189760070663183270712517705232735263000455763531174365059101039468206543717563893716032134249708120273000390895165175869780330497263665654799990758869238633700453811555896798437469676080018099290759833805354857237419729942986869469449109359523117417404393428923154208792316357391167318307101349952979642814986701613537732101779652505264790886174144691580555502019538730590579209820129006934908804642272784624833656800816690818146168284025208557413077806593941040664416312161623145198549410017815832810934713923435016006081329762794020012135722629644695364713967913058932648118259338653294620901375210315732287400580668065724598662955798231678256584012690332365136766073470858359477195572474090443138279575938098015486962215878681395221428023602343777431934881390622343681944483278523528707232986491209720473607011423254957777374236323729107891806643705994849374912491805482939447179096863783245786181465932689587263731032112456762329255182963909797471308403512839285551877051287649800546097150163980792661945254644405091290443110501191616854775176091732685169847732659076836351711902045177022709939685274858504476539414752981876191897109539967465445711669069453568640875744383019869613036073103511730003348549905991475031100360475277502104193195829676429403031585691399993085682192026903697395977010647388998909519994758965811746220313245447232804651458127402867495763336367768602448479516582521990035117376123947739162112070768763092342649305742103835569456489304098399201934102618225632681713521130136432649449980487981261451413110594547773145993047485146984585547102847799807477526624642021685423512801099160822593413172990746960354570471413865625626348518164188806062549797634724345715329092673661092211374732996729954735640768442427603666855597946522101893269673539841432083527378465794147019322051650456682160288499094618695631807931116996747358647562399644253067804558592615191938849985560778311002791892055088686637966053373601222489523305473996065300794334147770110954458024440888672244777963250044382542983174532330877605705782193126640960878789282750982859757228844065795834892220909907467673703015260016260928023930452202526660724419188839664885212072596451660693882531769655116047157922379574358987994213556907448757674120708788206039350692868594019915790236526454188968850467956480953686122134639446243079912166938743549156687394970520490859239755545633539591903598843679885049371766282017391957605545017560097005432387118018688838416304685746598561420858710380022752681598631070788551875750379426936138110119467552405299903227182366168579239313668702383193779340691379034570357902092450205489532536438587642279121399460916088163658015957851865567335756606352138680670904201420812554718573015796519148591062381103331058213392584997630913595564830974002127229750013124250289680588174973653953373635067552587779678976016957759871766871291703570435452019117405749020615422663737578129082108161684975097531073662982853962484478439016459380560208147415866086569141224854246510334755482283868129942520316129976778478247693129692213660785108171619280707005473492598366389450834688542963885722897126605492591170620516909466023557476947942074519200357813900992946058371911186713574121924869774341896810941813359918603000792979920215264222525963208799668320589268030626379054359537224456541926330285926638849623459564518032820062479903041007154488553382170364670907537949998484924936887814637467802547375189359392762807086870580398195029442377518204138533728446680300962671703258877443468323220498372237340700428360983360635310942347967951770271022679639698241699330752444006045747757247711953213326118802437649043772939951041453432466241097932166630517007679621807849805691019109527985239603250844683035478802536681704089530399660414553277064886084202118001348283309370653993090578063755438852695598607568063042362938982321219253783557225152875030039587069713461613148797081941506012955407032893281149056240887356196366176066595632431296468671800467643667025289283480217433580886200133771440635416959176578932959976746127368559305433318694358496939498372130134682142395726289714834944122491130079661305663439370112637540313776574737943654814578854114334910396545338024064358227696812934157923646861361378147963465176491614682891103593773967070063720718912027651529050673332816622760142131143534300797353993276960542181554805873969016380994967885012079173655300274890472152978073825925998252144867369581836996532608083697052824174206483888015480366082647403573527038388367180437499173025855625648427766752973250471976399866657666501027295088973888650979908033035484398948603489631748837747180377787409194625213497804757797852901903512144600857786420644327711161373231393869289865477354402962968893653558137441964870793056094579406057540395603835143771649308926269301317839473619078007979010182372316951339490878509204639605341786719274471451379386954904384812173698376620912047554565027420084302524237290456238612337493488812423426754560437078476664367215471045700599061032290033348741448906880857