187264823953574459409012238577466280627192258515000238620710468848655486676013524454196837503943092912034778656511097472099671503816131264009142707073861404095721471301838026693663058039993888637596325810737868960997814575267362369904509946534669347814970491408794312593817536284817076692566224233683505811694369281852181804582804795406203686548802901966709404803251272773643057465771378850662187881638416504199195037213675760348413318695502355756181404201044781944017968806252945513452883805225314904860915676506304311637700158234962971823992432607788595810701714265062860759330534904499346875424021177852473298149063723845048584116344968868095049678213489202077045674109823042829200337772432012122532578022564207590174079402372365688895074117341882489657936796782426425191836963095151260269970765734206662029229477855121615646563706775380977042523860061809463777012199098086780795732109168060314548790570963267626533364204126261325288104900759745709879392204333126485679041075435712987362537446503323228823033591604515118300691739364946625140787562077123175146497884733089679668618473446569438833842828214216789621087998491811248899000706844948849888753647696603968359378830625442795586862640327772296116550948337787374549447520109787302344182141182849673068332448137137493566315072541628808630113803652473306962038343777655417890618307756408815276296033232370380128272800227770646424461241321967240806795330220528224776675110860255656023192235829479738220202834378574035146401200581866020033184934546619604829914782098004038032674018995119273405753903756289953513189091085154453259439486958344250082780184102094275856909933402598477967837110893219765627661713323978631668804348487555448886944640518490627918526454350749765650387483311321108702915412431133016531408870647178703616055381027634103619667524409554093441442965308610258022333131676034198579534054477252619430566932230346461655613452355074695910446333229136703309619475441943386764547096184800883853022214669427813753317337878055758887630751867076356790645252560293854967428520340964967146612254006704197071941591853397216215643828701541773046047833679286981845324612427864689798075468398542560340611261221919025957343430705793458213495262467632574597173919961918693587106546975616663093747584828877462036658830143423574254060089341568185566948559882710460203502179456274779261127039044966820222943494765049824615566039609631789896015098557168918956429472539338905099658977319847403460196870182305439531703616297909148884079760019295885391935707268122129589838958033304193783433284434639986720021980974104549438235989877601920726123913007007436864420816334639171732006998374307814144146068132245587240810447424879555862132808522727539273827363354614255206176348606651729051305772979673587721846006415791219597326475807765185694280965463200068522384761009293978586225095757058965528718965048837521861063392456572867900235495525026355050850323293094685720056308494074984012926130807662171382190766532000630976835987041059569848331912354781075139510742060711935859134898898561714221596849051789960760237732443782854379157226548943892613752177574189354812091351150200914388635315176355877925872151452970966769760891476276352109107873791728210653564015487729847951517384881802245976384025694365941605445629939902802109191823986568060108680879346404916653297505690047013666159566679539177172805112583718501959450307293361222862536165226331716755438343403161287656794898702505746362501116638884211811121192147109619464368073018905980901723785337569334026341763698090587358962942363617997247882391315102119595708478607872334064314943349192377067701273233994996580483137882260014321741595123343990773398668990616546029394161011059130611531314778875288993231755952757368013365005634291633819736890086341737152497545751421351037927008279918049332143656004120616155672112272788153616583614187311542624667031993117409712246404801526281625082953927735568191527718482743938291351864388355238028618401320214198403208308290118281243927848527505103058018804994041443133053382887808952363401969667033185495761402045353464342380629968168000784894246872166762873130751944218050648156811737638684052455571168927713666852921939995482468265094718441356044491916055316451317210050593057207232574112285741559827948718365582340340552079427297024769299294989139891631575919164703295160524388967275659832495603444145372447653107329755158586397461577192793406056518223672572983905229439809295480764598420655485964498890348760639130857197558955148885420619373236326515520310366415534842056123074733851151628763167964909255864714862926364153021197155872088316265203622509250295630842233435925558276345674388545797014148946975960964886822040145985976157724518978031907792728223887396276477058905814451734588262794663632905146621666758283228867358956524335251809043232025456659037972541608179642885741680607804945316744097748072412710209537694868169684214461577915114320245612114208542550296732653120251903469034157090613733112887075600544802994546568398890189612450300110932576741598991976078219086191230490053114274322183060643744294312947943373741556893363524643735310406192441080841535133472141874233625163948765255569650647776913106618298004088104670286354302572147487786709095199860188583266850490751226065347330221902243071310849400898127550869526164368287449321884467835617906278336359785118320792033201908563299473631292669332333339998950497686656729231234073465442494758236465730777832461328724565394711260037949216919262945770027183441178556717077354335360245291994197538983917810438230503030244563166761598728448878192221795666959040143418591514313957486382232959290244433290033508751475437063730561148903250051386526725759760507330801627387061822509994937972996027367917387006658760717019381341343491879800655913870411343125244901541517574269749936816905705526438239066268924295992846165701495438598930834672026109403155312617098447574777453502426535760168136188502027890227683465214295545352675291167998850956824879549032464411131284893092007421141619094647132716719078802834050575972944060631176652271686459587713941972265110465623490821030881030768257298198621691121106519885189930970092794957076295678953305613899528673527663904161452485160845729907376535648266974845028765093810296620544042242202753374871825811397409661911638607841293664077829402339166953116384836261058487314352846908239177889755097780061271056703808415913165874046899102953380260301658076364517678149059278629761392769532725625256635424474368403192395473035206659647427368515754986303410160713176087326370966722654835487125913394616956636961265944230357064086212370142993084815156682368538391643537545546107270253190058567926769960134998802939186899953976008534439731227363526490916346917394947367014416564453729732810443945530190614246316752708280307130337787202921615194288369248671236884995620561764201418175314438856193759074623547890741887203065435296913988159746019473759664147880294195435863509345178415194783041405187696359941592295573173555181787823249646025519640725128571577149583581958575827856117143813828464989006632665790168271268005877556343833016288741357491797216325190440470923261284018162429903670934774918467228854032971130163892846020412203752693687225213667148234172925292753954757501185386978628801509845851160523993024673307879808331171510553486810169094194461528097196847618121472480272716640591502127623068662591488017791955425176248456736722200629819789916551543103131402192852951377747152410239229943864251094218733077824780439882057339686680014224149822072891158275294857451348453445700783436976402864589672004893791311770549533804929639811332537660785129974761277278636120037838270884746430489375198589671103771049860829136441881422400249428358471097095737975188201601765692160053369215999285135202377953500390372309265321995731901667030316256982323079638060356087360027383022472696850412889030600210754367950515376816712850461674797298350819700989756694862419005568909870334673255629643996357615540028351504798930198135465760804876441859883655645255226162368014172224657424017640779670795643181952189673842906562778131172477285849405846331565388932910081178861450605895796194111144818542552043664423345275260604537914725201553483750755958413961138289845360282813596755060373319285323673782509466166788014358847085678173144265222468098886547825404738042583737964074778461897631078904044048875812450446754251435619567112647574663323213736278610174766392679461748368025109801731195328867007034507207006340737247818376351300065669003240528824951032441163229473219071764285665417833601325811083693774678608251769881100224336163810832772360689352123682599989920316587797750170967379279858758962710146594226203667191153221535773131951009474374856476970458170279539695023075421874942206891363221354801689489813635997965281679003328209823081089605040517254764966343445383953723173687365262665917223205621213974071039460772354819205151849367673716037097625147669439862465368692272511858903954296761321051779558105080572543112166260770642115968141111953396929977096043695635604824648443568105451891151675887562893436228656665678456998324193254191887201321952824539037687033987720255991818110923770702365422768148633074539898526436686069728983615006829148435489571830847401503676235389546871402021729356193979286036455898521687726882919112983428120308743477760871721617370788978474926555893797942420348403944318737100786162855844084912291587913883603690708672497530205698167956340958566023050859965816848285783672119085951153854498694803541587821258531371220022751738990788072035778193927598781167439796030045914914734444237135961907070703864279403505927117376102482537061812383029325134635323226127523479936344335247089987758912893853065335806136987102640675141444537597563079207182532021808253647332272405560549171268743338158069381251430897664776900301112032333888966573639927165794182933179556175098528351269635914689606228877681564115865139643591545410966681047987475954346614813236494642240267122709395970637393842268760400668153538213457905713371180606719261848318018767429211501987012860288929401441341681174774022175320235282531719481495550184144949924362516847146167455964634418071077984052678140896256378603406872004398445728469634854032401740626862750140295062506039051433281287708531680398938668197144189013620333397230156884389223407006224601010857033405874923571130812918942231611055760432107934020359839273211575762735788517353846278535349774390861589761389415754859813246194963715998754649720935443820199178969228673302701400474242500940065027604441728796662520068538825876419840753100098444523452915500622726321255057739307953011664452921345796681505615259746830799295435979373714424422629436979105512201484872110671408357089522100807832187173596833276889978578204977992378941235264882163834323039123734879953174720590004494316977143135764138891598237855531475272336134330493614104008193809381555130901228372632237477206934423266548339876919001507398268978007921491843226958186274429824527638574411698315913701229189954747549042543422759794369360649658558327901739124628820607924095984744756288714849259532109176162031053237308232271244847628373519299336966448109021205016760968575927507078729314390610969970824367852793455994409158264036370206461238814102575016122460651682517284846008384456897337527455639326301278563050523887817688690201763508913683313627263858929734499341697310664319147357725462901553001230740196035547275010173098368925918246016858756858415393111086547083739132277320193009316069817704340689226259138211517606629910192026818673327429554667911977428129763661548427960473876220361986520210628708079366252233434497516975865911634789877188999848342199335040970794590498674388869602923531814193480616433453627614904048241878109216534202423087608545899120950092001961470748261749234838164145385530670008809005690473596288081178713833754860978123046354165191200251466188224422371957800865647337913881728491974731431176752228494667788625383421033258339026905973734212229727124383655523756513462742260541543940727546905401789722768059319902937197013600769329769181031191120326876728463377795267883651424096348486407977528478800067053585463995022938979470087149231008268900870378041134886216579977355785549765392980958821455077910564819725245715736115155342436799297024356736711581899553898724417328265762198647703961688925507823003304617262281060341092357205346959404569380626558947096765412227258939872330488331565469876952933897688964567015238573148435498651630925058996440894868627172675376700678531673553411093489383915530269289957586331960192802000894651644103652498535182232614654052702112916855772734945705455316255654685401210058784535409625346732646432231557453803206039095241279371877481598154062102711794809148308229031833911847473129310383099133181163497804017429269545054858168118166092964539739626774534123523309587737105126135514615975374488969344269757655175771554824313426458895773476990739318207993640976682438866002752569430989155897811974757784372855570091002774901317273278464386461155478770813530681502402081093715090024752636990953439546723576501260568907970913045294894871127181233412673010695879601882950650128247074967276127148069510035525547947925120102051540804071336017857880336462157863019717154129534689291245242012423849566427488397168711150764796723081598434391358021988775245731615978186557489187437077363929986883947217623140182949038607615486287992413656817144017307184730439266181357735681935614178882830574629008306417752971050794923410581779283071773747890274406171779282536231103101327395563522405555961579701008877035097749958589636763765837953632712267424023391996675722866697166335581925630556433844633841428578329345235390298239345779607024842452176910679322442250787905290384475046213119879109152885357069571311878563517243432733810836930147269678864736655446543029936413344896357265641400618261362918846417487998882382422034268145987773951853841106206819468872011075958860519462520671992868330484705877523120474645252666564209171553915591964776981090556411106893886117996410974459703774307065261170890729136481190435111816984819542930017684264699385918616653631122315682253207638714804346597822127777635989443412963221697085217337442925173037878899020202669723681064297783719881384083875006821495925734846919263854720574766080332124279849326537429780349769169227493140284138269509467735060185661506061714195201413531349394822851631642503605009768303737238900691438222755525222509269309989970996051828133747895245261059933677131073246239755309348763835407166899585279069214017974319899540442945331793564619293548938673421075335820661550036230255563188478569506071697753841979487707983046439138672208793854838123551788658530777119700202892640299875375403155830573096086518892973557980152396725441979395626426303867506431227345394393107857661000305616931987184483953256986160907156448950435489894785694648328889524407050474389549373383473902763576748131667622374134756520996613481072780661775801785472677475245534513369205282372263484226291548526220998703063903363267003711739462764298086641024771216669647479902014747712050926568781671304225537542480505238902479985281427500532138529973272336486836330604652207947756223849602139536785690707607637493921846499823774106812474251266446884369324355427908723457078161565810933980943653614123104261372155324517865093769875691703127858266373137641244445637810324616956577967808091752277560614559444070393747484354029343517074520566869219616617162318882274471321769997758414903400277667300670639085032131142614364279462287428678583699516954225237077839024870190565346908471014242122912097454514190169080281522828419624171425191615220864916610178361866416463420354492229176064483280503126426380854705093493107001758756419456248593787753500111801013567942190932929741975460725445917525632837819350394249610971788458004849095086205329607981069772257922483912709209140993890188860955127980741095373128101875135174483083923495029467698585212933348473392232923622455307247182651954009920188781684641826324422468928297594378048297887502072713468189283800970520520476384757176122983807127399864973438836143186915094713146306271911477969550825814332640417203643819263050187187823054830518836339657489232142602908811549084245232957249993497097997408332471536513343888099172559269722141991401621653875272677290278300290002598937563571601809149343028959958987110578755097655595783027019521198175694321808521118222721670585074149918746646567848285920954714678973276320014142004066598310423495762136175484576520611340286197507696142511817293885177771830266092000349848930019253076124453153059511353168199107844235966052227614087133350310299013578916692739759650351401884242077700227335318020011291500534132349572433696859278121058038418538118763064943395182602677989919654345776010794011638207563549888997919119415784682154286163624791812919156492415603351072879013889629130519993887390725029232109066239813625936192314434730123327569238884093567536722584409713942003070100014705267711408079919596621627170777420169752778197154478531531004670675774514459660622131134582879960317023077803387991229755027479331310518960284262723215982675587973947689773578405374930392571677027257833822944336877213047655088615671084424768363368011217418689785116740555565044554571624581792779323569435364761247574166123144813296581830026526153792880429276159196000446056898257555787758676732348297854827604957562530108216472420375469250670622046123780472836379098631351797742412005187940881263447398042565170813698337691660692444787073816559746654968570126716509514802237381627949445964942030870238334606774529712495476439218009269627663078346196622016256885683210084338175904469066158538882196128753007344369091653152599633098673789786883733210238020368753860488901454326322056191527374266733912205692154336821239757439521737314177641439830634059463888780764440489107183272950840254221521859131565526889973710674839706709482606320001009665585892936183181086006025267514850382935718028364711639642932187641951339565683835296448210134497334825949120431242166247658229130691834566517572214797908255329031874658895254867090991407842707854917821117806362128621829504632719495731752328296402575870226006359340914609070898747888650550932808199957155405197301973299484291826386926003080675716519795436582248737255231077215525062312039642008032057093802188310954123133857955578868170024672301010977389079889465471042901665669501655410340221809432361885883375523940788896128730979618846848241769445686991659962844193724325346942147576081363896253882222612811528363923004711378960311395812436062532043398702411689548726088730708835542085984503853525222095698924045995982093485500638578173022763355773572675487423160373250244302652437481842159947805746543251066140580304249612503901868967513674917639059314516877364984541934653273188207180414188406208617249818545888332015037639286162897981967271007718389466278133814768899328165596190997683978077045141901182458884955012787014523676337767465031918538453710665125625300605924277082849003751568585917697282976158507591515839224260589986703903411834757966453456710367348213519837049168536772167374401040584371874097522897294798108539310804282828947815596538078497812274877616403031155818849402959158578620980896874089236751094340999840943516481784836404449629550926793470460834888486757325315663170681114843981658506516766296364862407359657178166579201772127303070933374941667639993719260401122379350899594558541503634396508882736844798636675520162895607969420145166386083703374782133371200112450905052122162801806013517063255122495709041083587876841353400090901960795050178020376233656826396750761911820771924663121286933410761786228058008654806264831838486193008660244740574672124264223008408451267530187008395846785731132731626730994799442662533283517179110372145959759481364443421221868631840151700705923514114790321220906218128518620293382584753759077856309211948670367616791129721506202080618079471495002939108788768937707091207940810327119120103646154845284708937067456300367039005277099271747646460173152405576476461636522519523799883