[81894503642552236908470183571901977443789510855752559072158313476766573924010693136723600748506359332150256856064003335544186950541924904048399013208355195292504818236157003605939972179851243965825354111973943370815078076859814291655499910862516385112183664271416135529843235212790951944492911724860611429773956840022718959508417927272325426677973824755413065170823239932761954742301266372644422126193410684568921661731527854855468191122486240006192125213311623921563056482999238298465648824252068198104683934776091472898887108295530797026795698393499289510785072089129245426171044276298045415514457834033279276260892730170213282464924745438051397577926736588645264785421507098566060194132338887732284068600873237263106698298347490784873000162669298532468880703586518114054132285715479175287084737618695241566404266411670803303088604703788616934475894510442403473261558495202157262025874085877955121416281488063938577469659011096037959242683099231516464467004060209588849344540785758686467115477903024533790140577726157477225607848035133829855800440868872979053609766804402714756341925163733652416103730146899803881660292229276882051460623194310410106782494248301932252086816094525947792112225836059371480633586486748015666387949348177861245147663352843789944187522373676077764481059357616847196223493239562323696798530657442130715965312621897479178785727807553742274356889991814052670098565022907104422923135532518052875100822476976731680717047754495185881644263353265509458213631234846535206755078852889552802008831197309378083107273534782050211645543798481217220473607810591383680181870527319834571901860387239444430586981537058051456838174775935471379293302640260514774415881594680416616987013133220649178339998427458841146954214679601797721071576923312117773597083857653164158090661728320175281501612051529418572554809713507697702821464868173199799182253759655271882685517726073611280354312807453861885127917729386151765165949815304838750429599677432339046604707817582383535594032914964454235674864866448146178302392982747473741950927192103602339115140989061691964711322739170251592888860133178048512418633982069947811227524841594306169538804912178909047911467965978289364147984827795328934716834196171618485684421359281516737325341909915201843782486324487195763104423420861867626933426029508759626753347749390507314604464207657491988765883251959685780224315109717916467942223735434963855792510497098153963413582225243903150156320569997974804352614497186800592253442703349197495587464620726018624169797916267689318777903613249771602532276145207395068895827193823799467817619990207148246937265325874889127075661419532940836376656333830226897056487645024471706382459534380244870176408572181873942568856765447355430400879808711731449476810045380338335766998280435342685160735585870317826075611182816682206851484719307854369817214370130729119609369911985284794093838013801429526503888712525508026986827901875736445612852570095572230317463484121831901018118601642088586722159839054868324296303987881749284907746730171187661868191697326829733902705010894606138055675952172831400765791970110651552687946844101718003151184765302589047242705654614310769459487002729433349389520911537563073327726726691153683449175607354744467597028251512086375005868364178679807098063781561506936507542805521141731311031306957513785425259915579489244404544601633661133682316282898778099835753432503301563604589950153755925720858496968456533789752740555112836387469960540556672104782736715981484161445861141407822679725640448186809994333258552308826260289676416718285328991873236459090428490182674566421688197479173651941635817997778142588700326350198325023697135662788006053353397682508048090372968721733637242870677296695907950172916439335419894525925302023390991002758772285362393429973228649250340266717003298451575870766700245654518352904628132211155540765155249193930901277959337714713724440130641875154864392513976554541564382043933838840400823170444685331837630450969942893160223763421462100284720145101877422674063263935226896975507183980347606925656710617448513518649598802124693846209390787867212415476619840403797332754681345103134414452702713550759167379099594127029253009014436182520855987917782151456292676633839847704229314773439939833928716266300265476885994736653796566763492628558539475505782420479291762894450174002829293624311443376732199192740266056236366116993022045763577259276006255996004477940925530921568187749467255500984587203380638597165712340412089783059461281387396417302651230812429389045556329296906650146409373623424364330899375194045470133698045474278221999668656535090060729030519654111530739900594373446432949271379329884397352464416450596963612939449702467214227348236158004814243514866915682227474697557105401717673017041920649909632667651997974812452777529612207800168489658867420912071260002874439815361517418834576097660363028318287136863336789058175948506607202967536895549605172030706868729796216701861998194667018657427767469576710681754347755265869943028217686155331181836928694391545412069089531509694003307186888168277163316543465873346641405713198316986257112753229048288206050959173378614915766746863884093666842682998680641361532277985187324332875439063189344117754057820545003091410187338049720552799647840260961542679096567568037597557037870718893875969358896393629748965638930847486017966835183627768010062765851146425754477100522984474901728430648654966746453249038079470010336765327049284061016877524021923848777761205480929223140742711096616697829583982445696446543505378611112576790251170290819778175126941867783909620409246732102235566043408838594179454969660339015417821248951715769147909427042997037073522853157397465165720930501039534586264286644080894907160542776382751181874650441613708367988694381135519615096816588019604791747897961183632568355420104014271748527241329575613366010535867705095880650158628259840392498223081990264121178958357750774526414742788660525334764297684212658498286957767553765011249301824511055713626807405041450965737313173448707443568396228206954412028519991525931814482292586058899667103954691576980839216265144686081351253793378363543719715438418068785636064294307567533354840552266764037622187342376675853474251787404527273543294665377553025356980550161951519144350609261275775072382188134015967360076793720286842017268426483365823176547954820315299598289285879072231567342803912672110610908165937856516657868560156966830110271912622354351886037369076030696287141995452873676545369277719852149995586950888825919985090402801446175030135378547736113469812374689813635356466941326409512429283734531992819403706446210798732666250723447453430385084071450904541710893701040638581099610242858527671468776830753770092046620028402479205401329638512415958157617668808339042112380909177428162572822780336913224870063612595587381322922873652853192831890340976112507606467697792065975503312463510149351862470133374727989619413546765371010485119340836755076086853610937933436800548302590944193845697608828308478096173574503724071800268241397684922589756102988062477221143444841772141066200068414662984737003202250143508615494979408877211249843384157791156721142336960379123098577686239653150959708375365750853959792332273945720898613952947953260681931141902739958764103003569114256023595840446331173970856825438599867324534829899066851579582124611833966699093776657794092835597244860163058613931033107652107407653284835565109391110111917372852796686631001958841246759198499231198840315146325263662874863447273251881928082589399128813099362321320453670392694031118007053437288120502319876438889921527276833130193691814434698590986878694251980314748342081125348143386984837547244428655330126934241569634532661046665277169644598872018339072297444899402304579555485966662432768700573705184277961386176342433330249091224276141853499753280241829152187081624669777910903410171130473112620808111674112242027142674405453988449784313409885129215164553874025492670665272955131334430453515637847263990469774087759967923498891844384067485872626768642496391686230547382096189931135180905985010248655597332468790654767363552207896196366451879788311836008471642766836317022433563881015659475035569660001009492511056425820808096741269629245719857170952930893834658690698544711431121757555466846246397844755279043209219176569718629152372104986205105972479942222160453696875957821804242979145249265569998286154219986036049621199883153674687897198595843889565738259192064192368524739045035004908496671065428487000737973497301018361650581083540720488320555946954057975343504481733967286716744441706117349764204747696732683018841710857006301737722372035435065178076269522178746959191910264376175628525333016925627165532262626451632222879862535336829681960856585107848870706733911583619608793343405200905593396254733446423884324607292809030538589086910072727870696723879451851525004292878325203182766075742295867445905212705069702189306020057682174185866118465646819447575507293692093611133482431364426797792426308962402009578818336602827057179405016697762440070902325765556464423158505198857463143462634637416228652754453789176692139646238590082637783911466627363508586606668850804712557865340110245571808942872875152925550003102243043326820905999799321748997112029804944203813526018343299122856534935245466768645095632199211147170302556400124121732791000841855055204199661723613091985724478916742802354564143485625347680107219229251045924379546265393130709083936725045974989509935957785468883285529307896027289769897190345155199158672915886125425113114073360446459752342835578809235622847035703210351466704984203581210669073845493236415439420142245590704374024600705313222577778205715918543606921630741726456457438980405148307631776471523217158161022881438412907965630531912510739113054533825127395365184041548968006994892907948661019912694881474856319855450426500558800576226599884387374178987678811564819228687229031550835083472348042926951499929682369909548260970002866222798232011264128503083676987892179170993214240268645641043296443733788125994489284941846018798289285411962144408365098400214103343833441250720344501332148368768700942695228419505272113382445543264115978694764145106385703171637133971214715189816549930401565528633143952735879903179964262413518239036645081750685538696555459682900478202382792021688490462265565422642721464327246446934153959664058549740420942331439348324781549445336977942531002447954196045348660162064273996973335891795955485695294090091749839212367527642197362058144143888752189322854615346637563483620746380620201172132443600247295136305370247218892198892780795630706324458395131517260740324814361749746316221810506188477629190260434666745700636836572867464906314751445818942864021667772496368326190486664978539374371268348314024736878142655299127368870995628590532269812640801359457747968907000245630088942855659996521699464387943817789263960970833770295934363854158494488818267298481464792875006046349958655713459148254490093610925067166560441685840909491692469129548795704696276958682568546989245253815993182516449867151559938191635048153657896590298146293526404487879786949867823240822059719344945773106516256774693393106712257058805886959223984340973400635149044129331414264678798640250428237657695907285487630021813167599513407158114076961625465249086257902321984396091072882216536763365713975150119788770804180496187555889409165406821555853676032489346101505025448698870349876226091043656986925851865166929173451859239501022775290565760903648586511305745285489002089620611774285386189365250775526088330265031449338040667213961244293025901087425048027928302187154168529916121244683163031117333600127135677286140897022217404714446609119366255446983464065132445348117512103711976905084583225704553158369818854743992934254689054435386916510090915224566245090813724086343371385428648094429231543059196624732762065570455754775956940642234167766366115700566380600097368581943407981595281838545183937239741038604737204129651773717411498795434086275803003350712133089042475480317169659589499924469767616351336231387424645248464029626243793704404071902140027524203173600314891026347506592590589805420858486759012737357718345334141805787132669777940040275893719421903990135174934686125519261961619609670198824125158999134322698162651738926840023835232722388134635674519273620869952973210560736703952632584642945039664745945968550985823715927400335531747851775219488997532827974063648345323317719570153229909237825588330953202347911551157539969511308805360514797727379942618638192479872869195665136498931342214555168750024525966571096715655343015749794801990239101454218337264167886338478792217391171378042407494248226179856427563476547365506859486180852617977672817429025889771331413655992332027537233679337154251086966294364826414098825396852384878144465320772437342135594858938355534851830400007931906314298689518160449178590098512736074770645969734366734464785132978881449828178207129917270918892835819383442482328111639893672022103602067203526433084691100254648050633496639581355167513063372266118243486114769838803627151114406896898978268075783211868862259604433044851958902801922458240265687925714721228884904030325171437505109241011010613540625298336671802507211614827978234420832931693643468073892978040718500950928368724104262740652291179994041932746082302719893711187706922503712941435743277336512105707446077498487390592119376179413132265391410282133313980480241332334504455564018261527890829908615189076978389716927451165893527709475965979562609442979503686412934770026479657396916893115056165810379487532788117578120731615182559417385738588836230658540563687374602158730651000699736616363890796121319229357022780421228589068520166263154167016144866780672557198136889953315429412476384398297760331301493262977985320258504000836474145335497172078733683669509660558534677217951515454849542227463134561776113519829658840202740029631186494094440351059566960300401043252850132296752451282442899792492836884212157809694259122630934517359649962132838124114844855426609449931296146532020146137025339805040090971417756438920788324882073977049763995466852246538489978730689971361377236280940130677081625912104161604599461773169115397206783010199121685140791845982022844435836354913493199203688889031743481333310975091100082138756275328004769739114767114874979566478692654505687125575921570234342539246272653064955614918074777657750875819755934515521647149643551867042170964317281701689855361955526932771655365221331310307302453306406827519116811427538415936885705043657335704654500739902660786358745016535579830735944685875152688430843441496406068408647058385739150154007247521446585507151724680979351128807554759800361264062494845933107932894293850606972473672360712603135599770263131838770747049098873417888510740071015575574769424256091992684147287986601765022707190964340746575950462456439125159420607097238521052326105742217515986467957131076012908617257835926903627932001492159530917374747673618867911508319432758499526260430021336034658688283604012460290462715024688579087271985935102052152210564438603671195415368479300079419957677199435997130007426737274678543999153686473431881119082695924831156227883654920834326354816723474493705195072534352412662096536668726721321235666401980433506517910673146467067192449722927767170643379134494940214579880003051074938494881152826512087099718198418105874294106100509427850854741907384088181182047000435732607495189846057165822051707855972130316902285512683611506116616855457696254074020233731493335014125396113388901895520002540200850870359969725505355014925048609435784354843138213656787642982821109156162930590518099509476188258105532597107634170508053899125536283132525050079197549861913985943803221082526357441150271160429916575553179036011631793951677651745126744522284284336028338781418626300583900595312101935616654800112479023886574372794330578849559690023966040642181802106845378487171381907709059462811058997614171286583685501621433363070618045523480341157679740567261868953048286596048270009791363896869242535225232173161998754772908097603912402684224055879296531993947866229440429720993918609448851314155866860807638305017135887607407649589726153606650175993086408307535467651695930804205336129474561271311434673241683489817091560189009056001805874174434978877428882729924238801908000431636501568979261609605170373013011030860193613424650103772133935300790725822782475176302259004483257808752576190962051860667792310698259776662644811927818092485939788724173508384002504451806315198390418079221708844708328230396043594642400150651919706002402132625652687701867859488276267238403744321231358916359843004212435996085008894836055834938945306970849204294267833304511150722156634346080822774617518726599444731272600343215363764372621136973817152292035889198923960458166531906132233812682372435496502479230622998454714596248227619495650631491682581606591448849658118360322217471230942479992337547432204240116374639491296998547684203185721503843652144231419579449313895683163370523315673146432413695296298366479149669118205500353261137054347449097447661026065635708840592601616360753208936414762200681769037199683650566472184953857690759849957798838864986880772033947967424858368874504515743492579122729639157722503247775308520939605376112372215182476540230986167535236135839900958459592445415984498400751989392481420379400043628339436270049691749323240894240735100240920372853561429281488007298469008591783915385142980606155104399210259366032862460400189155447743084426653777396166172744941836804420978528316869013316511377906365115041448719430989510379153644620665114635693918020890811932632164677144195817868084064983906796117782913903718067628978035026696369985705783929037735174719606673006136369408138736350481832863316288708919236396181844035065653104225360253004212296483104851011588285162277824811244544917575732376904304994870450038283716500166264998621928708392632506424682160707157331142881204778303572280992509719788127415881418661443302565379323355156894893711544494641634277557288988160798131162575277906307120732830316950367148304909914586418863267932828012339892479776990474600109156387200380927653586304389740834274924536835025609736177990171273649546327458447473033227620630921739370441768990146756005447970564828538097849604159989095055293824705286298367174071545172070764531150989265582074458733738863702721911155818195833411250227358926780891116818526242910072670122162135263450134042358318332082602976853946497268656821165318602107893428564290210070367766246327098909025883130796181243654021759060443581951896992547469984342056565349241035884566583796938885748626583440194987879729053755837738693648441555796094821762591419415150049324155415576377953731639320740695245361352938080072515162280237169186750779636254907412253811773252625763969759755024653880322987818015642326931210702258719974664394204086345617774282422333546079847694731816996235528736245886451391244485427736439174811490825397152821786104160261187749717901610729076010488154962158669828139585523195113374381591475488680049060434565039773238643047723712113539033964207748793619491842019153346360786898344878818440690162568200333262154818165091153696280935480753209718725818460953386412715448467470238023124453568949503343784627833871841485362114795940918832124261170033808055029771414472732853285249355118548676620417896441464850424868783861904444610927370977197373262148124499802369455630211504245449501913391022681911216082543817214760305175389856700417306179708183679206882964745687718039752923177586590464922491191836036667034675344769312233166328046005291126203288193449691023390249548191317413113513380510161421066648661036498471877354815871926964518470837317697198143815205622418255925635421926784273865094257551562895520270818986696697252551872335634447796530262847949782466651125486858501424607937456397859653101205844378551122492579688291210867613013253265526397988921650092471394773186502689987459035376293927871606158459903420655798699009415018759124488658039636047761880749073645587605144798442443057170507766605923069243012369207222693639306219225513066525328321903704501326266876080538496393265978832058273250623856438842680636695573041339443219000716594977645749998181201913356867627392515819780408880610084427208015146147733404101024304078642307245205995909406486122415576302363074652616292241910922859765253604451103431651340017510504991968362974712877402494585400477001479866196443583865586865633802331645662200098743517049684675629347292869938880484117587937844767846955886942930518471923612444982264935906658493148106907020625935369232142378979590229985230532498614613201099897762819081677772227255679147488868129860353378387947808014390275936166925354163738311154338301778475336357043433945958247611152936400145025631008290447360891386241077824042557862091667152604555527146762943947050186897275401456301973523498171817586528890555440561093377544295069896395498368074976624250366072251315678978206236660601722223996610042262037767859704748448390605447559365678189346858146935021885920376813463486842254932993404484238610456936788329049365631397273190659971670224182117228756036451598212530933714455298020871990135939970862120241104703774664850096603038418458340270297616424844555735647611073952486684950256631183873794082200094532718086762815937738163533476921568784294384923421152610585787763716843686328684291763396325536771220762767351593900573524202627746101172969688575334337127847242656421622504536670736201267626705497267959251238132848064516723631350213794981582785578309975234098362999619926768113723387588755167946037831801952973717651729521216384083542293566068320663511416149610580131678174240617523933605376537678895858259175361294120458247164158062575196149962734050939803354940096084933443238279241640007712261866232238698224711697679534919400526827560810511208657097310164712299647211656121208934708935190208681726643214833878560775198526071708183288100163685341900415396424031078558329382233908417915774896526550610820531118838456695560220212526578819414022358083174335271972263795850731659304140084139289818599500201933816143434724152973594790053071669608544722647164858556814526619966981206148287929391961257541376827970331923818091943102274368854836297211506905546588936836935966084902189498797678744534031249263525547233185117988591380471680181276847613477110478342886945212054213274903434954181287121687360084902088969462977042205744938855554768719748465244371918349334881284449515149517835371680179081059322287136970462412538450721528914329087001569730359184093351420665830212841389204011806168280652852278239698789320610586114082848142044371213496348937307377613009926193420311497485108138911197400985731334988776180350098874564634618524022251806694624993592960736077313912156225132399283640588197181649369782036382789450949550717767689754117491510716356178111823880705477377944762628304511654615496889283791853362883880169346793282945316699118758732123527488400619543758388274830807184513003535344309873872761372904278787128758847394645767909852419897474011339428598492355746096623649494085590223113999370438269288336829838273790117409258539720490753567747981590804485360401802993591189071653550146228335309094356969476485825116236273231823894459167219775114679467537700424860775506968624815373446835193059453209181663079656467864942066358220910399713028946412362642754683097732035170089621372623642567751825465818793786729371070266963894671690440783386712792436004305281514837518349791047715284501808339260055511652373507090159645943357477669475996106485185469319709690224830283471484638122930862521206596149374582586853358300145096554975884191067064475904936149492689230647783721629559416123212505633278019551530945143240801414963823682994255083204897845127798763909643444778683993512483122848166700121747801342609432245179880604808074142881630657944938931362390121393972202340519602647421249795345201508110444902740116057350927126347830687349024249349498402670973134639477562362947231063029959302375899855626898285800077321611435730062508618294836187436821283242385845724670730335566803168377703080580550256484127018910345798864866253242284733219887393395028315532474619472371472843542280635566902834688576496685760841667110420250045315681223715758316424912554535830101637269460564576655416955724360247778025145577575231521169863262942579778773833739375744111593874322416095649661542647381284041306587556686421167427889578937418468073209223617982770555113164975285455817075473988865506613592269482888628323111236673613515606137917967827485679252324724076799369441946164715466378767276222802242620386840292159509945233883068050310000957762848213031419204558421021877197391723978326695381757618036706906791076518969437408552242282212578193330656391139547960410553900358144782230914672157958777125716525997050830819794427782974253490407053793360230626797440689024644051447556013219582921980917489151089552936846124697376171319152219366496383309930502743182210323059389285039905909755699459502207576772775518940170593489660645867648656625168513631810092571387712326182335129542258789337856036466049180771439464477589760571385554671091486019887189297304289756516578219246691544172092408950198048998316852200672964767962297167878494620276913700004741704567916916063886506294155136979504287582666822167854010244983311487598097180781629895724181762842821398701341336976343447321033137851711905303970645767834306733859430250898395334234083737551891397362420519933883486878161035512113819545830517126192257141731778441402531265074737763678529485446749076461189653684181700341685856373860173334157661522161792423421105196244735415238366126242318356155438747436378192319561824715653847184575246777331451809815951246229153356907241737898601184231202069773604739314204127949512226278969688994152297203408005553686980002745229311876656606829759238131251214075283096914705303635638445217233961557697024180046220479105859393085485812396778264117706464102484886735698951244552998802845562322987730707036579462583069073874083614656749836444429384934369255649049779570609406014342056297051617599287967307013399924609508578813515233362618987017766599556569573843219087719967656188164312127088452949311807377230910915172899313890653861916552730601026893108256282841754301408347483682212275062739516756901836206987449001026402199793426673090364600813446683935259862367291415402547896612041988978332730985582597999980221055169212157205331282740860989977745412992832006125723873508782157349559741366286101182252040951638933480892139136396551154249270825276044642245052686097454665408281655909010215142144638524115034619506607166019181034625012503567475716646087557299645755227334019547512191149123064448271241827684731677500896330659970847861211139394933682531643569377748562063771812008117480395449858625751100008748679555533923359901162131636071376711723143275086838560976345266673876882432914809272209544784744861315499167605856074980186765557886065034380277884950318618819531462606436397800888857292755200173426531246793099382165723383348538234303986261242109474513744605146749061474104132866377174188698600310534060192200054528605909812545856969816237971630547654586597072107731478705330387578514750153466863808455883419832434754766735314291042189071478467558003966445999172644695508213720478496709396731047332868201090087698315987680920772578341162481782925855012689811668148641282433118316093015515306676292598212260073432372412901345781192022384911953805514938709785793915670832985509655633570298079154227648034609928458913324861738185667626229576521407174819917015077241535127895244664927924539774291977475679911663609369028590461417407224076306705041193126787240456075758475045002629910817745751260127385002614441515150538193059788789456064351059833079103299647866284261296136108973802586807173424674702161277808874819522065490858312825153002496743148384516971272395884878216508220175595973595844905553968862538899907974831225863241054623659703270398671851094294934148478623820120276981879582455957273891208843441826747161406101103531505949240891528960667145387545066112530616668187584997711356250055282516793248961733304783223845155039847330032406015388381272331180154204015195184335211821663442088167078942129671841728902391700764586243077989788606589828782205767449533698137676776953100820805359456127403368305946048255647159059339391932006623728824877985835767741257135324783083858185445072864785877787675565175384479779152263519324352988285292261077917264876312947568550148971271397318174219897913834154720985633213055917849288797661856865486847903819891503972175591672873541545839812694059244381992554063090468223792345503730437792276674898803931569101361022184367936760691453829423882022860517569500071686089896208694485797560048605923684879773502206656897276255496360947018272317896932537090039525419808735595592655282445696753481343721414208519842468404694835666673841261066713827467058867409782252132746941254225698558182482481075509037287713488259985898498138669340120534483848090951500532778835975117511867804514375276780604388870223799807356636673788352756758300992262658852229038309914902607709394470100017790340793580183124820716855332865124656986473580063356381628819686830364855361166297381016327416537306996883996591235375624608849144685590531534935051700582428003753377412909311780613844214348257686585791611208621833693037556874678868118591524557464765349338353247866916822523935408988094342831625728305760086663646356201924761190459040018169533219702132104501648087502620991479252413844074454240494598957061579061165578149870450751394363689574556436632752096750683452227793739596066494214208824941918421372540121058689478221063198383773186183308882497699075936590148889833640584765734264973593306240465510034513655525509810062215535395192242327275163156598654817839913188180556364914575998670035952246143178270403671602524468557546590949105928909663035287799299835713038512799047632876188326054190752380116743474791039857000971920895635455475054696628983649387210386140036271805324850222323496319085842878913683353101628341618249140759817595207491113776311921825433492979403902462395574145598213246366094075711892094176602294665602036593493139164637800840031440610003699246589382679295438716776964826851615923165840957096564179770258372408235079293665499656297475319184294924720922088533420030486891199156873898851528809804014573532390950481385499469468956531561723223783150020112326065832217391633017488653757915127277544335892766647921212782483872697940517242473930935392691590204491226391721682127893504551763198057600690512678816490144379700722476646654690852949667923136909735774312988678054428250071340523743357191264521673462875433662093098284341242434150585515615055618874371175132967650664709851532914324902709960828134534126201448269791214397781979677735868595124806636843843369703971320619626018989523341051407681143954776258356467911442097092286689717835951913270933316750900605154210663242536701568644582182242493466753341869601390291714859548778779602037736694496444972317782311417825708107232911985117527035755977559094131499891842005535447901558498376481342277587003114279042979897349998244211124200754364865818550198241059362077302104398720275136144558171744681386249058391893807311506387851016729009010801429243034113051675049303866269311971723281969135312609390984239259022752301570580371092846203810212116636590861675554756295385700941847274591231732506072052913476051591586141096719810131003379944456286115194799800202091762698043609479817945261193091050625009632023033886793931655751322640443041616723255203689917392924571971697876202721016792444628896059563707363753315242874101470750927530286300169061046816750420132213016789923696612694575829258448270714984972122646970173109954038388856764362015409206503491166161285637761849500263539044233709714535958652123007519477918914003695654495195940731248908467478562110565674125910655090242080527923412720320988865226825303534461578583145423669597646826713706325789348877483193080047952289975837734923998591009840232996331186430708535458677883975686310062767747541027745918841417837378431544779262578179048984910573518747630685525755101892944153951580815031297522075869837604878989744199515732622742399287551397556635706722359550757723458448373092753079838044323856045434913902958929310740280541712932760452297314280480850827798241410230258749904446090101016725193538470996134979188332924682744638178917090738851648416518829788417960479098304224743168099406133701667804929365341496997326010206205583136463635502724632363232978081355656909731691392812141816999270182218990564071663845363946670513240103249942874760133944588275866015867585084654454709952083050065558535748056424095799976523849277636189767895000158898241593608802623063279952877170220057681964154699607180972000201722886623079303650303366107617813964726447782756179084941710398353860698809670620557678387734397116663251464944684950644930485784508493960974682422843792936277882599391333565264569093100187678163367481456664229761402081926604509595372959493637104341109326766532967655884413817214195001877677005820652447918496976483931919175779465770741823978665538830862391892524323256684538481368580358001270507699421793073020270819692360726620638619501634605346965397696771238480276638476527847434292254280053682397024663159958603208512880508650186398525150540369771727947530116301422188687201710360740343357701230212305132897454119261175934330286165965377535166670410494095529170655458162558856166510689066208455002530427454796180543677382373378499657600564221315627751206738266880024710050934147635473409998601688387753018821094148917289253831114693043669410527386126606853642467435629161100974400559703048508003009248442564654016413987490780898119492549260320001496389483252915269033326882654646490866267195581322708352997974326754295864449128869954385503298412834340490760132697412394432956729834088432508747720106480137336513669656260712941724902055030170121840648073595518280062504214477492304445190656415254893731558818068330846827165168183297297368577594833104850712108038455994903415892749179846836921924989078963100906564368155055733212500898698647270543274588123536828175141638753528695911357754802355441965634553936956673577678110835368275115544871832153535384394746140262508450739167315278338568702171899683968939751350855952577351750607733487137855410403731226390080997421431547612310378653233960055467633893040469953098541404213207312603560575476755336772590905985911323336301543979008835610282254203558888014644070070867082694403697897975546856369575681644027034905241782752291568582435980043641896830192997241121874770601185886551174670476343436618923669518343131552802494079454090766417089423676923843979563309750037867933886126702627331309598770949266954829700746680705410037341084769725991167115453986790657482011494419843264686324167104356637614010797315937449364114505687211772476070604936453045911311749240798047818096929858860811365940074937395955189615603511091602934627380360791800214110571441542155741171201172784738954402541815669859262436237042603799791463255597928285270251745069459037551322281271238949813903843682871444502310000698931994803592968691603399172216037797760258208031448200247652816042106356167425331290342473494981022336820512741631613041859574131925300962241229076209186350920009345949938632068356091238265725554981432358921884807668862830674776498860542975624962770357381685393100855618739604583174485974792652199959204625784607806068327429353734494524193624243210742501591499590413822600144714069531667171505514951367501079974432414984298292299338082151754541551359328963148902053903915179930065007710900522110910350060982590628197103737629268084484413127847444987912875824989454648852001138432089336481143882248097372842897075183546040660930184423545628817310237601733314968199392371867608905377898201277006343136936200701563091861850011313506099834603600648988151178206501415333978618962774140570493885327034232267130895391602666813788125754886461342936049914545133069704517959116149930565077309353264441917442069100959894322446336840327414179275769686574700886181359948663594565167362137602702738026438370416426006277976129415377778813003854981411706028194683666892887416795061445318941407636342188007771359393860664227415572975918196821532988015334598397815068988830042675987703236589663532895771127155472369131872895303220364043920651029952926315138972016316005271409207058011232359415155845881124023640393516925668537997939019690121295839106220317410861799755948110745527924964635950957685280239601549656023689238726934738240074253886507614431868447126851732907537552024888605033251483443635807019099382552998751389566286985885260579968478380777093841312084322636373809024396248607306168564285440725064637762771432503257438259221347481126422458927094476755039593274193802314508580853418533650339399259151903906734947033221897291870320381061565333410512709709737635933539890771834195398118658384377925884273873369777473031302658961792523524996058054426137608956750916141134859875018858198938276098792881256655512631129712872082394446918409521676116942060139119954503602324445589462773866276688231699710483103396377894238510632114947173916441440287330595906104266026727723560435934024911249734403685334464541292412813541424840481490811565718336599189241251723319655772776114585691937948039456161587426158329871587914897920683669399242990163896419155669547267573754531317253506515478468425427690490543823330336639268899022649741195203755694655719231993848999619456176697291689974890107571029569168311517690069790041543030890210228712702266014810993702396014015437720864507703058416352785723848664365814440777826376196792592067452518207082931504777731604358504436765979720124423542851519219094091882904943202250370942388065028506839027895526475349215809585961817232326675853561219949969868319601597333590887767979352744989030555505335238718909291335192490512801123710789978335643017025954183364821288621859899904339447684583186829718341293973894924865713640626914226988497741557789117420612367417814102581710363233476610455055699461873575677015230032551070027606850052251985483163931804138883703342450294829646814755390772531321923494184907765594043727725528641408686503171838390765077593052759889854246014184787670305273574269726209056392957039494712715069024883896568879417126335552403808352965573709115469732892881468764831085637794292212251078604893504407268104371766015311013611086336328899172182523696472511242853775858214757831882665656550564893475548834973145997349780295479416127897938630344230944720838455615234880271209684612121035944496232583861423316480063651342718023887421716131179948245019006882354686468075966084838940810991747216404768392889556079439457673896946628310073124044289119767593368787808708454889307766942471709060773808583965431047131573763421384713713526301023637827408520758780237483476121575744606156036683805750183791296175077605038464392658741404068202184435095462545207415082977364311534991905645572159084261467425473054048718613971423225759569702745780039127926350283410605066701789223839458543797732485624766467156429436992979130298800823545521626883778748012102017164248752645976081786275202628206356872753036261937992890554236296707211373435068567042011825363056636469175907990485145585745943694424197416154128854272689059806771964682028259100421229446231519471826174549801691717497569142435218341494418671220782000146602965078680146421356749858756826047858134779675394567229719677220619098794688702283533564572173205549906682191534848158408376422075374114622853538698178130093546766315896433265513211849504082804095349148125857882879341488758083719320478977557529427121167788157723200598211253527550070543720315402157067916438335313632426235759878378983922940941470314283022778916914603542731075023511548197379280753907921139418588593000985892512582455733744137347045662360501059730065058159325282232088871583938710105751909998480007729668796386005674241433020905879864436859227557408181624068782256482909983357410814371456386918815129622823862162059182271375882366915740492576368529767255173196310695002520662144823405915182697153750012061664010564916119305796305014894113858396575704832586333747091320603456584378814286010242741031657432883594232738834664859828707412176369033061211045574364514070729190422752803427446034665090610808406577293948350969879515245387930218684260404632577598391668097914506106786448318665309512111620344745526778400535869673148855949549475723287109122732242963828164136792911968903800298234167217494960336057171068183424779022062685183856813084154460519369106071533042295463639650882741651923450135642074387831390545342837153814931168473742736074658355716249380665536624540977835420495985745535915963435073401221841946249160739421791162697632612425681289110041807661031414179312753732477065070483226002103925365610642089945748274794046533081126998159461855928746012005381410383806238279201895840636588294729259644150275749038620871705930511535669049666588873903616226224109657579029207196291023499786444240480415622452704941303837619009926874373954318040506953790903447387510412014477736938527108103496485623007758366454474295941065524659297160528799569701197565379808149880266983153736871440139911535326143711977354614883278864813468882264923943648807151766748050236109104717535830468569319560815725903418019691413598115984314962242070482649115388761578079568048990763833825163108281657388727749589993950734287798342797230939265373222156362437031875967944441532133952507954598433147119170913809954082039573515766714564797672746595946576229759827984979948614052009382754314277310720449454773212212594065514671922785759434644375070519532844817469255771095662439085005241660616516116897780553602636839074886441401025882436400356634863224175834815162331231640146814818341923466684540074774325517950190887830521864604860258581526200958609578471301002489940962334305414664783119642266521779920477258359933204769580208700419473309047487462832684977954145722919486405871339723328694934161922180014493435089677082557257185964223626489301973029375620541826396122736975028886719350276693616547833279663626816669802233787825517660178129320427771150058529997147770698884791307728842694697072417453015541523576727643645465591760501656772974609800466966017222461491143183350962305407407075205770166690242097646945842946144654773177776166299715019939830869386212500558182537598202725734465761432432950047184789982046810039420849584827060534203065742409121580646431199773222781318845164302636045938597630412800351960719473846084778921286072211119318031544665949647787880856814209667497485571134145670852208091100129673159283673151249223669605129601505494453543023184988812858121696992918125999077492250532594414129561130044401809894493239024853561613054727902913021679622221996415202853443816896302482199746880595598937140880383615392291486374748322955145352385796889339674555759193735337018485680342361428158015434543629530938983042499226516154020341695037701217638609307981636262814169535294102268026836139861165922939790864219962606895688910789722652078125865582232928606414556536767502501117302019172492281782304812761010848887517406478311199186945572385327909814367853432811662017771848290093056457247950660773453800850966208846454332915254263294964581010425597298354148065679655129516559969348670740405523589347083394453211568813697019025814342838107056476494664253520250272718373159018548303822608100645544051868263719685936675701000247683355899354428290060981276165050040463301899786125724336567513404188917602874435962456631281149461016729123133586868341799022898221245955967532152799502506222248542516486320853471301442463095233030360666923860124422746853066524581079858179572273941082982306682097489386000774842090117962621746421300924556828245647344471548729666106974140235054068732648152743168573921032626377149881811264644829776161571264823694405772043943371872555540898511908674971813236103372533918043726996504894572833216850069685153747134866793884854729778145514533678470372598139146116975974305256236488743754039625789417852624980786731724710938699187658669297380890551250002452660271094521949448363558836418835887485292002118520300567774134583323228102561917186054386733491067777064715712493881743910470502570794793996715812672133065639813281766569014195572992660320896313176742213772099431185375511828163491101118290532590812086203477614483877912890886081383273965983760178507963562152656795438106290370311835436367041180454987374602456814031149898883246190495824254512733637224389534384274951212242025383942461613742815789137261376771984634538011607059673348333353893285651994162588713683613524532685592201666366397254106156544576159897883741450730545005991208954533725370161357691372056597077809050512492741211443827060282760613875833272401854104675271058051652924857939667319256846962832831793381395466005753101328817575958317049985753322138803123389014613726473965574079717427855396338585935451871634112194768721608409876313676044783833683786860450899848876747027002602732317202571877643676017417645094888220649599147804841520744712872888889427001431018118022173364146652209525978187453784143097330149883746774876633776519761540181757845116206723274200914417959916804378970179226960642093362712904739914528316578615802095440221592087751858408159350774370605481806448296794227909722413321886001176180004374648761337712461887135284406457940999050942087622560190908062303823293401326844062701186623267307017986163509460444533996200480851241197221822268917794619963605918506093140487130574814256470239869810196773571135022338707299331318363938555327931920731921396386576678362545520760468637557587520989743099190622266248521552582941392912935603247801249890425102281870247978172065814686961406970147731097367521621284398353884527861676036308384343968646809692134535095723793303077671442573958784521117421493409985329762437109803966006102090371992124391309514141088149469643095675934168819741929864236083967212169077007338276560003811242724657504037575512389589362421847843652524490752121495001418857138938486972021597606030412339628032232097764849197617640191247408044783516112715098580696434159860996533367178435777120987044029031002776234503394222429927713121564488668512680792252207503697404045038604097952664592594242293468803064717010918097340643829415692879385351121122258558033312394711229822434989861186252769027882898200926891042646354836906863343465583235666955494926189354920099153204353256603256581278613452434364445543550555548553319775199587925889934922111836653608224913819632920830333540319276928489322528548974921499101524208276167982945525653147752710443213010810005071355274763862451089032662169232975921728994644006495300954520736263327629685660044718841254873535815447998067823955725148803311435882500539334165567820719126294142623488922245331098202255845930553998402225661294747069652396875667812524544684365017568392039278383609027724779206300674413707102248024487059815537238544774033148851376221523760813990341685509221659560031300593761679834595357395583231974608732740199970713856300077519668178468619065261998186457154301887232618212180710407407620275494172171823048656514616957876348267942145669253546469585006155619641888432551237103260184103404098466732034908419029785130181290282836038345362513840216487609328650761511926063043785961173268573200890665002861567612884182150097041968614809876253318145371713952805661438918890066575726559217254762985902421703889991548147117669772328854482645007064894198723782306000122263863248820992742849279544698549610900734439299201633036145634184297892644309550087728055335245892173784740580144652215170023540640719563719186251583875422953089704258598207361327234051410859107718013495065301185307464195982670138195413613730191681793922511302251450255073331838174931578467097040379888742020360137760645243005445254482397415379070646641953466039387541931478148526285543612465560209515627965982700931071079510493155948881130193838301374115726927615912558246510934079885315575378677737088006986952333788932788117096130276528400419840440175947991311022317035722086600988839296348338435715667477819345119307122981776541852442980471307707666414298830320400060559154491244904338255331822435788003013651008992340505358039154886645897571146480437086094030463459505392053927892360614181532220531569551482333388999242124013132435730647729691126266923789925537887246020026987780269008551012512351347128873881817941786846539294430133338198229725873763769070063653142544317901236342453703567477576976266402074189310576924283017969222548538500077258844274784952606723892175353104321009850551319580258625144065711947462427925599273936056719463837134223956304716118538602379483277632671754203565605272980480149213419359787877116206602931219263299526885095862966985943400000169074155171292519863971147086167911237509402677713398667019551815234541206715327918243317909193016067161586990215323202415313755238756115887861729868206826398432512614077827728526421109752966142881578339734448367572036517984984714246206545477112936448073041381339161452626127491949985446600978198476638471950062609100709125005061845155024102153700509054318590581709298316511071726650054941499991943313798091338175702556935536386785135251822562201414215505200469607160349696468027549201878996706026070809904074351572688398813668376873745711139210694783434203868647668939214055844745697786316255888948489617465213150289043261443888456034780290526870790608105530849705935506390335658879186254883400097173721004332280749336050630693903489688524660357798698069598556299376995180333664556055731832754979310203066018983021256946330454078712893436744372829086929870838517995337664734778547314023961188107720137409020770528442425232349138115864447288910367088929434074271565118627738591938888426827225940457040573269495695755460457729495307930109132944862266344065918841447182634718603330969318642135493365357690631093275113566026391216186382103937500481747898337647048239872117908624429882415334688364134194072548128626164510531005952730310620591427115967335986913785560025649115611074984243572498071198305464261480313402910557892373920099187951686838161070577227876774753664138533341902737152938706051336290613354896942205299484350596370268482115226909693933870098454319073797370171428834210079410986369474686223001742665876751516768533192011162489054291238389629232077075732699902227928044646225189171906819205014287343762487340978625409047679211533920331003647388330525921038194275232168349349269157179517593493839515242409251704024105899743282242438601175730997789964351385516684681234416129213019129208604543320724831919736385105742937093005877471865041654078670020562442618018439764292657295664815559052849182093444110808437774982291363701164877371355142015478836224422554249792243976395098738522884964489379395802829369010564014493427716701413947265967658025960448140483990247343948213181057844288250640154704411583191622783448278964308649677687050283238311077828313978824521427318045074672730917744563218709523947219772277771456836457740154062835338420855406519769756334477934525977564576542972748249126714055820274141427632318219507113886419462943512479280650007491807715283434297465033829742443232483695572508201106615736139536545254960619498605830731488733197551830882814593383727687023872412855304385216270097007517338162667946015346550992573775365333794476671917586095593911688600143021400495043426428701428814673482094830223057523576772481381029728973000947643448480463765663463234852690756834884715989604343506941870327356382083173800972778449209022060535020180924658052080446503473833854814701768960933594894403070123467043378986814567765872120623765939750313475900803271055006538984294302885727107228285214973413503852991315196061570133671046241570325009071518827300333264097880653260781294664762372908806770315409731656141038544478184405083383907630649632800933318052985233129250688673452050526480372116041810789167437502787939034881613552553918001794949374773822883731843236941771780335995233702034502913932098177034847832006729160627943191161132950309606684112999849508597510493524702742222665296033900490408971200787857938705420704935874563052550630905602903279948913896125484105871180989185941383118499967119707874149972899047404619901948104705235326133150614332575873802292135091514319170043927778684661619376821992198790143100492893071536823135464395343464306850154685187986062006496949090055761841305937949236561201984576806098623117071534083109624120885920584459852729958670350282147095434532487695171609828304167297011891332763970398354236154221281445866231739980545631518598358533680715809973610323354158032198753768781588742311974187465551722981712116066421560889374039285569971841370336946624324484068190598999293612001067488710289536501300252109679753628469855084165191548768998124916707915939236747323695905540474050601437213704287637363855166444061483316268902375921972834470392984954101270285727765027528520854889788060294662103282675397888809989830075685981451210368677277686772078696377329873560867424744796839771035028957248447164729654958444521165371504198845819579125268769949719963555971616917834858246784064005153930293704489884736605796880631586880194782718751408992737082085259718757403094717156908405603393493845593910919833099551351736771377343980611091064699245164365808860705318841893768372425905850747642065423796495405777314764783873313271189989794739356361542064415185034354844757502113309251345107481008998700967007077753000351932491723689196356295724278868061846096944776375974719515619365683921615749189368764629188912168728033597856861122713922588266962872736693193497963681094554490247272646602335020695258520636396368285619291352953183266099030660814351416095020320310623554143062749450080238084805015783046398621561859492688744374347823355779406362336339134079484905941732066348219144059580580488625199577395063482010712199268878576470026949760282970263263142779151024403713504859484729044627801552223478934830613345449565780341625130421335241103324887707085000247364880257812995113019105849790077296422464940771917023850409109958421496336599787346693211994639897083412631597337975802323338630016041766224538586307423434128990610799617127224647554341341176136730641444028474688537061342583743169105718419133272158564087906050362078474936803359230521540674379472006130884732993779487291603844967147172471414634972488215070630985987889863120046973990405559016982085342201991247201105743190168738576543528625610984433483056049016084480467066623198328944322975533997337336093572903906173598658997118219954655225222768456504627644334969640996257853085763174063266474091197755238662678960797143746451462695857597296806690096634833436283965286520782712669706897996931658341368657777750902913005276388380155156946561352398117091536131457511188031433529405928107234943445994577794492647647082586535760038753028791901600956033321917916639098676960452908260004938507529238018686514106109934699796432019004515207970858469962818723048411510689763795652486033901656903601815293743852905727985170904596678354098954420101685819959091822088401941809202003166167653189945738737977544028508861222407948334072366399800955996677179298516506812610418271439987827943280771156947435119744959816698351883074501982996149506277946376315842080111240368504239593204263874734051816931727288147762637046115070866807378969314881368583135921466239628078263836293890587892383816978307297285305818536401548387883461986913761489806054814770847911557545225122731903005221090031318471756400521582679301941462680413101412783810085649934958955785053015683045683210321274741711922949662911814118504415715445115523482438587861598355663864040890803180432394365440005938021986102209100847861905836574145646906035312136739385024794486726888441419827984251201089638475766506966790711427524014684782958249684049389816764404306570627196300508060242270992836511717253710469530663032108269699147976074174039455307693922978962888212129575595926366247093686893064136742122438297619807146602927392684820089118430741096764046018784158316123853230074080507552598118822096228092321589999335149313083023323812123735818323053266753536701635174610560783499647716277930167449789430457742968384063866040572383807857337636372535021730925272558725755548037269497209308577904083917500542891034343610864829111779067217162857198817095684118676916919976524407918966635646530384018388970017362003425754263826958690682979756767010446574672536869405912090465342892386953160301166210410345390454042192709502882794061061965970706989856930770994531916258858795050628333298745165536332041383966395800306651550209067607425190683821644322879289414670318985385706262541784754135370673336259650859958094049182722051143063771471378227545640626534335172757616384837977967980379533596264438303043625397047679157153208987229412109199796892905023866223518116777554090390415857827756830372686942406607222148891889698906959061729384998329562726517400537793856176172651447302792727301856113890555924432915576012196623190536188368313973895144155528657435555300590254255228314228958834263556529254645373541878868134630263590964024383961753559184935372939551726159825918269303558764270687733764753441804166016549488970436646526476196544952416773664689907667277157326362976684603595510650452675572704152900268008267786624149565958577652577474575842672310861816957786730628862367062345756249080678929516411056021655839288141535731872745498574289039404477562648308570987994541326197399115233942342411064115064654540194462537632753379285639692938056059455118261117630129983627928406968169038824564771372850372389049955796222388433261834588170916984448676514847453340829371194078448509601782105444017392281361537179367521535652666975691264243461685555316425725809597325090084959321518761461936583284841388719046476075748935857781029473579745270324866310015398170343896707184575832729401544761434188454558198184182312244947970073017155851756535326519237750114396273255053669795126956561666322993884223636059902451366999935170429698515196139024087131051011223408842147866080419617357565171129155045788995750935512239268453345948706795263295404562937344636819730567366656991224354922577315737114485700851139355507277363153559004268234895422319362957752215651650993125251065545739213676695124832867057418377790321907820578340909548193255743965061136395304680473287162104012114278104906850990653041561877862113569023353923510639844996751612494015883366953153397209276949618372671083841804480528119674553699835573845673558851723693498767343244014672723083911642322030343919821377539472148401222520105156504655900772669517820940720811571265898744981016573126211689501159598079020137109268330455170091860653323218108432784139315501625571299969221310797240737968143454753259218172844844451436656447940290554065672091850370259428738975841005484327183951745648445881905628331094117719801207741685164630034331030972295021540421336437660890603292879241207257097630986196762461665706418434054928397429499988185360041718277120389663677850398185735724053153124686431248707163532324517731130534489604238560473776723525968797850052324941010025678693405559418308135143319518781272198414397781633182054427781155695321682371747142651930681348082161673218527273863892480314078575921056316515681797776005904430680728942470829881300368548740304771913103373569036421585922920915881204655964107891337908689857187182424947129070145118303516961348817583148758603138384478443184232692480989466452690059473546778666959412481000514877850629702890757670461813823857823090748657468767378484615848695924514856840253619636910367738067978315473474325830254605681431934566463893521827943296722557841914606353289466347075498655607385571615998111349064622465559695757270821858716693451375666505134004103961516324336167323749145479056367703905371221302053192944944287105253863195669736895271153183082578010526374692059535084201277970753861872947654791611740649575455048787471139722158112027356230497462015104580702311066440837927039112121131334520469309322953544965031163544718883235359748911748919875117238756506255900342199911893936366901937999673116598130897247273522443140914979846283684637863588561406407445827384250426111218207543472155001051102795858484582338765833457767760579404258605041008157416277866951294694133108487056020701056200759010101582159557610303768428086635915191273859548751785353567194386703434701977657848212789273607765344551225957723926855902784448364026405336889271513789635529787428423578304410776972925236336302450373696669917176526390693563763607254144345026693374794997042743042515065565917949241183567225080613203305606694398760426356682933794068032514104269486086741640993789635982015217664285785752505073198763123471778485115312503534472851007193941967027769478665413483483804516496154511722052106055394518458362558170772316026189504944703363802534529471126006768722452103018004346163974052777546891153118271168978181038556233371270031494592248168553034048580529102718577514702524631868729862699280163441944671003422427994817037966560656100017276026515125129689483820753028410949345653528502207696048592729291671253907985981089796249737212453086505679781914251006434828122567091590213012422595543080804909011098870616418718822587334677884243622078718465296885780539243805064616267725907712575720776420916370628060104569906385496576498631122585738650612731171758007028979474517209978919953896803233398850241489743659393987456139154400038111405634509389897659083364580224757549770649909421092181947775896573566213242766095158844514500993204489072971747007096324926067734030010756558555277186216872787000794671383880703826090191138129999972697758550496680166801399903234915309938050476881976154378632236689087236420141227394958868501851185751568498562390123988716604279481659787872648687381426232757152595421856640541414518881998664093154168540894701240533553968884430853872269832630289682570844233076754434079204426896126249493612121131586884018803480930619692270109069114327902076706116585073033956153548681779526300751105518212759637844734015936074782823061426112213778751311730049557112419265979176927869505329107553702480904829850419229191132876211720448872570783125262235466285153942624135031586922181456175740793967729640608754889714746236986883745722996125691923457507687959781614707754635342328488897369836498064443953628916001609588000762238296474460889002194683339567755019050270895898476240428422839774123016718962652663398934269250841270409229494340566280546814398842552562030013251586307086847574335592862939866964707542125508431907974715568833772606181955208454365330338172456506616676017492490723538858933183795851181796445585351229176223197397196977886620068447880467583260198988091615302865678972007033626682176942931569451413512027882397207758939511547171091600081698713926630189547676990066322239695952092365099504262890887755287122519635816929129785140870519121810294690841003083964501028304804498268223428556640622233967791704568412247148588466108966696284056585358246987680148984442094830053569149762813983065814360405977445660774398002252167738489749023099032785230821386760926152795438633745485058824663218927368986877042186408415061197380389375487875523349382868283442642254067348526529044001804830982314347846192879373609594850229473350523584404573387363210342096030368712457785212521722008871351293487268243679683777283634717302943668140788103457963743563438706629386920811251859221956848947999027309087549770178530857217451064334000147365817696482193406085902597323774929127602780869240505148339014193042799757615654644346790801676784536977825279907034316616024554366382678639532524209056047240791511080017627421045917517776836674297380368402080414796562748310608808766744346265377067242054315375869649709090558554781889399038773410806593305557884139571294213907699523725087905508021822768767224972016925174343471219049955477595769927180513519116609536851520243546220760597308777161094862599766038341327121914264479359744581538038784877321256388385408424083319600980578035405195105684335785992219989674521357000658649634639192354868216018967589108781864594467684664408922101990546509448860204986354059492397996075293177593850377761568527439235226968650666908473169761483920046556320547822130091146396218881399868336937586465476200912959991706909782733497076870835443587015727402513371278779198956793875221194312024107761376692942780221908219178575257882168959240717656958893629649459244238691619155773271547952529553495620791819910605450597803703624473057555590005041375157067483728052580529792948916389583068777576930159926657720549182979624580478874490106584384316082346646688824589888860295266938940162133644005003012322959255177155350268805309653109979358728741543279373225223482951342379244792266658329504416058256476105161018670760540198718211682829171430419467609547807427255490507122925024212791633276391282533399932591257395263370019129075522166009951303826920340574911149797184959739754738788661770825192048382057504408177410343861462271611569493648404746753864376694990975887344955285988404127362562238222001161837040030449564675194225183282138059290966525652032230116286055571375251817032714909026644410886579332720258327668209681992769091399351105304043793198133153586858580764146583554485340246855060184914159601027574879851097678908572679333553047497430721573362477309930722887419514932497081684284513088475079742912795699259391175744765138544837253843854351670129682920804339167441598839465185122829176067553728330155981327829158903598404835984932987075002523280029656795456219669913866609819407110219945545437464347530132691130897895861563339605594623358471106203987088942426864750322554862810559548398464183692350837860400846422491743060212706210967621763561621119213568556781785212856693156671341956963580621392374424396049696349621067673334816664668342593331022302300051099504988182659531411797779711025210559743222095099572003214442629199176237302802165701575984957566213009728199096086185881278698768529215717785796867490922314433116048457159068840118619239840618136824441175025256251018866813914722170557104344214190982892194071051155391815104693713675262710031131185443119312283762859869783982079841720005615591206734692227620705572878583147338596178667414152520453967206437228805797567728915379567572437357296103358646617479248555244392910911462827048489284158112432534010303575563775124360302117287963791537471671808384294894042315413173172748998319726376636757167011471920957356705703110236832671307455064627845525140046380883752091229243865169738067990943288778541261900255386990421681315139710574291483439036003312212359348632122286790793468352999537789372404532928281284214256042077246557406248394942993535398271151883087358271565088472007379755084248495095419890144780796815157528341407024525203091376232809261941365615264732611756636277658104509252217934735615236890783276013857111249015236302041366522798290195431020111767986518568711466661489133598771307181927162368729609105547479220417818424982471641657291401599598853393993303234116119766162713890317253721207549005390062549185773595752633923424778905494184916404412820732335407715043651370592779512084938830123514225266925178493113714329334309092896105428014379173398289054069645219440827076064656520799146474729029727623308541906021308792886051888937000844131500281424966057475614975542256568414184086194394145796543027886634375441071380516064470532809482488500739262629139853074465621776938946109531450439637204542455955232882801664049386969748857001365489234499146670765655062596139463401171873530035663169682699518424407680006714140501601747785651929750586051663931560253695753817269195294515496917457994502050255078538276061796982486161358303588481940554734359964203985355199350561412168484305723779585526167160229934226593315405253039052297886990153647092276071512256912377526336556012948318027772382406776589874127180316262994780708833863909184333760532451341533042309030622361833083075702729454153202985637395036213963552773153447124604303457639916117923994737383785975620240105220962200482717114090721217926984130735270971393324797897648241384486315158047972998813567798961066586033423057931379581854813276947045154515715146261219975903569254932375657376912241992406874396644052039122998670309534191470954735539049853026241516774209289418476006659796986941458385816613398763855268104257917018213867315443642731429756086235484450384385382582963918582618541643086938539225312168086550817175965648295420955938876520908186452968325538468381348149432990211636301911508085194110338671024032581759821465847618610108625024785961761818712922328292029122045663397477340457531955256245549298311024655397248070007305149618096523131562979309680835282839565398555656285869618965546533503796364599073508988515881411698663644027026710878945433264627231890445113720322291481109161420194406447790383487765648085461707888239346039138344024990612701223977939618276199981419954140628455928011110888727976946960236248771100566910749462375483401616573306614423825562470636514629697185320569615500230408127563172980443872504792223812377944439777840299003567046123012340949547515259446088054484175330108313002776705638097451447673591731467543557589729487933794397808428999919014586755877682257428891451178460890817403763165152598169023376349789260894248306932732619769203451684089090343441734741470799915422598235564453413862012321114506331284632977760118330753269194946454006694730474297187085592053676619205714882920751770098964794458852600810069398908710808781736228369336276653647981132852977358513525248011127798243016402749828213935054940417124932423665278603985879109582783452458806177424259719369145781104906178740229148443360524589081790279585374111536991012180585952532671362300481604741270970233136147486553385623394999418398675578561039185680745047950606125189440396541630157023897133658768053092767018810903414468578568786584856548386428294559839212343963483034619690421530110108104771080852646843316079008243120588803752228717480240469978721914085713410916198337570709482202392969128348330758599587696044574433730082754336084622751035847006093357536465268706596866858307080002023421846603062554886555531415110242589586469356957598762497489873105708896297597655837954139170452023216979175520872832045564714856466212282812110664650271069511752060966567911457548987109908827277064206816621394258277152398652825076832998550244767664863978556988870836432292711853410486542356999151957151009055727174622843910578483930597952110043738808484860081942343656757536797812790611887038824668392853608803660267409970535132681923056778027130919315767833198684303932468488301376807128608582157332637241415884737168613160575354080529658231623141358227184392250390031520324604747820515189026645414535674974643939857000172586072339643826353277513426406259106919386690223810737321160590417469634022216315420907129471133615795672414964500782790903351729175056537352962421816419316227018738068170958098953977157320812340171859214233870679323764365111537236270109209201995348281047470050879597089618793124514048666641976827492985108298157797085940776381383193298552397268037656051958206113856144926262931072754437811186016013588528952380854237824247624420804803352575712730624376531007569763527621893007374178046912384190251050759921825995618934504245368305685482969760766016852451105354082632123050214669846023282702434750876464482452155864412179620639472434911746020997220280765022262996435611382568417681495455784622561935943842124231223463872303239310207215029050025045052851346453872825740703968412126329774998832165434963772911413254422967855191905144905705308362087581981439814106180704448498222395807331703295578583222840339471937480002567176286158396661375238604085229559374828188861915623619369371602013204105944423825815622153895342179535523083836040901801140801333862530923459488652125614481101178885076421977762968280909286033958392838418189652728490002226486067548565628311351170856351221254715805116627654251780301296559559537933533868419966310537893178923556926883150792916040406480568636024283048320945117697998253387319803795854958866836643511088109628483762921049283479132780148054415360300311168012405980492658401405312635845807899658276406829506293007848167854937149219450459637655656789207757793759955124304802655067626151621472131019985934856671573634374266231237180398727437010902057383637189683579511329295214621111518372882266580572514984469934204825150121954459508768573996162752879845848999798528199215263983775477751254237382391685967736542278178502657145384937414130887533570136507373378352607563072756923585665298798855746443515190968521582384450252930775201278272118011466404101329922581026156300959006191063452108662562305603250616190494590176110942471869443348223455252006259599066313917254932195821435035203006357795340325835208537624862490949115572217043512717238086873253334870153032590513736307314644009680738557327448222167542890630907771115633323431057520726765669340847932363771841485256609916765885090364398825116973303364641200623013815830110021598674533718860688970649993970642267994051386166650051814690375984125265088431355633434580591134567992219479285832663621889199474553756747536855349745273945610974097375916059742087337078051504633088543935581312779853303700237279056985631684224657191175514088378628558321112151019563348094288511717996864530709019458025065246965475333837940309793805596024111479265333409202618232809618403099821366439052311573095322054247206471234327970290940340575740599870501295373240155396707379569422877989922857479501138602057596613611559307981441962688606050499317873053817624289614863171963058800078163196331902212995595645169126784857233409259970299870138906652926001686190944710473348935531972639948700158692786988201789846390277860052935475031405168951806598874106887756298891529028369725055715799191843755342431985674683359434687640026608289625739192597244627639870605504878873791596392750503236305358300852952638643557584014421671719984402127100118867596546142601954325937725542143574797828266310965258370907538723857791328322188824019950806437089005541479451032577395696210773164540456917354889856492460986501912401786068907525585548076641091193297091056687624700508343328649576382844054966867800470699377563272088299157143221781043917830075242593415894509170932298727662015135311325120131218703133639580175106665810527903987451095382999862180727186461157245096006646318213488742982199811332448288045926806172701124488084176615447987931587302497321425361729200464893192558652770790168111157345954686154662733445911089251916831450446128100230698681026736009859668093763657085502916952754134477178968432948985493712773573679847728249501079657198234495463247299484635226980768736808008964622302999097845353888272245945795384069468946121737560245686546041910624302908742226161720745939892450051845484549307553871752681341843985787076777307102771484254633295141836757853265554648380684770478582588265771315528950887890103670383336158112594450777547437953267124225231392749749332449983644608532487955370504727167582187218833241138775598582131717764842894401977192865247273923264619757517870783477182569898574924494526234217305343477621327212723604227808901409751921030529749790787670093040989510101934815061586865577135587276109844591240030840893133730806204978443989802408017963556670777133597896581741421259948901657657803591468211402950940210550446858965588418870848056886895414886897030545231675723301654721729415715518176051362563273730932164349824701254685036522587105930659040115490405784297222722698874000452980156338363530811143453692872182128705250801462249462445393470674795177444155739640635322285812805715158948361912108891898864560756727106882331149105370695298896890360595119635327065514944000929579628194968794537752238373410196126044673723811178563009850455177840594421533067633037787939625651284529531214850860366176192429128603967986528890270263016908372015027317854358603865514548147855867263100567255151335173519313366446250577261766053822957877789981557615058272768703563390107345568490010907484201238731932456588135973292247024782534462046505777165592951154828624788287330617527049554645158911545834962623167429917892747684036798534575508353856044989552791676023627023132341296595226742654652954708631867728287062127818331105435751307704077294609602194180241641670821753750379866315475545961828989146985037410257777511249166959557414190866336119255903911605257087668958524264069090380832429093099589695337483486679633125907693327034163818720610470791000673317108696166686687346538456788432414333595888873473652172356639799347617491057810122269218525604989903509053214926630140346643390941549877900302150699122967995751483305441268763119441754116649873876792486503857790409825605674130316478036291884743084853334236166569279503630585204601247174778792418069490922919156278894820834029315572377054167863252143380071866185393055881478581499463100006765819303778686418494205937335838459784910110365195911538632488012678779177511901042115228025111577905478248150007448429358646613148438071224307383376518438961431570718670116380175344125086398757421455754879383607712564941116319114343046741872771344530432497503979045207404171165244454436435619888138385869922177714356187746902722993396943647925015029545046278967258279365079800340358459682026797208537112091702873763658900510196415114463719426162929684018421221121210294197801311436603509390748536146690471964728108864945699932741853089107075844012195897499803337175057558633121431872262197798498206272068355194375390686510704949382452462462781350295226472630705976092594827678037528536779933922691957641855882913853289596167777777100408048668748404985059171689495437949327652451141934976401261858670019323421418113478086969481144896858239340358250561197545450118270662076759205609711777182416049996648645545475133495352587034149649531057818308070131029881424360537341608182196384550663840321193044429742075166527309863747902277380699169847017388010583358966939901509357950978162308 : 241290989515960590730696113318344633525296608614934996739439652030845999496368178678748998592528525021978759646868751861680436206298043540386702578475757742484108466268036571169329957671705335297053595599124918308142124098321208985180368697976229911586689181968334784171355905529884854335287687063368181760705421338128461830014178800391864233932832410197782412052696144461002976686715556165295611613220305779883217522792476566096147748058702089353961987703748908170174337041189410981882697766331064191998197106548413722609250188754380522895672074142196509061059865107299552813761907856064975649405953461274399785188183863890483419502311386189538635155068256736591937568131843913255190413027479629158466482945693220093383993738188912071504831389126781903016470345704425554474629080756066659530529889639400895691711110285009077530768943980326481591545898417737803601558661542426128242581693137308892514847440969619548326333305339239292060424213253476987105703995545487282331141161673658988285524430083946946669349681817611273968054437429726332835488812424124519120181598780122015645146436315194923085097238243436385746569270261302506678045695939213894089162565714911200940985251171313608312179854795950039296762123257302744338967775260885972298166093454802804085661384476681495200770931426149775427103674073986736302686074920226458049430840465002036878840941832390982187472424906879721210301009910019553976995674554443628479801535754949983399160757531946178290839080823653223424923111826420728941202411530017211606803839838471065251271155302211428692138618110648892062537995730612599807561292623659422815359136836342298576531469072394813614874559348632987908339172708122842732881335095577466915851537145303045384789878200349535862736491867342952093842471366688060693819452770760235995519777333907784772208147505909819954574738219038475590142116156734147761755472836049892890914998859534526428770410047127829090700429830821084622307959939551162089641288097276011478671683332301369432912398073772768545113578763017569245527552622411227344252276591367772545390005816798998996945848782892968737815021999911939002495917024756581109209900477326643470376610528958375011455361932348715399063004878489221338220842871358810225077902498494739086292693362417769240435012022556279746590259721029312928924685122679577407052598737117741724527834969817201790341208802193416179587375187836095201244375321865981967273060052998328788488006479949591917709179046736578733556731016268237762826936029609464637319496983812381248944320766037091559828069013820596791800183106964210678989671215161305316394921754677102284159766060407266845396783773537434825134632349444487933896166136656593737126693844710647437327054534101461832183427898039240225173987137984120637602269019239192314229265934224064644099577846471976682141458859107696133377600070709201918601012917087195849423770244726900824316230773637140486291534119434994006124533450278268685591424996024850492809795950644768783235777042498610804362802978496667042518158714527159362026745721484251130641831256665386924384348689151289742116528806821760015196924531101481477809931778292908587980004102003735882939254774735828827640622255390149861339927487962925987294661391242110761480894545523859309204507422580715421338463728681927421242553204282581351973611934250706447179139024388595744357075314523844947415549169651233738279221029671184724853891389391612075108010751547131220273485760708005094562561238310623076575756671822798052047085443289289782437646888157591742782030974198301637678725648545860033908814505293076152602535437489668556028765010681409494973916515905582300701935310143045852457008835105326710151594985417315182730862654857958070742966589214538830143015391939865749612487080842040664983239036166638705539751180966473691380171391635209504166797205967730446355926425182815811019230836564767083940380914935813206669339069245646188609109129797044654530833086440397722568113820988884006656369729978030549819284813781163697846701743338468497456089865614495785590435797452018348251235293805917258917773831389492649821313918125939202168373819670904484243730421334923567548413889803118390475292025498266865556410287216924921789148962315503421431274053333087982324735549457044862620163099520144308268073320131109639232601366679851960868771018226597215833345233964321070588849590773361897171615650021039052586340118610040432151004432421193515803074369321627707368479707790464601704517082110691433218915360000609692457444129112888989074915383277745301884069430618256015492279287531356230284150795635200634286621960560349991732392876087555011345563465725775295653905757833255659226072315963967610476737703971588662231036505131202500581205735344960921060835253602929146373392641951487686913888365036171643074959235071743389872843172425755099554299130014815521656844168373811886010781394011165887943913180654294976711941409405634359753936397580811567127986535207954204925447835487143925398332897861977565320392428088645000471391638114176046603747462666287321920250856152403661159320682170749441293608523718161226383394723894724367163537550450914171478233088034562268250457413338141373045374783834211318507520507099970667228035002502566687047110129547695561322179365687052321632270423015543620816705421709478836995417064918616768145219942598912978142820696435548720254410233110073503536111093595868352322290859243240726804458925298076519088560621888257655985049347453320787390807145088876899974702508068821385616071915058551398865166887378569948356798842345270541795390168269074815389989934318389631401515518948173888563127606912282969162287520727257678768288622448856003219960311855644359730457138192717096254371773890077798907719145296733144125011825017739735523993035772583280364235175046115147659663867323046245783425949600129895973761631572575084975291147185522965383131133223648695617152747513975573155035986678346537208177891372699868116405156912088086047255020223025894381841179497146206396503300631546084360366854128177819296340205253827910929398195076690011138392785410409359686492452145680456554918184439028143191210499620391818752423472850002399152091228255840563641923101693602127559805706883286388696652786384504974281515817452472871322197631131738289713836927024591704988233798816850407580963760585279921631219841036667582348964175547902245230476267702029945976381362888961605558725030400156692069244739851676882273086010356845048207466869214248063395391470004874455422212418548874910651102456339559292572065886646948687791022152401092861467918891815097206666175301347406832532649974327138148781469209653208581692851193326146010382557963634142474036609959747623064598740337681536994142237520737676041012590348784936339032400681194821585079451920355104435469289104169856015320321940441232197569168746872391335327136866916259412782047428352822846546885313621360411053565937459875707853308737156987322177247953877153444304684856258101477460714840697928888091571984534277904719713019901785875157115411467091751529734721201481354373528304724113331822295413726456845780252357746914873356510238449492226557455647431549977252239296955535888352550570090639002721361246381481062855096587822063878682790329852824869927940627036317214190516381408314186394258698985412844472424855441185787495536572905713440261058502417563492514917707128395856163576605282324395339551730193904580146100906924530689787419767446447371881508616340048907061051053618402177811451211420421372478962055390557542695829909683567868792395555054484101273958463248106604525739284476450874642453594569424373493134612515285867918461723605299231107852735324159195342627750698604757434413354231866627093532478806915552175821327856232309321014268703584079880885933924547491605118062040840363873888437159880214777105421283589099831000233687841257818197068907001932696494157681428043048112156553410798284111695843552821829706064369822743862087072983831464966703826620687618696167595591571976090736802190611512479554475499062910371491551454853425619545470965582006406092011296225910974472575259013073215525896157038671694150012890664400147699585482759216475652367020105971613750086141215039955578478002229881751142336608196904549224263327414911953306837317727839957362000513669114081269662536034728139072256461418476821897643453152865244050581372913090848172244914260746664091679729158738574445227222535294905462885208835494246176608113329022269927926573977417557406738085654899611277340976195130395624993624960915459536078244482490034871483657400430062043764945626006782443510208329076838856891302755749065153704927985038870142475655481427000812049087906709884956325126829897226865263511487460843354954933836454353929671385873189064788539505956023264029738959925357941132961546106433455569193663143557270267882173953056945758727626133129134170279876611115025408058371667656567942851302597500901135768776503655309941733729858371654808807289267566750019223280050230258725214030105782739670068754463848778091653624047842031516191228774758606954670302696421426017395403378264180813140873877187157918827168674610624705849024724697653918296128387762875103714578076842531813559215328288430568079214259272642856812673389482555142770639058573929310532658752063630711815176615091438794738938322976953178888376295035732729241456963109905266184138940804671934965930037646089995506103786672530907352650586504529965680081637359722201612612632597026544164667888409763720500295763039270313854560079537716117420084574507301231207052055903016283635665414470986101012747799429797599121903200716584103023148450170701678886667598274274814926468146096833813595923254177088734221602215847785256385360351276506985675770001063782634328909624135057310738442794823290334558185749288586110392643484879043870708835625647974427987577206476129626138440119113897372273726372317057396433906189704658410290494148149759672222925192128014214972926948490728869233861870370043663930481625762853411640695334197885503176680058351298142338240721499614087679217628341611371872119327690506597934910377556579782869608717045592561337118888858324347425478882988524928572148739713816769875887996612131839632168763196916411481723008471471270950055073033210729375301877756815687137440817902691734285151435630508175102095166222814749021523523618458652736452550974375479214009263815514237785902899564849192455534401027425260964567968987187102187065564773326395001837050285782519342797119455792042886091956953677039762802117674370083504109749533982343248445327771559719973116501782146481633333566149283163226994633425507334886916732266068856778546363039704580427086699354432180197320338359169820096878698086559734897664887468314373072901570101777084357135862688554744220189562610171298462346580172675712210549941604602389032031907076178303829547384687255829194611497269173017201944825306437615405696094999238601304531319883496410460923826029395510906889462671743030941092638971857530188419712969273842786766002427597505030045541725947617273077587548583098235264311259245629592716812319987484031236035437989373238651744792096948172686615511658852878717685552815175652247845211073820668046874679350591982600075872778114837928687876937075284010923538139060552554088542087713975218649552848594628856236183552905981819335184068150565658811407396751717052566510811149546564260256461386591655980255457129855018191275642840360573922450673779668173910107461050191150688720111134286176561670887273418211135109693624683885086118556973893424743466659137004008341032895096802540875923036617796784865728778215262327481198967096850869685008300102998325013236850121694000788726293376395700286670129898241083920077118183627050706710267908998572522412322818771006711003724039101269309353376753245016853886370846695672996224846993134804066426831661252072373796496414183197930415159051717376013445829154192270007288089882097407344903111090428210579819765733453476339551560880642655923385047077424164926217516129576075506021966790305198788425925770522051741022703207322434879155056217524714341076468674719433636033668744244421262415121383334668860040316325466965042611339230702389935510242457377803928170184708304130978421949486803572340543190768920894642622477574427080128091311021294627600474094914296804760521440516964978416480565955481605300920031673248041248424014175847182039981791023393929042372025784771424715903021757294910354603990655030958197838732080182481442042383671851276365891850568387281141527678267552184537341330204669493097763276307885565999465820367430581703235495885494708070418037482039880055322260044721329839123722805987334863280964055814425887492389543127709748015193959754028305470451069590377220808031402382951081458943671287596077588679793953788357720639110608970930367212619912580514883505662019607911663128797996362019047834182605402683205554835934338978896021901686633964144777660743765714538224689767891960875268428279873525358394572244221170932997833130160918521649542817827422658454358405977223606254657530908411765931004147182863139319785332334429127300211142295094610503037957902457139846724667316488725469366023494495487513763425502248254966401195491429295717428371935636478995927176657195113100301079351635335535441895817785405332678254830720400913290474223136938235219149514428948108096050123107508717164434681675160050026126845249453370651957356072673082549112798181002596512639274922893643455120963108172981223319108776323831040204018118316245958617147027833236573003447693680106451544118032062394838116932547407169946183982420820492427762732445200504210613208683496907993322080117551457672441075593522867165557596103882279138353433987388751039618411206582744139778099949670205174709182512401380286663677816809093591101715805957994577754779800726493722811770057456287383957322246212999357748740839832260852896771464106591198305734810076910217293499107097347619717600605996421351092982499354645620694270881607878955946562194366397842558474630843451311046788716433886028733568622991972171854157607732135470992374854659212609531871679141933596354017836306761707180744307380735094497413084744899287149651864904285065525785563042183338050839055261866844027381055750326704702463696832362596192200482599479842104729497724948388720867590061740008796112288865542138453519299091326363001657519738302502060514806986679505411227035969383066743239072784014104885922652907631839214671978429800667187564387533359249969372889611395772204742486642603735034032710650446655365437115088084568806153105041614459237957783526898729234676334157183815220195210131822631456666783101217860811372803145234314855490393377569711088506966558768665587683640543770752004255723677177531230920346335229435844577283354891746873734739662776341566404783516086858602358616562895510113286190023825362873907874576993524608566560332544212355603269552200108497803851091091478763234794770454966174294500138901477031908492761523444314839340166185793576298670073519669260608583227855456724688666309305994520627073255245650307422517791184040961734033717056964158914171902720971196659032779791016970206650494194114747077330744095011046049080776686859589606352877982414893152102822968785086729566596855739349192763478823821671954389837830559336163604043395228459907984086675876249161791511905907477100228953494973154748871008478399686567686732757659600419817949145389147915400740537757261715677832031951600424177379512849816854132160366462183195410618031029530635153715003114957747532109685036632155055392706262538003554547004405700271178127720126094964889187661018561711491844860677252413019325819680830616660073521632115794142504477920820692046520204153119597669535681793821624810800509517781371254939462506172284419694567432496215895749516263807600970290525688887067857469478750774152623622966670259621133176371436309252573322723738542924527379244031513423067361542117410719764864996368845053734597582465585576270554758691634909999531910291355224411289785327691369792215027914597032812952618602036216560427071541340176347163417784162372628055733142850727119036618472347314624101761725054114522233657429114445652326639785049883967804776782247064011970888474596909481254795190140745364762499313627881246256648729704737750440070425099076442149349991659148170865773817546964143865905611472646925600179017679506243771623767605556453416719776707288489288444542784457813660210504319083997030101505896036175375195768576874518206978078487415273775869159977077200278920257560920703072594498949838596203581407454578649268396419451509830545299385949172970181512161568914124225313113984947232488355686669050259663571344449863480254103419590196068504780117621508302887124040361641997044576203914604692474334303601975615331800014582993721092212453808442403297851313327662579411742219863039353978837379462625059261011701631127605748104388172698628287419743107045343718476487506040735112441231359811819205493625355385299839808171325217870203668992920102263549980886032154816436206691996548156492576587271904129881457972102203434968536762240143417271049547645907529230604593757111340533315655874363652013115761075171447236965136843965644284507915452210753662500573419294298990928716894430803101070771022279550448283714834610712636096492768279528341417267183966995708331242700941232446788470078445658169330979562377267511604369430117428802348715681985852324587431040150792607467647653087380917164447652457454673855271089829536775942940244406841373193249146939402804869294927819884691756806787649100009499281043613442966557721144764170440183540031664227378244855997154462421361638786692541131713229403442372784337928146055336528051587912687906217968192299936288182330697186767092217724608642654337891285846198601065148502865087794585801696966413905906580860842343601932599936749314214078894261255101565456273963749003422410006716811815458728682646961236440500570451109829955013369822726235083952699376671187133060584374730137100287998136974624272326544601567055402476060482437525479497096292900117104607820858617930879187803573420146237485373216440485426866616140033611794002339879736771410277469788544707747690874280471205528830267678698957861765996361468088706275197358622896579274272242893007532962261744976831656219115419315189239375536225382516744003270155903196544632483698483113250364254044224132139381415459323926698332694482420993323562549645847677916277375160682060428129797079366539869191128454406454397423364143898803897979780015083687402363244848839481736073910324122360800759373916276116167651281553034789505437747190560982571487132425978092307018082822954699328492466895611963498806976704921112132166888414660954200323641887825937939967027595579348586042177140688655782688862443756157428860632690143253090654547910910966948332209665775468465822321737136539564618108106822541451607158786894746188690610760601375331250292730698908097133492616293720302481069214606840217840757674163068432629075792813260487442437562564002811800419184613054240259632915924046927322695748169080918714035985420901475410024328478448671426864073479486537621847111269594044143944826882590412049467499044277171465105516444320076589074539868038555785885084559809610143213889669737220492554694803576258469392872187846149865980699345815745158050898439688745795652860025680418160532139240743757093565874061690791399555123373195593536457851887967159808472067971209487806993328117333425610873011131376897996767573079033363459397603186714488104822440458047973118894302906319538639142587438001276292615445921850275774295368992605842749952628179026072104834726275391869965887912959888579833834453063553898587431422586141466260581037670882914832117371566976355850174764279910714324503722548292297519562693116745678629274465801688869079456611643347988504161294764502144978490551091866105563315000234490981001647598633741564655188354733555356683982697557155102327077285867491403400018120118722305766276057594996292969995195832927792106594138922068156213807618992945697097999566513773193120283738378754144885243252326562861072698451553570978769807598656911944140042867481304890485070680622705943671977360753350860758134314080754213425813281449609657746016673844615795876565317741940466156746298199719698712837709601467849658867038699490553515883337881931567458398831221129462788078244560792403603837798956058133027746029058516027069407386857284263635629219841325236217978807137351766519902670401180272617015932268870207525509614107770833958273170795173245992493839939424349758697171394126377498388771262090280888614975845861324631810092284475675017706126426714526641715743006590333064388444093327162301026780754097645676761042319572851193309814000166348575738740908912117707449461268460062937447958593338739160505305087976366394306083154780943703216114454287755072178999927517307815904267564598073249413184629594347071855669720193431153395044279174464391154357961092412175498333601083891708641546413282551134261378461675229869274704201644111938635708401129024473251019977164880576300270195289096099580138076547620183865545865822462488999266485950248304947648170657718614670659438171606364574987491704669588268619608822526513049967813942102622332866885067783627814740630126122804155809482060648010985537092055845497674764363338185112935929168253662400360383725984285757355177490634774503340927161505890853878626351885613369662161766344343774759656273867992696833211336511440763099313057861410224317032795256911919935727124377472601912913607534785531118738925792720741140277139320027330008306143701233800061723224855375891980274542131172901055100155120984416376837961627714360730564621731564340692160352297807587299222036420614205101153942763764491041543553734153450743978059717972686828394393394072146485568542888315077399835458459219562439518195349940288232569343001250071322779164878083397060884429103277000756793330619785177292109691353762281471707416743158620492768847224573391418652579933791236509865524250640719763782722968069645284174831802824329752203749355475744667135220718993127194265499752324181944595064539237633804429334625445146603257612528679605324946785392167666463187702180705922695870748212501129302141651471884136140959317331685926734145129498193481431796448861832001135918918346100523307444805552446719428985462828866945760455232939825955881280005593167001632016866231788276255815905615551072171103958452641826039893044975792154848241515405278689230888088487895515919568659984260247132048826500555473210494438524156677398516388374869490976757219947245095856348482995914096966476418116758823130913188962056282470614113060387797545873220542249878252257520081783801389349993828202826792261290199854510387728720609796993544159521347356841848681338121345700334525707537312596495468324501850302786849090119719202644747741990281791367869319377097249292568608747730596002430595635993579867350455305738447718252651721551990652033753419141660337118350529104514794124398419283249507119030658943444165936961907400079682814767088344963285141353302089792740424414626666024673248189943896140210864517084230798562030122862858104654477944121882350505945357749575506453368261125128988361331017928358676634298101470260551412736078359114148410332252904096374768522647657224146538268595225543223577096013894630868816812188704119716249294795006315873015394326477400452421339298583787477460747379630257023580636855866321497661162926625692703631039277987895868075433901622270500754480683211779090142549159227561991929040470828340917503092926077679081726089298230291560423066469017162880994979922818268953973850430099292264791859522655785052815835778691287517211210112243448279576593822998543115130322934367279946336977447448666379199053183564834653280491665166754322510591239563442568979032027454155290354007324391572774717639987747044352165120946290830858135580660972276338039078648384504230485098789159649907046413626245981657597633377394152846997224722000354925204841805399404138925416934086279714756270472869465447952903165105597005488892568273854502500584486189991917998988526680929991782558281451020490084157567253720866631971512227579921904956259488786573093360381605796373674355822079101539794539150300430023761558455255204962354619592526163674502368524229930080970008151358836857122183058239814613504953629399442724183325424689036705050244039482488828311619789277832157162741464587902610413196459299739569605569030292315382950958352760031973695308367894083659815981723454269902407815329423403028947565485080543070029289234423801325231644130025728107487890495977560919221574387562470464453231744817751142349024359830703834395650619534847929896850546200449257857476299314570744806637414426993557556833845472629647592159077598014652799713239565448135739449822685780904223872363813874138258377483930226949339569869055403280869796030954923564854032427986867471617564350772340772997860106191290856262171577961686334731676031644746370266750572181871011904714867535527929307300090239033271753406649341025135725313136718533403814138375187386812357109040164123802486563825418037399098933675683164829897136757411126436670094080125201757493226436834547227046048960340183640377409806111366464014714425934324613931791819137687368221429893743356267291792375167699738111795285483602050953641708685965050653393274424231111880312153223394160423665615285937380812151622934721224435929201643332463336837533472941393373906137157851896387209238059334366027124382180078571669930487944472000390948893273013068357972123469990631934177007715010674921289734172691630707160542500206493922360016157705791968096315388930642672771901473970256067695874700885258312667303465173658525409524484188928239318753986119852751201498094580192670843982569259339146219129941562220467893143987136664197941892174041559168232650949819287412943036716646032722894789075766765647705877160642468961821499671541140120421424837601713399472495495538127942206512703796183825499198362854702235735800629345773075239074816914545417954745433115022958773868916941586233138900297903547585080083063248997686758725792161455033864632308996768972504898268005252786963395985173196058068576719517998013703987015021947867732898500292424040795590875412643563152291943533767155387194000751804825937443859802602169806424178639835059158534513036287255754698373958065568152294934032729667418555898946282738959681388783199616151931850740106692768618438430214019309145426429945847243307648865048310756740957156211210896997992993067104919380234894448179656522743099127923339291486702423182898053489971074137088626405799118715490504496316563667290723751673489693244125863188438843247970514591903145013363003458244537059318915920569226076385326337658683262159639101620853345865581821137810375333690732794671014975086488791336789013127886921132360100636750194272432785033585296842308925733073825638862416445741968273403485223113308013332544722748117562788966568492650547329651531522683093574631718751076372459079094236999263792228598119267803114684479019530169375955393827404329062624057104261336401437362357577146776295546159773930127643472528593263769414958818916264179709506283951544976631443157715808923076010834063050331520678671410526380953680985100831206428271751108033164392300324780958085008516852706416650692471790735028863994342774639577006481518440474717525437165847856709221844730672052084940614109084061208638260668200993351689584337629085306957558899057102008893685041474704670418077990478918938321799329930887931791876862010597151805752117909157714959188544789358612695480951867130545671034140649367588403198702880630437436459587027869942071091775874373172020768619171212179524610060924157961133001322295409141247360982217296952821087534628351703918978595334087497923210355390450510540141214042026838033037026687359805433168603046891596118434907201002779252837477133475346440590617381745704596385568937461238432503186391813638635125628554493365379136927614714538218663777489303315765051774211094471812760953080255565074070253193148516479968239841552292122940755796020154622003089085549405995109587674436650291593174202384576924008307356036595292156285771455529963363245322990425525186670632482761023366970746218110071915886087587184190305500826333442480561936492262321122049427322357855522972788118254886309061713810429888951688278049505950632588614160802123491132809355559188139879708423178943257628263761864636952763742805597486632635811084372188540400439944113153775442003785736625587782992045461098889985998261777439546757201077561649643542518143749864352627722051310985349246750778279482818241226236424395266688105010103354984570913900327873660780380532752619856112514804074682401352405387732481530211521348945661196707163601680690181595363595900708016027456229322709116778045676713086245353034948634575917604442721258733007137052430480770213111116072668108516572281708821554475667654252725304151526678280416842100647177362880621340206186708008516437705376448682672437465100128398766406732772357808509761754715343649731700539947637767810790421800950220461965122668781432789590049578302304404439603043945351245124436523493068010448923852503418447278676176327924616164431565979678988496747490332358027673648925814916005105133781520723440682643808770492743814528405858464851103564423657253561789011585403933331442247659240529738093736703577759382362320884661935203149882896963642223116661029677890033516347511038720044444033085160284412583095424856824188161503800840930227906592065754503490371333396521925491847277857434630499581156087328515597485478956712710777734839369166998385858078587788866190034294675553620607061874257048883138414964744193495618684373891009177829820569303884616691407754396768454365917140988507923424420262435131907501038511512931320663978851847297534954692416041677948137546711488759185310395511018649190846513979720835819886757135837456333638903483603530960880846643474460236145724883992580627939466314383221019756438693318238605670681514909208224041480049821268132189402233645958647405135987084920364248959582338719705509455115376386560450401315427849965313375506001421327769249281260321213699530631849197052709656580628753798519152533668757640262098177849894864272879831719933392505497353930785542485715403710724558711700113979905868420836203852999956022563716747301386490201757606676927456831047174338702492949184541602048773867875591418593319099763625045626371234415739763350628558482857268707778975860924892559049473913240120363855356223859840434610716181509154433394294121146324515383803133587387481263686014747735439310177167450237993433407897819415702792862707246696122527508413470948365799390524394060655788170051198622706783312337169936651878983477606946107074155518991516574654142663235628648945432714496991668977612677273580264621926118948274171117588316170654232296309132165393620260822368676045847294068391085153320326773846075373353920855260090337785975523283101650202664371041470409483581378484484143957659541819118283659273985212485188390357625794700625749436665624451974593154868588370187500120509348863776612347059965428267805758457008583628801413832863976321407848569590467045331470741467998255261349616208534378949545617218742523716688894098292046962536163625149295518695626087952255057965787680749526465610008546889264303699022962257015374513019150324764842470722162167505657628256935489865400836759415002103566435600737596810398616445458279477069128716848451720735280385874751495304809911515461393159349171236295088482875679673861313908440986517515860413298138008760965726917477663233149104460411883671986642095617926541387647572887859502496109781662333869245344744635330583223546818480190267840911470409820996544714588405566950629016517696646359424792367385521072473043582452149309567299247193612764663558098846369269981988927414624133763857385556341838660405385403029610272619312452436601160390622824359225261704856840738584754483184174734430605100238443668131194343649621675085778350733857467861820161309593987411610341954292649395390921434981487815295663737138033864917205253948119456589358347313127828943262215175395427379354026801170130457459226840867897565008385672034537990953642627879586166458274914825241615940288838491961140167880442870401655808605256776144575892380649015128618306159667669664538225068273633238173238760459287792932980423312518943069366327030283173329672762249753964965329516346078707981033837554819557249722781080565221768737034403853767190438394834454210052512089078694650300156182602963697534404900050940060896669333030533756762374233925402936961423327478076169073056105332671233513275038215026148142475019767807924720290649335622083287258510969506103082531763407961797476955680457065596713003302892922134898372090044057389423425971426046652275801851598938851649296590735804585632671054164890379778870096124463754645777489907583243335404678724030595018990000511577676932561230695203880616953948651965377910641452381421199497640540448459058170209500273491541242933123485152513654039690146379229361042099161293726488756702638666016790506604781579117251793995387368997383846938221597337725614167915289147482257295957067004822187946423992796883515783056845625966182280587051662976911091117480019694487129013599070763438000522729808346001035629998258247915329486436219501920167312624168802707141884103652995372247441082304074652991511689096252774102336213918247410892675473745227820120615322448257767263195597909826151065509210974291400632825494842692709286861029771721114558029071194641358132942541623283058297499840774396238896776656210455232655755671052008551602814677558047941114936646965602741165231943256867581983873858138545662225872025976430377125377605155468164602042992131296890174574907947314649855311933821148876214339096329972278998409252543776171889592557436361226074606118583897019550654616293210214413722605964764332256071413119921731634304038334604154168500627431105709430573737514324972337864050495903055389781433513452174808036149265866607193354883632448302034239596630501753865522160935689271713684307352292289071100403665017280373370989916804061141608198252428420766107147396252284132008872004167977310015558667446767064257709155319147294424933534738531456551495305234707226058436360917739958110916715461653349625016342438508008682253028557817227940657876145746216799612980189838331734414689227699492449639847147424872655208755078305190906469237932425384197376949661732159738424035508227175480803882370276496636625842208876386573105451070482595406886813025785030604127296381493577004679372640623781543898530638443176765149108234599690564225705799126052087709233409899779491428835380265811653888487973346426440062379742598882184184501553981556983015994613697163794997490787871760629457515787015264424327665693707057792544249092916109985458985768050268368656895088153187811479997140170956070782998326438447385994496319621594556997019945238358785275342419667865959301660286788903446651744782878083412680250919310122145147800672532006131224767933195307203304072050019429052223208898278256007531084309442839704460837334259660402779825676056514075036376281386616887326883535553188568016421702407731156366397454860096129809791711345052164202850879009377302708472009030452795049126462738725396476862934056262577574288811562408299998106730257429849787813399333766013297437314259682476832621320389048642208790661920761868900602885491259451720963382634220751770023478794149017466471694605865496272416832491293837699525721450834784575330586011575554452225721187463639136625940544530193481154693645565463041012140924860425903637146408248788212230834967475663647695880010560005779549583724467683860059157343486333692072766749114864802119571063459307219268345438687492079985703525108672466577394229594419160414358851484371381728179664902071640851019482872156845249416180188132886161468858973640918671801214566068062552492447158877534733739943023644814949959395966512380025607201879607283140427808608417226426911583377097949577222833951322429941633273483854674439826886577514790843693299702877129340976476496735323965160018089553884307487305126180456930000542571257782900394983644858477585008259772862554798287416451404270014374174183676823421660116375479465966559186156172900155582085773608721940023616426529876055250355890238977542694299164270816899494421426864192752879327285245470193404511627836434607154273777805402620210754972566577560945093334450864313365479361075138938813903859249409775373124281197466306773781181005749280150469822340054364848663740598636925751723544580872206824121127580486402028600472720248737789976927919425889830295454216009008577495050723936024912852121754612681886220187762325650779059209872689211233261946582934275600028709825120516555509210481181055215654226590077501507320451279122683049994181050140661678233521728471426449607463140404935362995155425489293041082198184304051548134994892000991685318824249162884394270927743347934186742782532482835245810411916261498375212132955689827464017100259434508637982166120861767353660358639406639371090983393743971486704928560296986568280522495148427350429148914811847198192343047440164480010493621851535058218275089207730859629406760177573737029087889191684163599484914195806536271280495925416382195994803893257461630835159245460213622685128349398653927932618950976845010748760827825698051524971272481582891942160524640949429265327125656757975224637620215613055991278857865766196765415307144474333140891692124310556454222264526929418923125154799335915526557023125851491566989673565044497899140949065791706576087156258410371475334468830090606045278610108662816987115857366318562074994258921387861483549528041342786286445236947793853450556984444660223834820169954137826860797867941684079856629791029494971218330463141796773159607065724308426194331183661618074934568207545128593950371157834824383282496259014240298013636245150967537105362803941100365263420873434270766889133226989955849243393294070725413489466166504179248912905702713210145082502537558569692769185346253676826410693618223355046381501095322624451107612055043044236020855281040933257929481321256417290793102948447642258584147484368476745130781744127438016167479708683420409963437579224739484521401453042329427287590384001305408049810506355861828834906203097256550509025716845279974688165943779127962740843558560295212735519736900582570914155470697901776525687328686400431646693011872457752964649147313375228575395446609280729828100369331561099322305903006978396098443780387643186577130597558050325662310411523373748556774880850468777610118798256418385702108013051334663806270766325866422733031941276120052190137621027630217263478012860813022499568614525311947582428939858409452297088809207264450453230778831352580875643070760974562303153305785407242341520909180949506696800633404400505583385451892154211121047559307411755695127423358140490963553138852571828810578167558414169533012877084227130670845887098276878583545506742094535800799054287910302378804797181674490601621493778192233482189247332375786013583892295425850004447804643267553484301309051905346819778074741556896308030205845229038129542169245443682630574040558840278463485752361483418218809831866242465176591321533272022869600132160150374758021436517916278871531752055766587961445795891372764333492195938499462724234821589658625019236241386311506554181661906973712218002212483014677215200310486182397703499247094221573451633208791523163959471588167485885799339085900480248516303673910849558495388637601462722860780080359073283635256321829372024223714968813192669764170215540088496761898534186150433768334527553867641875827530733963664181928492205473238725670562774234065713950367105755296400202732066652548245973303446633732040270255329498599520270501540162223634769222716578202108105951333127816961871794314493728403800857472825423935643364631554860944922953356326405701090327620903656736360781974997418037164675784699104807124562453730854694842180363256007429208136906768597328514026305805737691407789019091694650383291237252428629950308698383466643851932116982800299863223681546321495368494145440057245150324304798299845673759813722683174158949462374220489686840989537231917538784401007589306841882933379613458506912974069317826790877525323573396415275772363292888930860999053598879888195854018903663391571336987004970212278736009494371366372331596785404578140693909437378337299389682009352766423953317482479702095141913534070445683924452311852036277378741866873000816684828222398074458015731096092458768930279126181946717927859621111890767192400888570413084811197131646513852400179550919713649659199533279408216174469771574768744857446018924162351249633091917591993555025091241888929605323036751467869467208751303742958520098830719895424805068960778621591595264712480414914287922466018020056426708865245603351893203300789705408339386766620145582369777588022513740514457013212963564589523622230329347343543617438981590612425578971391091513755940843771835377657465623882210219285690239168425010167130086652493337634767138009156595603293420824729184306801909880795105506630876742369004862511398657851433165822220925724930402372172034720731627922466119992465114554519451834715941736253990621109404223147384387571197889130393147350328690202713637424720537297508576398378818955111244885343398652194538524109911774155949893283241274067028833804450981750752070309353007713835326456128877230578394457472046472363546459532606603434512073339580734476227715561924653788279463708520729811914575155477846999336087759624714643276061864512401264665659251165617072074474559543409041675377032380097130698657463200620511879004596056060063242238967602522647488158852486407078098560364949247545870778985500663232374965185035193648569645716371414339082874636425839409889092939400105056988197701291437462396150542737291278140818145985038858557622722236014635062220240806171386806832175617827139276355979918642145738167854077872839324441706851390867454484670031649595452218261807769070103985648194290624284186419345258160247099089547794915283617295953175238090517821430797701794300372464285572564605708118315227121099983931268466519543063160952387596031382686567185412620166835920967973118205426035966329303198346339433779296571829214856321606097277076520656969458335940112208670227482832084604480379938661523666089717472189204662928030380659182576548163567996576139812291859894078409216798515607383683787407634305233543498038762296906177474327227761981084671762766875452469671272070941691652149788815526549488059166937994641091666439118246340564607794146034140968577251103562078647817418654509675698290547163448088269895282665182982349739124579759916899186871565414941331127097820699462978876811863147437740731310980850089752383119833579507279799545489889818506896736504606008225437818573204029571881848439317322948330811304154055702800869291612299141632363054549138584319716019854201472037735417941378554984741471397049800688103311793595826419045737179374797546117364285194739707618202455416782514546074645615910795396266556905887814373152578387589403481815210589216960688351517841824386903693994158415314607204964113108623847492335060185212163660955829613385112777638698908501400550822595580724979882360775372367717470362501435876744461146877944761760276438108545056619374553399845705287680190398616290881355347711820417085852832893886474587473595435277680649570329942024701803755126987468717376787462673370670427024947925419724010313993390931327936739773897511709933168454120331100525040688430007624592708652075472138089504898652686624159490292920726170353885012326703145337263453738223228669003538200349570452230438300813508753079314506649921242972834396641549847093327940071465111621729902677785218881429915526067389767980118280044303458799368510744528917920253123503209852369215861109891473653098711093537870891112192893930325601511281539369467300895171350960046147318666407628585766260504495132477238516331261840541823953311401694857347718923846523301389479909978518236752387125464147377459421314636255019250851997313142507723595930509301979682593667527819655492590006952550484248749289978346990623159316451710459468187708509743572507271597412746819196550940399344264979016817138684243861639081683194701332395684023406469983270532163301303319320228038974147368385430529042072240005740094734539781440482032841375363501849588920335736519201582887891498881882293441315531494984786936173110750244446537163000234481113037840780128589997239387952688999189197617597505418539661140837658477418393684546500575355400452133928791733795851450162063143261461283880971270478983341514903449412725410495465327954550099844488524251284060251102861648324384298915977440067282199396206431616885526827070723094119856605219535032574470021397499869790083037941310344412230909757921775512927080584607648782290815628945630041729058590641437502568660271726227203248618259028149339386175535694785396021022966233718865056102869890435751321778432576577347199552960096477386344544828816446462515957436474928039001574561812037609887537707086154847062893779297148696522112789387784061746947639033129157614744141302755263659349950570638277232275210512993692882965683387488926559015340689924153027651230776785735765726163916453253072275813481320361196758860862653688373085240864765459768603604038922360138899886939061399882441746975737106168474795559036766319804948808690955339939295787915213985960404963715801643155104672387643247451145260996423131867782161527890751821366217480858723707634387720975084212417106968343189317991808254556140278124411374310973850668667870384155895225517670783932590269921117857643029595430659629520731858263646991390062529367678240905144991804267701944035033170281796478276652521054861214512690833463751096753629341997758637116494141111651344527794655335213925870119332434519862979235959078158762724045888985433460639452630148018091140664204736835243219370038906513115346356151673159313813670777466883002337657154045355331589573745144858334830956235016089698618354731816998341749900278812309376394729763796469924931955707701267641052922119248039249711892945809118818210790309432009356914891778118072106819798436272623659882244719333390729923673954777869498715795906264806030424634062254806556358739660971283257048458864010890370476797011969891433326975768015998568984311539365080630050186534981391255869461101423656256614676026987415661454814319487271986271357522978872772747633112890425132772008859139530956195096366699618180763270495134394056030562448078900929800133482254669427343373672931067940157691080281337407716970929690702294565268374373447887267804470370027406663667893924470611364680701354117815524447683663095068339902304883748353085969853114752461991520969954338538447165398817508110349195664132802997664995406621575673460590934649716632934425413208775893942278644308924827569192540923311381951774002949496770856815844004366276959863109001989294450026938267025138860295189989413054329285340526225164975562447980628295593146142212105019686879857048030018568222164164744783340389966955672325292919727602390337507499167760273824498099963466976113815167989338090187276611596967875088664486131093629741624868576846760976140827583884545435017780531087776332498942518073623996558044274717618956731942473217130443303253967414337886586454183999137485759520901805495819598600902328598412423662314103974140323810948454761682153415362049081092241971665078423426699940267332971028838730851317833810437064940205088494448792503328059569027946098243803318642034168884832390423337914517283226669646054640495072310410590393059459580295654189307169314031490594289882049107254288036919598070834356165257936713659165213663380251760062679820453373284743876617567334024060453071265313064926722533107606880231307498618234541879951645852493540146242755590158971300005491239045651177694885200230794710605261424166646550530779313395542429184748110277758550590217303229772292878561600711270792800759117919202739088323500464383395695783222240151073200070183390398813403099858759093178009275638619504325345173602004384227659548598597591293462680838167972616110284929107453017568467238031789695321430897324951194081325450270303287207958943836826833371812853906036345048940369335320917679716187161607024353919797915973846251064591298923889247633047170888209989498763840210471789757059299261144991502694520909380182514422919480339242500179238925788189722027737008223374080880587301373464856732092444706370313687961157259971113290924421760060175447915711635334392523636033243829175415211049960520684607106510915167456574804124770773412716585995308767318306180881079174237655165515212058768215499006808666551303400241643149436573366187727079928482219754595221044207167445402745334933414045209510921318283695126956060780188992201132025257847947614847245444384312590838267276742248006702056847640182163152787368242107382468884030630651382285457945162259330873031638617398114683347405409389715421953565278156097716162960950337683263888719049659012983843934046774436555005402610118358784125032773570080826325675110048375567288955114497853426550495313626797409468814346574320693939392195196216480485316362029356641533657728387965284746945565278846681863006535036921730209719031149124100463962106245951137428666340940562399248166175562795234790306082643223672976325912878939772780845171285709395449597256042974447336010673193544043776569915052914855168470768202609043063989740223783847385465350263167348864985666022474180726326132298067404556014143517271085593565153890130334246840687083368063654826662078282153234421247157842743927251157009139187240787673263867273338929366046267562440329248194006008228025208108788841594906153572143077519520402138178530369888719772351693356155341172405593220364859582555042189965351912437990880572372449356825840878263113886547906700880126912137493251928668155358065634992227417143318462864664175159840351176168746513900071588510071604158491963897721057425296294551785225200268744396418039036798630700627200175145893033062498141155626781681672032295230593689038144514060331187886370059242797067437403725109153746188533065273134957839654322428262766180152802764073916821245007891422379727583979132111682994620284249390289429745898245721140623810444097263214162713768979347834503066191104872683014829980067155773000178956804534580761727675702909227481570386534093321317503461086038445575307610175515218239734096675231919910340367801072620228638277620716905222049084677647464081405383359664176417726759937986589271757557538239647302682014285235780853800170286461412855969418440901191276116381581878758843045469455009200382886511830883542275075050152502181265892735223375551375695788516210380690212835875457861993631239297719272592702522591240241371958858289634180112843488183861113686357368072438575357513195293962700753729862195694382667104786506597870173664941670248402660251021417756054973552488001732424948092784382036774636407753911023844514675172221519707399364488411474505665324519099627997814621290602482992276229558633337372105360369338417001802132922589827974472637666936209375861496685092958136560436950790152226147212010978356175730244805487684859524511980101176024043233046868933367699104423260473642604259254032380798161096805380882731193064289809753655367251674523173295832686300378693303934536042216071488748671385803127914612145037335208827483446602682587537790142248579675128300765842564820363625140002909215285606101500503826903408176647783977244043342849889049643745686754306972152639528001599928100410631062104963517472825167146252896130733628845581023903532151186465857737941016838780744460099572996058184793832433786355418922788322638389480452963020477060698671428452312176848725809902025143339892670917906074857057083459844943431043727265579255027636946950682070978011914871742942426248501632325147564243195419262009871478216560744421627005365463675850554891524585710880786454372694593171259057109258278550758503006504936352917575084001962741307930159804283406173866226095027391138097636265241884579717143710397969864804635829407617337297050445241821574088160751477234734535880758852167734529318014775524629207035327572078036606746728085838242789417689161707986501251320490573370562173891518774557305831825442496842839283059449268940573480599417248675748859212798036773004974392982124720234904453639248548573991075549498886605173378667769556288069891397385258498176045122381468803346287962165386075811260220768843272884146307743391542207760379088373070762598639393484598547794335799999003832552958131492648017869892199358373618723590444724762860578778976585950518649465885242534776110160666716320628568214572260166739980873546985458564295811547687706382122508390187400931366014746659530635723801008421478703850551704630153324983982182228685728731693047576043443598374179991060667296314376292689386745397216876253867282473327110810912533096470786038486921920124427502392322442128506854973811106462229911306846080712192150591766085805294417915056535279933558023527203578127253469212173418156861695774937978119964858836851433589307697594411463247409933713510750125260084017688183851397759610231919706762105808981447990766148437399388521736862396068196254991656215467057431818674064682789898376943448423931395814228347631606754811041129486216921132407311120535090689540626356387394791579558564511448935614411106664438359842728676204835455442079715795748755817038925177991249497164195316234769840616386971730908992795014742869803036628111088030216065043191565617376598955722794330959038110788292023030397271640366620702077148742430496030278478649992907743667444156996014471787808128650818326458140406216328210059642700819504694125115797827342155540211061817562522790952800497260668506580031342831775096861119310858754995371758674488913183374359894127672079347723484602217557485856156771922927272750654997378082573832628391129887550457631619130304497237920324899819588842458498658760192720873396554202973451181896669996873500545427190485242235573427073296228979909316098298664745994970564282455680229550408464126325006099878441269862260087963004501894394515801645723122771474893856997874161044447569476914655224645665857577329950584177956048809584661861398412165859496515713757576988173018981062342334234755229153426299617163065604414905499412293246637967887586606704461183242694040272970559275089764554381469961724710832723037341821143474619411627527853162656071008474303395804979362186703530736660908844259329602548743561205393030572464683240252336279379665399422941260743847939934085672823852649793998784152970739907932616270601484913240381657179098873710170683503279782965370767032181694342856314380629322616379930770858088654374383263618994150186755562026154820478719862895805435696844931717172787186466954497055717387642528883412830468570546280400339241794192838507440914333925869432803703895913519472465873528054068915603800794563772090656001082175238806488228665968556003813140713009687174181504356043103379009082885366239056419476743790531902915707162069258391169112921567847014471215410784806441002780705608622773981935584539352512481850002449892301474911537752450369933172763728022391121455606096637784215245634453032563986463125971449490159917853255048188840987685851824052193130587386399265349495877379901806463125495850856166311714535611960809100495726409097066356857165790573351508577643912410683604370225767275801919524488713235535383934467120592720466242361353444246586181937130509439218695410480329203911494698232530583821802826211978017634048258224292010653987395300528635561390830304275120400362690353558190846535565368512464763540280384721364633859572608472897808648106201240398095423141194912585098832866829297453450222170969150271068135975437895517312706273488577491555319986308931709646154825215963139170265220960311688869616283422824453246870565984620344914773039322911012297287826264751407203546854345303914752616841351562560500886295377770290871247489496367557873547981662182279931540058661658260139630400704039215729629271793435640416615764391813551115968219026768110196864443316605673504318856373566996784302875005229125910630337588117553510111572656966130851205524998440634023654808250808066817097345860900201735730451297822206917560540192310419979652091724317645742575160598527626850518186277405742528615367902979218429148200493494676057000407283687965112293517916718879009558343523619067990068257576595156383540031096415881086934754270321810921335326665716639134192704792123426763837068102974715906932975810969838552746560175163469045625640175023344011639309861206350071679370906450864008138196426485903041999516172914335849729636173923788584961292461972485083651517519550724140892962427288150019371497244829476551352739043022691548909527563721792052423957027512990474050700788378290832938180183841467542113441675091433756973007709225443655085110258204064308821821048325724321000224921152720149576003086997098681080386697255022957317436846604990254992108345751914919310343010515973689174371729558752490881220422526914522943465565225665952080877270049060847805122505909638657632540548122016937821245265937622622891694433182070831670971667248550911148739291677989082606601662713481255104379919432234968712702019079467379540881025741647949243560385509354816858321109418705675065375433468295586475365496552086999533791648350849532969705118934036549101766913454335912110638454547805556634702816750342115446601083782165357267501919280767392057992305345609827546917197056563521048177858333806603893687037085351710351421105816940957947411256370672832887536033645483244229272262649971207013990441115103173045520494505921737601747814781642606457440817206581288292210099480965822350855147415032147487897062940833585679994364821035878255753882530104939545652804666657400062136567496503685155061741769342259179208544774471865472914050583426527783016938788324541720954881969609803329639359196442369821788810277846022423635524654066706621198639211231808339272285154962698878307770610756921490151468898742160710946987540842686180799508765005648703578210655616343755168724734199432081060576702174800670537655313178412083754788538629737551369752702374511355080211428983940775560749088362220104035922403857447087768921228609140479878394835595737498799543195053181552492250120039490601072119473390630396083272179582329497102850897563872716508812996967212505138508362038137278078781931426363668316979119306768157959153115885607919281720784063223958981355622976586756572718080350157431081977050620844001024571883179008282612175581189983520149219750419977003300420225922262731565305307295746931019038129135546771116581822851571507400444705582038569832143696308315579541935352314093457847218840886768432721863313617153945539872147075508506826573255943370694268065743125590460366866421577796237836711938034243988385643271021481707002972604511894088264628474361007876245400142501624869210578283230268448934887117430643085441758055785199748591124004534043399073851201908733092356575433048820840247714467602299359369148163524242515010439556836821929448261208052983214211935952094760348807522717059073174717493659116290494027172956830375229907808727870323431163719381770495938600179630896698557627444349337464626378073054553162998943575126880865544912764684932817785125663170891579194788313883909983355401853274082151494914059399535770599487817710244839378401504083443245340324381625060115507815662442207287765506522049531195521093795589378972440788991295495772561872981104439443782590057702554345394363038952734170686617968503078995982880627398517278670591744502034086727084431450472998397965495243397895835301148102186342548433286565402679231343729154288677578564040519247709740204374430344761087837277078874767517451166044005562163880906754745873605889503752049807565674763357086882193122993441976301055552563167733911713700525160667532555770884059686645321353362791713317252915565185154188210149595268306751732665351093487026736116154507061278573767815107363345181868317261305760201626556001977960777750642041718882330123667681653645257308895966811702613150908791844046483820801098673118608404581943763379300741403032994964952858323459767189691951429689079355916248930943100956426892000958258513858449988169560677723669526424453778306484679259825483778176271146141896593847368590229921692523846319634498198989501048046656187440233884164069879819148476952546415645510478923350283821181479378931838177915817029739479546639079047548505754862389263309020045537828064667643200236357139326391928846545786922786197893578565226787377006522129814414926337855735874821613618431806243029364946809766791581216285954461418432767902815537265123495658538861941895083196612617992969399565550975491944535286054509194865348664111865341791604046196533280024653556820080397709274330759641652504090843989238626082531553717697762548649475074890957188887037580343552309252700759498420316154914705535247036128001375660553091765616519684996976810157224493210938123740856651832917691568239958000150060581391478017504729006815404282618840058193037241734991337968593361653381141102989836972928522823569496943989811531445266753838903217079966907523489368041169597889435266363045545458423956524165807975631981887025783781436917392440767576573989675045115273880195305328938253144090194863738050190461714832506587014736230382479774022115457681221128337121079663141235901286825771961914150360087319851634579436345314399535621175483986410554690906184995945216896141700650818304320599208240145934270361051805594449825036272847723890833508260094525276374520531618390101885609979394968766164406619802561192546343437600611658439275522244548574021133667329473339563277753324192194209949249089588780349985733530743896523761666354697526067422074667198417158126465982363886541541883142996569327761994783923886008413916430962671901536873208097758210820596722766762609604111665090035060803025572962025152082872640861486069603331092590136023520653886493018151867595805246535544800349232403957679308218189321325953270041693619499921053542968448656211499266988511932937029077467346596861032338617092132412825858518727264109397436699321177519302892423086244976732940958892737480324951375731955086895976460633038412801335890922852027263867617302275227907375087538051818494452656316190447622158835529712896369536296917290156783941075495381687695762764467160436326558917255525718955436695326338481242588397656597479491350761146810584810406700085858809417999227282068857024932809536444564241283852806627975492947472986565457479383085273090231665499496523404155621173956216680827174859457177533200184276857767453846382843925845130953965145938572843047918366907530450703201393542795070513784609649530358314032686684007018891646804903773530634577603775289270225636311361250566393233668936135184159478465826799450693351392942604865455395754970629291512145579596209261771237809493758835663938445677982652213811070508640565915744573036450401338651789302653328263427730356113062696054443332120347461293454441801056286402857932511907045108779834438286503111282060793769788999796014877143146567328009675894569035706487607622760803679434879509706229419566797512651772833717180226918953029200475969184124251910408444602713019527882578833999924629243470950192290582481503597908828369616610715935395743808625038368580161859240687293149348477177935411377678330893541979201372011134652774672777723388010094077009997131580552830185553611458613040517520070918676443754820501500041634881985635773209789645378457885271161461256840456005918946968819498604997535801744644207548502090251397843688948716157138602929680019966249391575147887468729009546970535831888157702585132286498288938149523274612553833260690716296196324218445761994668138920807701514431608241646860565284678553897546181357866509703811810870431197707274772137947346601661072274058430929126704692159065632013677285790062058490748441122380676572882626989735176192692186416524898860009565717651734698715453996473268838005868283963890596218153818464759491987885663815504858563135239523579904240402746860967634801991417539549697168325485194194470162529018984493020497848642732484066923278659543542498097429883946647367634311858511296914793005239968031811539217313649635536739314424248028909135652653708083223060020045424948303161538268663133884444307839689337433927050310066918835025806606189248070507622291306240710505021233532034855958512156890086337655771031342555377525368471685463894949586589114256809194850978837921349127926250399650470219473974973754872589276368394783059201678834170103544590063604389790508247234829764823910461494893916342137927941728389631933024774720783430655095041524332432365861756696903638124806354491769763925023914147963508963611807639716828469906914767308495497113551713213673234842984406616435546397198417421055345243499104856971399256979521159363805547289977954549838737009382025559603296031116249885519966114232708146666104655661597830974605215195848886404934293891260289529137321329260679544052833151837880288309909260657291677292472350572457069198201500858191065072844889966697829333546953484481331896197593772065148063769877657581604974102363787758740785800621512738611811117255104919487860440198348771636374750572260789721055345448516895591469306127604872766136266087765086299495892134584586558635177518552235740034357580705704593560511403351654483643881993758099847701812696959892070810585882855517613302569836630909501336457216080946126552909525008643598854398080053311191810445639859743505981715777819769564522685916416410699349978647613946981038916576413847751861996051667078918767408451121735899175163182103808479745853224003432065835851457296976304010579652270942105404653344395258698683740907922472220892098001054407686254792114253257414870823720903050509400731351238534930224812847042593704904175979530986950179768428516348031025353907567272060701035430774161819192968294932124546168423508605622799311667223670646177336257964800304722019413419445899197108961616425381698300206879818781264974177068909210842195956081598382891115996484743565648585205516826649661847485871514537538988941811304281780790691011335685727891057545209597392266662629865749059184621360632944710346077826285734507528993892029364912958591268651793959254463108167523403452811939961153675005327171233386373792866772143051816681122093332124772358429072878414246789195906379138785856936326524472339933725694758023582138891098723028072967540603522444819801986487028683699858982084536852116740003262192186416084703780061240840492272379659281480517165251565491279038488504240587679356844436826855959173214667855318009433056264277905902482381277136722998564718445700836067593748936196237893992255337491813694095206347398975249121385459061759385952666251966015334019334965526260764869671588233800017365168005087714511893602506552199683784016643227521043813159334257955838431910387870708285748086211955403201227592085955238464590676670238714753801193549790470942292065255008895719837341074944548925133352039207369961486560051659265811510760542189261037055828918186817483714944811660113267975067252545549690007686666062042653613229647243362618737551323329203626366114852601185525638806408033833692970421015757829471480871023759202043585418092150384059151715041563734787975403055874734805030682272441785261551985811466841946650778509897965473000003174497251900414772425041512849133162258767027898509839011096522217555137434915537327288616051054249313587000618172565732379529937202672497540802565935687739709403310216010529052699307287456242078259617790106899802596111122724929601346504044044538945080916912985821192938161277073612794124784776251181416774382569410395708320289478698134759707736461957783957829344228672901138748586340223304169912717274000114200140261032867186254166354038738669519251835462714027515641883510893153489494659929780490896572363363632964804418616522014219763537231223712507473107649179033401519504936469637712420546539335087566819803769335602586424909004580476646938389356955741740351087784891277829630780693043206145584710530197103236111541642975693545213252047357704474802200123852586226320439244597695781447697588008204189035557945941651329509459520300616917406980101471199963759243851005613867288539547979279563700040618083250691997182101487324009915376343509845832337704456261163013253894165332614524113523475786679313263128609108208529421849388053921808588735601372344011740713953896377944075592205377018959996719301422950794800800063679989380093073315321649553987279739419510913815665729686675480828066731382884255589862233293186449748908777473973632004176383728703414137898213035208768708815067482703350877983857138193369122179001609162772853004836339054804908682620490533229139474262416750996823194391270183920017906393025304789796662161016377876913394793637514920701532187307300423360192495579703282309027997427667817862213318682854596827290331697132050837023333739677302817820422424102056525244224172076085843230457657582840545574594404496458453534959177209833784197762842847730983182370734488717925492710977458737399169610728771102104377541756174383757878330128176493815258977103256383289849317868216807465322523888611467389388942631524332904467805538058514201750824642480007425151870927531916720176527630868082072351319381315850352837601509867522990189295393059348925049235389658857089804672987420140906417892833203425746601421960459042325344027395532256966183751734813867105113621876448012171646680127439165405401709770451309298904312205923083098999797447225269893564334609766037640428249178195444242463378175017907471816650980953444946585620121241685017723948060095089185834870764519621158474459650327341794354570610545829362294884264122760799464850156799211911835143605768700174877976254430201143819998599058488951014205787387211573372863098254002902344875058193597395581615888404592049737520353762361407842594580489852662343032286459758482389078456026410122230468431121475256551044418818318370016484023457816240363219802699196576437359591414698002057794634681070702381937119052635699176599023561465317483802063916293122118176956411693328473213287749635926472184640408679362702078081153441578251328630084173459071820911130314482839101521725434742566235463271286656981740411173012923517887581443425626728823216433453540520802750410431591378494453753750268150761475764230936665523803568346027319812601675948011506687248745721671461394719625525225686967347034055348444035454776483983139832391381283329754151684467508043603584832488493350977655161548047348602299352148546518762890521954883555885693965434757629967212004383854104626776163937481144770579581362082111619640928433534039971276683526098742492300190772276360993509512781523817047828451750702516239565056302376850437899938078200302496191899288469750964606921875387337731989674970575975212695422695279671914232812372087392284157475273973042630502440387861685320274682055926354391249467225349331213619409876070126450058264467242623598712595695474220140501842153358308505055564326860997583389729567141516604970854425685200294609956134489339481135497411956629451416406210092793733481124020406389024484416758563699852243385478663555365835988841164571029462100466199719623480048601469605900607808850980764703870035958251842699820748144044479423217681741085041687244444086134308869410928599027968517706117130486032543409098852704586791298613304431169448390765820475154961602298170504378493016562795854004044193670536810246290562354248310063810497609315991889181308140443405004478839232229868864981570209729818603679314737149984681171009094707119974769296433966811183628017090548980586872416610058496669980489769388292026492376586448953527857744359881108535007788202348593806230414640218304282364545164074168048534056819762765269920074895340528989664635999243603807759115298612618693874553569080239189316023124408436636891533894480047022627238471037533594561608437424326494790247840280624980849056563178484812466279018099410303151960731060482925727630746182744652775677884679091176223210631826851849107704686667525002632799870394835554008503634721661615073350218680905162616791426429622413547269749801184203990586366398404380016090462135217734768004081077523060526561861782506976512247536662527002465533839499693458449986589920943409762240222339016956605313149223393402457554162530779923016863584308140256039287757605547894431965336640339894552238196694782717997130984679725209171653082028765172263869175478831518291456530692245908539095002535277640879153480024619965734786619640745363313924315987672228522924376491464304892642218246257749177270777088601329290878966541176742545399505467110392673744591828465618895084634400770453380627869998662907913397828471489311461573812184624666505560404273460085858234985801004145036436080776610093551518712442276800426092799293227118324919431503403680614422493101115418237979191643002326600853128449047850414974893043655193841002944157631192878163505865508147252671046910910428513739215742960045847835938503566313265060979052640282714565352028910194898791200337532503914169050979319009674211275662070917317715215255700118787195797279591918603144432091379144899122040081005629147978506864772002589358872381683379581820679958361004024832511019593965087885855806513580654457459949905140692118457197302542018825041145301609387289299892346103074254445575205568437109549295379598391680604128653757129023518993725224351792897546766988193570119062291824661556769868796106767917333459940872596145780124635812754329503371861105584246434537754980966732638233217258305412945554683747079998699670505364825871629512999239595897186468236066050482792010669732056896028714863287722750438816992402452393154089176924945782196921718475942275063534492052850371728741735645549783100927902723342707413585368347419103155241422143848888364905600674024331560390851383454546864154890287277095703321891384008286085848723170840007341366995245347246006221936568982695444320425994444316383627456322053724193631731189095501186473813690916165142075308122059002715573457757070359381675765705806290636245873929771203595191187371544407622584036048868961813574886862066554518417789063994961900756123959748886639790775539811628280380324541479105987790549162508172755011245049328633506100805581496298473862512854662616157322058185116407487633052044283424866485875166556187543192209299610640800689383826715073578411371371013054460657579345363320365591671797296979134997472811166423058897139818213716048698636214701386405086334698737558813010458919175046235078491565346205785447185601761739342812124507554043212156059570604888243262327208119310295321797405568215006385983009074301085926168089463413511946528654779658071417384141900480874240661324049056325442349822338972379719242161288905724218186483804347907038615606199423031602746316854776583298032751076164697598947040516317867715143537784663751530460890729384418133173957841953640333733699819832030312401723554147981072409851440205020721261814012845311666811675094753092239296949671094047563201071491668693857873534433690417348007498296588373030441137813192785605171924215509589319258408499440314408838631352835149863701259868668367469707143067869338570590842218213700836305692556088032696473945886603745394376850317239737713143523202589556212986150612039548386777529971199700337483886239430674771591023455687138428544540434434619222376922840101403693345104386657125697684054188267348954260466440710604030985999745139926593892729573087771295261047565683029064338851889114233070350810211114323490418825320296279419379803803813380792073038590424750911935831026014084554542402624836683260335239294134762529168376234694795108569434298415970244696178842681710264556049168626625624347217746842381509544988823155803878691573912697394149726646031310511715810976751834499897083810160664267227803959370726872203580457161121191828347208882539842945787749282525375007311719957561347036220769343739385965626368833976493076760889929499409208393145469847792140646955804440206495116297355734582670395061634877617880687127379939315651534503174791080981609282907089266594174405746229714681774900047421130645027238942390702595152709291297053137048081924031856384248124483504975221238901172580562905562017108560464754849683515522762441329269865000957357370885123775441752370214639331593153869701344324047638314292156585886979184748135488910620727970915580070806103822319547723490692918687392878525449643024278599897059072394089521371257168679649503356577727664034950403539451184426782328473755846432405970809148276567132481932887351872107479959241541253677547752213841901637737620273986554783616149578501992955805897729478029947069132819086066548771087915637419149285907026531022813338145467530228487811465213384220608939198405613445727577028086080328975194822382877215120589519179853237173222196607961596541564686362985353297359491074476749826233124569639522937991601204595807765588076343723742548813422737116031991463488117219331899322252498288900113201188078304010627058326904520622467070579624302902340420694248768379888429730781358369701643552311000916072457875648368112819069684041007320068233450062222187310213805642605442541956304769607962445694862055771404234648774312724824640234238576789636723029058460758073968444705355227766696823145552413431009420809589254375498305640914879294856458253082906609914440766794060426625841986882585447169250011598740291096257489328698604842100463782921865899200072852054646989789053897970149431517253364170877089057047293697987972614291009533761230697192147130410694281056264233586222818400011845393192159803660086713273384134383753436749285999204656016418899830092264098703721765310041114925386556630758728895328356630078371963436967687190357956576056384645068499982996101166390305786884812296391278557118536856232901970335908713388625501505921314579895354489965143401759662928975270625922528557830789304570335979317691027105618524623357389720351974558897120440698643250507174030229239799367098903780152372536728934875096427657251551957782780740325884781686999051041241782980804839959336376396071876366087207899083681420800605366842624239196887512886191293269481202713267307813804944987549442885822212054034165394883006975099655609328585851986403926798419944132725116385770497058441880026068179831842354358164260388641491202252781490030078238546551011235095981910503263063710929117854843393340155772317186576649564356682815496820356530693107659418503959502227653950251656379608163587740870556499351944330125357120168882734298841095507807314207105839667 : 64289765984521981778975203227033540694830754973903814368853873743324703362090966862285905329039995251083548796716926665035066721484503027894713477228786303290088477683281265562850736827882645876948958410892295948508802530264322636225824731368502830651033425409233037985108808017099627040289832248650566659541502387770658370474642469939095327927875243925398024902621183500592519085243718090968417058316984551030678850114180077813943159217715576310764851566683550224978997358503318577492416640328355390221375423980769087588625653853110559947274498974473324818087745467568383399346031317163620105432517873826368048465950039476965484054536939013989671340999522345278251249573864997449030694254120498285707568704272589187123358560620602798219286081717318117819394716859607741278871002487851611331668815386527667610145233152833365261703916045154869714014970378173857610451570669638976891023392335864072134562767547574043725846055327104214648831724361456571511379840926172638450928672254101928348804571324503683819382661391226276951434146735823132313615532018120236810296997140867069508766163177532513114213808071268525058223377767560685609044129235712367219110053202770413361655022013405183672374303545249187418155851040318607578138798357366604255132099465354244178082933116031156301198760747027578247569399353879604810365343671741117695383006705602763765728300853182799911012277653011748038070658652296141629305689829808512432785382322136176790278874167982660310247522699113081188977202224337479353110683620030330206593832408586912455405230480394705367909446393516876255070825817326172869080250972612955636839337445857931253493561557324309174837716051495130779218067645167884462791723774610214365847009771234622639626186793168999527389166411647478401702236366195344408013000664694964916114500705034535963987301718039137554942789611482476362286506507392862306413215657315648187998975175597647372203354601301444930875184262049911210003263504798301703363011165836240336530924318575208566168263557028145345747384115047144368239331840388477853418286879014958063330484412734319578315198126108942029302458339754896725263799760156538077782833046946418680855336172467772990684418232269285915770461826931337779094130462478122219901261611412812708400969324604791448923263344012389165301745982384096970370144699894656827867777442952142904722180220861124195789046930420242686742898431224478539306502565682589371418043927271484199988808765333077530589544842239142155161212306116457074851020336829151369863631582719310489473418796302199080852167195967601733322740016852873762804835818699857075817530011226677450079193885223371548358776691016257266398997680548949018462909985629372412521355444725826214714665484384458216783748696754825198257412180918685089839840337294126384489407860189173447289420347227814014811092162704118657268640189798553780786453977029653273551304957281049725376893877017428731153062132620691899600980513965627883643941128933798034897017718116628957975540798613311810789239529983117720808817941605263586688417996309507209870812109380445187392723943054715732515725598564885989885393818582825329109099564509868438360967077603261693900989173747045488302515072989032907372163241749766125208688171338778804888620688848676532304071373288189301447812710341982747628381109376646243663145220068958657836891803424632915939994096281632849990425493757841346551617934765554277811329181194453695506257216401274189834950477666311818286939541867628479922747166147057945450539718768017920951470085208578617187805499576722697836278833666804340785844915762912362160125641263648531589417507778643095402354614806742741676554339938602597585512408502892972945779986949128327894209360144593227002781653527788594927955689623160967310728463127685592384170324041251637051461951703929860082240766208278547793101896592607111926262806203593785314693259980742554461581680992836940704457892173513379744782834146792666754430722720579361290771671936290404190226676803043433276601736584094573571348772360153350840854673287435467757149490812757034937672621414605670636715903418963941501493579921748005532644017802456995465974365908963545092811711521853208979167050170602511800387830115092829980789815153320766164427928289677109547313840134259841468505890738932390134048603029938519792786686887849209554948499572725548787395606314374395715498482560098980060843779084905184801109870390329847281886283410636460105472267318052898050486439601138984227078234295707798769582677132631569783807962114018018292809987161205463270020261517730166251242680386240039455472618533095478742581957834878594925064595624511892709131982037611385617469368910043579607056794054716469547852113219819690337652225003677590925665801087646258467802098541261488751303853649617427296183275966126508436843424300328603276021949668612348913553472326701069723145441785737293129734190643648298281566963477791667705820525123082439997590676431874466987699227973326693225422573393421775385705975795987533554425569411255664982574736883808095045544816742110003682354164079478606296301496674783010254000872751466614648746781805891746974603873261861113602255109146305402021125567009780351838696229941670073009586003063976106547154058750524135796512673983946048942354087084494503931101308479932174150127729989302649654620521982643991907259659668567252474199307219566260452962776969999459442146261327007308948810883093193326923172534482700104766404891595010108924844858761608827968772721053946828828478372354281953663355288042805461945913716214317844791833709001763060193757472038284189499913680784159541146950408585544617109416106642325146426141292841931431064360908309967783471658519988677364841155769020365904032539626976170861052846477353264951623219448618456540948220178013085234657075190966213582279509611974564075734502917505115755021566920453787982489634487546556975210596018604770073436775586830306690496008335716105348462450415912354092778038145998652821345089864245176726700731335559820323507954494125758484606443667157071690994718830901473776398424116079704568409340427464175406887959127417625110669479234649837866486915338194920360633494518791725984037042079405880392142299411796029132748949799035109899205260055666055669304402715592192427682632557358237559206357237087668730632582359950929677648847286184244212912760386267423159766521371865600500972267176610889812290106913176902988415495854042535847507255681603902106585969299432811403776062779605958854657650767919889659262758124373250977220886641104707566282568904940667844326201743181567218099858406105641992092571341136844400084835013918628924009180683212198414732952484950090084935313475858157704347109443310822750418389058300208287788833488651540315286763739434192856769070560106039223986621951607930577856171505371031910754513251653980825441920583810400813527888255501234961929784490940070774002310615031676778562869415316683826070299539359689088748845551377093541526478146152882635415615362950443524573804257291391958145906058572749301018260202201207063433270600457592889690718555715097250352932266129944164779507558656594696761192085184699758714760254265463832935573063533259171115198008840431979570985679262318686640642300632354029856421679506259329197696572662330223751791866737535631002100388534522967562767140227408894516965671466765275511389821899785782452019863663683607259192290629447699214627115875808415605885689824419261369838544646816703298717280156696793803939670122712507506157809164646024693454279153186093417917798760987476170805783946012696273424612381631922811810737616004774061599320055624576324015364150564566290008985932088907777115969616636898618094142700607692615166537326360674875140127680354050139455773692682155783992947070896765661019974539042840707434369962917301122316859934817911647648936493061095998581481912304596772140012300128329126657988810095381473549954384102532259619753712486569974123166066147657914890360061338490083493895721591977660771853721046263599605876266401607504405206089204642250316969880360892466627626407132795931538271728360358211797547926506832401557558350827667833777008049614205623123864105637378951447535580148011976189877903652102400407769967076899922934992489667165310211580425273813248043989566565565067941307712861802491321441852624154839999196954185971423049613753125113243802006664546055722730996071485320027951050525964643781977275816986937366087988525373431528354351003829632962055965098038076173244223700032952975880154640998823117894920129832803464424883049528990634844444795307614753975045228006382474122571350605713432812426596267984588286039148885935170921239573722904205284693935190292634798888004061877941493816816043213075809190700778937149709472501056267225029176196970029049601244979622278495218606214102074069278830024291676498179658772350763461475143548503139319870254127987006849422736525880756701042928406740484751944722804700280795317155336576811062099225984398634643239631522408829202262594265834490788638119778606051807832949628145433724663071993450153083503258445628997858708787256495254786941133838498259356903530751710086920674473935421186016577495950065143545760377298463390128057674771041589308821787678730698596811264111101988999218340712912497362613506874656366322288428513040233931724021560382524207959050363726297090630226883844640720582181695763444389874381497106758964911790087610058509410715157362939093832055235468398431250431206825094368221687334483200646005620784687881389377008892926876550987062672303346309442394145151183808914493214385423595564517159609978264285784254669714828272026157544579450538535773342472373788535030337356175745772292105047956248250387653209922910133791398438073751321200581397616089470445273009225206658411697631121627072483807324984396833071703300735040509543192650025351834762631406258393244011640809642539507984015318126861553343662995362847921162244170725298285689577328123267102339731226417160578887309676343371671758545222892766007328769806359866329664376869290584413344567740022036145086283234749526977874031809312332981860768735255966933065739830674603915536159083050306133253226592006916486192731522010325526916916284788766697936573391488397057546238970812406389256406432480787076378076123312753198736891668709607747860011496551479571683381730291181637591983417802958062650358409021431578663645737305001034572385390474751304735704800278694605539125822936865117785386380165964286534411283770919936257444184743684226032917702306276225399406476142787480038843287953563168576696184093614946881201074084295549952484856861597456120410937590129283929025784860363329171519751548908435445661728082887661630035530878877009184642591826834588852670481177075994096935209809836596555096961671878084501307406377609613193145963022893209630163890775042581404734021602759482371992536884528761339442946233360974565244073486492140356161461250314669161241832215212722677438815494219118859796274695246651961445910651131973898928757466015092518926239020627702642804861218228480959093590670744628357735471034929895756791713552912163311058434434112454590763411054870326062059103557014830697655108201222892009303477549358498597768908112183771034937254715974305622651531140424921952412400219953811391250874792300810303878996422740284348799885199521525766697573148896829018227232817104825428317922144047122605033896929595267267008093619818326654692374344831985064254273144926021873210607190499939794931894373881090320938391813131095087661144579360386574746749025833229462835895122102916897161800157777758132509353356986530856202074431532829513416722367745281113905690934118461991690891824075228815104149803742085309673460093244277598512144637800892223325221684508994181067179988577725187265625827713474972996550350766105568732885487222695928750391659235503932653660727686820940618294382381635154395933443780136341522878026043414420671183819632966592529847391704062573647602184758707249530073426454328484643155210467041072033874486760834581630093979984906387069393434131642698533064348728986901249955218292937378303607030172816653781876023305543779791531989022338269365779975664298939036135644752852750539312982275298283717537730034418952304975803966715642161783291251976855551464603848770176433356545823282119486119253363856583981561552219490608538931382026297273214481834079475832932628637690247599315565250036220550582811479978875395378324626920906718151371387122536661188797591658500745150786297723051603180600354677170678315283825393354965962600361746266678876948102831600510666995962687396422289008245859119726928768865808851597589083571227315764477113723873670024932512495372384495788871703093938518142746203185701379077774681676189812391740547046256783821018298557166243250524180009821026038338726348587425635828853763261909856139854643713367056829442423544105255865504840295284856598461962240673247342037907500423704461562618141389800131421428790398744217045067343485924908532085815932660312953270372999451170702784247033988213307844842019300445076468499627949157288596998918837978466165409377694698117719907294450993674836593439472451817912064327497496947202749846024693657318782339625358989831514763897562588892825660736907202083722521554845938147105536188174243405438673291237042474799531809955424563725117931858605445995558861020702210311223268944691568626577453712423224587736102884894539405564582530241385795459790461338620873612422221194267845338762400160502299151625278968109732636296203206632293217938288410854354012370463471477692077669286918693458086529077930388960605909495762820378786463764021448862995838130147638598561267599676350582937770338131035321732521388528497313843676542200559705617211896042932805900328676797839695405537325070751906462627281751374167713468120319071631837004181268129942687568560636815584654867264496529802278897727003927166042863526650139997802803407013803089985206698782038968614980537435468354034527160806256452269723390126025601425410278910477826050636621743721342064087612192006913708491056140803495176941245125965773213289479140745428926423422325836263804221086229610681136976671580189394431133181834397204271499230076213970303111275661672839899232531986347400971330188533677312554401135683249424830882724542085520773345498800600819296873685497214658206423851232591766781161006552907187020252434873196079979229112084728476882644329228737572250189767708103989000150488938677497750995008658190396296533694901509406473246359530684395176207323986395222308078760499115972333987842169352423839571233595631770277398793189323188567063293697951851588853932294936388753304165411532431966822024097139017088665551105633730452586865834226181055177705080074939137048099131731571311154112606850480676284327858357358033435718942569674028131467730046682076891995275205388870845068211596367322706453990878082289750913857878801242175327839679470484786814621299486658947741613119715526712620574163536773741371609450478552323338972152452601986353116227444231774923331734719537958939667833655219547943319209011951415143267329088733757251168577572478003568129025092818771572239125931423197960710146794259345753663190652132287374732953503542559514328377929364233760094457385148715629480417607850267636570857211425344720892420770610318191310545897178642727438102196149997757635835957522790073113782598305170334670066492409352093533896208159501164196671727405704062895019459685575162689773176435270949108732132517203174683316358223432911897149785371782681891030280682875830252626267996805539574810930316401325787850492123319109180308378976005071392844515947968588615043454498106465234646223509560224250960387736849943324521822998112554928760482148997834724023093375873730166331896971761558837324953461346251177562912078046530654592773880618800309867250497478231620580404613449910922293729665136291891457465937142337999160556547176231096298794893597875809131579210240333854442179216806242642418453620464105751097969177469540923907595205996936493336131107185000920006709345523990506283545385368425488552754409623397205595001923634502644479694386049852496416881274790996523634046200824484047699640975749167411102088666762468826506363432884912851985385696265983664201811732214602181406514592802422297917697814535527481253870212339422095947186293440643858314775985102227948551905947850507500326946090162497961359576184474609984644419265614524545523433559025687265574609086234297252169615663010234300409039237458624574034628542978055606410603700451133441310055462080779565969173940314394235409785094569005463362163887024201058092195273774375427797866931131412902574373750507493745063793738785979027155629288174954523479746000352352612897488755770104209502548594950001074034354965299151458588251694807577236497639045489809281530278554089995603809104159840165842078492678584325160189140669663033803441853170632127046741910589385581921710301746880054288109823595833140644384305485631549402938420538088937490123322450491306853201810302455522979045335364286470035166165524907624819824776088553504063202804338812406118479775789839809987152668501686799922910185104252847298940171273650147289651080120459169469469681614878977502412019324004949325788248128251180948031395399773990483922418250424373951934458982066519568195419518260089289373255862253752463918362426001081774696837319330732539092264595967076244003736520845564397496049851180925516129198880193853519690042165474903862013704459386928817237278678774674017603398441833926206052890516251815223825640095339735627406858338979697155586309119009903097725724649249856905509351309923927958163615489713908825296985680089711615328725799003110163942033282578432724198018491362142696073541010716926742278064727212868335553415381064449556430473430665228912480143003841321211332904106518777596134504886132198728977587810653213073125116975538385685932726143697476747285231562654273041472809143906128352996410845636077285429545288677700586796679202060311670702898398194475258538838118570311345883223210133960202536624745854975071222602153544159685502855327180647178822535809886520036125993284970637873536886723753863631503764197411363526806339740774770244678796187220388219897803458582212767579314393592716324226381608250729825219754855193239072353761570048188895453495157491017039432814556439406289563239105507937172318999423324272276402615343116653429996017326994037891492336564037911240431339895858375022812811355635585381796826977614505704053560090356936792033388628926928419111005050276299176758809141266710038202170058991797560383472301895145898189916645954091851220026918560615746754493945973422696835073092586450695628196315209574576331267454740174195257669710113001544718441446342021597765175114321913292460345544412792221170806506745186248336369499011755950466626188592900676726789238247667107393717623252049830238293075424439992773742971673111688355962496552899526068450955053445074032776051885232245545944618170013550387505071130704228070216515809557156137935414230325933673390273272890313795829750115627151468572215516644200222124458978807198932627327151388365722530668167586619429188428230920550146666104521895462722191448225307657499955579066934350895535249677139567323919506159406574251380697389126044801079095696924809792749249292053693889024115388850511371075116730072864222887302357440447365426755317904632975106062337662487899830817385212801528305936677702132679654840408566445395832769824856070499466254216331540424947195758404419892737657141399352953387452586002324196719329900312057992853436226524068830846427694160623788790493461929576438900712156708617080026235319054601652381559039524384863114690830721811725981185185625843122950159380327085115795958557708829406172534718280008428049940632053856701149443837949033462501594629836749616139141033325959195563597476044608381536441687276816315878410903824181706485785324622217167138388548867690226572413037637318789072269364946092368306029600269963270577330203472849103970366201247034702723438693254242757106094741285742399815558099187824409206377585288116308507499596521958614509748373608844491387608980434943758127133356358084643995748054285883113125943554065174377446755959810313069055489354858695362144966754189987442385432914605520180524765545555219717799579820653604301034189982861868188765130651382767736182927151190868290965476195347678813827068307139625532592797106111620620362272899395199669849171478806044138207531716396779489485165594787412931895657263048428226593494380986729109972481780618960248310773393444248986525532241317436761643971467468707021171240058994253820040168939617464397851918328853644124181902235780490564564463479105579962726897777413890920232171510643453359339790803981213842476207350531064406831936232498102320508342613492622975785267001460715718868463700858611573356302299573175557470886637060971077179931573852453566181343325675678885691567044994327010171559212320973850895321472602058022646739555882632616513002570355514208522836996205382868191727250886503096499868454566281506917139295353682510121129615426709512446094842296462753221856657381260266384509158989254020528534652472696284930148797306242762481563730094851609414717804319797245013054046664441542178182878480943211647647133159183635788389876064202208323078480797455249524624523734808021699828932366390543640780541981001249458703816816183569847577417039516165497968698616731832206578680664441394155585805543700201041025515403756119559335930210191391843082870417814551481386704156657916083742817753623476359554695406360601726395010411820298855885093357403467319106391843166280266421914642671364208527661307095864816509062384805223641701818894008020340112399108394389034151265900905457133759000450042628795940874621875630489996262590999643282503381294744580648923255554389629008728368538957958896051783457056594858076072789748907726863290860218261615841833144184520822546195052908311666029692853045253890273489167431757018896234818479233130952067556772768289250102260910596157122824860808544068583316972978476953836320665609039487277267500627777700347698518134289010061179255173825394142271274612843812192942107210310994277962643204126714258745723255127727936627655667042486073065052286218772311934391705182218825304104092077923846070420272690369194018148477790875105543800871907658354365715267133143261228415657698025965965023277515977394971254483987075941928468151247707408188704316112658799823500952112700302915761018838446316669597884617342338920280164752510421535722606106757505987847007897636994666549003248290147574869609169875589187142756001398632437708461775483998633021902409798298992222099629785250914842793008799964964425725008773707237292986101107675592347417795677626530740312697954024377024076487838741534045382343105505643448382590910177854382508735658902801953608454315405987628446888060723825097564248030663632624614485602854350072365694888323400071935553869092054789526503278135720028235367767061900619798137474669756082189509210376773379067368668696500382871734984462414944643630458458481679713417048535359551990167424125592948871701544955533531666967335159166202392668144488463582120333230944791733478503824864459966220188175922880026732901591950114120455123828653877744880167533061210866786429615945047530306119350279607171560598667627572220799869277600990472386751381729020983839592748563930409513279622295083556763065678885720236300884064333780004154179699498842262974900787882905842062449458076260471357825654675014426369532617643132536225781775841881083137428584571039313635957726397455199052939103431230978607600881919165033961451006624859457228883550265820382929076417217338907979821028677313005962856928004484111736448096089135910630504766611559554100001023182095383565404483899908702630532891032610946774565944028888164027701671412465699466222453539047610414765597184612492727994557254160181066829412203909866616170517207681943538695293761793277691363090829930822288420769390942969110974387781740324719807950798647469806039700248402640488540708476407583446609634757440798229630280459323967856356606262132023598864457750516133275585183368580054852693287160251873597387309155063498303215891267935046123668152979520715407793495508048786952663726270496423794236541071267273469993324772670169412124436176438385845580245487336734184503785139403179121835155770659297132210056368066880897212856641927401530000121401037989746045096238948377743932386062625553468260939592127562675547430933203647430445699436122404551536935722446140889601145989217670214763452233581545135096322410638692933686717814884626673708274900896468634478826202546724757159557370797385091995786834407071222122760498420074326746343700634923089931487644906371531800499524022074090985072637682417594746635387459654377330896954423294152714576582716567513218052486845889426425124304628785300203464047563982861868931328889645472735329387507022327443693520192990068219876030299900092987763575610438347948643326279215779926792474535469112409100412655962716671997992808572099455262686442235130174280593637396179314019218980150634033494294710843520748458702279649533220947982108157966397476605180561500937834820449383876353311114430032516923514785943829383769106531308142787844148693687961377313749600864148624295226859612164323559122028161542004594171069237700950651117316444901251021681200039033515044440059308410457763665037607979510661985535256435559910673854922683150802468249236052069745132967420016370252018813515396819804866682861893250130914939283963098908974425606638989073161154213296946869198472519066998396836618722945471799253407273650130824612654812982906320647112045698364580563982383494765464225480967327366414642928754653455914847707944332336661727320287984296415637241684940230372217657943825364696432143411930455748782814664941889185334606366335847031533507252209868024327982209087528582631819948265788992427837037200437058829650007505571247889274315843042793597940398390539946296503823158067839209530965935720204887254739271464512276825327550280205581529357895941354237489002344929838128161220446692406663363120936032716300706746876455619756053918883875457430295020720312128918331795550556340335147944605339701826759093583784595572103504727228034495964693984205403019977180376820283919627131717955560055752065349527572437011253261766577820305465962956041024291409061077916128166014475296934708447752560551567903669717639872364064795648338993317150975693169602674639170680096279838654704797899966679545682261475551832143368598660275736053936566102482452018472176036341539539573344903723874102746315020981530486924608431707581290761270227447277116439182046973461247373445030500753222608049580439395013307744218101858136108717613494170049866719376359521323537849831146913188800528089656325597637778270920182851924440953800090672581025170494573150468781416613246238206425662388079218848571804367322470877053754080526011990682035847702856550328487920997455847497089556118503769317349915900808961964171944754228421520723188099265247991957154761884147699325424325193095698580238997040532597313272134052552873867770638571129473563963368734917818659209458767823398087974093356961959305811072859233294657752210923628248396217696320771686035534429558774815932672835530716375722895925069127804109381294648637008948609989065664550983384762610544511471354114158235417455205133089732690880763543654900854332765213686713912176035731386680227651392365826165766431759798937573791287022151101035883266413730677814646660106174913916739152486325502209441347790856667767415248141550327011895459133675442706656090447039532215910953912508338115119129300765818005692791391634143012119101979769271342441842229311364559503036807286607731320516006576113962415129967510275336468039006853968022508439978385788628416535333920285726653768446343461038650681903312493025788151889339009993020568227487938689069971803245194194588786701906524583728623896948663086141386906016425359061888414808257785760021133457512483245615790892451503438716486595964454013075879301708747817797310022347331083276756380363354352444187246016121888398038622485895527111197103917038982370866966962080360795900663590388992376775786254791245865871900540076314354278659242570604251568591491153911628048002957668542653865629352325460127906504371592050186681258165388642238440312218885101532264132315863921505884980388572745606791638289640175851289889761574649121376639608692041998811953510464510863444720506763711353963423975633455983717152129501267074966127797368181773492463571050112866229238774642606806391410539596706982217028327891963645465254278986106361790781824737401364596994615817207994402821409591784163485871998202231529663718848658199421168933158247155569428944233343471554763087185558769432411493394075524216710905519989579057216919733469917790319938775887498292684022915748820619691010810279190537185529356967327962600490586624624109189089670672120804325085856710127917483559499354834156390939557907893535497844951409788296286067703036168140748814968308320472434512013093896118012300977411934275962655930392254320839202254447257143903117800624509204147393160515656138731586850792967054830203745914688137789517803314493195176971622463286155303418063685004358717761408054836991161531599458811996663847089657929872778692858244114771054930027155875448841454500598732653787588335602191169085971629252450693880953463878327268496224283978456131519295236380965824618289087454947464836574676549613627804751167431881101043513734442318964662229755686837514455951761484994336777091650806529350698455152612155726732698615945782972014357753422909909143583404346585374165731747926059392295393812698940452558975016569850744212677019407221785809477355492682144646270153436812675691216837819400874259444176156446127454410510317101530733182965067771579090631914267953737856294963758475628174692937255964294302959596525131331581244556586254437816188248050461283768981255412760587867882288107609006815941650911866985168597397713439242368721548410031233328010198089827107048602602956651682451727937235684156561476638979083044316292754187094210908382751494727889051131543167793818803232246762088155913719427407741617152335148803589803009047980826073443553355820713878917997637710588540224468076012525978700237960430512786272417168934933451694487946060107934023114200803725779985075316654030175627139672709291421489416914441300854974350078362002933573767509051766843116202381931914510682184553260889039429030800416674250860303413402061966344380247250742449321180597903762359959136589812763064812345168892031629253742803210699267130262160334550387555207678353834825791632073874000190663242813477658616577538811723871277639819157285653520830268726242380843445103491349803433284298243938845678369379609156957301565444681572936240988008585378567612387203285816963449262997534299954100363662083697654083034449772363642619031128802997392165309950357142640711951765666079739436204336213485968727039937799555530935811405167673551853304926823160399506524726687939952321618153603423364492709757870407716748332476979071420740808366137794930882922535431330035032929927276314069455752726778071794789694752247796560014654442976493269809591505383802437191578524047878150304134212601615964155498580249610512766833026054100573696186844264202244721540878181920897987214577276315873028142440018718515125600176405620461981103208450329904500159205607501517678257027259242697215685136865151254148008511509784302305701251772598297904962989602155786587366235218221688803946230255497183762297610194682486664588013025538496547839199879451363714107638585839235891352649909894621706708074171576099918265482633694647106090254377828239902178039643143629423420003095099896321184145227373959077956651852237021384589508738702745999880535407142088097079226830596319819087945524501875942523833018038771669159674006044592265421945387603998342379011686523600730664051785864810654453949300135129265146874077989731526246844905006793193691099289562337450256185827918940239950450602113673625358938734523106989728258494785122927756539388568070308237686627532951817208311825837352636421180964474772481463082668696226986893874863597601031596980061376220914838263774687560978578377302256862117387136014460754787446177723787371192067882764325070408201920771327942554958479869679325255418484280395783981154776002688386239822960090729116916400007645810244516289450389030819050821495392398528921472939939904246245568144565251456646187915121031488293347157228316946236371137161645383594888682761688344941461290907293690279405392721172021807933328271553321729167124529758126618782461201477486813920049500650193760982266596363323552464803108827368794271747037699351251412805402475648842022024196513671368765751802951479313734168124633036333301892983304479222563754099705957665326706685469012058432797282502583917299191962930505280305194341299658508003945792464588203817235277831111392333243936580636303111433333082142916942799240123170216767533474345766935542554108573169997887711059341368443061387973598944096115122656809937320200490164014371145956489416831479013977459167259857450191599789529032643940034718572016944105768797876434627307124387923896716963526779128304848440231895424348779816108090957524071972377240408552461136749102167812003184152339874165430953634538646551636976906875394736517106257408930180191412155983477709179760810330033739484299733763017074921461150486543188716660872407533671730409770392689999173628220940737388462848545074977044317148943843629594660356710998171250732061602285709879881579399577298668830553129657443687086147266216679233374652751728038598097200038366121737662314576398480275985607372652858386247324698148730593930277974478542517198459840165565320079318692356261209075040703525731868587961564437148005824089688300772672991347995172051258705046137717111191534937162844497584689574197703985595244058060929527099756624928251642136780767842551625400326382999776641918762029392827861143075580328896575094103809300524561445482666849250435262173910400534475727527262514954374266404606053756604703341946651058753408268606306358195759258380167600837117379149493457224243458981662028363408700551235995959559472541746944615302985780444366275809511358613311873965760526907698763339109751935177513208468368236754648793206913636488776058347965350181260588800494229249512008091895103574022639958469341922159906928372159639618918460079779443546146249535546814709633344727508211272398427187749644561402395161694293951615285757768450163242742910902686953127751696099904524113334627302132878660826277908677281379142746994948034730803311396634752005316163931760705580140285398352874271593715943324560167653911572221710274109973756680083353871604547384396000477151084953565225394672818850747684185616862007336894770943482936490594594525612860410739555043649217917346091533401631246318463854550158018050133791661991873154424487758410307065798390652291911676274356827760260553590033211297757181072693030717953624091201545426616172986890942340574657105520607279501812721048227075444909176738569231697202561248834788339677334494821894188466078405063864207722257735152174591579301081354035003341525076373965598178997005861321973082647337504348847296939567947872142993665984970096777610379707135108147273808707647799497269461742245223689091742664913055041921393053945155752589187209031130342088173758613455253824262182509799749511112861760941104514337421866789321196996709879526814731956038134687643275500473638915499822190599372327525868115516666655703993091558767700253757576948731910894577615858822736088807067131545883365942215464699093932964942520152058560452736489924537785399199321372112901864301597209215509984890582655286375907529742352413718410979152595271292536191362030626364139541219269580153712038587505673072492235937329949225643765472316346873229216945186348798680229151637237624227296106052429648667274329100072448309307691630983267713642259210089573429670396382757439481909208827010452834885606516416987929282487187427746742135088308617912180362039661518795422691485757085410042104876599409568103907924037052799284229868086426969591696886918439402927650175581328908275641979446830406676314528536609733785661507712793280965585709623489496967252196580118544305234518566329420180328558268217467626943079012002752979148131284253540407315961414095596027390254378868067668056135550351194221944115446639072502128862000774580030267322292906079035235263061464846565426125758449471719248136766199040113988526612487768313275071483575831743717235542912820921093804431457007352475924992034851013215506815016587053571374543723526524342338292085521238151808751966347299680562170979053985047310423661492859328969193510367967727575585455521120629744681983306824743944293155306962068901465342843084925243002055186895218345640200693110699946997138697666716659061303531618173464810944799928588363321320339996174511119637243162322587304827096078315541328305791356502787933761828108338542429077266452862571387941561404058695114917678125114058729724073742917023690246200544529226105873708850266813504454853829212726642082160326699959386827695092285512948608034893951178411679630247231796762321397760039183704377712519146709785482410662742567860282426556764983533950738437067602785774275887978810706697099162434105562081960072424814379932029618930914284015192682887183257747587105058915593435604150023060028622842783746415750063157457621878948901213501519880709034255553624806216736535310668253648995356309320090022636192868771821831248288925892475951110469795806680523574426705963094536725877287888723076013484613076268188346175885548128277283432644603443272983972891282411749173274410955022537598901207017190656808017600940699735695780088978894205551601221554494156088897020698799531665285093946204353835242472175662912693069183524630884807227179736170636119440624177767543948512178722941731594905478014402245018187360301794434015290491284537361012279280690242662609134509357953481329983590209155752064728411104672850569063889825339498287446074452726329641933332655343977799855298990179756880768640849131830144054257258383820562462375594213982269598137216306557213594782939666591112503428414196166135263533845702865598764894109745981512823662019900532921028266030789426550964034978750761711908111894537983485149184488913763912143058258873519380282775774683770741805432343981651147329554060433407911933087254799903390561081697417294070820206250700485970068664732394685851396960017193984145972582508198551550850219040498755877303280373555452801190499114915464573385517772378309827110947400739860116208231236647593898463990021382120027146143648193287869637870482551376020567209805528323285910740273336433923285935821153002366929853418910803808095590596841746687026683401871148758998379381380697490081076475971340524844907853204315653457667169770819030980054812254921347767705093757787099453226882290983273621426481961106213066934621730226757758683421486188835898589993491864702573005230255625894044562926721021813474726660462731922037360690869957542134073911198494031189250395768085856233351799826284790443260737760808789502928953177942576966799085506005499011647273507849912852906449344746396351577218197167001002442841881751844477589034728457532243813580354629054773428223725755889121716966922446157525334022926556671950778418436821410287396036856507097157027809555727630402665014389869879134564314888779544941573765007187413869720553429042716582534000253670172483035737979105454616093999982374186104726684117531701624557201118630677264156143080318409904881894477314126871005920470479166239183508038453753917554037141802829689585411253261520574593355417827811691946501570715544599356589637027046319323837313775319154437237156992614867284679487831344850512575801181682476586294701737389762557743311446750649387596221343388878852442050280632149623758359730920700362154709805512677781303863057092261785721563674641605349784240405883149952004932905707539172263068516147414679969066610261004800896084552265797434385260459927188403445657977864814260368274750026471107473950752922588391924681990414521077769675681053042000079841850726875945621003039713390487962491338466469997117303914942214955451751046458148782555264166227435071918918754428580517510993162855094556781981250527636664184507641972154069670458542578909803242310405158087354519677906327620284431369393934372928848496481109350670134284063777029801561521615843616620955869831067742613107588766488671434600068206276137424786732379205764368150500949334007003741940735140349234982469498060633242209979930199209659542258344056668717901453458031342489121020715745576904800352240780487123597346977459655167099767922920952032792128543275798825849643771201173797881417007269007353580633723439881757973393311938230539740746842271762419375013773891285277864750896455620883392631079655008188808343613407097660251444701316198168880336230612618426645114246482821331732643021919137391925852892146929196448762666388682278924792974181391238792902443799849791782509764478984323903059744619944145099154293830529714585693168912310503597962592087938380607518071497611410281504599853290033701289605421127805835798221839764090907597710232878032027150883058796073359454236380745759675414746310708668130422326956003257264570444754345284971290481638058134309178920175137995129487525714411626443947975021695939011905840927903359868881934370125880077445319592811103630262174905677838383958095711282054022574414440464117980961902487620408675584240984786133773254939751812597108764240278441239703440226633101718047073296206581118050278633520650864164105159974751643277183911763799763080967536370478795975130181395607097909120030035007564299561246025753664978562689542535796757315597157898567436760614694779323998989183272864857253156674913921027505991610737971224995264871415647007398392659377090136846542577410412683531264182277709526314968275776914276927805835479266933523000763231154355270706337042092605615380151372068766803293938688659617111298444825586327820785526541634303840324980874209386950768992662179675675223798182758255277725819344018049792155576522903783656995376773693533284232246577908097475862411091635921185906817588598343759789012072553333539257168368787426871616791298507016563012418028183994666106091147464863127936907400159094091637931203871852058288965773449654498223315003666699210840501638694646933363038626783133152504132451022086935356147628443354499762360226927544757762301616443486219131081822266341196313685422305691579661567102870798790192593861447558816865507942140575749069956840278758996977780551097426562390663855594247838635399802743581328449896326543104931773711480172809576957180462535753583728806435040275645842054700854607398882384647473558261279459290185235543317192445215000286896013977532228688657798661148036378286589326859537980205734771234798019124605458546594795920909108279605019971809571364384961507859226055597324876866622616065986825984939962320560347304662822765967794762263038347882384858005206138673989856942544620110862912472278599593498458592135722882508435988003521532493628710506630820311336127122160441008957797186502602676348124760295820517302916991173429907910930923272309097305480761411981410583700514822024223915699093013058290447410363379989075721670753608538780903685942264888078919580139867997459318217760412553339953569349987381416137530276321131166397344017474955114612578706906864360580024486324339621722687496934127086306958997768068341605803659137097802055682949106485305844666775461890976958451510698468981203867135526670857172379261198478188902543784758023486652827932576202697086740606389239760947403519616884379041072302662491215593814076352929650689157874041317906367455921266299662939902916527342867343004824672567084782472388903577060633687190966745867704133216065035884642393060722448976434649655928311990347089389719817453311969502381735397619252743237920216591321102367081839229976335196023946652395960636518622381566384086051029160539126986142239677569791827334759171004260685790594669304170843375625120775606565615787376195562042878310170378075095444230165801902519866489823513601186263539263282696793285864819118141499427499344045409448334396971460370753247227128385980696432192003188655401848494630415283412575342554327323268935091082119458497992851217478157113580795703928351497253622578254612824007276784622663638700860739095008834468517927763974868644477014975494197039211061648274538629052559671561897643798292025194880358431090465874220885355005536579558780037737289259306258715370648388388679538949535981737034611398347799035585008204949710984429415112884956575624815752045058244640862973865047154834919644856375390966201348948286175646172326497794350484417922187019785044310084481423527678875489133372935415706492449339678035105421304054690261656442239603103063128200185602453067380708200399483231730096893853254438929635536147440228609561099529027765414832561849969274879541920672169917731779566614689164524768329208365496474423688966950643446089423029343727794008252156347367328183662206632997664954811621232304190382888044277051027144921611609865859551749752092970045891339491074928170005439125869906238953616999064458087913785808360462731777888595163833955156367879240842957981980647995484102416477562620129762811478096486558019851290057543071863622395860239464523779016236617564669543003853004843097307558776829623773595696012782538448770341015765018734328827810603640017283640606808151046711586501686105498395207162283834730573042566877488732732368609348183969716003303897994658319808223541226542450627482301107309075864883504643431685112352090078558744726275557070659030579106252370223084644243427801225702041152630203929827173126615061352218896080231539141335435180181527818329353372586384855566417832955356224752888042652908262328521544506121702998649940646930392301994643934809182847765170052274649473477546657738442548352858263382109474217615852039679908480288260513964868763801165573442337259769386907889629096221721026666995581921868599711866254378956504963452407320463811284234216359510333642562043068723195674751034378021486939503865776026732185175682252063375721022624801608501934053122150389131445325527428187441727146569905615138334415255682276041058131387540296403120300962480446058275595080441882646454942706875843200126216668961531821734601349713764290538147829571679960786649550956360055276593466671926165608087573001990510268585496558872166254379695502394108901507446126130752937708726668964858913380190918001672823144751098120278843098283787150880316373548379298630930607412827618887952195703803669631752250080102038660902351049783218827094149816466549069198248888311876275921187319080570486436538731595215078291574962473718887222204657665755237330580708173665278051806372173435381116435662625944515116467002176282497075222190915925894376910371860026974009089878415300141760461073257155771652214611293493775861718687748423387883927144687112741551398600879614527076474422664236454423302166629379499987197195220393127842608294136646681825446529851653782474363763718696462819640655285327670774169355593519549229298381226055367900803653092110895688007834138873215790684778885321205182517809984474738191023343304945876372807763977402482288556179737906318850503971368136392203286478713419822313581382381516599515229813522595335116347577814595218846764653155164233788397137461889016717066552222830409494633886334485184817433558835795462746561403601241699302255356270651051435413630731986086226810695598799976508563102224666818300809854621673243543498727619931134520799712338410794539403902155129717581694357875940173549759282057323340253140413042351609813099021509346636565551412814529184384748342091808828846279137122240868528089134947281994030145201278221021119281241790440489788821437471948395440485128889880893460151267740451868850878301818504026762137332677193341674438066897970896512797595752797249085251298840551817964614251959136411351151826655930719937812753495229218540281430966806297137685193415529764113103658487747306798201620017729409867567108442188607381178930473764979648077948933329856382915389958718220875717426875221795964459345519959619525982058922389058572772833732614729249572404110658953503014729914477303023139439751995706401118894693073274251171802141584793991612202530043990825500326854944530172934841595398896054599184366990967868957473698503135867819236969118776560496035626561609728476929608587977381991564048303207532833324041216278685157012166786622305967314633147147314552273030457251754756283712712482585677586761058154964457196572721839296616983078036097669173705436278983881706471352942311017818610800678683009671607097957364097771769126776010938006288587350623203424433778124666881459062044271968805033893129175954773006188091660817109909006270777272721684156188375513529306739452682632861070572544026542679988198176280980313827058670795168515761277282097321968431663430205896066173041655670493685614803132741534147818216666643447309111566848345074317470249674809106257751443175079658353753323294085431470091550097894451252148551903960603452065036793466124644128003685203399944081636247193922798090150812044690527059522963432811618168553045704604084304921612547219036638869926311905414213633222617966744722419571880027161968264655764124403189385869430360598712248023376329184894974118206062912348996408234158105922614125172802807751499900637985087007871972734194161101847705163128044993856403437460119772516011968824704228642135637967118974081854644010936660888390141431095757593255858954389969207411507997640605513006503548498832263904877389357050649378126400746193336232165682567108271130649901886693674682806774707855881739698065687011037391479675474263918936382894297575035443116302071696827058876079162026703248217395269233273235118892978185662922012716917723078214928778569783144305133524256163584723168495777505760282029439691122005104527091900283633242169202169283767172419891051514751532361215435199528239955685982248757583949899465547617256357325924905294011166055213468173585856226197292872420825510765636791790081336051743852982587081402984860515384460890608293203677575899950907351649836336446876898823793623618244038376027007962870091180631792898542250101895966121016125725986161969014315895568816853245346061799961264609986410428896356672597101362203680761868968575280304903561750346983374019745344534953284201966642245783379901687456891172295982523685670832641381610732461750501109259904440861290122140700991714929215141982176882112982009920452489382493611955496021929352281325102986946359207242313461869297571842784615564344641795872492578327158024326949143940053823474591881075647309718476572607253792083696444565669632752190729236798331425191913395207002962157906518863528788074892381365649516886678234152919962005460414452726759899235085454699461879329563559917523796079610797340334169651600342760460693260644632912926829026210564133790625496058769609836276279268243267402660836523272114924863926953307486968011471911392322309436944552400077007963846296839422953166109683856350839675192862771329000769544075679697018492667160493044860810277105867142212530185937821410700961634051775525631085083964426681195239813895929117482639462500948016541939431520416644410277404710715595227816220079442845440689575579909519638498200531793554129872883592184932527394341831557585031410434964807404719991393518473289811573607089575018167658966081749319534091668565525903813205394725260077327618258809511307403740149628360086425144794998378877547920221470193278488550611215195157962021552047573138606101902857924976427656918110710232092606592051814853774594343331527565525500162383252231830922420305455683745418785047518090797382435104132820947862488355930945361969517774024652824298420693850130988761782745070742791046176413717756030806627140890954256680219908448427351087401984152433341176844031985414127690327895308474941603426745908210489447526524768910146411172991262652450861419755569571731849996562376614924490656472462855988237297828209320262301634197575711026937263643691759066981758722493796704608335809341012423149704194149003731528132778577578414042433774328430237642023840630598432158961329080889550466308148529721557241913307159563478606351238321941573820408800357402614611264094664735473992510365722388662743347994418368468540320209909368797488324034387288714664788677834375980675010363251075475393409345514403261199836056964122387554306772121551650078474285111195031052480939942212239186704299064474072412499454706292946786104116538985857372887771541313949222521104312647259375996982615987572625554597267193876513692355305251957151375602409642945144206920499699673947859705590752871061139281805603917346821806514399305977795030140162393472253481813395779595518258820508813136836612880663448731557706344146277294468404103996351676807812034985825206991248341663593619809669606121798778012432068473532094752795627546059376610971162031253718770235147950068357333116006818264489437256454168179821281297394721863109107176073130041318345532188726091415117491678241663558737526355315277090813845042316096454420486474167090580613868474051257988558060531078860491577940896543227115533462299091529095605608783973630611895055576340121787865265998631632970672537961329747029783441763452229717302771707392469290456196666982577877498543585129039837851994869818199968004121393554337296592797389703598295547665953504796283283939212798788524333482478692410842324452287559798179739074550033150256994134186193890103365970328511294848251257114200444871962748266247808199573609862551278551094433780646624730456480970145208265597019457616361372695809288844438834136491602412394001774894359768551426540667031829064985643056246787786645273629395008432287618655921092399466335527352097568341482214814653894895136184802220964560772331170620505654455373157775970493038623646224271621808976107785293020885549572181235065357009239912969865685903791471699124182716166534242172235528835754647595832631434461814606190958570027282618775828415242366335613186366930376943218340800216310389841692148271501240384098763899153740517510394970334427168637659752136591759801568535197211930042010726352945654139111279824559439525499161905832329914180248757548020705304621270480651537809970368175881453118068699540682601795534985383442121983879034336811132663758531394344373188391640407442477785818617062762736557895501957769171242274164553243665785564581347488243993431431756510573973131421390238473730978950255013982701517978370395211294076349461586048301046720990849705145479072550405975894697436356804949855139272297431381455647897555469540866026169464699982246343894318667345900151176250356762921811112301918094350193874536091735076527752572170434860956186533200096295826640240455599284827216651110738958655154688545371395332373599777822578049034202265323197761454236405200126799101605633386623639587587017138089206090890113045702309895479915630410477165774582922543780387983305586066798152724107371317240712931786491401830077962594951461455153932999964908883452063054281817161997478225937869655712360285886819861569333099454421743322729337576879005140189089675411393146267559221966899087436364058287640739573021784277922095796357748721633843301037194550931921783907349714874455170820290578918711069187934915161198210435623610335504062861227237685797761895624754818414553584013684939142267746505290815467306859149533248405715215212795525722021519521515931739597707151736606918411918818786330755620578854972120068680258896234220023114078788842238155531563734071041377091059684742270953288319074970529555811148075633355623844030992565197482397095069037410114888326656457054394745908640777988466070850959918901621563075434659818855602883677727800387822091736707787281826699965265019044247754840004676740195071167160089810246790851115789908464054280498189412509103749732413690598273979467863929680107083840032325562609632116366718901938101455714020147953386177142882118072018130163364077175421496991478851451864611358938518263124192238800120193587424775968498842427921881611135526926374184436189580479665161701261666550182902018081834683104571968521194900099057870345789970831554173918285639170738609012446922239378790657460697666802661608925051204269027915991224019268807969022083517597609736509922129752323669189894672812171869436508891534740383896542799585527730950995750860945832382442986916849947399845843347739734873864050416085956991595138384453218051348550422829284666048139478561376989544744693304554651929884297026590363040260968856285121602388152992822496419007225049886324736084653525410722034243793579666828120685195662377832787631792105122054163684942003618793510296993714899089128557492328846312221368053883443505649855575744378462689924169287845520748334330901310561169217273468475194370834265868712416876474182502888132965255488394918860401075599608573645991242565964302217084680937998970641588360215102197918803042378045409195666511210149754749473573733693713280412953482054799400385314683102972830213065218811422559582773530169241779465760105595474100567303402546662169799192306574103638644017375711246939784562269825821754231277199948073052263433841018792815626786507502609856717009865847553259898197922719357979703448356281565396495717375477346497869220169769675106415263293403370775363751593978094486875749646542900500254715592279360299823309128893373870765532205807845328112769042803782449270853837342230422444804030854410812645632034236756841843892149937883877243555301148541152172075090738760436578007632587587785063449899426935592403833311412210032041593032369529468604074213147866847064158431057626965420439253082779541140778779306228229219966413600717407459388283230433620009762703139680043662441057112918098682901723043270785602574419374644337111323939599904539422233384491278120527594309807226635574494007173324267497637380145573234283626817221608520368793672916186737104916245690236468180276172966548974834147806775893000419014156049642697576502259178282580310721726223034181916633873645431699074474587313881916084129759957128939166508290584150575089316639725102241539461019375483297234290680792448391700257135620939636923291706514758530249510592631116705106088592715910328416347541513452810030653323788851644786545684599260937541651083817778221446999569759393455258649116205759008362631052551909307430466719551151902651915001073553044330803272650719689650139260226902825949114503205359374664315779300846575188436421728041894446879954044114595145399640433411629353925719712259842409854801277873604992004535474895314148809463282474028631982615447372412100640174536960338123589237644901744159429709900869953529277788036289653380850202161096342512559767297128875358907945956695931400652402891689892847929143148161764227308673013170537789988981805764680304432158963456272642637010851192846507293639606732379169434143227920334312733117438412407535110923266998489012627461415519873288277946723546235353931359624897952300066940815677576865376640769800716720468928355383336878733427560061021616309488836796735392324780551247427910859994278074462069749471384621807937363244804247824360321802520503666735062809449833554548192558738713053072572309254890251846222905292152428329102527447246589800589388648405597585505456611421765749969503375608773774070929090413644047713735171801657207480090643126416146378504582475510329191083599695462307310650098026961332033341253447440249895605403637447105252219108761328781816333445530390047482188876948431468192019285736298412043308295776431425472027537663952621790509596285129795842945950571483258558086348632791946585213800125692549577019547971568834177085406033855003719712537383666626595041424484437048746013622325382933244025713580344240746340435455798510101950692675120844624454141582676924701959103870286853499908342778893868736133219958192130322692783447677834121920504053485723221255342819771683285890418646606711618840943330656893458168025186907446987643283318091565332910529064213768176257526926178203601017616224208648506162319537932357643969597413772486604137438610234495516346248011607132698592080162596703117179572626223470021287476830404996245895866046207407902076530507013798211601076022614402156574570060690642063803107794630068874904116406102762931731787020832995595944179398794395893038251391672240308109598313936878359679038485556617793150037835549108977279497421054733387668188585669230628832527819601803561997331287377160211997548444983623809209995982118894617210402448851760741898916543692901810574284473796403644538078649599455828256608496111619104750379593636131324843951298223490343586918761325939730338513664628025388694757495954934355445688724318075478527736779506778659439313052437250348051209931065655598316875883470434633947200632552698333771090813330774475200133093690549945293124650181244175849237015364045044693244785626537924344303698912517654556709095470520373324756960081194473663106763871216485436278824979132198168317420628348004301623552225194319838549489586730664646380527941834400397365216833922747678384647784175444711312397840361282582480791520047926334281837627543134959324019759673629435866891968294829720630806094694209576740706388465099004311242827031479615831085889268222031031179326944949317761539556438675414059862332089133776841937170071833444320063553850376716679204614819681527152652047001034808250697691376467535375701373956474981986632825573147901471429813161507829949815180665852017628656375776189148040405823827106051215503875519148467654508512139575007683156881559733303535298820527285656868561227611108994928634524676264434437865305779965483722315354328852287062069131713911283395678674836525564203215892465238081149952614524521462611641710386269575466066798535073396807421465837566964796083073425416113598304890051634170549323007223194636578661986873954290572339777001947124851046604984325772459461559783715008844497087916979075314637091937695364103759336955299384331075281335214958603998572849191353601499719597527119072650102025002396751137371598504325646967468273753049163446702926900581123795894825170878543635211051880997596007919760041100225284844144774696235680767012612528021230258112420235422759819907842632352134933920850167385720479188726348076370051332637084070252905675405560117536342462572719693353800985724705714981438672949613260067777347457126118962485108888670434459960498181366272548270224432593031224604706798056788567256128044085876781903098708894614337385532586321894941431667823401783747992331308790928423098120196647180213468293639931428073352190866119023117841504470864593259242658740917000933177453734631372045436147818038111190410366421930163998511431212271779197596654906164862637350832791970098960589189901558599017404677767333001437286545091938953132856951537461184971787319728814475156822099116173279900268019873459897835200302290927060231704263886462501062446831238135774903874548709429047627224724936410499862784472055149319033002835098863756486473579938434824866074125255480683688514530436377487013688217347475753323809359462404603328386623499825272850083656578911343498827121737385190245709772879650072733290445405242473168390783443975438947158737262393328764572637509565332145602207625685935595970940822027616067812774845983089810469942400766676516909678776675410280732430579852336004220200834058593461132964729976875961911658527160630012823159256390908907766026616246754834230886856080641618786189329630805759799857329024335182000860935119628445156350644370654232524937045935207768264652164325222835267549014796331121172731490926768696900511896625569649428671677003589457600562220960406422022178919053824538645925760703201998488542908093166727273382104314441541388485967868723059350978244973065349316950476675493574158475681712407986651944584509802770880603287027631514909342835046398097364352041836077214666738009041933621317107576994876511086182659270151409619097741552887245400298223787164278525319331232348301945731967118752228462081906013976103491898301248895966707457713609989425919820876347184137229621025286411825187491462775610604710496413260106772456050029217994367690039703989081779724816942870554057478969053597856614082470030111357776316266103788052636008241447198985663104106789018030630317124212345738024697760593393896193009696979266228950827934386854042004278218717331544674914312216447451348430808990423883036323666740492930880305227176314846250756549296463761423557383562786129957165485861444593456438301439233972430580810347433335773661595127341540971932239527929025989753078659569078062646669042835293797010218356258939884854146223644526289808786897835102110827512518501646247578596402534263671468940869000515469994744427747198556405644078660660050394905655855614921450742061805551199863288373654309852141746431619392105572098007160992817792573559941334334846108752097978768364209491626748688351703966779378380924360010436836306534682579301340457766595965977627458750385827553481749047451064083251515822302028211826477646432634141477778527295544482964426449484848907296683462461036725553418577373087466030838647155504646476730286308186685593819506938905993705341736506929652133557415682150351308586956232167490553374746529749756852224850067442352609565711494303300920267025334673018243542019125254756966727338683878363114297911173532896811015261636243297127456554880855215322253734989627823787334368261971367612438598012190191847188844999539191335314321597071767523299892094762824219036953498607081973985233368773802154369638149247331680927594530026050104797637604901148967396736471025461780974001011943853452319334135682978294202716690381705210822233386840416182739454845854977686021767229502358858382422660575119502674523701197438909298167421876098756045655337040043679726568874368873496525799494957077798633492959243154471447487801529265688503617659608092421769755962358791858815207899221787013598959801544808732592011189693296571724704754178568259322263567008629445383268214769365738355243586586255039003684273645197576544649516328951792126988514534380738099929767312712607623536859777573085179623819916060499916229041726674249673483262442995893626298109978942007688589525781131407220915837713753217100822666619041333059487472844748730985709160176137764362306959986932684021416885693259580419152175452530144204151527294371836895775236842334942271144937690982599716630926653018233478461979198166078193487501667672048934688741590683549157276929668145944484799491512062475648475761387643719861864685935000126892463039574311223422084130330980321860066503233461218112063868616994675602665005916856718717558905718940693960653437668514297894894437096937262356785079657096177895370135445998749787359852732796365900830613119867670349081574895016247049781840375164154325635388570929050753546880018748154198301802999283065489281511858906917627882026869602799755572724759322609834712482116973377964504850026663752133595250469139459841571293825913946120310570422562521554242588011058449461432132804525322515662927128025696906806982226602819847676899891450726419016787861003897730600774478415776957246594561702541112860607915254494207379850347967663835498419742258940958500563270873873567772044436949729348175237953721293427867601023168229906367392415541920726520201877438514852737318266683365291047366262789351189210678916296157305622318025962056650338521453207372856136900361766892652994764748474054322870868197030762484974588446276133277102430248536090261875419562905759393294815617848874342055552839310076482948822262152764447904411854740120131829875885665674206334318925344969643117329246243271217618482071267215011133602671700445482709194847699354161094757228251382585171494169784266182519471338848778815932103729033309331814272066398053869322635945725946134199224792587251085237359898594560234236029803381945760053291040858324320298371659436581003723624759978304046744760035397143689930828240336093469407857253154829949767406548585141997494449357023958019786883587321220154238524225519373254807098538415855219788410350217025048110720390394026883373731053327540803320842274089587339460129763785239945443383402528953533557045905144865670297502679518819143691574856685071179215632946852456118674059574208720046647440569878785277255568004591187122546596789156786833419627098643786268369386132096223055100879180697927480328005401800099201984274854869614311500146606466987751131315181022557931742635796998265559181794928868527019320201302744505692255158605389096396932210322938877812875178507488491243725100518589896937255996171993929606521239145101003315070240357039466685211568354707005643902420485917495095783495263814388927171317629022617872266870154515550894142865276792221797330416850280074286647466878762151107797356702795479357151478258263206114788311411257577425877603180366820176651055588413197095496451196522861136426774943460244355881586968835211090302178563550413228810560651735992567962377885659465526661339373049646846807681288618321786496904656188374844872781968899104402329675322876580475329680668492324862430426859491342204614924124977253222571732290151046635494225869743522378951299208451174173293631492978957236049917255499379775765265231628412935211929657082931764560306518900944030640442795146571553254580869277096864782086547178529722834643375119810980268222177269928622803077840405097338264324769545887956099581332393464691583407080367388088521250698986592419338317519320733473911996027684321973912513289443560067477369772728128203635105677033093432233179927201058235687350141958932073437340843769687022781328825495451034621479209657450468067239762813953395387285537464236726079600118210486100377721536509924756223935787368695487739500880922158979404550212197358074458524711357718454781723354454421368055797601588260946730231326149031772993850409333363332905282471001103855728902588944383846990844546123500567956282737607619212729212006874456041674276333165965830849393916661908429586310485327546665432834849972401339496292812230947899112859958186178148540062647022657807379179378818339436607569018098898780714270070819864268530233598938311635890372536508041936813668811511284604986625168205086767522459692560451895554785460671155113977539128795937319889170321961163920820362361661524013787721920690961732025604173612780823019857633801986780018957004939715992293085467324808875257557247638796979071351465502445416862833843437375314630675510525875316259055260906938895996486505032647479803937943188140390442370236834403730978917939148406844532922779906760487639716480662835031809553725605112700165015071845522054908784260405530560009864541411185391712832528675726193778081027444931475953098529709304049208246936611846768983120316743250401589387104664225208313796130305155538917159037728795524124580423683041633827400285519414573198375059761506861630831874019715067542873845299052578942077793367114869759465843576088311661970300829784825173686486896654847490487601616820556679895226026513255805822314151926699233616400530592623143430522886352632157641347016002818788544000631363426353755028811253737005182763740376869481347701296070484978247183676386684539685709317350091735177648783150552822986097623282013445426853116009986124865585488893556096336874637324508515248290440597354571232799377378895404071749954692478020706104823639895421748370225148535191596957777266581458706008804598090502544055964256643661471605906806146556982434948221272823887590487010614127127768985789103650804178825535234332853236343472328626787595045904051214934529284208328003639571192130867530590308613812846347894653475235279052500073330751513243927217767095291356349263157817127580943730440889255871037310119120989308530935281793962029228552452716921010467561328978994888156054403970817058107564541181301341117880540174804074279538912494104985701231511020223293721164367769793758809694080265319272651335556680088985073733780583277072011100277427638245491616749753548661779911117090062852037004657277473665850028198663578968646784014983971510309478202965524024628381248048103039570538802001601140721702842764348492728862278153749145223696518132520694823384338763224588741574639824276374646886476616970922422064880779779190639006694425901497429996149063640366761078319059699159540875233586026654759285487332213036034796018327437812508319034087345005613255794123756284196389648167898168300050839773827754323947743769831708453584901836921847669263896418495665299596047033741448741453515258228596147661520594076141105742908407816431313700027573013334387976818236363833825882735911054198233900835697968019901546561476533297607468109134784507911374888558186740450429388599299379772027729935362026884446106937487956331505474070428407481222188678544950824695890911282068272003437008895516266914503830669471437083437741377411063183194817305276926593888046363204649856440987279347641786423889299956737399340755297353246100312335730878176985498214033044790855478362080820759864386293105878019104758440159273960831546709307756605405594318902953691361794347402706972150782143390939275200526482082921565187387785257425050265917967896501976843569064105162057180524584077938107766251457004421999698089762082678639066122065026003255779827374800218575365017367458613435456001922141331268135853543538960419487471124993366503367143310051082222763162406792108490145088095071884848790880422653851420357751864350026209003277557902266536190288750521402303642141663388050142040508495724918008653217298966283722845632919657378171723343585711082456970829754195495549732043526486027548006866438378571161340918194532099465235398882488795605790773853787833538690114627337264015756276204582958647934826623033183902015313452314993003584163646984213153716226292184128161456250654173309127677792133180716624232277913357675493500820126720101997725470557166624114737208246396564648378661394194179162845074443914643828327424803039386562761668442811380042333107230251499491166141589200934510273542007957875301954805154597095759949020118751223438726844873733051523615280122963787393997662989478703215602051175247083377891435229663398407715302115006715619037347267335045538889213904364112811551173394310353453886452867063829157707844448150135985492681532004872231413574254470353114571826999030334714898129339889324605254834845600818650988768537862059251215136219521386980743539428717445719065232193083036644559542104537985068829661837947170111419324208916213238712606061316925781491663645090682729327736613060628131218503729805835893225314122992457529279120481462388013580168770936271645263124238671276086744621712844472598886596794004720107361833603554270717936495328530526119404697204229761456290364816599923363312407382788945322419643965116206410271706776452874802410554605076976210425447087578221573289522555773635373440173452368207403647281188108519949079837701539939263206221528004207886496423334938989016993760547410450504188698970204582246881192618285706452939054524402503985738836864305157412492042526419499455286331296326029079968996191212764571914051669141114571868866395527004396839344615863458981467047829847443305887000719710670959919029840418353501431636327610804299767635751479540342257619252898394744083888063128616053275412936891856239166605991512517723078767763641600092237439955928125294232042109671419599552751360738143544968286208008159909900897778250452140384013352137896708225454090727480573930534734662626443815186400572471099859562887493651267332259350414798448644301881491328496153110328228019131815127617336950864477935794647695647967245993124162515087720318948152147028980574410096110491752846515120493134214491350484691317917537109578950779476243749235441699378126333380090713227806650951532997918326502552976498957504912435081905794447907353583543789318445121831226317841773857876602612447532685162093007783040553988766957332605571433013031691283307224921966460855151565156702058709467951810735656010675199805860261021718403038827649489408430804937939496097528423736284693551684747873214196437894809788615049822624326172896647540451779466206959132432253427816336990804849022823523995157363010922135941878677708820369868310339493433802011761652257268137518925727713916600386308948651675887475658661232123987184041436864639342352811472552758799242836647004475783363020916274873551493787092454446246643799943167410149919843331447738449893808271164621411503252753442627648288260677077126825085436158202723318365491607722405420622033835259200133778935792449281686029599530628585675470653503354430287436795935006339514598983847100492183909457315435240998513175136242100654168793255999253353607650688289821854704306148161459984809834818674820468351478233508290519155232242711491575692925069455190069842251444965980014529548746870834247136801341795303199452954748246711007534320726919456432815688140829094527163512975065266984876370752418407403271138430805783623356637278677249282025301368863191321322790577733302864805367014422681455065024761344084242124448437296317491210841731324876070800896409426519705008196026111532646760262938581003759250705367241919540716788726113870431819014880138292849977107473113282199248294941977214693353456729539839860917638712787447881235058627908269467899171724859512845486594512168629169550517549495283860635208083878470897795181738259276066514018967516087659466061852147132431509944805280476410066522341822404536743483138265380571459042293078769446407368619319547004815761405990946834578654338825132563816059703120160839122939050359510328486136596616326011244627569298711061754623117667698937919910188113420671080419735360430319534913631326697437507893606751467231300105822146648026228154804776519963183079763953083457387969797814618885295209725511127647930554729697806529585032231975755727932636307894971492920129272038684760432079115928943373330481333971733268480356192179153008665746177266280438440787158127773160534975983793458721033159034941651013951746085966024908782060796549303003794962953483586522804301787321864634337586423401088966935917048550377664577174933232225310940837080203175527988829553215886860832513595196797794730401525649479812464037616014064712708510129500928349649003314555243090788235490064616431687726735876306244421981872727822679327856993501041774343067087172817428304787993824131217880467278761927563225956984546754780452079510468991367460335949796325906383230544831887656499471174784354369379200530674712923187176368730264095464617582337006195880364206218235287120145398838556340307247798936576893573354009706227444217704532733161431107997111375]