go test fuzz v1
[]byte("2.718281828459045235360287471352662497757247093699959574966967627724076630353547594571382178525166427427466391932003059921817413596629043572900334295260595630738132328627943490763233829880753195251019011573834187930702154089149934884167509244761460668082264800168477411853742345442437107539077744992069551702761838606261331384583000752044933826560297606737113200709328709127443747047230696977209310141692836819025515108657463772111252389784425056953696770785449969967946864454905987931636889230098793127736178215424999229576351482208269895193668033182528869398496465105820939239829488793320362509443117301238197068416140397019837679320683282376464804295311802328782509819455815301756717361332069811250996181881593041690351598888519345807273866738589422879228499892086805825749279610484198444363463244968487560233624827041978623209002160990235304369941849146314093431738143640546253152096183690888707016768396424378140592714563549061303107208510383750510115747704171898610687396965521267154688957035035402123407849819334321068170121005627880235193033224745015853904730419957777093503660416997329725088687696640355570716226844716256079882651787134195124665201030592123667719432527867539855894489697096409754591856956380236370162112047742722836489613422516445078182442352948636372141740238893441247963574370263755294448337998016125492278509257782562092622648326277933386566481627725164019105900491644998289315056604725802778631864155195653244258698294695930801915298721172556347546396447910145904090586298496791287406870504895858671747985466775757320568128845920541334053922000113786300945560688166740016984205580403363795376452030402432256613527836951177883863874439662532249850654995886234281899707733276171783928034946501434558897071942586398772754710962953741521115136835062752602326484728703920764310059584116612054529703023647254929666938115137322753645098889031360205724817658511806303644281231496550704751025446501172721155519486685080036853228183152196003735625279449515828418829478761085263981395599006737648292244375287184624578036192981971399147564488262603903381441823262515097482798777996437308997038886778227138360577297882412561190717663946507063304527954661855096666185664709711344474016070462621568071748187784437143698821855967095910259686200235371858874856965220005031173439207321139080329363447972735595527734907178379342163701205005451326383544000186323991490705479778056697853358048966906295119432473099587655236812859041383241160722602998330535370876138939639177957454016137223618789365260538155841587186925538606164779834025435128439612946035291332594279490433729908573158029095863138268329147711639633709240031689458636060645845925126994655724839186564209752685082307544254599376917041977780085362730941710163434907696423722294352366125572508814779223151974778060569672538017180776360346245927877846585065605078084421152969752189087401966090665180351650179250461950136658543663271254963990854914420001457476081930221206602433009641270489439039717719518069908699860663658323227870937650226014929101151717763594460202324930028040186772391028809786660565118326004368850881715723866984224220102495055188169480322100251542649463981287367765892768816359831247788652014117411091360116499507662907794364600585194199856016264790761532103872755712699251827568798930276176114616254935649590379804583818232336861201624373656984670378585330527583333793990752166069238053369887956513728559388349989470741618155012539706464817194670834819721448889879067650379590366967249499254527903372963616265897603949857674139735944102374432970935547798262961459144293645142861715858733974679189757121195618738578364475844842355558105002561149239151889309946342841393608038309166281881150371528496705974162562823609216807515017772538740256425347087908913729172282861151591568372524163077225440633787593105982676094420326192428531701878177296023541306067213604600038966109364709514141718577701418060644363681546444005331608778314317444081194942297559931401188868331483280270655383300469329011574414756313999722170380461709289457909627166226074071874997535921275608441473782330327033016823719364800217328573493594756433412994302485023573221459784328264142168487872167336701061509424345698440187331281010794512722373788612605816566805371439612788873252737389039289050686532413806279602593038772769778379286840932536588073398845721874602100531148335132385004782716937621800490479559795929059165547050577751430817511269898518840871856402603530558373783242292418562564425502267215598027401261797192804713960068916382866527700975276706977703643926022437284184088325184877047263844037953016690546593746161932384036389313136432713768884102681121989127522305625675625470172508634976536728860596675274086862740791285657699631378975303466061666980421826772456053066077389962421834085988207186468262321508028828635974683965435885668550377313129658797581050121491620765676995065971534476347032085321560367482860837865680307306265763346977429563464371670939719306087696349532884683361303882943104080029687386911706666614680001512114344225602387447432525076938707777519329994213727721125884360871583483562696166198057252661220679754062106208064988291845439530152998209250300549825704339055357016865312052649561485724925738620691740369521353373253166634546658859728665945113644137033139367211856955395210845840724432383558606310680696492485123263269951460359603729725319836842336390463213671011619282171115028280160448805880238203198149309636959673583274202498824568494127386056649135252670604623445054922758115170931492187959271800194096886698683703730220047531433818109270803001720593553052070070607223399946399057131158709963577735902719628506114651483752620956534671329002599439766311454590268589897911583709341937044115512192011716488056694593813118384376562062784631049034629395002945834116482411496975832601180073169943739350696629571241027323913874175492307186245454322203955273529524024590380574450289224688628533654221381572213116328811205214648980518009202471939171055539011394331668151582884368760696110250517100739276238555338627255353883096067164466237092264680967125406186950214317621166814009759528149390722260111268115310838731761732323526360583817315103459573653822353499293582283685100781088463434998351840445170427018938199424341009057537625776757111809008816418331920196262341628816652137471732547772778348877436651882875215668571950637193656539038944936642176400312152787022236646363575550356557694888654950027085392361710550213114741374410613444554419210133617299628569489919336918472947858072915608851039678195942983318648075608367955149663644896559294818785178403877332624705194505041984774201418394773120281588684570729054405751060128525805659470304683634459265255213700806875200959345360731622611872817392807462309468536782310609792159936001994623799343421068781349734695924646975250624695861690917857397659519939299399556754271465491045686070209901260681870498417807917392407194599632306025470790177452751318680998228473086076653686685551646770291133682756310722334672611370549079536583453863719623585631261838715677411873852772292259474337378569553845624680101390572787101651296663676445187246565373040244368414081448873295784734849000301947788802046032466084287535184836495919508288832320652212810419044804724794929134228495197002260131043006241071797150279343326340799596053144605323048852897291765987601666781193793237245385720960758227717848336161358261289622611812945592746276713779448758675365754486140761193112595851265575973457301533364263076798544338576171533346232527057200530398828949903425956623297578248873502925916682589445689465599265845476269452878051650172067478541788798227680653665064191097343452887833862172615626958265447820567298775642632532159429441803994321700009054265076309558846589517170914760743713689331946909098190450129030709956622662030318264936573369841955577696378762491885286568660760056602560544571133728684020557441603083705231224258722343885412317948138855007568938112493538631863528708379984569261998179452336408742959118074745341955142035172618420084550917084568236820089773945584267921427347756087964427920270831215015640634134161716644806981548376449157390012121704154787259199894382536495051477137939914720521952907939613762110723849429061635760459623125350606853765142311534966568371511660422079639446662116325515772907097847315627827759878813649195125748332879377157145909106484164267830994972367442017586226940215940792448054125536043131799269673915754241929660731239376354213923061787675395871143610408940996608947141834069836299367536262154524729846421375289107988438130609555262272083751862983706678722443019579379378607210725427728907173285487437435578196651171661833088112912024520404868220007234403502544820283425418788465360259150644527165770004452109773558589762265548494162171498953238342160011406295071849042778925855274303522139683567901807640604213830730877446017084268827226117718084266433365178000217190344923426426629226145600433738386833555534345300426481847398921562708609565062934040526494324426144566592129122564889356965500915430642613425266847259491431423939884543248632746184284665598533231221046625989014171210344608427161661900125719587079321756969854401339762209674945418540711844643394699016269835160784892451405894094639526780735457970030705116368251948770118976400282764841416058720618418529718915401968825328930914966534575357142731848201638464483249903788606900807270932767312758196656394114896171683298045513972950668760474091542042842999354102582911350224169076943166857424252250902693903481485645130306992519959043638402842926741257342244776558417788617173726546208549829449894678735092958165263207225899236876845701782303809656788311228930580914057261086588484587310165815116753332767488701482916741970151255978257270740643180860142814902414678047232759768426963393577354293018673943971638861176420900406866339885684168100387238921448317607011668450388721236436704331409115573328018297798873659091665961240202177855885487617616198937079438005666336488436508914480557103976521469602766258359905198704230017946553678856743028597460014378548323706870119007849940493091891918164932725977403007487968148488234293202301212803232746039221968752834051690697419425761467397811071546418627336909158497318501118396048253351874843892317729261354302493256289637136197728545662292446164449728459786771157412567030787188510933634448014967524061853656953207417053348678275482781541556196691105510147279904038689722046555083317078239480878599050194756310898412414467282186545997159663901564194175182093593261631688838013275875260146050767609839262572641112013528859131784829947568247256488553335727977220554356812630253574821658541400080531482069713726214975557605189048162237679041492674260007104592269531483518813746388710427354476762357793399397063239660496914530327388787455790593493777232014295480334500069525698093528288778371067058556774948137385863038576282304069400566534058488752700530883245918218349431804983419963998145877343586311594057044368351528538360944295596436067609022174189688354813164399743776415836524223464261959739045545068069523285075186871944906476779188672030641863075105351214985105120731384664871754751838297999018931775155063998101646641459210240683829460320853555405814715927322067756766921366408150590080695254061062853640829327662193193993386162383606911176778544823612932685819996523927548842743541440288453645559512473554613940315495209739705189624015797683263945063323045219264504965173546677569929571898969047090273028854494541669979199294803825498028594602905276314558031651406622917122342937580614399348491436210799357673731794896425248881372043557928751138585697338197608352442324046677802094839963994668483377470672548361884827300064831916382602211055522124673332318446300550448184991699662208774614021615702102960331858872733329877935257018239386124402686833955587060775816995439846956854067117444493247951957215941964586373612691552645757478698596424217659289686238350637043393981167139754473622862550680368266413554144804899772137317411919997001729390730335086902092251912444739327837615632181084289820770697413870705326611768369864774178718020272941298231088879683188085436732780687977165911165422445380662586171172949803824887998650406156397562993696280935818976149101714534355665954275706419440883381684111116620075978724413708233391788611470822865753107853667469501846214073649391736625493778301407430266842215033511773647185387232404042103790775026602011481493548222891666364078245016681534121350527857853933260611024980227309363674021351538643169301526746053606435173215470109144065087882363676423683118739093746423260902164636562755397683401948293279575062439964527257862440037598342205080893512902312247597064410567836187087717233355546548259890686120141010722246590400855379823525388517162351825651848220312521495070037830041121621212605272605994432044305627452291612889176681416063913123597535039032007752958739241247645185080916391145929607115634420434713354472098117846145107787239914060629022827666430926490059224981029106875943453385833039117874757597706595357097964001222409219903115822925966791315399156143807012926078019702258966292336815431249941225946002339947222817105660393187722680049383314898033854890946868513078929206424281917479586619994441119620873049806438500685262025843284208558233856693664984972081704613537616358401534284067411858758154651459827022867667185530931192334019128617061336487318319756081256946008940295309442911959029596856392303768997632746228390073545714459641410822928592223933283621019282293724359028300388444570138377163205651835197010011572201095699789048496445343461212922496473235612632195115570156582442766159932646315580667205312759694853805736420838491888709517605228781733946274764465685890093626612331115291081604152410021419593734978643166155673270279210959354305557973266055467796355200537830461954063697184291616858273412221714588587081427409024818544642177487692509332878567067467738122675283165355924520457807054135257690325352273896384749564625594037892492500762438689377647531010232374673377147458162553069803249903367645543030527456151296121458594443215074905149145395098100138873792637996487372839641689755513227596201183824865074698549203809769193260643760874320938560281564284975654930790973385418558351578940981400769189238906309054253488389683176290412021294916719581193579120316251434409650313283521672802137241594734409549831613832250548670817222147513842516679044541661730320082033090289548880851679725849581340713218053398882813934604985053234047259509721433149258660424851140581957971156419145884283300052568477687430591639049430687134311879618963747550336282093994934369032103197689811205559536946542470417332389539404603532539675835439535051672026164796134779091232799526492904515114830792336938216601070287265193814384484453263951739411013115250275046574934306376654186612891526444692622288436629946273246795873638350193714278647139805403821551346322370207153313488708317414659149240635949302092112205261031239068294134569678595851839349138234088427431241909915287080433280913299307893686712741392289003306999587592181529761248240911695158778996409035257734593824823205305556723809502226679043961423185299198918106555441247720450851021007152235234279253126693010827063394232176257007632313915934970994693324101390877916165122680441480976561897973504315139606691325837903374862083669547508328031878670775117752566396347925921973357794955549865521419339817026863998738834701025526205231231721525406257163677127001076091228152832650898435956897596103837215772683117073455225019412170154131879365181850202087732690613359218200076232726950328382739124382819817087116810895118789674670707337786959256554271334005232670604000434884343290276036049802786216074946965498921047444392787193453670179867392080384563372331198385586263800851634559719444199434462476112384461761573624201593507852082560060410155688989950173255433729807356169986110190847209660070832028056991704259010387692865833655772875868425049269037093426202802239986180340021132074219864291738367917623282644464575633033655677737480864410996914182777425341701098843585318933917593451157402384729290901546855916379269619684100067659839974497204728788183120023338329803056786548087147646451282426447821664426661673209601256479451482712567132669706736714461779564375239174292850398702258373406985230919046496726024341127034561111414983578390179349971379091369670649763712724846661327990825430544929552859493279381834160782709132668086565592110273374670013258342871524083566152216557499843123627828710664940156467014194371382386345472960697869333597310953712649941628265646370849058015153820533832651128950493856646875292113593222026568185641826082753879000240791589264602849089492229996616743773134777613415096526244833270934389841205692614510885781224913961691253420291813989868390133579585762443519400894395518055474655400005176624020282594482883381188638174959428489201352009095100786494186825600927397766758564259837858749777666956335017074857902724870137026420328396575634801081835618237217708223642318659159588366948732241172650448726839232845301099167751837683159982126323712385435731268120244517540185213266374053880290124972818089502155310067359818443042910528845932306472559044235596055197883932593033957293466305516043092378567722929353720841669313457528401187374685469162064899116472690942898297106560680180580784360046186622356287459138518590441625066322224956144872441381384976379710267602084553182411196392794106961946542648000676172761811563006364432111622483737910562361135883633455010228617051789044057041957785983334846331792190449465292302146925975656638996589374772875139337710556980245575743619050177246621458759237441865753006499805668837696422982550119506583784312523213530937123524396914966231011032824357006578148767729916094115395406336275242371293554992671348503157823889956754528791557842048310574933006019795820773955852280730704895093623555076983788192635714177933875021634439101418757671193891441627710960285941580971991342931329514592437363645647303503737453850348928611314163809475230174508878488564574127500335330341613809656004310586054835577394662503323003434158781463460216923507921611101314894828189539102891681632870930971318413981542767881806762865097808571826211700314000337730158153633414909323703470363751335453763452105037099545294205523207881744937093767705600930635364551091348162737820498565705560878421196403997234455645860768951556968689938489643919522523230970330103727722771087056491296612106149407278244203341405744144645996823696611887841165629035511783994407096177256716491979016819523452380744629987766482487375331301814276391051923468508197900179651990705049086523744284165277661142535153866516278131609096480280123449337242786693089482791346544393196525415482949457787575859948209918182452244931207776825083076828233500159704041919956050970536469647314244845382588811260275390954885263970865233905294182969180235712054532823180927035649174337193208062873130358964057087377996784517474051531740138487808288100604638893671164047775598548126390750474729501260941999037372124620167703051779035295279316876630509983744185980349882123934091980505510382153982767729137313800671533924012695458637642206509781085290763907972784130176455324752707378876406936642001219474570235829548136578180986794402022028082263795700675539357580808631893207586444420664469164933446769818081171656866521338968617359245092080146531252977796613719869591645186943232424640440167238197802072839441826450218313148336601938489197231781715437219210394663847371563022670180134351593044285384894182567887072123852059726385922493476362312218811370630750691826010968906925141714251421815349153212907772374850663548917089285076023435176821835500882964741065581488204923953370227053670563075031749978818700998925102017801560104227783628364432372977992993516092588451577205523289697833312642767129109399310377342591059230327765266764187484244107656444776709779039232495841634852773517198106467383714274297446899232040693250606283446893754301678781532061600905769340490614617660709438011091544326192900074520989595920115941232410227484548260540436187183633026899285862358214564387969521023526667337243442309157718327756580021192827039104239196642691115533359456968578281702032549555252887546446607462029476611600443555160473504429212791635874847350159021552212038828116802141386586516846456996481001563374125509847973013865627546016127924635978366148016387160279440548271019629077454362809261256750718177364174976325443677350363258000404291990696311739778787508156022736882496707763555986928490162876869962805379018184814881083394690001638079107596074550468891268679281239114888003672072973080135443132534771309418671717860752298137353912677281259395822052428999137169068565042157505672999127417714927960883150235869781619089490848771772250386087261838494793975744066491276051887812423368312546727833151318675891566830067921021594733685859120139536030167811041344441103090338876152048829690910468916767155537334662254557597520262477124279622598327840583358589767147420572404743972023289590372614868838800317414649020384359035852799312387104284598160899610194569164698383771826726468526486917294841415300460400429958503516410189902752936686743183495544745812414019075468160777097792057938389537819212884740992953704054696222654727880724868550804657104312385487335165307057078458424333555095822191286279720545546626709913190237031177969089278662311266133767117851294305932328160582653562384816419214473254373100206273846681235169101635925258825680643894638988087273528440646220814951386227523993893873490508262547241778170258204412985376049982789902008349838736299249812574235456843902301226173366582054678567114797306507703547562056742830018747301919731088115751677700507143201272635460191246080045160810864183553966994693694732227167074897285046419539296643472525472435765919296994906167018906143361690705614828098036324345412822996827598022669404564218132862451754965214722162083982459457661334271056495719356443156177450082837693570099541954183902915103318793390761420746702886796859498543978945730076893989007007392469746181285576466226541291320405227907121282065377505828004089716346716370902490677473630913690400261564643215956091085109244516245442014144264166018138599001741740824424537861015843336177729258061115919200841409188819120885820762701148367176074904698091444305726221110458330078933169819160391715062279298628270944627591500968322634507372545136685817248349847008084016386820972637134520543980227786633729329082991401064558976169745597840921140916768402026937022923174333449998690184151088899316512509000116371911499485202482158639621629498175309462304760483239937939100214253299647623516356900944508605809120245990461211862331827861446472779552321863591655188305793065770333149851006835713562434188188440578002884401812903137865379486961463046772691455295369015416702583803247784227241799451365358226097165258835671213351954683833534980150326935979816746323184762830634058832473122895125794426763987794671312104276338087269573860931463153914854879251402888502518978807602383899561568485039199585502925605417676766314535405849629679678134942011600332587443143874624831385021498040168194079568721926846261728740348096793194996560429919028181059760326325174640501645460626676552901063986870366826329905057770626639786845358438405767329826816344864670743999091750401889231926755751835405495601773290712721913457752490577151277335842331400835608092696229889416304728778005474379849854556287072996840738293721862383176652471609096719200723765889422618655048755261455785589877300870323472641838483104039481874361622445528616328762854117594646049702772449079927514644579298254980225860100177243784016772316680200416254724417941554781055417803677355335446703032646961944756081283193309567968558277193203120594161669390204966535218967282267197264002949330738471754475376193701788297638248723336181349941454169473654925484063379367436154108159346496043160354435473772880236104774311533078515990297777149961027462776975961248887944860986334942285284765131027792627974398195761750559130099337736824051090258375934517001534052226614407723705089004449661329585953602055603400949282094386299461883479093289416109885659495421311433560881023942370608710802646591320356012187593379163966643728283675232839168886537375133579485986010756937488964565718729254044850862444994781627384251722934396013721240628678363667584533190474395474066401526087194091574395528277390430386877272826206566312938745987531774997379929304329437176380185628006114161956394241431225439709916356510284831576542703790683717576487023005238819749874663685629265505822288771322178144048953809968107214301239469353093152405408121570540227441452187654190142838674426001188904172457053747075555058163283168724711022035372716611230485734046087927250169470106783117892709552725322212522436167334336638475659094972822180941868407423835156786889342114820390582422432426464363020144178798202211624847165746829114631540756377022274013584110907607846478007018276633622797810454633113129404483357013486958516526745951518768003339552241054818176786777215279827025011719581657760354973292372473206785369025753623397121688439087887926218820230552993713239719433308353623124887038641619436150652955126733420719850225977140863812201598089436356180859701008008162255745503910132198197904552004961858377772104804663553380661651702359509713320363157894564448780094562036978497345990200460688657270186586775784275853064570661712719496737108395060326750153243590902949151697373811089793478229768410011765798709818572513137226774970660925048187683551600371463868591891301173680521874326542606370071059536442506276045825233688055252118156641755343068118154826784416931528440846108758821431764164983566312751872818294865565852420685222183075530611839332693416445941534265177865339798058082815880630074995289755820468661259085367873860331844290551068977869841773560311811167756387258991151680323654700298798962898618101459647130791614436956469090951878857439882173058388498080952307756935885161602771952148899835863232312730890986156077738600698403526782678538721592093625581788981341624748645643321104319482142129979318810463639954149653944150138386874838487022468182939186031959866796236348930928308784071240043102270613759136805651886131345830799070500360758832724886787932409338007186415285331794353507340189119363854673000066045378378447246928883054697900013124895210044694903205883829492361391928430524916783301298019225515705037852181055296162363752364796268575166006653936414227306300164865261389184224350179745599361679406330352211182907159753882183977755281298153857016870220262027467864791664403072901844549795639984483680785199708820140776919926167499114832982185438271894628216538706485858864622161141034357034287886297908341887160621443001453327502971510467315602100004386951058377377976600346088762486164093864525217793528994757849625524392559862052140905234625084783048704649268831328947055389135729070696759955629858666955972168650605207280134210435576277918402179762665648458026159140717347700903947516801770990012939113788124853425594931286665346503372884639064996846064474190752431332390340490819523304438955906054785495462026325667681326243592502024951627560708090043646042149702569148855526502281032776211584228243326952862913766267548199354611814391336757970014125587014331943476403572537691438889968308826284461642557503400142898255762038636438413790651961291777735418369467623298290498126171767619155429257043843223991848226174435047019917125821468768317264607895969056998135326443597396517347331948479875806413792688541355252327572045732947721570685001695004695975838937352753862266494345643707161051152161717623759805090055323215489606281779430226864057955584573060059837648270333985942009858235140017950710456901919135906230410233679808090724019631267526891636213635103264807723291495085915126581214382337107294914808847235528639419599345568415634457795172703337423812990326019816057197118395066275822032183713605971802594087061553471310448227271684839552410591360591981244497845811085451123166817353483825372482534763677758171286720586514828531727356906983993511076343209131978031403165889737962830117840980641017501651107293290783217748756628931065038380609337284139922673338477820330202070051718894170646514623836672063274264433661217401176691491923557090564480301634229430183765526310845017251030754094260440968706628806626590056908245140763259915816449936145517245205702044309372230555021722229970620974926860976278740962644877205604307863480888570914346479324153621430319996569561075357041720728533425017132555881811329550409521783013946521643659426296076857058569850715715131726292896007258760156484055608861316541183595862871066549628259953512719324463579104655438916515095418730607101503443060958230225745597494427506763092632252996633821939520292791797324709455969101640298368308042630991048156750362350965492430258957527352141244514954246297225851012070780211018810672234797257933065318771343846671380754638347163542885495761094284189860179465872144449519880155080404250645219148498992040000731067236994465524602090876788230006433772565738501096989905819129095707986669945376508040791785243822204107059927888926774575208428752637798673036056123071072392258150478137917273126123487833403447383357360197323594660427370463520132718259241090604009763858585771695841956310957774852957983684475680312187481820283394188707631173161528981175642971133418149721807804046507765720445708285941747511492617936737999922018178939943333773114691197073786104196398642216604558896568320670133750574503887211133243673984028418863914763349169511403258347584151417032569016178493145570690416985805021779849763701475891481054320585491410066220172171972687893001210126748127023594085516260168942511145849965831558966046009152579788167038462590538325692052042579137894882757960327887753546686144182682779765125895356376148599448504970663840626612195714191106324606177418057721238165987247243225296909853362844079903000759454628154923550608648155792896196961706071520158982529977280352000261088881417650663621690592802151642919848407744614361789141519151797653784828268701875003026486760843320465852547055588241025465480604043737277183476901472066423443437425551412917850303247126341807652518780292553477400110485399696054992650809391069133761484183488459636562152661033223941746706436834050474994333980228561031308303848457129476738985629393764191440703650754462206118649912724964379987580653785020375318997261801440466779305014030158070926621322927364971865395286656753857211513360611445722280085118375789921954306341369230229313975114370240483022735762903991179449924848091507100244407848286659857940652553914104149734278020352013541992597762817818282537202292010818644944834925542179398272327935709582874859712678078313428618075049717574737373029628047737690893255891459814172485265829951088223005522324221858619139479518422013155331963436392268425916416866943812253713596071003174365195902771257160458848604482067441093521532790681603205421596795906641112018761853125671015021223940128566860846943593740815853648191252800492072404217217091398312311805404327701583562951365627461024882770648886503776517567880687249886165709484666577067457700020714433252555573655708315032001908299209654549873741975660861953349231294026390493098201470037116182948593993119995507045538119671128936773524995818201177479978863639328640580781081865733766815789382765645064291739668557955505318871531455235307035599474018622598814985466073778769878154236039708097741236151824596402686997960956452382858423595356461518544816579996646064826139661872030483911956025038111155093842020989459155576008389798994996456626254051419561078009029866701463523853206603257446682025943061880177309110921274113826914878435567935257280887554316469307723536376822603608017404066099715117688043492748919713308782295112374663263563532851739418946651094374576827078220992846803468415744312773981104418676203295447546807751112666368547994446093480999295187566649990226168601967205374914995122682363789586524546281343928933836515653699241310963810255911464392380521390786289356166099883647917563317672585652359106952032689599005488475342416058668982006748316317428632911963339913270908606507459526035715732306971210642342408159706832870762443716553275022879780259869098111122655888815152083748245003446304650598456969027616695827898291361353530629133142788188824934213644241783351931978654394020146532808341034178527248987905091993236927099656713350771190589994595192399061515616548030014535921255069640534526382345215599921057819137103018897920640888397476766714472731425446792350052461884923745530757573490270734249629887999694209459596100870250132945332535804568928570724120796591980922555056006197128354127020207258399417117552092082015109650952668511389757715081084944350828545874991294385756311566832456682799299186153900925587171684049566399195915403421836453721202367860865536474517565487931892564408527448919091819341166758356343975888604634941311187524103842546793799920354691041193544311321913606812965756858361177456465467486106198859141480579931872536753124347033548263752708135310557081804964249858464614797346759931594651478702506527108350878235065653233179773865666618165239001766498848545605496130021577611525581339618402706781490035025287682360782210739710233914687015973586858901529701034778050329215401435959529868340465747175623219664051540147795316746172620872730482063465246910995332737556109057837845594546916022368768964142596016468964710634807410992854648235308354013233292486403731800319520231747620653772616371744536054972669060171117676104777497166689015216383897431171418062222234571856794150729952620108620508478312747479190999688993727522905367478502050003863003652621880067092667410480602734199775666002942794109040006465428107445400761642952536246026147618047174432288995328582839776218460096766926758127030280651953545205317353680895458990218078314577589128020397005363319382110009544324124419794919291620523442134639565384078120941621483500115588361842116428399245402759071962153757018706708373101224614136204892655566810946707638653608301584761451258158856961003033708119705834445287466619889153466424488791194071142394011598697079574594633717024326848486463201898635282709231304708921568475820775303438768997870232343858438112501171401326576932055491186015351955165462794117559396794795881033393541328970252889353374810625787562036429427025751212113733021381195139575641912268515596247620328203872634206622734786822303652201965572932590506813484929229964724822935978784272094557826732997585381853644237061735351765306039680108789949050665449154457795216603855239801379810434056418240339616249491045471210483943920094591464754242478599109690004654137109163009678595156394733219093451183866996462278885581735322132687663495805912376125120301098386784119572588779920604126004986589502724713314676372220438839855834777011259942469120830859566678753194246513144438997119596810593795753215552420465941008141835112017419685343267234327186809962504543247568870205534196919954530095264439844638434659883041826293223929561261004588464424428501155155776593578037956502680613072175867204854179715789640155427688109047589956460548836298914022658002613415803948035797101900415154765501839175577267789714879347737274752574389815870504070196821510121882608804008455133279516284128067967896557016391706777984152914939740315816789686544884131904636833217911505910781389826102627197969682641117991865603899389541892848885175012250475477899950854408398380072543146884298841261604268224882309778855649576542401711451039392798029099760490442883219897675132053511523054566646714379593191527268027821024154062979582882846635562358098672563820056521551995179355106912771053855266192690352608136771766643507121345398371135750097585440593955866173782829712054469318226040167030853091165797311325951610174919346825006328577700468698717725522652570842874573303985974423063975183720997533905509588362364281449324746052242405197282515378754196275932743627881928374025318566854504089392940104056166686766440286821160729483030523646556095535107998718504135212132153471377066768139621144389163240323574157377378790883826761845875636102643518295181539245521172902298527851802559847840717960790411447204147609176580430298450174686798127758497173173328730528113496959166838787707231596833432250907020401903050359589199466665203753027192376425255291034795034381635772169811546432924560895115873201267542497571052089436263950138296215221403362106542282187673958012128644278854749192897695931576689198730517638869846150335459489854184955025169061688841912287338552269997682260964500750450009611686612917109318028235504255365399716605475390734891518965002744232898118170924827361086380157600724060164954708233134936158243512829905040540533399257707132101150371389869507671344794074809784541632811040635080486339355523840573558086371876353026186797172560815532871643611147487510703351291392359545295140743794314490095080993287215323519599961675029753247593190993801296864037978355355907135570836994731192353853105173666915408731246723344070252500691802674772507895890344885667308148729946480778649770936196938929089171822813400284555251391735597845615035314460340944121151200173869726146678693373315434100758751490829582275691935054218410644826495194380424054325534596524837378531065797903797750503143647465142248476883132347976267368985547494427794991656010852825761896437446465681978931942207753682466111042767193648183636053410874897106686631880502655592956812395968044929516661540980261078169168941876435336344948290012592936684059137005952691493442186189174214256107189684662633587441497697392156639276768772014515330224185312530844272724577116150555051907627625001652216627479625742442542054678576747819095948650057571101626484783374119804162594081332722990589148642212796804298472535623720288783005178853973790945526513514407313004986945340324598423693462706024257943256366064059754947123909237245812615458252666730470231935986652337885624422918827843644043462809488828871210196864273637046163929748561678007977995969684336773035248304747824066992827714006903166070995147315419191991145318254390629457329868661352488650057478025197760744266079830029157303052319905218571862854368757786091572692523257317166562527427580846062017704643310121244340928131465976022136041622303116775008596012847528925946334831240876674012817054306798526186894989500491827500830499892647203498696536332621091983062149509587722826081556670215569348463407977687952503820444232669747926482989901693851155212468893587328987833626781936176402368171460649518550878059663535469878820509476201635075709002420149840096786784540535413005048240499664697855800262893182651870871461390952145498799230043177950048956952928011269863253364673717951936309439960917635456879900281451516974371751833063223294219913213761450641139126983712897082939536083288305025607272756354837420549785665989546908993855891844108560511151035436747781077850057271818080966154270914301016151501308652284223872161810904318316379604643152318443466979990486533637531929596772608085345765227471404794197319222096029658250093740824971437304008737698806879703804722348882581981902564408684774976750899916415350216022396781635709763781402396282505433280182879816004691033660241590450463733359748811999866399561717108991180985119761648649923359432827427598338293109980646160536024360404084837961907254216586940948668209239614308381730362152064229783998253369802703993180402492881443064961474760008765430557167269725911463199068882389300538006156800773098441606135584370127757346370882207379292140954871795694785441495173156182817634392957023471046008823063750987752139122341954847119698230316954446804551792266926063132749827252090632900327997293290682720464765036696976522767364541903163988743304222632202132536817604416961205353217435276493790187725226362688310787934519413382599636879502098503302147230760337544234687164722379550779413030486540348895540021076517163088475970409833130610951029414086557407107464040193734771881533990204703674908435930908635477721056486191860385871588202447613816039037853266018584256891410919446456616266775371236599283248186573925142949855514151213675828842328595775941268447903691266201530841804173769896375900254699945413165934198562478071443497720199170266538071410725991064870989725936224330070676047609769045634157657339554958844894809360407715568874728845183810606903802652831827556039590538150724162761504725248775957865078489454738909657331276385296266451700445962632793463772115102854547231288003905840591849883381071136607365753691842808465589898234921931520525747836385526620540070356131026040514507932592579822740601219924939173512214533670791350060748656165730185404921747716205167848650791357333633425768598836125272025094401943067472866798344129301813134\x02\x0099088234006652915385763779110955708000600143579956351811596764725075668367726052352939773016348235753572874236648294604770429166438403558846422370760111774821079625901180265548868995181239470625954254584491340203400196442965370643088660925268811549596291166168612036195319253262662271108142149856132646467211954801142455133946382385908540917878668826947602781853283155445565265933912487885639504644196022475186011405239187543742526581685003052301877096152411653980646785444273124462179491306502631062903402737260479940181929954454297256377507172705659271779285537195547433852182309492703218343678206382655341157162788603990157495208065443409462446634653253581574814022471260618973060860559065082163068709634119751925774318683671722139063093061019303182326666420628155129647685313861018672921889347039342072245556791239578260248978371473556820782675452142687314252252601795889759116238720807580527221031327444754083319215135934526961397220564699247718289310588394769170851420631557192703636345039529604362885088555160008371973526383838996789184600327073682083234847108471706160879195227388252347506380811606090840124222431476103563328940609282430125462013806032608121942876847907192546246309055749298781661271916548229644317263587524548607563020667656942355342774617635549231817456159185668061686428714964129290560130053913469569829490891003991259088290348791943368696942620662946948514931472688923571615032405542263391673583102728579723061998175868700492227418629077079508809336215346303842967525604369606110193842723883107587771653594778681499030978765900869583480043137176832954871752604714113064847270887246697164585218774442100900090916189819413456305028950484575822161887397443918833085509908566008543102796375247476265353031558684515120283396640547496946343986288291957510384781539068343717740714095628337554413567955424664601335663617305811711646062717854078898495334329100315985673932305693426085376230981047171826940937686754301837015557540822371538037838383342702379535934403549452173960327095407712107332936507766465603712364707109272580867897181182493799540477008369348889220963814281561595610931815183701135104790176383595168144627670903450457460997444500166918675661035889313483800512736411157304599205955471122443903196476642761038164285918037488354360663299436899730090925177601162043761411616688128178292382311221745850238080733727204908880095181889576314103157447684338100457385008523652069340710078955916549813037292944462306371284357984809871964143085146878525033128989319500645722582281175483887671061073178169281242483613796475692482076321356427357261609825142445262515952514875273805633150964052552659776922077806644338105562443538136258941809788015677378951310313157361136026047890761945591820289365770116416881703644242694283057457471567494391573593353763114830246668754727566653059819746822346578699972291792416156043557665183382167059157867799311835820189855730344883681934418305987021880502259192818047775223884407167894780414701414651073580452021499197980812095692195622632313741870979731320870864552236740416185590793816745658234353037283309503729022429802768451559528656923189798000383061378732434546500582722712325031420712488100290697226311129067629080951145758060270806092801504406139446350643069742785469477459876821004441453438033759717384777232052065301037861326418823586036569054773343070911759152582503029410738914441818378779490613137536794654893375260322906277631983337976816641721083140551864133302224787118511817036598365960493964571491686005656771360533192423185262166760222073368844844409234470948568027905894191829969467724456269443308241243846160408284006424867072583661011433404214473683453638496544701067827313169538435919120440283949541956874453676459875488726170687163109591315801609722382049772577307454562979127906177531663252857205858766376754282917933549923678212008601904369428956102301731743150352204665675088491593025926618816581008701658499456495586855628208747248318351516339189292646558880593601275151838235485893426165223086697314511412035659916934103076974774451947043836739600076578628245472064617380804602903639144493859012422380173377038154675297645596518492676039300171943042511794045679862114630138402371099347243455794730048929825402680821621522346560274258486595687074510352794291633405915025075992398611224340312056999780516223878772230396359709132856830486160362127579561601328561866388146004722200580017580282279272167842720649966956840905752590774886105493806116954293569077377792821084159737469613143291808510446953973485067590503662391722108732333169909603363771705474725026941732982890400239372879549386540463828596742216318201530139629734398479588628632934746650690284066719018081265539973675916799759010867483920062877888531102781695087545740384607594616919584610655963327283485609570305572502494416337066573150237126843581984154103154401008430380631442183776750349813408169325201240813452285974626715177152223063741359255747513535160669108359443999692315898156732033027129284241219651936303734407981204656795322986357374589031654007016472204989445629050395873788912680565516464274460174738175296313458739390484560414203426465560422112239134631023161290836446988901247285192778589195228773637440432659264672239982186452797664826673070168802722052338600372842903155828454593854349099449420750911108532138744823216151007808922516285123275724355101999038195993350032641446053470357293073912578481757987468353429629749652545426864234949270336399427519354240001973125098882419600095766257217621860474573769577649582201796258392376391717855799468922496750179251915218219624653575570564228220399546682648329822996167217080156801080799777126517156274295763666959661983507435667132218383358509536665806605597148376773866922551603463644386269977295750658468929599809168949981898588529537874489519527097766262684177088590284321676352132630838812766335363319004134332844347630067982023716933653652880580156390360562722752187272454764258840995216482554453662083811789117725225682611478014242896970967121967502094421226279437073328703410646312100557376727450271638975234111426287828736758358819056742163061523416789476056879277154789714326222041069587947186435439940738639948986836168919377836648327137363654676901173760246643082285362494712605173293777247276797635865806019396287718060679122426813922872134061694882029506831654589707623668302556167559477498715183426989208952182644710514911419441192277010977616645850068963849426165593473112961064282379048216056210094265076173838082479030510998790719611852832556787472942907151041468948104916751035295897242381802288151276582257190705537652455285511598636421244284176256230139538669970308943645907600684938040875210854159851278070333207779865635907968462191534944587677170063778573171211036517486371634098385626541555573292664616402279791195975248525300376741774056125700303625811704838385391207273191845064713669122576415213769896260940351804147432053600369234179035440735703058314741623452840188940808983125191307741823338981880316339159565954543405777784331681162551898060409183018907512170192983622897099598983405484962284289398469847938668614293324543983592637036699355184231661615244505980576745765335552338715678211466689996845227042954589710922163652573965950289645637766038988037941517917867910675199009966139206238732318786758420544279396366759104126821843375015743069045967947046685602358283919759975285865384338189120042853787549302768972168199113340697282255535300044743958830079799736518459131437946494086272149669719100359399974735262764126125995350902609540048669398955899487421379590802893196914845826873123710180229775301190684280440780938156598081694611679374425663244656799606363751546304833112722231812338371779800439731087402647536582575657351059978314264831879619843765495877803685261751835391844920488198629786329743136948511780579298636452193232481339393090754566368038513630619718033957979522539508697432546502659123585049283028832934489284591373621624852528877442891851104093746333590660233239711922814450735588373324057814862662207486215513375036775585494138678352928273109003823116855374520901095101174796663003330352534143230024288248051396631446632656081582045216883922312025671065388459503224002320453633895521539919011035217362720909565500846486605368975498478995875596103167696587161281951919668893326641203784750417081752273735270989343717167642329956935697166213782736138899530515711822960896394055380431939398453970864418654291655853168697537052760701061488025700785387150835779480952313152747735711713643356413242974208137266896149109564214803567792270566625834289773407718710649866150447478726164249976671481383053947984958938064202886667951943482750168192023591633247099185942520392818083953020434979919361853380201407072481627304313418985942503858404365993281651941497377286729589582881907490040331593436076189609669494800067194371424058105327517721952474344983414191979918179909864631583246021516575531754156198940698289315745851842783390581029411600498699307751428513021286202539508732388779357409781288187000829944831476678183644656510024467827445695591845768068704978044824105799710771577579093525803824227377612436908709875189149049904225568041463131309240101049368241449253427992201346380538342369643767428862595140146178201810734100565466708236854312816339049676558789901487477972479202502227218169405159042170892104287552188658308608452708423928652597536146290037780167001654671681605343292907573031466562485809639550080023347676187068086526878722783177420214068980703410506200235273632267291964034093571225623659496432076928058165514428643204955256838543079254299909353199329432966018220787933122323225928276556048763399988478426451731890365879756498207607478270258861409976050788036706732268192473513646356758611212953074644777149423343867876705824452296605797007134458987594126654609414211447540007211790607458330686866231309155780005966522736183536340439991445294960728379007338249976020630448806064574892740547730693971337007962746135534442514745423654662752252624869916077111131569725392943756732215758704952417232428206555322808868670153681482911738542735797154157943689491063759749151524510096986573825654899585216747260540468342338610760823605782941948009334370046866568258579827323875158302566720152604684361412652956519894291184887986819088277339147282063794512260294515707367105637720023427811802621502691790400488001808901847311751199425460594416773315777951735444490965752131026306836047140331442314298077895617051256930051804287472368435536402764392777908638966566390166776625678575354239947427919442544664643315554138265543388487778859972063679660692327601733858843763144148113561693030468420017434061395220072403658812798249143261731617813894970955038369479594617979829257740992171922783223006387384996138434398468502234780438733784470928703890536420557474836284616809363650973790900204118525835525201575239280826462555785658190226958376345342663420946214426672453987171047721482128157607275305173330963455909323664528978019175132987747952929099598069790148515839540444283988381797511245355548426126784217797728268989735007954505834273726937288386902125284843370917479603207479554080911491866208687184899550445210616155437083299502854903659617362726552868081324793106686855857401668022408227992433394360936223390321499357262507480617409173636062365464458476384647869520547719533384203403990244761056010612777546471464177412625548519830144627405538601855708359981544891286863480720710061787059669365218674805943569985859699554089329219507269337550235821561424994538234781138316591662683103065194730233419384164076823699357668723462219641322516076261161976034708844046473083172682611277723613381938490606534404043904909864126903479263503943531836741051762565704797064478004684323069430241749029731181951132935746854550484711078742905499870600373983113761544808189067620753424526993443755719446665453524088287267537759197074526286322840219629557247932987132852479994638938924943286917770190128914220188747760484939855471168524810559991574441551507431214406120333762869533792439547155394213121021954430556748370425907553004950664994802614794524739012802842646689229455664958621308118913500279654910344806150170407268010067948926855360944990373928383520627992820181576427054962997401900837493444950600754365525758905546552402103412862124809003162941975876195941956592556732874237856112669741771367104424821916671499611728903944393665340294226514575682907490402153401026923964977275904729573320027982816062130523130658731513076913832317193626664465502290735017347656293033318520949298475227462534564256702254695786484819977513326393221579478212493307051107367474918016345667888810782101151826314878755138027101379868751299375133303843885631415175908928986956197561123025310875057188962535763225834275763348421016668109884514141469311719314272028007223449941999003964948245457520704922091620614222912795322688239046498239081592961111003756999529251250673688233852648213896986384052437049402152187547825163347082430303521036927849762517317825860862215614519165573478940019558704784741658847364803865995119651409542615026615147651220820245816010801218275982577477652393859159165067449846149161165153821266726927461290533753163055654440793427876550267301214578324885948736899073512166118397877342715872870912311383472485146035661382188014840560716074652441118841800734067898587159273982452147328317214621907330492060817440914125388918087968538960627860118193099489240811702350413554126823863744341209267781729790694714759018264824761112414556423937732224538665992861551475342773370683344173073150805440138894084087253197595538897613986400165639906934600670780501058567196636796167140097031535132386972899001749862948883362389858632127176571330142071330179992326381982094042993377790345261665892577931395405145369730429462079488033141099249907113241694504241391265397274078984953073730364134893688060340009640631540701820289244667315059736321311926231179142794944897281477264038321021720718017561601025111179022163703476297572233435788863537030535008357679180120653016668316780269873860755423748298548246360981608957670421903145684942967286646362305101773132268579232832164818921732941553151386988781837232271364011755881332524294135348699384658137175857614330952147617551708342432434174779579226338663454959438736807839569911987059388085500837507984051126658973018149321061950769007587519836861526164087252594820126991923916722273718430385263107266000047367872474915828601694439920041571102706081507270147619679971490141639274282889578424398001497985658130305740620028554097382687819891158955487586486645709231721825870342960508203415938806006561845735081804032347750084214100574577342802985404049555529215986404933246481040773076611691605586804857302606467764258503301836174306413323887707999698641372275526317649662882467901094531117120243890323410259937511584651917675138077575448307953064925086002835629697045016137935696266759775923436166369375035368699454550392874449940328328128905560530091416446608691247256021455381248285307613556149618444364923014290938289373215312818797541139219415606631622784836152140668972661027123715779503062132916001988806369127647416567067485490795342762338253943990022498972883660263920518704790601584084302914787302246651371144395418253441269003331181914268070735159284180415100555199146564934872796969351992963117195821262627236458009708099166752820365818699111948365866102758375863322993225541477479210421324166848264953111826527351008031659958888814809945737293785681411438021523876706455063233067233939551964260397443829874822322662036352861302543796600943104500158604854027036789711934695579989189112302233381602302236277726084846296189550730850698061500281436425336666311433321645213882557346329366870956708432252564333895997812402164189946978348320376011613913855499933990786652305860332060641949298931012423081105800169745975038516887112037747631577311831360002742502722451570906304496369230938382329175076469684003556425503797106891999812319602533733677437970687713814747552190142928586781724044248049323750330957002929126630316970587409214456472022710796484778657310660832173093768033821742156446602190335203981531618935787083561603302255162155107179460621892674335641960083663483835896703409115513087820138723494714321400450513941428998350576038799343355677628023346565854351219361896876831439866735726040869511136649881229957801618882834124004126142251475184552502502640896823664946401177803776799157180146386554733265278569418005501363433953502870836220605121839418516239153709790768084909674194289061134979961034672077354959593868862427986411437928435620575955500144308051267664432183688321434583708549082240014585748228606859593502657405750939203135881722442164955416889785558265198046245527898343289578416968890756237467281044803018524217706136533236073856228166664597654076844715963930782091017090763377917711485205493367936868430832404126789220929930411890501756484917499452393770674524578019171841679541825554377930299249277892416277257788147974770446005423669346157135208417428211847353652367573702352791459837645712257646122605628127852169580892808988394594406165340521932514843306105322700231133680378433377389724881307874325614952744243584753011150345103737688223837573804282007358586938044331529253129961025096113761670187568525921208929131354473196308440066835155160913925692912175784379179004808848023029304392630921342768601226558630456913133560978156776098711809238440656353136182676923761613389237802972720736243967239854144480757286813436768000573823963610796223140429490728058551444771338682314499547929338131259971996894072233847404542592316639781608209399269744676323921370773991899853301483814622364299493902073285072098040905300059160091641710175605409814301906444379905831277826625762288108104414704097708248077905168225857235732665234414956169007985520848841886027352780861218049418060017941147110410688703738674378147161236141950474056521041002268987858525470689031657094677131822113205505046579701869337769278257145248837213394613987859786320048011792814546859096532616616068403160077901584946840224344163938313618742275417712170336151163782359059685168880561304838542087505126933144171705880517278127917564053282929427357971823360842784676292324980318169828654166132873909074116734612367109059236155113860447246378721244612580406931724769152219217409096880209008801535633471775664392125733993165330324425899852598966724744126503608416484160724482125980550754851232313331300621490042708542735985913041306918279258584509440150719217604794274047740253314305451367710311947544521321732225875550489799267468541529538871443696399406391099267018219539890685186755868574434469213792094590683677929528246795437302263472495359466300235998990248299853826140395410812427393530207575128774273992824866921285637240069184859771126480352376025469714309316636539718514623865421671429236191647402172547787238964043145364190541101514371773797752463632741619269990461595895793940622986041489302535678633503526382069821487003578061101552210224486633247184367035502326672749787730470216165019711937442505629639916559369593557640005236360445141148916155147776301876302136068825296274460238077523189646894043033182148655637014692476427395401909403584437251915352134557610698046469739424511797999048754951422010043090235713636892619493763602673645872492900162675597083797995647487354531686531900176427222751039446099641439322672532108666047912598938351926694497553568096931962642014042788365702610390456105151611792018698900673027082384103280213487456720062839744828713298223957579105420819286308176631987048287388639069922461848323992902685392499812367091421613488781501234093387999776097433615750910992585468475923085725368613605356762146929424264323906626708602846163376051573599050869800314239735368928435294958099434465414316189806451480849292695749412903363373410480943579407321266012450796613789442208485840536446021616517885568969302685188950832476793300404851688934411125834396590422211152736276278672366665845757559585409486248261694480201791748223085835007862255216359325125768382924978090431102048708975715033330963651576804501966025215527080352103848176167004443740572131294252820989545456276344353575741673638980108310579931697917916718271145837435222026387771805250290791645414791173616253155840768495583288190293564201219633684854080865928095131505012602919562576032932512847250469881908146475324342363863860247943921015193235101390117789997483527186469346024554247028375300033725403910085997650987642832802908445662021678362267272292737780213652404028817217012490974899454430826861772239385250883760749742195942655217301733355851389407457348144161511380845358039740277795072051893487170722955427683655826706766313911972211811528466502223383490906676554168336907959409404576472940901354356409277969379842065738891481990225399022315913388145851487225126560927576795873759207013915029216513720851137197522734365458411622066281660256333632074449918511469174455062297146086578736313585389023662557285424516018080487167823688885575325066254262367702604215835160174851981885460860036597606743233346410471991027562358645341748631726556391320606407754779439671383653877377610828300019937359760370467245737880967939894493795829602910746901609451288456550071458091887879542641820145369659962842686882363495879277007025298960996798975941955735253914237782443302746708282008722602053415292735847582937522487377937899136764642153727843553986244015856488692101644781661602962113570056638347990334049623875941092886778920270077504951511405782565295015024484968204744379710872943108541684540513016310902267112951959140520827546866418137305837933236150599142045255880213558474751516267815309465541240524091663857551298894834797423322854504140527354235070335984964593699534959698554244978249586929179182415068053002553370412778703476446244329205906832901886692400222391918714603175399666877477960121790688623311002908668305431787009355066944389131913333586368037447530664502418437136030852288582121720231274167009740351431532131803978033680228154223490183737494117973254478594157962104378787072154814091725163615415163381388912588517924237727229603497305533840942889918919161186249580560073570527227874940321250645426206304469470804277945973817146810395192821550688079136701210109944220737024613687196031491162370967939354636396448139025711768057799751751298979667073292674886430097398814873780767363792886767781170520534367705731566895899181530825761606591843760505051704242093231358724816618683821026679970982966436224723644898648976857100173643547336955619347638598187756855912376232580849341570570863450733443976604780386678461711520325115528237161469200634713570383377229877321365028868868859434051205798386937002783312365427450532283462669786446920780944052138528653384627970748017872477988461146015077617116261800781557915472305214759943058006652042710117125674185860274188801377931279938153727692612114066810156521441903567333926116697140453812010040811760123270513163743154487571768761575554916236601762880220601068655524141619314312671535587154866747899398685510873576261006923021359580838145290642217792987748784161516349497309700794368305080955621264592795333690631936594413261117944256602433064619312002953123619348034504503004315096798588111896950537335671086336886944665564112662287921812114121425167348136472449021275252555647623248505638391391630760976364990288930588053406631352470996993362568102360392264043588787550723319888417590521211390376609272658409023873553418516426444865247805763826160023858280693148922231457758783791564902227590699346481624734399733206013058796068136378152964615963260698744961105368384203105364183675373594176373955988088591188920114871545460924735613515979992999722298041707112256996310945945097765566409972722824015293663094891067963296735505830412258608050740410916678539569261234499102819759563955711753011823480304181029089719655278245770283085321733741593938595853203645590564229716679900322284081259569032886928291260139267587858284765599075828016611120063145411315144108875767081854894287737618991537664505164279985451077400771946398046265077776614053524831090497899859510873112620613018757108643735744708366215377470972660188656210681516328000908086198554303597948479869789466434027029290899143432223920333487108261968698934611177160561910681226015874410833093070377506876977485840324132474643763087889666151972556180371472590029550718424245405129246729039791532535999005557334600111693557020225722442772950263840538309433999383388018839553821540371447394465152512354603526742382254148328248990134023054550811390236768038649723899924257800315803725555410178461863478690646045865826036072306952576113184134225274786464852363324759102670562466350802553058142201552282050989197818420425028259521880098846231828512448393059455162005455907776121981297954040150653985341579053629101777939776957892084510979265382905626736402636703151957650493344879513766262192237185642999150828898080904189181015450813145034385734032579549707819385285699926238835221520814478940626889936085239827537174490903769904145555260249190126341431327373827075950390882531223536876389814182564965563294518709637484074360669912550026080424160562533591856230955376566866124027875883101021495284600804805028045254063691285010599912421270508133194975917146762267305044225075915290251742774636494555052325186322411388406191257012917881384181566918237215400893603475101448554254698937834239606460813666829750019379115061709452680984785152862123171377897417492087541064556959508967969794980679770961683057941674310519254486327358885118436597143583348756027405400165571178309126113117314169066606067613797690123141099672013123730329707678988740099317309687380126740538923612230370779727025191340850390101739924877352408881040807749924412635346413181858792480760553268122881584307471326768283097203149049868884456187976015468233715478415429742230166504759393312132256510189175368566338139736836336126010908419590215582111816677413843969205870515074254852744810154541079359513596653630049188769523677579147319184225806802539818418929888943038224766186405856591859943091324575886587044653095332668532261321209825839180538360814144791320319699276037194760191286674308615217243049852806380129834255379486287824758850820609389214668693729881191560115633701248675404205911464930888219050248857645752083363921499441937170268576222251074166230901665867067714568862793343153513505688216165112807318529333124070912343832502302341169501745502360505475824093175657701604884577017762183184615567978427541088499501610912720817913532406784267161792013428902861583277304794830971705537485109380418091491750245433432217445924133037928381694330975012918544596923388733288616144238100112755828623259628572648121538348900698511503485369544461542161283241700533583180520082915722904696365553178152398468725451306350506984981006205514844020769539324155096762680887603572463913955278222246439122592651921288446961107463586148252820017348957533954255019475442643148903233373926763409115527189768429887783617346613535388507656327107814312435018965109238453660236940276060642119384227665755210663671879603217527184404651560427289869560206997012906367847161654793068868305846508082886614111979138822898112498261434559408961813509226857611474609406147937240008842153535862052780125014270055274468359151840373309373580494342483940467505708347927948338133276237937844629209323999417593374917899786484958148818865149169302451512835579818112344900827168644548306546633975256079615935830821400021951611342337058359111545217293721664061708131602078213341260356852013161345136871600980378712556766143923146458085652084039744217352744813741215277475202259244561520365608268890193913957991844109971588312780020898275935898106482117936157951837937026741451400902833064466209280549839169261068975151083963132117128513257434964510681479694782619701483204392206140109523453209269311762298139422044308117317394338867965739135764377642819353621467837436136161591167926578700137748127848510041447845416464568496606699139509524527949914769441031612575776863713634644477006787131066832417871556281779122339077841275184193161188155887229676749605752053192594847679397486414128879475647133049543555044790277128690095643357913405127375570391806822344718167939329121448449553897728696601037841520390662890781218240141299368590465146519209198605347788576842696538459445700169758422531241268031418456268722581132040056433413524302102739213788415250475704533878002467378571470021087314693254557923134757243640544448132093266582986850659125571745568328831440322798049274104403921761438405750750288608423536966715191668510428001748971774811216784160854454400190449242294333666338347684438072624307319019363571067447363413698467328522605570126450123348367412135721830146848071241856625742852208909104583727386227300781566668914250733456373259567253354316171586533339843321723688126003809020585719930855573100508771533737446465211874481748868710652311198691114058503492239156755462142467550498676710264926176510110766876596258810039163948397811986615585196216487695936398904500383258041054420595482859955239065758108017936807080830518996468540836412752905182813744878769639548306385089756146421874889271294890398025623046812175145502330254086076115859321603465240763923593699949180470780496764486889980902123735780457040380820770357387588525976042434608851075199334470112741787878845674656640471901619633546770714090590826954225196409446319547658653032104723804625249971910690110456227579220926904132753699634145768795242244563973018311291451151322757841320376225862458224784696669785947914981610522628786944136373683125108310682898766123782697506343047263278453719024447970975017396831214493357290791648779915089163278018852504558488782722376705263811803792477835540018117452957747339714012352011459901984753358434861297092928529424139865507522507808919352104173963493428604871342370429572757862549365917805401652536330410692033704691093097588782938291296447890613200063096560747882082122140978472301680600835812336957051454650181292694364578357815608503303392466039553797630836137289498678842851139853615593352782103740733076818433040893624460576706096188294529171362940967592507631348636606011346115980434147450705511490716640635688739020690279453438236930531133440901381392849163507484449076828386687476663619303412376248380175840467851210698290605196112357188811150723607303158506622574566366740720668999061320627793994112805759798332878792144188725498543014546662945079670707688135022230580562225942983096887732856788971494623888272184647618153045844390967248232348259587963698908456664795754200195991919240707615823002328977439748112690476546256873684352229063217889227643289360535947903046811114130586348244566489159211382258867880972564351646404364328416076247766114349880319792230537889671148058968061594279189647401954989466232962162567264739015818692956765601444248501821713300527995551312539849919933907083138030214072556753022600033565715934283182650908979350869698950542635843046765145668997627989606295925119763672907762567862769469947280606094290314917493590511523235698715397127866718077578671910380368991445381484562682604003456798248689847811138328054940490519768008320299631757043011485087384048591850157264392187414592464617404735275250506783992273121600117160338604710710015235631159734711153198198710616109850375758965576728904060387168114313084172893710817412764581206119054145955378853200366615264923610030157044627231777788649806700723598889528747481372190175074700005571108178930354895017924552067329003818814068686247959272205591627902292600592107710510448103392878991286820705448979977319695574374529708195463942431669050083984398993036790655541596099324867822475424361758944371791403787168166189093900243862038610001362193667280872414291108080291896093127526202667881902085595708111853836166128848729527875143202956393295910508349687029060692838441522579419764824996318479414814660898281725690484184326061946254276693688953540732363428302189694947766126078346328490315128061501009539164530614554234923393806214007779256337619373052025699319099789404390847443596972052065999017828537676265683558625452697455260991024576619614037537859594506363227095122489241931813728141668427013096050734578659047904243852086508154491350136491698639048125666610843702294730266721499164849610746803261583352580352858275799038584091667618877199539888680431991650866887781701439663176815592262016991396613153738021294160006906947533431677802632207226265881842757216055461439677336258462997385077307751473833315101468395296411397329672457933540390136107395245686243008096720460995545708974893048753897955544443791303790422346037768729236001386569593952300768091377768847789746299699489949016141866131552200856673695770822720338936659590666350594330040363762591189195691561626122704788696510356062748423100605472091437069471661080277379848576543481249822444235828329813543645124092220896643987201997945619030397327254617823136363375927622656301565813545578319730419339269008282952718252138855126583037630477490625995514925943105307478901043009876580816508144862607975129633326675259272351611791836777128931053144471668835182920514343609292493191180249366051791485330421043899773019267686085347768149502299280938065840007311767895491286098112311307002535600347898600653805084532572431553654422067661352337408211307834360326940015926958459588297845649462271300855594293344520727007718206398887404742186697709349647758173683580193168322111365547392288184271373843690526638607662451284299368435082612881367358536293873792369928837047900484722240370919885912556341130849457067599032002751632513926694249485692320904596897775676762684224768120033279577059394613185252356456291805905295974791266162882381429824622654141067246487216174351317397697122228010100668178786776119825961537643641828573481088089988571570279722274734750248439022607880448075724807701621064670166965100202654371260046641935546165838945950143502160890185703558173661823437491622669077311800121188299737319891006060966841193266075165452741829459541189277264192546108246351931647783837078295218389645376236304858042774417907169146356546201215125418664885396161542055152375000426794253417764590821513675258479774465114750438460596325820468809667795709044645884673847481638045635188183210386594798204376334738389017759714236223057776395541011294523488098341476645559342209402059733452337956309441446698222457026367119493286653989491344225517746402732596722993581333110831711807234044326813737231209669052411856734897392234152750707954137453460386506786693396236535556479102508529284294227710593056660625152290924148057080971159783458351173168204129645967070633303569271821496292272073250126955216172649821895790908865085382490848904421755530946832055636316431893917626269931034289485184392539670922412565933079102365485294162132200251193795272480340133135247014182195618419055761030190199521647459734401211601239235679307823190770288415814605647291481745105388060109787505925537152356112290181284710137917215124667428500061818271276125025241876177485994084521492727902567005925854431027704636911098800554312457229683836980470864041706010966962231877065395275783874454229129966623016408054769705821417128636329650130416501278156397799631957412627634011130135082721772287129164002237230234809031485343677016544959380750634285293053131127965945266651960426350406454862543383772209428482543536823186182982713182489884498260285705690699045790998144649193654563259496570044689011049923939218088155626191834404362264965506449848521612498442375928443642612004256628602157801140467879662339228190804577624109076487087406157070486658398144845855803277997327929143195789110373530019873110486895656281917362036703039179710646309906285483702836118486672219457621775034511770110458001291255925462680537427727378863726783016568351092332280649908459179620305691566806180826586923920561895421631986004793961133953226395999749526798801074576466538377400437463695133685671362553184054638475191646737948743270916620098057717103475575333102702706317395612448413745782734376330101853438497450236265733191742446567787499665000938706441886733491099877926005340862442833450486907338279348425305698737469497333364267191968992849534561045719338665222471536681145666596959735075972188416698767321649331898967182978657974612216573922404856900225324160367805329990925438960169901664189038843548375648056012628830409421321300206164540821986138099462721214327234457806819925823202851398237118926541234460723597174777907172041523181575194793527456442984630888846385381068621715274531612303165705848974316209831401326306699896632888532682145204083110738032052784669279984003137878996525635126885368435559620598057278951754498694219326972133205286374577983487319388899574634252048213337552584571056619586932031563299451502519194559691231437579991138301656117185508816658756751184338145761060365142858427872190232598107834593970738225147111878311540875777560020664124562293239116606733386480367086953749244898068000217666674827426925968686433731916548717750106343608307376281613984107392410037196754833838054369880310983922140260514297591221159148505938770679068701351029862207502287721123345624421024715163941251258954337788492834236361124473822814504596821452253550035968325337489186278678359443979041598043992124889848660795045011701169092519383155609441705397900600291315024253848282782826223304151370929502192196508374714697845805550615914539506437316401173317807741497557116733034632008408954066541694665746735785483133770133628948904397670025863002540635264006601631712883920305576358989492412827022489373848906764385339931878608019223108328847459816417701264089078551777830131616162049792779670521847212730327970738223860581986744668610994383049960437407323195784473254857416239738852016202384784256163512597161783106850156299135559874758848151014815490937380933394074455700842090155903853444962128368313687375166780513082594599771257467939781491953642874321122421579851584491669362551569370916855252644720786527971466476760328471332985501945689772758983450586004316822658631176606237201721007922216410188299330808409384014213759697185976897042759041500946595252763487628135867117352364964121058854934496645898651826545634382851159137631569519895230262881794959971545221250667461174394884433312659432286710965281109501693028351496524082850120190831078678067061851145740970787563117610746428835593915985421673115153096948758378955979586132649569817205284291038172721213138681565524428109871168862743968021885581515367531218374119972919471325465199144188500672036481975944167950887487934416759598361960010994838744709079104099785974656112459851972157558134628546189728615020774374529539536929655449012953097288963767713353842429715394179547179095580120134210175150931491664699052366350233024087218654727629639065723341455005903913890253699317155917179823065162679744711857951506573868504088229934804445549850597823297898617029498418376255258757455303112991914341109413088238114443068843062655305601658801408561023324210300218460588586954418502977463085858496130037238190325162225570729975710727306066072916922978033647048840958711228045188511908718588299514331534128549297173849768523136276076868494780364948299904475715771141080958058141208956059471668626290036145602625334863284986816039463372436667112964460292915746181117789169695839947080954788863503281129626899231110099889317815313946681882028368363373822281414974006917942192888817139116283910295684918233358930813360131488748366464224381776081007739183393749346933644748150564933649323157235306109385796839902153381449126925350768211098738352197507736653475499431740580563099143218212547336281359488317681489194306530426029773885492974570569448783077945878865062970895499843760181694031056909587141386804846359853684034105948341788438963179956468815791937174656705047441528027712541569401365862097760735632832966564135817028088013546326104892768731829917950379944446328158595181380144716817284996793061814177131912099236282922612543236071226270324572637946863533391758737446552006008819975294017572421299723542069630427857950608911113416534893431149175314953530067419744979017235181671568754163484949491289001739377451431928382431183263265079530371177806185851153508809998200482761808307209649636476943066172549186143700971387567940218696710148540307471561091358933165600167252126542502898612259306484105898847129649230941215144563947889999327145875969555737090855150648002321476443037232466147111552578583071024936898814562568786834745518893385181791667579054210421036349316257870476543126790661216644142285017446278477132740595579600648343288827864837043456066966456899746910373987712891593313271266247505582258634928427718355831641593667712218537642376222104779338956378722902509543014182257180331300148113377736941508488867501893156994849838936052666818012783912005801431596441910546663236810148207799356523056490420711364192200177189107935243234322761787712568251126481332974354926568682748715986654943041648468220593921673359485057849622807932422649812705271398407720995707236227009245067665680069149966555737866411877079767754867028786431817941521796178310655030287157272282250812017060713380339641841211253856248920130010782462165136989511064611133562443838185366273563783436921279354709230119655914915800561707258518503167289370411936374780625824298250726464801821523430268081486978164824349353456855843696378384153838051184406043696871666416514036129729992912630842812149152469877429332305214999981829046119471676727503742221367186614654042534463141660649871499001000660041544868437352208483059495953182872280520828676300361091734508632133033647289584176588755345227938480297724485711815574893561311524926772006362198369980664159549388683836411891430443767715498026544959061738265591178545999378510861446014967645550103653971251138583505085112442517772923814396233043724036032603181442991365750246012787514117944901305803452199992701148071712847770301254994886841867572975189214295652512486943983729047410363121899124217339550688778643130750024823361832738729697376598820053895902935486054979802320400472236873557411858132734337978931582039412878989728973298812553514507641535360519462112217000676321611195841029252568536561813138784086477147099724553013170761712163186600291464501378587854802096244703771373587720086738054108140042311418525803293267396324596914044834665722042880679280616029884043400536534009706581694636096660911110968789751801325224478246957913251892122653056085866541115373584912790254654369020869419871125588453729063224423222287139122012248769976837147645598526739225904997885514250047585260297929306159913444898341973583316070107516452301310796620382579278533125161760789984630103493496981494261055367836366022561213767081421091373531780682420175737470287189310207606953355721704357535177461573524838432101571399813798596607129664438314791296359275429627129436142685922138993054980645399144588692472767598544271527788443836760149912897358259961869729756588978741082189422337344547375227693199222635973520722998387368484349176841191020246627479579564349615012657433845758638834735832242535328142047826934473129971189346354502994681747128179298167439644524956655532311649920677163664580318205849626132234652606175413532444702007661807418914040158148560001030119994109595492321434406067634769713089513389171050503856336503545166431774489640061738861761193622676890576955693918707703942304940038440622614449572516631017080642923345170422426679607075404028551182398361531383751432493056398381877995594942545196756559181968690885283434886050828529642437578712929439366177362830136595872723080969468398938676366226456791132977469812675226595621009318322081754694778878755356188335083870248295346078597023609865656376722755704495258739871812593441903785275571333409842450127258596692434317689018966145404453679047136294238156127656824247864736176671770647002431119711090007474065945650315375044177982192306323700872039212085499569681061379189029961178936752146022386905665481382858280449537530160921422195940638787074787991194920898374091788534417523064715030278397979864517336625329511775105559014160459873338186887977858817291976604516353353556047648420520888811722831990044504284486852338334530105533929637308039738230604714104525470094899407601215247602819963846343554852932377161410869591950786873276075400085220065031871239272857835807010762542769655355964789450166013816295177908531139811092831583216931563867459747449584385282701658246192092219529134323496779345585613140207765996142546463288677356891785576835169608392864188830094883324700447958316931533832382377876344426323456301679513671047510469669001217777128065522453689371871451567394733440447280450959433090683667110655953338602938000999949010642769859623260401863733572846679531229683156358145420890540651226419162015504500430562136991850941034609601030543816694795964585804425194905110733387679946734471718615647723811737035654917628707589456035519195603962301157866323750234725054461073979402475184415558178087962822231972692984516683306919505079993357259165675557294585962182052650473353712351623662770479333289322136141858785972771685682725303734836891911847197133753088446777943274857148827821608844765700041403499921376794209627560883081509438030705666022764678117533361028187800710219794428777313146387857817205661409023041499923248268982477222109852189758140879763486146763606368674611966620347304608917277240045953051376938375381543486981101990651706961774052218247422657652138152740612699012706880875386408669901461740890540981877671880076124151967064152117653084325544261017536348281196837493395825742541244634247233586360777980960199745187758845459645895956779558869098404768259253477849930457883128541747079059795909431627722327844578918694214929451540174214623240300841907975296782445969183509474202123617940309048634960534054931299919496087957952586977170236680033862505764938088740994009589948109397983231108838769236490221499111120870639202892490698435333152727991330986335454324971441378059132240814960156485679843966464780280409057580889190254236606774500413415794312112501275232250148067232979652230488493751166084976116412777395311302041566848265531411348993243747890268935173904043294851610659785832253168204202834993641595980197343889883020994152152288611175126686173051956249367180053845637855129171848417841594797435580617856680758491080185805695567990185198397660693358224779136504562705766735170961550493338390452612404395517449136885115987454340932040102218982707539212403241042424451570052968378815749468441508011138612561164102477190903050040240662278945607061512108266146098662040425010583978098192019726759010749924884966139441184159734610382401178556739080566483321039073867083298691078093495828888707110651559651222542929154212923108071159723275797510859911398076844732639426419452063138217862260999160086752446265457028969067192282283045169111363652774517975842147102219099906257373383472726498678244401048998507631630668050267115944636293525120269424810854530602810627264236538250773340575475701704367039596467715959261029438313074897245505729085688496091346323165819468660587092144653716755655531962091865952628448253731353698162517351930115341581171353292035873164168839107994000677266031617527582917398395852606454113318985505747847121053505795649095931672167565624818782002769963734155880000867852567422461511406015760115910256449002264980039498403358091309140197877843650167960167465370287466062584346329708303725980494653589318912163976013193079476972058034710553111117215859219066231028099212084069283091906017370764654655683413207556315315006453462321007133584907633048328153458698497332599801187479664273140279381289961720524540674695271948079930396730194274036466594154400092799908634806622334906695224044652158992864203435098858422692019340575496840904812955522654754650713532842543496616084954788090727649930252702815067862810825243222979985391759845188868387004477101866772159439708514664612871148749531862180941719676843144666435175837688436786081446319641912566574047718699160915550910878919431253671945651261878486910876729910565595155159739659034383628124629118117760949411880105946336671039049777312004243578115790429823045072038322781246413671297959415082918378213212876890545963586369344879749784841123274921331663162812456388238288715648447883142417650147980187858215768793063001153788998014623690135803753306246148576074932567807682651045738059018831237617271889933790487113395588485234240255002352200613574914318259142479829367775490496399350755839668967578364316618369307625603528602940662803255416535431518013714821941772672244005268401996533334184004345525296592918502940131600651124395297874364222806977720437363717873457948420238745151249157913139411148608416429347958793681868609689684640858334131017858142710955416293375915178392341303110543328703526599993904966822112768158316511246866451167351378214345336650598328347443536290312393672084593164394941881138607974670134709640378534907149089842317891739783650654751982883367395714360000003439863363212091718954899055748693397700245632475954504411422582410783866837655467400137324322809113692670682805397549111166171102397437749479335174036135005397581475520834285772800986189401984375446435081498218360112577632447389452051636938585136484259964518361856989088721789764694721246807900330925083496645841656554261294195108847197209106605105540933731954888406444080280579549008076040034154662137669606444293774985897353625591959618552448187940317374508256072895120945456562159540405425814886929842786582357673195799285293120866275922366115137445767916063621675267440451221051052090834707443986137829082352772895849625656881972792768694795806100573787084121444815034797422312103295359297822377134077549545477791813823542607184617108389097825964406170543546968567030745411634244134486308676327949177682923093183221341455482591367202823284396549001805653203960795517074496039006696990334199278212696767771835209083959545341866777944872740383733381985235884202840150981579594685874537989503257362809837592216229258598599123843993575573285028613155970362934249814178056461615863415338635077223269996508860870999964899373049307170967888740149746147542880387421250689212155876692242387434701120990859082164073576380817386959755176083877600277517253037133445654852635661720197563001580049790223419586738061442401502436288957503206533690825756785507020555105572381878574650371086308158185862815883054564662297694803970618265491385181326737485227188267917919091354407852685476254126683398240534022469989966652573155637645862251862823092085424412805997628505488913098331761884983352975136073772030571342739638126588567405013841074788943393996603591853934198416322617654857376671943132840050626295140357877264680649549355746326408186979718630218760025813995719923601345374229758918285167511358171472625828596940798518571870075823122317068134867930884899275181661399609753105295773584618525865211893339375771859916335112163441037910451845019023066893064178977808158101360449495409665363660370075881004450265734935127707426742578608784898185628869980851665713320835842613381142623855420315774246613108873106318111989880289722849790551075148403702290580483052731884959994156606537314021296702220821915862905952604040620011815269664910068587592655660567562963361434230232810747488395040380984981860056164646099819257616235478710913832967563761506732550860683433720438748186791668975746563456020002562889601191100980453350423842063824039434163502977688802779835087481178298349417211674919425601608685332435385951152061809031241698182079314615062073826097180458265687043623935757495737332781578904386011378078508110273049446611821957450170106059384336519458628360682108585130499820420578458577175933849015564447305834515291412561679970569657426139901681932056241927977282026714297258700193234337873153939403115411184101414292741703537542003698760608765500109345299007034032401334806388514095769557147190364152027721127070187421548123931953220997506553022646844227700020589045922742423904937051507367764629844971682121994198274794049092601715727439368569721862936007387077810797440975556627807371228030350048829843919546433753355787895064018998685060281902452191177018634505171087023903398550540704454189088472042376499749035038518949505897971286631644699407490959473411581934618336692169573605081585080837952036335619947691937965065016808710250735070825260046821242820434367245824478859256555487861614478717581068572356895150707602217433511627331709472765932413249132702425519391509083601346239612335001086614623850633127072987745618984384288764099836164964775714638573247333226653894523588365972955159905187411779288608760239306160016168434070611663449248395156319152882728822831375458678269830696691220130954815935450754923554167766876455212545681242936427474153815692219503331560151614492247512488957534835926226263545406704767033866410025277276800886383266629488582740369655329362236090572479794734434077704284318507901973469071141230364111729224929307731939309795452877412451183953480382210373644697046967493042810911797232448615413264031578430955396671061468083815548947146733652483679138566431084747848676243012018489329109615281108087617422779131629345494425395422727309645057976122885347393189600810965202090151104579377602529543130188938184010247010134929317443562883578609861545691161669857388024973756940558138630581099823372565164920155443216861690537054630176154809626620800633059320775897175589925862195462096455464624399535391743228225433267174308492508396461328929584567927365409119947616225155964704061297047759818551878441419948614013153859322060745185909608884280218943358691959604936409651570327527570641500776261323783648149005245481413195989296398441371781402764122087644989688629798910870164270169014007825748311598976330612951195680427485317886333041169767175063822135213839779138443325644288490872919067009802496281560626258636942322658490628628035057282983101266919109637258378149363774960594515216932644945188292639525772348420077356021656909077097264985642831778694777804964343991762549216500608626285329471055602670413384500507827390640287529864161287496473708235188892189612641279553536442286955430551308700009878557534223100547153412810957024870812654319123261956462149376527526356402127388765103883255007364899937167183280028398832319373301564123277185395654932422977953016534830128490677845037490891749347389015649588574802194996722621185874361039774946338633057887487405540005440439344888192044102134790034598411927024921557026873700970995205391930979319495883265922171508324621942300185974396706491149559411733728199869021311629886680267446443489233020607003821262841723679627307191405008084085703978151998148822390059948911946474438682533745889962375133378280532928272016815977970066488394482446332210928320504045983008943565954267256879714918703447338237767914829203283196838105907715727191903042365315650957464549643425328069510396558733549803850995143463506175361480050195045201350200180281506933241918267855737764414097080945745624854867704904368368717590918057269794010465019484853146726642978667687697789291431128505043098192949736165944259471754765135205245072597538577958372797702972231435199958499522344049394502115428867244188717409524554771867484911475031801773304689909317974472957035192387686405544278134169807249382219749124257510162187439772902147704638010731470653154201300583810458905006764557332998149945854655105526374914354195867992595981412218735238407957416123372264063860431988936249867649693592569592128495906254446474331759999685163660305216426770428154681777589339252115538590526823311608302751194384823861552852465010329467297198112105314125898165100120742688143577590825227466863206188376830450921784582526239594189673003640808624233657620979111641766331328852352062487922978959456450333733139422384778582717195412347860434376165241568717943562570215636666680088531006728947033079540804583324192188488870712275670333173939262509073556164513677064199539111948881240659821685787131385056850623094155206877987539740658484250135205615103489821873770245063583314243624807432542464195984647411575625441010389671576677263196442524931941806472423789334668561083789808830313571333157729435664956078125304917594015895146954965223118559669048559467607968190167266634650186182955669893965019614544401768162810604465068448139561667220729261210164692339016793399632833013163850830967942792934551268435760356901970523138364640961311774904600772840862214747547653221505518116489887879087780918009050706040061220010051271575991225725282523378026809030528461581739558198122397010092017202251606352922464781615533532275453264543087093320924631855976580561717446840450048285353396546862678852330044967795580761661801833668792312510460809773895565488962815089519622093675058841609752282328250433712970186608193748968699961301486924694482420723632912367052542145464162968910442981633373266871675946715392611950649224725627254543274193495995569590243279097174392258098103601486364409101491734183079646345064833303404765711827040276868271418084574998493392039317445402616663674646668754385093967129918067471909885312710726724428584870694307099756567949198418996425748884764622030325637751112534060087936904565779272035205921345924272965206683338510673615276261016026647772485083344719891986802656197236420847504962661607797092906844757798251795569758235084371746103310387911789239441630112634077535773520558040066982523191225570519133631407211349723226549151062961739050617857127509403623146700931176133132018631158730886798239298009805089491510788371194099750375473674305745187265414016446924576792185753680363289139664155342066705623272936001177781498886100830877849571709880858667023104043242526785955562077310543072298032125941107957349146684680220501816192150766649106862033378713826058987655210423668198670177861672671972374156917880001690656659046965316154923604061891820982414006103779407166342002735828911994182647812782659666207030384795881442790246669264032799404016800137293477301530941805070587421153284642203006550763966756168318897005152026656649929417382840327305940740147117478464839241225676523593418554066440983706083636457657081801664285044258224551650808864421212113914352453935225522162483791737330329812349528984098613273709957407786789349311975204237925022851375880436791854547836416773151821457226504640800104202100410766027807729152555503218182387221708112766208665317651926458452495269685376314437998340336947124447247796973890514941120010934140073794061859447165516612674930799374705772930521750426383798367668159183589049652163726492960837147204067428996276720315410211504333742057182854090136325721437592054640471894328548696883599785122262130812989581571391597464534806099601555877223193450760315411663112963843719400333736013305526352571490454327925190794007111504785378036370897340146753465517470747096935814912797188187854376797751675927822300312945518595042883902735494672667647506072643698761394806879080593531793001711000214417701504495496412454361656210150919997862972495905809191825255486358703529320142005857057855419217730505342687533799076038746689684283402648733290888881745453047194740939258407362058242849349024756883352446212456101562729065130618520732925434179252299417447855189995098959999877410951464170076989305620163502192692653166599093238118295411937545448509428621839424186218067457128099385258842631930670182098008050900019819621758458932516877698594110522845465835679362969619219080897536813210484518784516230623911878024604050824909336069998094776253792973597037759066145994638578378211017122446355845171941670344732162722443265914858595797823752976323442911242311368603724514438765801271594060878788638511089680883165505046309006148832545452819908256238805872042843941834687865142541377686054291079721004271658\n")
