[176391046480857320920442196371679448541000953898551711329931380825876070177149840445031842169331120751075978013062937848910406268064994239352279375527576783278177255760897675658500977087277705720917211034742493939452601675376664723419557014227361334578521112351389958026336905977354294105463473034947305151671971595401076115609830146572469288092956581005967471860336636019356741744773897988746034716105397903919076639679096317470938631820993563352087570637539093898072347163340512058407109212327426085942285055524369175944291468657704034562624963524742020721996829603918665556576438377141921234806301726642869707563647280531281215992721416439007760187275544974279179653507082981499441917842670819743661673890090305157538601299998027008261251014289106191178020447524511554727179046670666400669302778832221306529600592115428192481426821435078456174988182963640080467050695003518984173200493143926222254923252742006990342327776095292628696677337609047207513272965648119540939092723276245304591567503901925897194698985320126936537897500056602681697185434529841446822989947931242593552286333835182405120605097814596671360610886195361329586994053652444272178439693319224989890512624312092940696574015285679483600515744608092978928948617731831944488655826985608782837063749860438658250036709620914057340457204971304613879461987513245820482003217664672856646669801174316060029858236376626436212690704313531238207120753357791072744165858897486723341059133696285321417981468686091104485051549025794861165552026191951759683782119680078082651223743304163661749503425552174351852193874322965221566860952522947224997817557406868929408490807052765158291457110776220926739779318828530948183687081402553460768962170774412667640486223141277253115184505454966778588470381613118456231008263712536234642801816246458925424147101957858901680405520388072486746553853951181044776517371387377744795131642754754150438467882451689406461268377442301156597277416649587100102500343474147683786331131497876557097214642004975247293621422271710268667938552861788284172247503581035017516720226920250025190178201120058621521189958148606850448727032165591079115576869303110672680848387706923360777408778585702589814674180666834316285089490311524594233953996174784484293470580648640143452448022664365507450576949257854396766488798718560050107380976709801511838990612097335631704597431198709587895237828767121790554333829273614718601686228072289388917804081489821675335889812279866028956571898668876200235801088265919876360356109963244179982982790313322178426370716404338545062338056614737969428854408965457461516371634041939026406170090747630807316323727034700013454940305478323815988175084093638712316634138850697550814957609963680651290149335059253751836487709867816409886348629347311702963474826608769390274394859210642348485118267329572840863233580022739844637402287342065803128039242702373420288034683986917832670449223520774011648297700378090476468209100257040500630496777767102393074214750151170872280662305978583155798207106252227680912077155193221921395807967919987079684443962337410722239972430773390095855586859614922043451962174023972759146616379925526022936810636809988882959895661538552515859436570026106853983099195300088112251287528898999058250266845649510061844483620033926145201953886988540254858315574139392866000995683364541838895375659120558885388600950433999674507037662750836732544306679746546762559242342086522814918774830351442994716929626708807438647663830930374937222261101437512510615959896532443202276291809070251103776105447373899022209896698776051994559905416616225518688318804724459761219472571489457746830116599108626977583594946637857235551511895147432578996170144113760415173806512229744025780976189389534429377096812096851460636715916797368444432116164993462301642692951722360087158920696489175564068651971638561749929020997441129373209451397020765204658960029021619004265488236752712846674074592166075992680519524337779687875537125098550744993389725751777258739042370388156550195474677527702616663848262964614911362467353841959493705399453151801756697820627991367486935634665338544134364433208903595215511523863874758302585474558597871797814240456142684196929887124298941080949329142495472850988565210887827048644609695706641385693913809029313757857171364300318874521096528412771866249251616430736522613271144827962273057294262175009977488363529362147969276544988708821382355100617675919304696094515138214525308650029081170276540726885551081755185022459085818597133345340358648712078069215840982505661297096787855083893093546740901168128609648721222214766143401131245324991211351999293983296504360650302154644335118206065975200053896257829333778464132133539265785596272191363015846689582461548969077600447621604612219336115288636798193790844448178131960833039029736347540579949691337131553605090432910760437073840181246927541586538206333122889007600790802923930344677512574555612376540094223441090976425068961312285814175162480088686108428548638914948990371382011017241930328027222165539435942488391069884502324633427573912746062705542036501914864506455163962009574787064623354974099223440559267261875134614799877381871624220514552781687604631028012134185216176657125942116846998393426043886935879840806171862067925975033282405248459717740019485112557377434735024709304203453615451786615743530178907274210053242265166546074242545772206228039746507163308984140100846484782892290998819723674118609640372475906474782048590972519122252415958271286899602229606575788090755898862304835007158488391450783726505333596260905345856077135913726091881517448315095874456571545623073086342351267354848792153847120614272450691819340382301597347173323808214898051270227529924475356974825005911602992331167313048010882641088808079994817725550954880622691975506434127924569529693882605479594198066243114422519835015151618085722410730269204897092852282303342676517994718285825431054632861893065043721204998346922562442360854100888734411964081777282633286869983743397712775638033529138092757629378632574115185562488488472110398906767202444942982290980937496992019229107389791693284084360390216921476074083442562061096049629785114056414975485072530253149352808891767834219789092150218337951933986083734794454152937706597458943208933013917087765279637123524369200236611171093223543831647816476119511559860632813242545168050000356019056654154761531272048681653396990381895727649230814118971666698927923880980188505763364732630161646419880989640767999547131453622672031385626203211550376092554138184816974959250140500513135326409755216344567200341563259872795584323134204442078533846587392415531354035584421479649448463553990299613477530866493193174195270940569355467708344172146183047316502669920145267333500850368333411741990885703403459727120905830952937242003845610168703872567807900937652241775654386467053602136085659583264067428666070557198125728508107149737595901843501796683514819347434125487879720965197712305815841230502701971081910716431278491060722100849768244459002261140531834429957932491299341254524749692362473969985490435676082574038092243392269224945142344219292300005391362156606891581057406407200600698513187741498261741266933811218037437603628038245742904233760252327709648245329085692476524708061380109349274527632009084395364059188874658513793295356034232955292748648166319420922004861220330328036465600128734856096290633725170751863189627845972865878440969321585963561221333374334391709298218799533565621575960977668216489077475787030917917712532477885516390267598497585166182620756674653946388227474658526577598208661484506203571129271342373155093616012782919348077997326802441875328749197208611043799824208535071110238159990032703251350182708451819598170330645036292763234856182116232712166360649338085567495475093413956067965436330262959669672216726958546092322697462937142488000287550601964195221208096179253741133829272064365200403743240103413226518929973446140543673033394230135864885480231726643217958798985160074904532635054877709694837838893175197626872002916599877229890546648149436017768284675787996706882265890294672237973954496242709561551988315692354581129261825688726841084271195502885102102466974402912705080963726379138640525398955525664580013110945142812684524822932121046721885911468392110197231451076360165956070359075152910063445946997053111057001459490897207473502225975975967353898958976983962090511625956556430599087220872485966625015151955013621461644873784134201658118504723907556808521322045220969846974840638790869938011100278297689495382079049655619033898368264694048245791144453066702208503352869477787249598952287213733817556240681357639184551573801938211603206457247765674800557658704860263539462882102939974375155719494672462717294913599637197652882946936129750312112392855581730968623351641095678858643175949246581223444719365024119248147204772797396356963790174283896493012947473383437403898739033679972835647973188477849108289344918082101294802647317756488271210823781948102082360530048127130708073475394970352871865921604485232439798441490956953837993976181560745688997465908160370976377657205509623507753946355061342954352115881470546964708737641089887869862700245723819329802576687134743861478547818859247221387010781107767362872364691410955047177018721633666539478399415471957066153126082526517483591358769203193109323865603987160630558859250241656383183238788139976772580200229032711791118782386588553655956176701622849001017338479060037797821661114078337787179102725132014018825077819706487215317594401144765412455921249003555666076052967101314785683857144258454419058349040277651552842018843062628259770907169259414854373523124732721112046927268039893968242023430991251844061322552737920825190082781745118133181138483136319300812278256984256981219829383539676239594259221154639309322629080448738365088944201742582083238456275128210682916068062301234300296192649017436894630943932681629933854872403445775664086029610550641501992794961809201736285784640443237844552723239791817986829620228424921138767681346361492595365641976163733462398872385552373875147377640910899873487396021548859586715154981184824684126598654873490160399040877518581477010697611767244371888714524232522378267766121161438151421331801154166163542820236112015901081235619517260076267175368363012272620302693642839388438663450060195701443924407858842736605659769477636254082627489760195480786596761907580769421292168572258921767498815883308572031300187242122087670475320528927520026973418479404602787512032713114859573155393401636834799924456148621950047243378836716316666270107709547699239355769221640495995441652052916076130684082794053234632221633449425485409998004700510459185088485951556970860956208897292422452590998848843270289584938628976459446539062326197212572552039680144102294749865968842074986137916110698478303039873638031227637738625877262651432038122741127327070424078704664552133621963533549346894098559783888455394129084821596210008431560330314983761256898076712335174794311424383309883270430065033887631755740824676703981895828426905300509966408971477937343731941996394271815903885816248097493801169379132727821766736182626998827169100577829680876806462721822665620017181614468560425920688558066499108175034669807636368702690317120621811967160104325592058224313623692604160277697575830043562434490688183128072322237045880872815793170008967783592182265801636657749384940842198787693965512328519594786465170553499410193058294362437098197041113837798385033253281016045143812226306954630290772466028955573248120332976773690973466024253456267270407745847115988354466412816864440601515782851665563194441277373381797205795503277935519518796655299521673690861892501535795134935844135600542190364237518172474162278453229265747807486373596243608965440941984449197687207917424773860620352579126491681121625473448009149409035585349792776593529515942546984832099993072848733627653509309427252825752502993336555034533865635139796371033914481936804117374328190699398992577751189233061354533455789768680200744687339047970192842218500374751534884614480147455278384584896403567129875051904649759422763448853311289155626456928747502564985474366511308834719302452230570755722981102591600513253186452413698469936481800513725306874662921999655886670747730896689990385979423564475137500394425564872511871057918351236084252679601742230586234138553169547570755112926283771009861660309813603859276786195235917624835092168114618195291840938721873954933142360589603496186017835904816832101421757464481207871460424217909170677648522997924187459031004597464541605827014727412884416719346865031512400936705268477168017838551212685603259340836382772745833947050088434902980714597977664081350526343579603273631147619115059649955736856889462577593017053652268452898547652960062218572810484630174175660913528218596863151018368304991456366543494227727197877463505864001877579103827647658190830475426558293395473349845328030021598587361354701854897095532379565050544033331206387610218419924860559018913682435992655373796629901764663269741895325777816486752671604044829695919688053711013625327603378271688760646511095746054833245880900560378784473462462759178054902633392615726864674421887978069360957801220077875721067605681836841352181256439805743635178583773656107835199089715572854714620262714125843606363422743034286849908570291841825966835518595946995443139740380949991311733196056794779376335601596704113962327992020561790099005328552654109523317768911694483447624816377354042904514770180605661766060991466937219057656839981055235399260060206417663955707515650797213155814016463034592764598526019385948479489711140532173029690498849391384555887932720926558058347211758427212851303279430097262706761581656303214031270427802407881275846096811543323806626290600985173072998651839192396154760290327583073882638711030532915053077799584575290416194646338539383578789135656047167578336368957604961115552336196464695541322768063945728377983028683936956804192486078167428047469029226423585746976307356573118153052575064518641429418023179032743515062595745770892091723272843672781426127993543970389115433327383411245788348525279922840251941781612307395335450660281738684923868781626891473651618665519752557480069759991266635302269570386659757659091122874778162704187648487417293667127650800535130351270865258444904724543349801964380197331138442500595137490831708465508528573498141541415275124954448809049084112599598677790774420618587684750380262535509712822825281273681373924367398484399069159605842544948571738502533019736221462192949461938291251557162727452930603805098446454431879290943545614467291106767787729433753683478964216498820100677523923381655185958658602946181593879734448910075849739601503311041607363620603365690854093562773477775432076701348690629242508993536428858300797881548104573574000514804694267213091037758292077249682118546449904645645446812529968182748325276802914788055014197651633251459867704543860975351267535887200253201642116961200713581949780861721097671307042335924518432895288444934261882035279710131205954111064524792417194229810594653831250029813184272833520991280789537259899021798596487611457394247694802463690240179698131663933871059289067581036874614260734664497722822332168152628105517713257693428918480328233275220035060453952028277691659198808721819572365349647170506517742807338099468064255125808353482443509320966397094520916443523400553909324125764306092864402026476796023207676359901575171811402806258535670896570678622377795151566867168322716763813298164785174999811807065129184916072275153479626302986544415063257862886366823959611163922718939153813387182735239201900217485632297756071630655278526682064317974323552328440208206041297466085529927099085434091491273165828188975029983422611867204586310812715382223949564974480743280128495681132859739526836943821736445467249118376391455991471222497866005142222190647229428896408639690221196667204480246789720495678978631535020921607106272604529581311567459601273517809903404623254173974744122008632807416997686365148890355537845653012335403440566570169505061699375939613497044757922656330739825655493744417360534519625178062544253614375050470028566707907433601103873258695706416565192370977035272887835352614049075611478386675252936585182699655282745490022635035639580897327931192138517447923308581320881472469336016023289201315484759801150944070725422574001940737589315230476209096492711622416626431844612964152393233341277874255801362117860049753047962209719007861809637973470593744343524602325889605952506244703275657314071627500376970922429717380098689131109586592054069758709422361179239099971232959033264426478747751323768531069029408030891186337487564143458564638657563718979696674215968898966597506960808654036359335846772073484300893063606884153174701624186981211810209322465509749651471290018526719370200976914441845572569372428584830538399867536367244940985679274995076048683940825124000439228129236104509898700116859099395297580972790282755547047926174431536612232768056575106271607691838616331422385630450393993878192390492975408666112136674267904449571318454068675538015964667833141854589280718578317025691455086695025069937525226309659497395396853729045791681499303791599404949683631865851631239298812672216242382649117418502355927467040810344325857932902294743230327077482767005748583560830146703856527742037124580116180341032326223067526094741323930036510716994685473888107880052560958438669826406963860023052716103005809315032119874108197400344990662239876931160378883414618909215711245278157721352287086288304111918872245887663934669230745155916024095337501676572369841292139294953340316168224673607122904470501596034882226014866887479458913075555989425701263888262705115363203644626440891609789111996454946927127205531847540517426135204711600241451644610280407345298149211036235340381275718720818229444932006957373352754590578474266021408657975996294767828774930376692100307528861528400295829647237621536926173423981050981648668346375820505106817510378672923296353264438609963578028453151830106489818204100656098475926776474047138426936383766487531661857231797770840559003713554142618039546219272814556747501710207989153977103654617715823820540328681167956970573624139048546980973017770501260711010652939621974225734794745329818183214260440082126286260303242403186866372077512239386056899507447702248192608295028281953035518097419364875432989071353729623102453647312939020833854458623675741426468880116880937071632836635816401277652912035512528555060332747606870282235751061541481858606008990326734824416018352102804089031484877814696986442971248936091629408273038635530728928298758377307985127117925590883225272166110251001656711166507281459212390395057877834353024431142427889074489629181158694628854620848064679611015544197314840413525167712583863198628971159058590196150100704387706198436416118945802688843375691972457826857347444580236172387151177946019222950054201726684328803589149869150683068552214252220833409911214585021793517268609369401665624743838314867404686159094260409850464609854514614096606397676591452955864142153215649261762865988206335093419174397665962298960937249204307008425677151890155292049831528007731818518476418099648834587100940519343068496069478532999923678205473786666197536594846718553442958081646067275570764910188947149754486050633581134743218259740627307759346675671298883741547623120238031046225865836986755539519990851756256784840083278821672138412228411677396978541464478571109714578785500107019395873724330176068049874099186171869475980434576212020965848910454908831013642286844867931906882523796397276584962380911524056815859802886121060534729249580740178726509854027428673955307861419155576211465741086439122174522767876010658814074788245497066279274356157424285951145397562157476679697840114769134364266340571381134403149638319872616848874433133085545709541516391511506117495906161077427192083566933074645357948769037846054366553168051830958715324857884107126485187678717966293341757027531442873995518849491432311208759906327341471298174751244043575312340538571009955447305105923039771393024826786315189976892719074937618088537627837870123714410938221452510083216788640821078357555574152703443872314545507405168266500402010092056856382277235545454021715091626885726052979843439871705626920478064084091947288325892279829714188634305056156390518518621841466423105356373397852480358452170963626248999111286303368199671807261028722082243504242518458688527391168609325175143165993659762749355895645115797923626876562041892105624613331320295263179920767367439149330587074314520870430749819786312177003038028028069497605267744446336757989982682021649860763930150540416783764005488248583746772026169761791104732261326472640586749778110424552131269216180338222362492850835613930443229471436123319754353517048874017295696972190272365531572682276031222740031004901862940624557420163704406932175768852167562111018804553316760601579988759563831931586416798732459242455610738295399700187630577115832008619852548279599108525310211000225444953728772525154484718111583210298297564164923759883414690036363534458725675852207392357547488783437656711575805971050003485710304230601964466553620351203074622058012470529610594712665966513952163935679975303627163044203089161876888597946902708666285224612523513171960233521172135292867699659097971496654881144597450239351770520126503109683712984281278482722317892025798192043062175188953626005110492334456544014376033966951578641937125283983403067781454894666528849585367567241698189663640194956966755165901904383771756421165497731067337775063694356778313820259065214848729820379532227216429097116881911898603898572641801550136855595552599642525669943269555056108387922519966277570151239913368177465924250804714565964863157847214051395104663904696377692866208952667639050419987465879277701317624373167026500848834837919696069766497406943730948909357822717713033679343149530946145740198722931351315253103328135462611564348450545536667137165356662924123918749571744056585636129721785386113689551666933901915706611294168305092228683219251020595545674580826177871591868747331210850409835072061933349239834212479752634353000678704956047265492131058714127417031296060995397399229637700612550921280069624694847605051403787327429116067362463309791240390677320561633124919004025604799576632046829412670752110818795496004888253047776453551297848441026580953327082933922492835895597663471631237476946022772061541935744255586562901690758782020462013471987249352304626377027915516337163904636564379757284834211764334462055299233774048473202140015106935781834400390073443608864522253693473637522490137051047660906605194183591134786665255815050558731081482123169938814943208681705708871180073991599978968428748143654192928564932892941753145530528113879366456361031223734350402760544434834582375142795418184613335000718788120795888645266722283100377333754668403147012333915442637259289998014453688993217820334717608866783296654926149403803187919616175605148433052325728056195658012405583487721505913683442987213448755662928654206007940694291768035990435783888387612556988397186905657248332335743532282190500426052676811172459470463979489870865214035668788710843439342532101290400835276228972293465688658866710545895165032882781310408576038053548787106881240612448044614882059866678033594217493274731185424771141138822769365324522882500086076433121784135651862039899065689596529756533042561351850280079420940149782277136362919666747545159535751517706780391031053187261470996602995047105774000600262213955984612088781356192765705085118002232507419591066719314458557621822424058399265438249126473680166235306213594217305297272783266510451268852069955936174750213649082311625923716012332093853925623531127496650375345160780850259819026078878952017911415075911105192301006942516292032518978399375033789288327019235448852376841048766477452739718355767496228314333592879441576347031540021092098529354217679604873918619034371178506396356814073896588059305845740678429864788598556184340686365579556509845854910972704870398396460285760122950564266455401676243727907165809908533169538913575423333821010814137432030394084033416136929657581788923951432902130542275279002266288245237329737241850090232779392261254621340488086910264719154963749103398369231969488847892779073750318536886561358868383128465162570195637040673594659586487094272649450660025525947649649341834873042723749857149418145055020573159808887289516681938698956405021103845140418605987926592029946470084552338825112054141760307914090023215524674046754364758580695803949719853438180893721384282456817780139420763152698287032990870239814884079896170381453710907593805215859938436807832280600841011585119728280547068576118922657389358652611156056920804462454141149123133544665221209025776087398520755273075386161727590828029766520246768057328346499659964813956726981455305952220200526301572057333901672179901808743355624053873649679356419075314284380922982528853509887105544209727083932833892368237717584230270264325435344222634193169607875931972364035889676572415108890821424213776805454346456761417404627878735265206039489568675073261480553968240648828147245987978838874210476546650379092609625560503655782001763030019178151286812911886685728680916414662210640566253672452583382583418517738579940073161132010689432232779450908872765170704269262373776987742218299874067267949364244779256442552259155426391813336733110806170287195233738760957206142376620941199509614032015920568361490045866737071662720645417562232374713593997674900985155680199324465620030497710429650827820693884572173163899504856770932668399287343847660150485924279591303733409254615620357865991524341391423483799621822266230892336095479173171673147413755185867175334402457732723341880580947795198888495461429346374552306712388743480806738911473587949259044125806357245641956083795072308281816262046640572551216048985658447686749613483299930383358080111172056379903220893413330387522774157810304119745454972593630324471909575334015457942815631367733517590705723098647128152097914146966689696201123376501497108180175322672484116284022264546712088342612061488131995684093815607686445743724720259427421957330607542836085100264229633578242257116201357504273004665064615302668787636753152448821174793570707189735566316719293643682989698194985058506091281179652591280637324460839359526680182366896416814540958825761498967809496233259442721827005997129134287664778449446107722330956655458024503747731050247078900751419544316592727846296603424898876865284720503091118300793526350670648633589732587963552554310847067316812058146388921345182099532306899832217857021919239970591713435838234690363469358051833268908580518393376632800007658764571349476287111442921167763403395041132370105779870276292792006601224529200062038706489277019377018196794050931167912449168110180532089339353270456285544728232405733593397681032417498525595795313907225203071176432156953080318213828992842193478049647122531776216380121724484376686371859233678390719182932578599610026477289386419684278217307103174305744674409448529510701504646151496207379931587511737849362898621974402599006589911304460750732043092089779925675471475135353180799425030946385471458333929365984416666424045247020745006071260488153571940455070941075744200296775052903420259514719240312531627042522054918440888584636901398574465572381293392377584794735248080036183599123202894495308006184459547806178279726003805162826953136710795139408385419056928565165914176362336964132735741039907661406301445251789817508242222193460256081037671125961130441154202211562237321011758645944329841707920312822741271037164753429457116029043090039876718791721420691738487146283383088001525860867793206430273593370052078850138421459691323457359565727125151985528806320699758878962236167512971115078732978395605473291809957709175154411487171633286755669082121315015491448261519727244964144984206736447581010941191139281040102331307892084413763479892844414851232158951616007858715982094714414614393189878985953655296961120249322264755852567514549917768841379594380485943102474897538936135597056958858775001237170097277090677951414891559090168652158089495950068114467486360679188827593339004851719889948650074838125904152472888203558338616743300602492017652854869647985093046976263222310195854068129206821750723674818037113408352734953073967715665918701137516068205006459553510917798427451895615709649679239524012599759633399122497855589757057430820792940847229685531610741503683318419736764885885685720350453741015793768602327840157528278175295249652787524535028218958182395552015556255726608214212547915053174035203001611506970728032976755557274125644546283419602098490017015925640522315530745000130193418408800888893276021129086218004155246785475507663222599085052613441501971640605754992643976251885480462707708704609292881451647050788493049366227418601007267449770336039815383362893226393354704198826270655670171195036092458382992189704215017547713036804730037892347329661651492449032830262518870497361311344798698090602254928565414039093836623354553106555885024031472457582362800817422623221381122014010641555014563052241296437071465879761605032990226619332332437498811677445178613260031647044859506250461597060597919160413366244309875276866426985662032480093356068330319048817196104125217171532840416410077145959324625613514238935412379786887297063974355803058819476022927713794043853408528446683633138430528395783976683848166566179927374312557350400605054662929272942875174982866015788401419975788071734766668901506474227056693135072335094043702070501603081824943236184763110915429608675031410754282481775603735790953423021897455681590637490079652288777275524172195792996002880283079176740502514431694262473194609842038789017283787240636083564946980588784375300947154009875299178541527935689571400460832571659148737149655786846866510636639329542907242661439110020333559651008410560152271543115974720182003947396513171585701699582138566483219639095192602247322533007483039489625216586563255028738461131874095158696667467382538765088651554944417048369727441760307437772065871154941075085654097455190905329862342342018867338498558473770294442908026961706964700134107554561492141271083728239313809601530572894594127431550333308705149568204193777514286459562082480927655245833038325194035225113419019690367167126997378879434546933324662014769946230199052287720486547980178802190048209561886566036890424725867345449653997257751641846146106780304508325815546720161794132957532179986546294719720571902758223192228225006557183252824724047600529452928225313753178917075299910430430486445902848846505600740732134726015755630638657786903317443043542165212268373063182737166124786384748580435548013813540842047533874245001878959234237309872255155401698652922327565314843839757327730447555117108118055945141471246400486905221089106532029015430397664915301137266356588967833214381395775696414345994355207870289309725423009007207006398294213496526069848339090405219651679610885887768605022712171114074010094874884888612096527753272591583687396845924363582409409227596965815323595030761034410155689114211501989260234000008363191149877193842302311311283779443026149426326330767854059413478911461096840578172909572014569142284529897695190570955542975532764991972866820983830718634407478174656551683649302257493187092335442545537418021994438336971391815984982038249532709961218284298921824099901980064921663921865825557685731915014855089009322915780729807273839915858198562617530411256375827432801144006279317372455147663024578840652555276655193718608288135222997285374981631512708296085030545875363723740125117623415541161808478811991504431533157010920513657077026390068184239261863812078185455210093254402962925295177898987745913001368035876171522046088812707467395005643515233339319913836336171289808322079525346953332642380387796191692443800261731823907737521690618915655942695988778308494116599330812152555081970495708080159820166126891994817073088122603579318886308076592395974201699474972395608413848525796687616514291984127779098684890024883139807178890597227455023258966921008398497304029876480548234249773910021502886185901205250329105529565038162273878605105539743989389067007313972506770837160881551911219628075049731664796605612296442965904460346534273415404747350654115328929786602713672645227806693881856855694699052376285646107649747698630331818212985392733902696380913354187922946133915295562764247310012354734122842825261898170149296182536921013103642766926985552549571590921966354713743380330295418927896132315819456626658800696827905602758197328530635372289538504850505381541313799645632501380016477818517382010292895535009537628381719167639571626788925430805399998497222058892567065758478834572614725794773009003726619222693165217937543859172183355012574946001771185222605638994454044339457775404583566410683404024877744507025247757918517425634670187036859029301459177169536497473044203647352917799245145651376306870472581980654577479971543919319322718961289998172139790461145347068294535743748453863319763993820818232073611937617595333933049144456428916933262243469315563093756297020263509930955095409399026959119045169063760526105289430332401953506867782919975485605714240857849869427483918051512801351286366479172235061991149884400795329674333793286894643233113472167615759768932995506496107831787833228934059809778175557866037876551513925223975635720959500533991157306234156210538929202268229250567807822082015327588934065647777133322314702708579607860063169562627958398743349438804292091168880845143495768544430992794882037509476482489701976959674950727002242419621154280968177288718853789457323150048364916888385679431552381529786219773162290729684476859712371959525811807158848169793957454087082512576419692625566800480045898552538501427882788093284759349973827159751816307318677753053444531482437694979411784769550192404531258765344512342013195080164515097558419464200206625327244811226581872071500470036395830368947675478675314326685671965515673217958215204044185239162531186475797464260354300045083332853601698006844142275377130652609554312703672243533702326850374425018085688711341298940642013580811314495645306137072255255754822218591953961668636110092686900623198634054235174157431743301282493779057268863664069265734495891419281566608753495252954238248662905023676200427175854311535193215062367116199286039181123329581634919108384699014381635510481533226741331712357204555754005796985192354711585315378891154327723426821629701968274132113694959193165018755228746941935501115946356044752044665669574247207112024937106447967259965913880098302090151087973775051996280061001310107188652873444390806310016890696481898614314522607019510736762979436607887170958820742723353744211997224676305322179459883091693650534404311169218928127313240308189854098636518204952677358470643791515631650950603984916201913283907074301088690690707806091477502894837316585110711066507915849865104183364994172094227534172427715625328484730525447560459271716477456597712529494026527695870561099426572904367732673326746529804187286477975433744480420425591398629407505844225124168243479353797787443634455095930824568888484177721170021850238790120487239829537512537380237372780842715447165750902646095410376020034926784634815187069014560663388602649933207694657545499324170317927849546510869338571725778747560107777999058006185554890933876818877304407948808928855685477909525388816377140545978081586157567022673829199974879457891730133484241217738747249918676739716365133714631586680724236195395390034029576025430453655041779354547905289674018904707684608233591705790859223461088736250380985583679585178233397973744954933783660014479566844107160846846344055043337610118744473893450844672654739730312174656886156981265252338545927591520902072640487698449055308376662257215776465839027254925099959872498372780463531109079330606565658577091876331935067588365904047458240951340440186225320546567247801253429735012131597371065405207124506978692976072698200896272639920993823452977406976704297436488074841827459951336309118906216669444642906625438037860392831326870274908829564569061744009211395111277952689914983489445353650333162295976293783463488206837854223130882066662031038897571333976627587814376700849890951866441624980336098650144627253512010941834169676749603786390603647728576992000352358241014419292014053816218229308781706063302451815643822116897190213363800723834607284923718752447717877407154203235115965869014471032168725382068548579643525803664379372067712542934890416260767059180238773369000398931152164158527055558005715438881330083363164867371965526039062645615228180325201570578455919396590843083512466182606918105133915405790966553786124521006333271355837339469946715115592216757553174511453151292969055124562424052551326825786068931389907066881670825863691814259648981782418675633260375904367426222067849510119821308002212006422445008793644378471697473894302293660711170780474729392223214029342352675653540156731597209880582653054989887362962185216126331407228438313011033879932414993879540004179840863454222468882030869076745557344626394873506692874718133802922792787777938450750373917198513103455480116145837483168964147937739808913709699451658122722278295930725800627139547283134310426886775573754433444126194776386038244190328593218535098531990370745021338378641753063775710682550568087932882000267124427889260130980903974833106374245478971977661074980621330725544048892441961469328195321663112805381431082798089771670097355640575046913532795089875746006857961319353419471926667903984489736214640762430777444120312688847669201140777818847474206284693590017713814392613925351949513970774792047622275777921660619319593983981832758536729263284389212651311361114833369191647783932632611770132717256284679594011435639362077268335363892311076278178394903336635382169218362072699324686564291114886942552092422120178173566535183713632664160000472914491116688281500026862389404111248590451987209166357034727269378056405943615684763127075477419201996114146992706951523535672469689925432225453176917942923750709240254283961740462587391536210012343346154920031270928890748112659631615808864010201888508781211942671691907440529054524557989004426782717162653363854548318300589285994474461182680734543776528774437022071633300600573668084102685957310540565086273235020990903364704297413509215103199769066841477505603843142965668931380108247624322733119315300017597827983938499209210057047403983565141527079596488676328584252844181695067905105084231949144355342503924031085792833467302470955880011130489577047493377247775624935807452241480845974284646599017506506200767160602598746094974155450084486311888396507219832794998145946893530549457091066475804253547161632589639803240094022914284225380351530001217627152868520617341227903686938518229864188100967175537792847612680210754104349416424136066529252325098311295966021100104387238120924440152672318909209345495566296803651650049559684100642725715351158523925623908860952795079186178608765184066908080733845080003624965546013312551291467287365575352133438495735806382728234108430332866382386411204972549598066661751562492944967253726882218643032719639810236100984934497603241462578662244002723205376980066783843241972269458067508428220785386961435455870331364520641449628021988415992628014373467371631635674703522544713628340704948978552174304954194873836936836785896603733621357317529533749235778724125451279338567600779875772231448397432381736734129050577975562554620263286044107787049762377092733910716713147966753596813579328201648870494729835175902101827979713366011481504708201311828094347609374720453699469326571369986984699064608785683246570247021130845653168346437504472829627658206310290010955695346256068132518114148583693079941029017398210670371495622519050305439646773767754645374504616417916316535516718058496450162030504143189617997893537796664068593878747365494669105290129362816425986705315265763835513045552937789030334487676346469195609901217508328102839854142694724975550400906350784973949770014699895341025311778789424345014068007637448914680888183095512773411112863635735728614030721616977203727215266305088347032622499251408706126664501783328171123624976474487522218602430951743988869907860879151256706520598744556364334737314469028316414644049212992384785718563994291140233665266774698998186872067768399019889642332605941803299409116840779302589979227973172773331380342501459380276596429568534336166126097924697862604918416837115047151308661345221832620857135793381529355930488611404506832927289182409195494314044706788787609937120443252013857574280531055163391975303290275057024231745459051224178970449782388534969581861155552152708440369589670206303689223546810388817277976505724027043392258017385971682332589163867915313545119869556406350943171733534863655700769012790677455139888309627571916881710259787939196782520733759520926128274269137409681321846056461533380436172389445462988814084032402640678951478382858864850560556018010472249555481396366446649255979565367963853007758439827910217959517373620429964336202507400147117742036035786995530119505571842933413216141846108865268954035216475625413918092558573877421100257122188781254728499462619928771471356509868472305518127810339868542917124415826916634506484309575394082598362883421816264163616221100471973236835018751522230688380522311825382342809208964809905811253508082812593928348353404398801479632303826381210677705399476171580078087420867647820579399737320820210259769767262731160889070998358708736370146959092490156417596293004741289655134237630516789575046241831926675047699431229398911065382899446853872104299096737929638770580792114359927223461926382850004852046051699585188012958637973532129401877672666440938438262663790109493044314577838528940015605220623652614726903589328963338603428740725528033834963749667429093828085093952648666388562690579625862866805409256578058209753917971734900387582767754397433697835515794047895915802997155049563271975569108970748537243378104002138948094820118249788557474840563808467103763326097358796859384822516398536679815255756050249771167219725611312443625477854197597586834174273704199129385924130075225925279426263521450469845263729946461515372536633850201437936061930094944456249478334538602672793285892072956615898334313621596256116096839367449784055190459024670889752342725914713581862025789305162024919843897151416536457831442276239552305650849868072084747919047695765813144298363552615684712469984035594956979992129856378924087086434598994761973712523060532559558906414433243231281569041985284834287524603400889856150328049676866620265107387250624987763430586060752780545825659600961030394139480250124351253699665184135580512587005260411541580674805348504741825516393357651131023479255460025365316862707300160872539699106057930665779746910431211735276094374073214764534278357574448887841379843851474206753549883591638755063472332194668806103779017232960631933957086526449857303911236575202709337188474154411567743154853928433611690707580201266156294026387834157092546555530764451250406302630260919267109188977603345707531015910551386848996627664161161945347802198209769331111127350265996372030515173828164970157298704193229728385528930542489551030132313395496180720511827726766626180336252207035613544757423303202603789915547079459884932920987560722745666709473117497074420263091147792927456907313882699413004317180405043648456227551872338811546779365162645862902481344800668984672614649751527723530015980611296441717092574971519404840985535540766895380471184982354835224840793641023291120913124287515073156904952031176510519670730332592592812032456092130120465534094888762755247593709179482889692495179838143055523647708249080929629005894790266386060604719855052890299561416392939846385253667455113947075839049564413682309905858187329207016769066885652866752551017289812916213232866945365975223529592322663524744867401466819388814238407679963100786170350025081952691671655972606434983314519811251699694524609948705000384833167764246590385760617882851383498337833205314468628873331490492348948859220253173060960291256275011928032579308331824719743956013941806361192519891007200231978843183047504810203986960174459056745460640140112470355929578626846782057666607714126398131512163567940665437642670861386865684541762986702862513158524195391613591238761609616436933180992855131641306414609517343148652574093853705347143593214313158558319334106153609842599264442961532107270647884259004390113944254045710928097082029764461380301243271638743050322708656993244743129945525381358861392499573414858721913690816206213605621686500463937054138170845701413541864278921920538252799325237620437649343326774774965314365881176942748032490263491922868497088808674617766512970639944137100971112777047531028311487280494906182792262848890702172967104453322106918434645893255159636100701103515348945540222881468850211700719330085165393701895742607757772958753222551824741497976727345549795657727051870751613846564979724821819379766449357157434554718541670452092595752248498410948380584694054753671731703606665201835279676038637886832506710774901188648573800718099848525582969032877446186310600496402248652424633530527785607127708971465208207670317226127143504188203471344530598803576260367121531423377242241255500199970938983622251471719811141565737060253833878460259004390742543652548019550304832350433474074288773896493450174827798192446260080067147712675703169296553332424981239037906932182359914765816570026858698935937181259832183774049925042344399549680115472334347961814267150420954802428239883095017919240142382929563943294329230512299534628974114113531610872746765416277282210046278909604806437058327711672885298144698959469358861172922228374706681351988401091842951501724813249860517328728285281602076003630649864458197134236026253506046842272661826563458649966733449938284063662986189136625943838916840241909231130226287393487445666052313905953158362488371400936204139488920749098755604537561432125499597072887793732265510894376667973825739710225351135261540891639994400941198918746461688849923833893534518520862130283124325075887150601972356068051132862515578273194447932996763615862391788018257885668286872582896681741418256443247327367267371301041818502616834404291490062267819836274890174829419890430836341762913595886849787066525891899209611354362617510782025261123109477849625819066086980909170564789632959542909214140777587065296430305838024432883037463066463728252762859796709539856070369053004342205407390838825544563249575027016415108268346520207021343716247162243017488733994578292702179782061023012172816801563394585621347535383320921946760608045769948565715838854690278045469398777180264749970042962941171882700822997634611827383290885165376022075241089052244170720283860040400275316453098802603677508392163526189478499040711155179775558436485229188863133768218100343130478675674878929159611094560285753177703636541313605955262449638085639385698514437985317573658616895394384239298973144912888950243933186649918460937578765942134965670223948957940764569212965483539653599564029653772753285859877422321645395578673187723962341238204519777137216900801707931372719799641625849193363006153124505913940283462956592126611158033089410873580561577432742987886616725558714125552729505799088629728335773003441479783369851042603459554708403335807322976725627288600843367159439370920298038703513016546111195531414030214350654900035784852223451185516447802066486372512582506920417387272703233339544893977978702336427179449705525722175697469036477330295934881328381203838728777107203037012597884669548312092610205929437889039159253561856488034245082302767336010641146047282712492194738101668727848308584911731576206704912582754591836251949796136647667308924831022286564239765092202022216282592233231548009612887743458370013670770844490898488357542111430216596050490257250835379462789920185762864965921776958121343703254619945162533169752427508586568321640072884082995691556241258649577615333335913621918070880732877424138173100852924540924778904386104100332126030176318879189383789818790537796546012155763312640518145786770223103337284530691831267894431782457417005891003872640403552069217511343627509878256609050517472146027186628885150019431756988764446460795200194039075327514185994317653391861981088639077533894125311651280078815491177941423576073081973954716920302587644020068646460536056987184328230788696278324526897668503921068156404672320181106087439865301593776629980610421256187732622831278898614830552584984022837232014158465112176981475896487374114793935864364224706109318748950550563373374675110833804231376467640647242002255946784652248173871590648824876599906258236789324381206108402309068628283844641649290058773354801483774049482245577652145513292909475680038560383445042654735561246497716725725639466309220715156195308460849791579340193299687442820422219479998250936644314475739765753839767468062560347034050388056291409893657735280186615866155404595459014683148950776336646476157327616267371542814615370539916099218489095368252922035057442158798211188950829957949644817310983308693695027759872459034780837321147551890401606637714788735258875184644989447944225262752630479426557086379223820185875892880459338112516472452050315614457317372219162275032650164158336969756922828934496165350656445133802701690615983347415640681762930361425300440305530424230582459535208539511035399547583449151309461922513460303622836022389538586697770231662025841365169309235100262061884679238971088284488365671366049608785011454985659449884727793332211095693940647045595751008732165716653287268609491233570732308833430846831384407159456225313115847317512976249562808903994661878762047283028351297365331268626646731691482008283363215131416833402505942415459413142044638053347178721105274755110017278822722749260282644417561972309983703071826960903022164072834232102189436774941957103345780506649296795788848184822204373125233408509152729163714502289171122488782709626544760360970945582906473490770413638023507716284321497501441827983988614834566351810349235515184573063245997817644738021342428200657687964325869837989187632406452638830303365324172032219759297345579884511511210840208128556525898931625848850366323438840425708091675396828265470440781142018600990166398190176222408053604903720451648444398884771118367944865789025137717905640103473112723233213263085841583348002962828390040230562118659455451231698864674189214248954259525410068524202440676629808357282734614358582574760800408755747121356248045598300807953015309696598978124365650299515109655758469280556826966044730856229546404633149862601999083766194804090410105351832746212194797549184683951868046384569983526803562503083136966413782865360380149803502914117957498160597074672866893073552033358516986477902734228879344112955435976679826283621023505175935703768939713659774232378058990587660228418114481916317529135030967047965342354160961873834481311012449990705436907266782873789232984200887748551999489620795830184139784722925596669780938731658165523934511690602330598736541574261577762723096514860411329074113765380387337587554434252625370692318011786636744943793224587970999642195426478112556480145820644622908124870823756840903857180779928050991412288767344403203947116973631749913357311010591490571344065635519151279573292779049438793994781370513205439045029271213522825265232837694728449804967607439713571699015571224649928384572492678664035744815650905965022093940364088321215668634585993808498391827396373808231600108352470250931778201861166400996202084890629641427859576514814440739989017100426983161325081590809842223342247714355764425996005135179222131377725452096717591903836193890546540901668201702834844036551793296524903272157287882602610357699295857765539748605651563668842732060871995701328907775368551763676570291034687509120937565697479297293799609861483433109508886490781606808964928428168657404459244428199192003584198206493916498156434020095183723053382735222589935973172967294689518070682536747895490509761873778683955316256323037300491062606402150473332700321253706851775168543838981485082633552443221121180435057654340583109326001828655958185782514766262987243716597996573528829308124328747274886564065121695000053621043688992744978164062243913154281662814266666603488847590885227584173668387773480941420605614257462072179435799238459085510665898394912096826375090009118413696126983554529539730936661908915736192122192615198148956540039584859692206750926445511004356315600611155459196131757297233454826621629501500207267802163517969784010320558488823298970839291828066240360675418967196669302616799713021335210774826165646285202090413498371314019933696060658621779168157766945824412919711643565274442889572601083789671465087653322126389442290470187219137574691135469682596420549200344592993040416230147909048101942025018346533730207788492979811589745745308480710893821772707920294400319843001669152865542979838341899007192780487085387280165243854805376072877226124291644871904604341423072192093542081968968985115069523510301744486930840796891266810445430319404614946071277324186022543128563520956237210870744731270620521076030384836000297355874591835681417797458384517869254062208336193518728074861603709443575713830796798823803548979006388269824744355742438134149020239896202112754452045778490138424876459328871533314353731420483519276496787986235903455817588042469463501725847944475025074091779225415912680902771103922996926749253782881283925286246607275716396848751109496349856086598400558123850620638951479858045246850401270409548945886972897407287323168116399960619616931403626237218747933324229742275272049829838090561081968366447384074744156678654519423909331806140867686672054509624332252208005012822601815715233234002335471417065005751672833245875214260424337151049673290857818011003746761403612506070849544008209444533771362957297602666184047058856836020693531139863439246137382526899075839443762565042341054362586817881839546327237553214760787759377104204836275313269870874089011665595065009665059934869945182218867203467308475535994836444442307550211693693177280201526647014489282001458859326773464011487210105489927697947520559304800979922043660952731328668020182609609030153125048192044966287034758317825538862046140762472963183749565746936875153817378644096763106596743865229814347003203019940994358718690345152132228971964577886498665003251150072289221006121415331135292760787737950021783339106282325075392513839064129308582756103095254538321861201056819477418102695765994621301506748830461823750323674212545509863097479771694508425130192259723471883626675471084719250182962670098253415217357959485537111609488722683010234503765550878223696302361725879798584422733260022216566385797555779358517075903739121536901299686346123033516445725629654085196717454339796277965337626958209406504976126969358911028883524269460790304034841381469351866266123758951866686832030829601003616240539306526634027350066228344776577491900139159005404960561419369596247893263014802683854585717876377605901140578950036369556255013500654051960259044085632886971052484144771813666707214919035736954089656622713588082590707363637345371201581086229180105963946212917376794912808341222725181726019036709773455087114116954580955664436751821013201880815587270102827084697928285523982597057179280776101398624031633729145257708584405462910421140920975376194903396001775042193988682993507653916306318201585180485275261150507253140384681151618339339598082215016626317713843645985621884976970209104839798493762631238003183812328114201327059877901425437044282919421226367417678723238821702501972390386643320963388070927804618061929599099281008437208501163806821633767387432921372332783846551878372627112389856190871758853733814193185612570018147586722736163510853053291824797977165800721272490211976852797216380999960660551070782234302524858411896591050364072547198601463941098769546822156217091214768934759370997483218127065788173953188770859254717379960868872149908771548507756102441022573232370421337870187986084890176961207953670687307889180472058210006582649798350464284904374090175200556652907040209181516758247994319602130058953890484137858806247576504418087596714793277774995114568759125619436015094551055274870376698032940506863779763801348962499866234038332858396500155545758857142899521383564044023189511636620102665809077085928739458367152301506037409869409561532709179039439105761694146512770930954437842196931123683650697176273528831362249513966204188150670313534025854285909598165176146220235784777210361875736452709564972015005844912251564271323947935833294957122376477606210377625066726209225410932030007788875746455220739866478420673823121517470659757799258854256559677558419520472331211492586226558286514599374827113242366297861454900925428713594320994102588960561724726399954979216056189569111457328326736750905652076152225435212879498286336024987016617712456388000002257959686980238606546123313876645638542596791632170501246386268236453471552761574187778617256034969044698362981759987922882623749425431888728283375284279603478680704971179629540368311476469164613884459122390282283096159482826637133790764377418011391854038626259323883839692651279131587974164879325198182520976102876379216623663596258270240275790222432846290365269550635060941679365050843051498955651312515565773478220506917071821961090070037137599099084778277210595473822713445102448104362011287766188650410336735711171304994465141552455248294266338769564215493799808243924047877634083906503400905555658351928025900234661063953827019668420466649774441982808045953634940714346649624279757386544047425336647225791224669956776320410388287308251139883530279085124246880918063332367071358146395396064432441792235912023595595332422105186757101767047944746982092278142417182811198876793195741873376763611225051370228000164998658546115357090431652042822378222081670953440735769297857985344660601475599006749789750114611508129235579573067708825999127258960723180532920969035897771799103258338221807290585619191640724631595598613507891025624185187306398609514026202722306588802269337347427413149532963101261118055108409598524609890497795858566254480240431660206794027425260626707953526804251710862291525150359757219103035149993729197558049200937475373574020235234669894683891036761019965166041462941842091337112808599277005921561757606454696964895298860565906585789632285303082086437922387179635128826339801148915501148606062932730248426942883170157138685579175087446622369529772155054976519227172671424533737900125874589720264314783791806269555992229545532359286153293805187035412199908645737887335760164050861455983819836481103307519046033197050493308250972284372447507277441013702522968749357528087509190302777646336465880657167394092797431241307766288092425949796964088214863555136222712599852011388353833168529455575408341651638648398069779151268132819620923075428657182185417698275987358509000762291394622265724923151999910146366910157560799485143121894957385668147559336481168701146464889234396564196796130515009176450991285532250070495991632738541049763811343584430684636902156957383543107763590548672132531365311964648132558748715034556140376265287265964301924331049749935625438144930596067784901281574356510246813079847261095608034164885670568653618853690109581356346201625774866483486367968765567919242001364924337153412066000446432311449140602146542644597971401658999770367036643388038230733978012032112016716440694183773934492740020794738323501093643381119685938879339493692354872842866636873575047375815540946742782628246795522155534338538952179911751174598013488541841090946226425703378173151395278860205865136964463635294589606859790978784600015783403727615700733034349804288402390744847660221631942445391900721345586972256586848438266642230353647893215086727553299522357328170938120955991978044948419829484879776388609373437816230500217796613236889625313806788414730505581141284257423524933166423637273871160976138762129039499581445045902361389425696263289459216627131167380482831965697014791573709861552240302001673215226961307313942688238540074678552694264249306934270116971737378987645950571941557257378292749205204621315336896320015186855390127382020637554008353556693218872413618176364547576888215174472038125626162033851662852938810507304338969310396410403167508837562255423305124893900724808797899234109938319368880993452072123823203086483684259346456977081997344609567716305843777493927575359556131361987437826858941515128859511801784464949534807948488388148348953169111893191234332161001734804988533593261719190111832628847645201702624769483463789615968095949973317252489044290868812229041290702175783025691387342274131540642730789526527300149197129456929975085460829340820191541779116050971292206316123280326504047858883799641598853912427244895342178359003843173495537719203061075161822555990088565212204034720016286620346395752553322144856809598056113101908272748334857828338422520143681532303755562115735335595037881375278305886082857947016548163065691572584147389251013903986692715829449533362870810881412024673730567359120919287757488752806754267158724331428024954432599064546985446391461225394917217984738512707457675815290823089428857932384696254535176246229640321640455381672166773063941137153285979228319572346336167749203427831955673505513976195945843402010303157110844974095919171917628771334275776026908996871608773905990094447929941125029748614052895630271739117037523600240558109078313186703722158613371289704036795879322587711052202135851951497325184966924734873091168657676264377110609947010912913290878280405263547394944551010778972989812149757672106267530718952727442227550382800413672330442760714980736224615639420691340774348393091468648988423008931392498779240311448440523245771532312658359589367357938178211249342520954967266564548523011175402437543820753102040523655567107763830184120104240163314425512547770691302585141323372161460695077273961961126467117146593962876380310015944191411637947753560609341737760400187586836975641850360306987994005583581493219330268595010003049649650996232671448114253158351152546308278994276036763883752334573933857874425383930723807408863643318318701429576710476944421258527554003437844053885171905242979551014647369109759499773069171750869877771351182402474067400137028953601732043980165752113455973979831856097870262705785405046649132412619617828727175395289716936919713124293537485362298300637024069851038713652537234367877180996308732395143399115617121638654126535424999608888138944722637909000653986296703259666680675808919765566455497427898993243953159997200717685135776171400716175767529936741239843521191972570833931419735849821049492832780508801691517505465238111777976453753691111904409527620350130367502121929029395578602793832006424066708925204268497038093998964627311530606669637072655999586201001792223434920958921187806064660113630707118254290036272663144035373568069093765151334270861641049194358047164350657808895662371155882660738054389137372643088893596506201139766875396361910351229267485157969149141342189348033426219827960035308503007051695099287368640979871461502670081443335994162086658137831900002217415736091240124238247024280733090835176802461266272954414456744735934077521487423448637720547440013720962889735827855254802768741761611879799350024029122448966121901282499780421303392794645365120812820425279506226080296676983784489877121740880547823171053352829908429873918565385541434391765736187664403480539216615751528083716404204600818212419795470456666388969733341242686420857289686214241218921969091628765607786087194895629826500564107829497846922062309327927400276532320533794042769041582627082806091553675990147024974194387371894809771437471506753597199452130333320250826164927034997946037180186115326786459087937703748051230009088401988995130409070599662884469748044132259265184145012530863789258404364820120585554026427100300739166106802012259271267022577558498003282399816448921841296379975792974487407880509147026873002375161010473395698056261060288329066499119406293387897617799876392410218240182324220067091079725401860302377172300667119450152097807589404818944700977541938868214964548746557965233442359434655491962102807534230141174433488682865014478204628969710075263976317944010364803790430515820771992461509210600194079636577005696264065353229671897485620753408322747084547154772229165465066926809593792626689446448067514103302051095695754332491301580181231485054799455391198383615085489442626008788449162288638248390523776669546116082361576956896403414502457793096838724269564246580610990573744421973712863346234813624184365208060854828654547431795581424685540711197394242782116165478849007519726705970594273385120171746292071492725835822512426615983399654128435751204410075760987214321751956253260695559479051636872918802069075101114436511014968363667885145915392577730461494496176214107103869854129511832207155015128527938031470753017094673325034534144965825669553885642060073586459032653195007828517116721594079358937559490623962039025411228102659825050744647390757440210844109732104318966557666854365113293286532906867507712460431326534589169050444809711411036179671173376494221073040495110846273634604187613347144841631154965961294333222277435089984806369594424262587117959084029047996189418197670989463767454935283845391710370131777667211898591256910169061177206076796632744383095002618272647964500349145239307129357869727800550320535358899649804349772455022788121337122647944379040920379003101960716134842989868124191462747255362701937708407771917019726800074139012357420595110624200928961129085774315947380145307998233826505766172014391105012931120185509243877370561007681250817339310536952490383890148876350128752850325606701920680714257468065330217822281084591154273019106633581642663179153235954487016214620613713572459812387774153658696376933409775540605609216695573506604417658709779327707397169036618907164784186914207234185466674772020258014361530561942978664467323678659764091246659140072079594153675710854012321063271288255452503482108203874511401641248469947433701511124288261437241595659977710441002550073112635945687466853636163789242006163928590152217905608191107070559299907114474136535086434056910886265030056291188945177216821181730893354070273420202936158364704595538078658937261781204143362415802314388416420004017553003701588057135318254492431320241511470733534729323580907360298103235620514980870012691816984454026059781293556837755839642775027085486583788621491578099198674376446231354319297947003495010053558564043955218300532802002496816147439372306180311277069741078116483939278917555448352030218686052974826492882294288203021883817594927882263535894801235352293692286344698215594889481499636855590737329345332946827824468810792992601833296778583278043610409078296984644190025557040271202941144346191197207364451124311298907381406030528457153956041653750258997175485521473431506323832347706517164347758376043892727433819342322621003192575703592123350072167294703769318313909618489177773762866736096109213974364491930781066723406678640617609041272586300956194304337376178902160645561529687955557629652608490043224974889377071179014387712133527572629596290034359729947677522258565876944821519458434706105069867639588203964274734218974790257281305322527360613575006161411053724624352346371868977460269147485567948046228549772717215768629112332985533714021665391886768018539735038180117492781205646747567012402333469169232098338492978112630588716641370963383431334105925947907855570317753599972217197542446030816326828005564311820663768368371933169082331078117488014524301056527929669404421894117400377047954937445106921627549078689210709813879037122884063141998544195536662727702687566938871686266161211208902955167016637064636382622721657430486384586562369423482905548895718865720060134209943692228986551430929326709521289854822772299145987719176362478541119544825804979309633821184342661867614936646166191334449761675051531372773039658966233903044867206994322755126183069077426119681591132377106613262796197135860695348089983745059416155853580799465727764658693188980029431023250309384223875501297172187401456728682089662711603530965545073264679663864910196714779971552325977147025103689281484926067327379532309662620168490906602538996199923439143977610954431977549354938310758964471905632587100844823779836347026389153382639051937507331075776672757509571107558363456366545506251054548018069314489105403389373112356927720952674398008626433168580207969761578241206149105368301015418762840898119224295204382170343344931117301774937004433410124643706833922695210942224506860306076220451654291242835367920689274720220656877450496339055596838678145399672916907119254557117052010104785768058808771448208396199942748103632279122257718720930420745160948523857869118556481935393195007513051042918362198774815188270741029211830850248607236965279556561148970872583924247910808978198952672433141108004570623889259901929414679343110471495516642102829875490693081066777234678429552677054876389483665450911517045627207382435557724063892007250667722438480788986074467649386645127817474633010408090076084863402784036956575602069281725755567093543495779001316934390973572254564084207491794148244615601136676858652562986722407806618006691968804288701003249783458051097598755717142905058486159232423808961255114899593255797552608838453735361644007097334050210229645557942856989446272600091645408177529438302070197976197810470313998089946312287686126760049466169920569836869242072955703799589180595317302184564312990321564974547473130691359945829138438359953178896345347993892368101564895329477447563571557815655789996619670161487078080867267042540484680050649691633262294078763507207636034242475280157902380908094164011230909800161756162959413942039058307795952315678333808732621588569836555931193748294030536349559622502701698425228641412662895187989855975506830023821175628746819693501845484994896417732319879019284103432601990506820110838082444920999437715303507505347559489622313351030578689608955211153031404291899544148404755275360699787109720177750663529617424474078234860785522948666630695147062546088139173280324219105267412857257450522355466452617168453262324586363530708419168211431961006001855559623353968077733134748213879958844543803811657785896097799513065419648799306532450154469910631571024983549617657838902622693821767716636040476037067203160086595988217777105685383568215402146243824988422274001940725011074222795269929654325785718034802366963528359824945787861051776962996682284708707695171484766992080151708572460567821218466219516226487138460920783935714336529272966846431354883312695516056160818435497907146604973562710029725999246167710471139622414145659801317065367545978426075921134197825182846500637950910836142721735619153641085789306982295668836781041264313579552110572187752158708698833204924002664140247905877787855003296850806744262290474483944256163180670401032395809382486702826894866959573206666226909252490042187417905891878897907204151121430153022428321904003956975280703889915865882171741770759707997990679156748153506409587765172608940481920799922714777160697191466109405097350521325866929500073550937732007238979578272979191458216684015197233890129400013739757642290611604716827073192404303087371004017211282743492760388130667156075097732757770883381624473249087599933891459830464731798085114137273835373993935847036087453434437476244036487144647644702446908181623955776662517705221658852180042781585630825687996849057251018112876190788084311925993543408494281928935576612667823465093116600936544910228996712410883786816851834058683174555819251927066158056104528942416103568057451235604695507722171775681537435285898107965250956774576668943075554885637818431450928792421913758051442433193159465435825373090180891152488637910645185236633528814072659096614592980445683662363723602809104362819808668972671566524821126014681585785102234355010654488353079231134488342386766576345422362900370138429793123833036744971914006274334423803280729443615000443732606660800472337457319764025110895763370122365795802277296804754016415716226092182552224595329278649707172125237459288591537072442299477669441816541946377974451309149083407475104926987906004213985707757880049157201595904654493688859170380366208793301416380480177692247293820362815906896451629311213383530651851443599570951013710219998149389369815935798412612499350320857132960222076791772608059129802655345180937713957468158503121074429725952343093689748612693019049737008630394284814627816008283116341785395889324090882372983044908526319977134676767232759228933217103650118768067847419936563705664881608119151979940872152856487232775242120598380787006053639601406943107298826024849665142375814722093793209029066613553764270216676580398974914063011825571041024305172196044452283414460326565532763374927073512022157082959533424179121778329349264323721316001917618393976183331262120915965149596668956604057660092186785106716852694857395735198536438297323424100096504432526231551500202377301064220053331836575855038997113666619458541213152874960844350002534177619538481960913508024441083668906316921682295538388170241359568600104059039886515557502552918619907125229402374574245889989349877567252188146116813594148035415716589171330022618128544893835199592811053682323668884188560130772793243851667260228311870336042766104701370756845601613257386713438315140562008091835820560136868872971165929376345024099177355102298545114707527587682957263072196842758159160176484008249213740914528283218358420819255517900212277240895452997219247454681677782229794463613546352276652910920706449488115516547442223670024448026549320374863836746723342336656278780331670813170185908764406497719545034454946172612012057228468808723578772536224572808888306982500879785210486580374230542650270322967963544962413200264621351726731303894834971196987229358817072337486652778640163694785179983948895332639939363896963779954392302899450008091859491786165498395087470323818268906801530205917541852615514309815773252129871927710869092980462164637863767367149162629792599928866962289273235677116992683303300131324500921514615000656699598994981223359161865720416795255410845462310543555683971720149014088612866235071217897691525186541518876735135327766254171074011326422947012175056402113280853145117714753590721385077226236678127865346197855451849846270370310975489890591347211548308390923762978360176534787940573532637869748133642698459116971101408984436790778830978918299703427967639002595063382774297306237725274405337120451162010779479594116884541856108942759460852430892251100991687290125500143340226287972624729598455202502180925140458073465939548698995968168755250623181219599405878861839942258210004585161776127568102378669355219436926262203479566091718324171432663262488055935259256331324043579950862154754085725528091102234032524142959083258355646241666558785583265285872923493415764181906884118280319736835780822715228489416094455387508369330135719014281811260782304453775245049930475218366247742073872299369569990571180379664638287353567805237104081236495785019404840909973845359029430082929646165693525834391842315461525352444302297962403165407922531469481331797012210997706236558388172182890523513773908543179249653622138433032869073456580669236652893709720023149563785677694948166957720139370550020811591357473191060988035174544926369488315605005058457554372769757084859342196313488406502349896464315947827511680685919039667823292384064007163470044694308232290042465026707033520365760689049787536917794040906208703156522787535035570859059897773807568364000134018773529255848373071297197157219679564561995148303906105770296511432571175916841653730098012710577725539045971302491219833244565420672287408689893869648877829727591834604812769641499324396484526002658198292932358264627987723224040495667367540537862851787296615011066909841001686036415696456442819239667859015946407178633087858157013910490279678332499677005982365014669771446565036944463772981921709071283562091907193856723543561577721287363201586116522498191046476420615527808580842466591412385727555000765116135985860116179440690153541783100888438944539738269125613360684290719906816603266978493048961704167653766349936025023731034435208326031023717988001472510844675750397271435880605307038429555113530940432240679072862500475861868969481994043491958314672027186352243496445087258130621347263601360900344647552184145883358197847339856610395553165743498756786857591715866817264775936521676572471637421892882810529863378413650913581153222201609168739349825179519811368748909555745482460559126664005915892990084532109426084150512646442005068868988231698193237846194113074688514837928343886665260894936512043790197586109116974922928126719428285145201200876802552901625490975367745019692531018914395228726724832200425846035196866815518765397733911257417265989278677509451049404621163365003674717025927109678904773704998718752811343458638508525100779813108850376041124944892079719222058129166592092484255767274109779731373126398593532063104743457376239104694091688897718327841865131347112931335938858326697544420929696610203413898346527429838963959634653835827865058556488592351023369028435298864704604978476388075797793825151182689650721466456361092682243275032334847374290735709827130406663125243578788272757643985887125329827938445335319963436244787482079764767045253461161002877939661971921809961329099084325069331163442201204007109810559736778213908758849342245879191288269252385613234458917574901256070128529694632950050150808506685600904416345572644606409627094093818086743853876398784850618772396252309241112092777549263517242608888182821254734038501179614051968978697645224748877077560604398542541653286526273267236541859399720827693908775061627453271007401167064805753327907330468228767504332717941688618721307264447087444363449938827128652232585896392788370496967923726704997237159230859045709268328693412912654097114877243151889827464978384340735456316146724348438337194503348168467649022379997758631015393499589897988325400240869641628602043176946455271004670522245623299238602623673505690380769886454344171529741607960845472207927419218964916645251030041832539923877045020319259100617029804797527463115567557582187921561866343074006981193067820204871710697086017136412601779135633613693965582163309821786096364780237292023050159629517183680799038690321406440626423098832099046679696853350802064957013659613686018182163617381445779193577180609676865854955664370130843026301184579886871323318762903819848406805561987937798323551419628806630562346561985275900911150342056806553327577770968075720442748911792685794158798524465169784116313006743222339476524950942748850405078285383042172377787080699554366428602483917781733008763427954085765552781368850682125551551799541344402684635798365487250116150297788569718191625350635510161260798595291423510997142521726119227078344200595356902497252645821684237542197259930328869849135720652277070167401008306136720812715312430875416211310716670821322922838396863996747105449744025037515034046770670041073111560740307099600107151171819765900491794048684643553228139154719097449726253266978717957829997114513192522600810494265469448532936876177486857289186897908974329336373630858648557349191482870175541757732533041883192939103618042589254167140521229736684583246135520934679143154705187278647341977990002536998420046883249435160890894166414354285554223508927455859436257601544537170677999112070681834083745268400978149991220085048494336898141721003670664303299276399405585399058390710703491526578829213755147470192856024098769474318494721933723352676774889013909050580743812058709895387292194745818054591856949115754626135473192555117874046721665623879722851120492506027640621814138160181664646267306181065555710116280271654785480055942408826151551258031007768418689688067409610955129890889864525353478175376058177948164955285445861077863994052355816153491322517350901428216852296469446616592445559508531476859299939628074545248302606670254925864044958911495554991929504809634665662486511162663233547258587521172737164803927739646757128104977201949819960200866654239616469072334897214157548883427150961312186872066773027745497630793785419205158471074227846320385480585023097391838916224630592635869014204239466497121807898212580937606846318231264943678272112103798844972555904299804607374006570729717100221899890127502329391989523217870726351283129160983541656068801730352673822970576601844326505002993788042710855513370491013324330034817250041072753030408585079605786682864291582066613121267786896037488042025008616932556597558014389701950238956502996611331557595818416321439865752237801067338235940387144190113763512815079438745429203322348015468219452778915691498111927721009003098550706613969974963278273500477794427388617805084073802335501733919384178846168144519520859480287803609781415341448734379987880047168354208554009517115520154985216028077833496784968431728436005816469087558101625339264868554957517922910040870810248623621503704221553752890529310904007604351222090048522563777925041752596401325540532589939514158399030472427856237931086181407330890348307772086668713904457932096312434302272161021440146217719500291681807466044426071752197358942196929823733993081177676407134728148202340986683755083339978960642508716718558541664092316360010592610214158820553986015745883655112880487320897336997445800349883473823077954459213615487158574757193771660930994933124628752525348828216765977485328399179892661845486930080980328890327468698974841974570644808059916147615383523829430593491011159077580265569799262446399241762584400666085967203519886479528019013497790865436870368418665608016861168591547147907036589128015001764020283122845745792802852136326348553264837606932693871004966959482752890137221319194594517319506028444347927835142731298685880850124245022658799448245227895625502053247991461991470382891179689558531800686336729508342106861675752598827349705860791523212686466626409285843376673670991697960692843817412557421396249413789962132437517364576341721524280620571223257780702169258234312785265381237987515237166873697739105169694330054860486949556684184355981207260056955545299065491441433886638252428211638652036250564569930693458980133027014081004610390712501989581576374281166094071521863222867326015597897721669577384643982102707321075471415942194636156270128048697757031593633995947117412877511 : 7258803104200246694833439196510982491916277555020746960453146089224338082104452521015228405563210466841444831125398785570826317483764966703209599120465943062509133049875622297924056797283090943427498141031804818034823042907004923304504774721272819650411756056523445347124400066782626562608723103547536592543881045945340299742719316324291841437641603192433234250978840445065798319567198062173568317719062794848831486336645158432453255087563190843792461204568854263659527553997323595626484519299516631015593849883588425998602453743211379880762806298188095023060664099059107062256945747733282284834835818326141207154887293601021358745306707086247000250741667725171433811283192560282653719701481944551042792804338477903436987374863573392945036824996275528775691734403939345003120411021890940935415760321681062627450143701634220812832478257864477257987493484776763521526828341470343708521038296843423221205028052506303822849284839458026863375492092793209569625261989156141342521858915852036841446453134592160374722427510759768446734054792392256491375758590484101169495624019612370968659897002125690795309707103202515896959312999818956222857207206054329059253732057304356074149843000892481605375849034985503140242319699682826035438590150130173621396871989611847790156926542178029639567354084937586559606783729080810687066357332347082709811337315334550059889183787773051744663487269866420389955682036165639519965932349481796008543145469717757379184578944213007315959666725201339640700083881579624125717262758234557575312556647399079464059840963512540559341256478318786561128108205623198640581724945694669550572438085968582460447821141357924338601978293777043213907306096827823135755641155337819768337418331299395195713529857330827451540468820705714017217664271641688181313832513248817359000130865880981768890083464699591537289341391459685689481024374952626796400191654368860127468566369482267579908748551046519074322089522905428169621120524464662073480889939332027399614627111938780382065709809258394733179620556192256113654742110167664694565399666616174825137384417363337990496928306741074875518526065482452846267262414825032222570095914009355004491520936162215063529423837445463323286485772687249971750227622208003083692290657944008201719428878229473273065387975030390969953297182144316059512701157999164644365651182735218098915358657556026679190988099397864486273881201520961673864307686789507719128373209258695484234844697458785209156962337859106831138126635987627770619576752756756177031734857093356295344433264402694314709275591326546302858687410682206537638973453748467665656961434356898451236559454716042501205161549697003902357906853498966657605826859780271236102030902662096098313437320512641669455788492629678213412012402754342839189496362395684175184045918601675273451817093701514083190209257923407022756617659683033120245021651455711007409228205302473801105181933860557061002899287244157181674139388511949651569271674243667592668747467657322701567997743848540036009396065053571137352561739512254892966386706387649647595244394551138415792097698864925696588070209069615386254538127263980273160502334589511283116077020264375940279152941180478428372337003775080122058231412264441618700646609961928570370701789466229439777792651894652710861313106244657256668727887031779513893265867993991668850088951870358764884861699936679692442453677355373384165576596491123106593619671162890716926983078094752513794642738988507575759950591223525834797673178535503568226374317312901603080060685951757025648226483676405626748448071530158666958963801191618844209385093135339449857950471190137361538738123418093793093737080660538417303780261459350430685020572921893453885087260169181445080915917056184500128946063401425505939849708156812536759550862533340574759086193818598766475733572453349627686668498851573251565631240021916793995976250580586428728848814880279858149653899427633394347624913361731431804751242959956363893673903859084077787755285064858567237880167444489211476960401301408891980877326331414483629245062411207661286790653864391557599984041876007161596419939528297447636649931225883116126517365950863408657291263735504961471522506067046957972775536247304367037549826838739950351432607004182101232530756393377998616520504930619888764675796110756404968437445076136512147523855155595124996281841932814974201056734516548491556429449469396678788485322468453035640831637426023870307648537422795649867810637964380354489149145160528124761089323155352807365205204739771616294217824788899521116407022117159650357849647957032089985063650927961390675082209841333662346903105106945424622584656285023118320137809293776719432913180526450043701813848137732774284567989272018225250661382647535209537049746132936880880876463878964304517573405161095905658533533744945591481179125275252409681334126355377634205658807867949874925289290799347808594435873119757830513352703334749178294818418991577026025707358963672784441936948931072521231773479021586253449736555929803979793903488506346545974346275002997421515603999749409053852401416703214670448771992372464843344297036288880536687121173282176248356474838682372901093680274254713591226131220908029898237993753503041843909909077677644238530255143385279828347799662338894828010990601114840091547295653477574998518446954210622718590058204999467353406163746954372275206814804158133550299633224700554007673930131085089036352092881799685874668223655533869682492590879150306939964745187716806612024004584244952991108615262168909839167651078354392432291876725655303499145928516987047771774111366560271243357696608953973448007372117773765478587976368450425146160834598383619003805940100462529534227050151205269728024432558648181671746229767626064214006669172032638637727937303946625496942703587132008283481963791700282203836387650148807436649810856565462384551728881532552045980157180316636459501848067219612417547965754127902524656017784446092776179740881723036839643463219056740985695248701105138651551944546377102324551109673044975757982468176608668246442904223377695109358464052486802427360034509253859105478275553303806043058230506333365780749313845267317977953160171411516967707131077743228428122775759735578526438493634772273733711762524043814652630154031073767594885446544378434123481841946737113100673809094850810058908842729545953990719791209447885792415911313459841887293655133010001605397753741898913476143954122672129912601583925687173404094947875582987377310617264235676706590897609669674577618828918671124521105331527400674385389863231834199576609418781008338427533085051007894303600195934181270866440066478803985760449370990945868531670608954612710214260952356440689823283106533915458990295251937010967589016815884263964556598571365994798527790018371696494465830880627721726472822780158248365773951719516578387108591737367381318745774483973474272762153274617157743705242997631271126513157015366367761231468910064564065727754076567261743184530357596450757763682581793674094769792052200681464375153176330998274498153051796390354542570000744541678206468194412772197603428568607305078721815974272606196017856073323510849090301635851607849139741046747527713596186023355011793506470259644768405015673535485457438109546816382772248463273432882870960898370148170016423392741067825885207404044374113674207392678710498667808678216123418103876876274644699078716298184315202080450719077015783882754835756472632773198652754967133450541790910427532014562068437639136378530105724914235883672132501952989899411643329414732348642722303576004898880689776471805470857592702543031575499728536690649766013474779885514996204155611341269690481831001163553966994622537107713336930026136099854083424830207943348932396875981645523818118130676801619886485549119361088653868949183285099255373760016638005179383907145642474549041940642786082890198583091323081556856484763362750662835713514046023579747497427259140523417463369904620045567765951243223955899637322012934118522117216239436059159763736581355751074588831823244527452764651315997043996120912306682848781249786929161081563434034745502958503825709015113488510433503844070989102144653627983750165910657100486952158832511294783451565123253608362930595573035614815392673023424029436320703183051705904728655963258956166765990217531039160613829297560972380497295970826046502170198732189001362227531930988126767757378460254653173413325655657431652381892818706171053582462928954362532387473230391864636485646911927237976356292756667544762834114409584245178384221849241750353687632968333638030941013555868816324956026966121359846425628689197464501406598626400193399075154686323897907274634311648844805849701952552880841442826687421324976416797141293878073659473343043833735306930766441377331030550856513601024334666540809293826671406460452406549415213268911723287833314752701971335139009068723908923999858508569072020493132917998602743862100853118564865594927122068370837130219518260007134467715737880533652684771637079355621583852424175098488778736966678801642392012111113398742561134555217836109736742630423594207930049147616496788831195173841791939119627197650190036217275314825050722512143458847256034792088038934550325228164538080352390097362893518586270542309061537111534204107143172019306438156824432394800374855122231555442218301035728609580131952608831963549260889432350843600269703248787824456958087578233570739271444164042910759155629469131205457159450660947911920804444714424070414106938226953578598890087991946562802082710921986931293780407162121207703516377728523256889561589333949790125064770111011618724613674188143429859338229570372524917239556630643234492074522141235834385356262953751329739726164256623542074238441632266428041877175683322634307166066901327099147392385024596650295837635243218034537739403774607143992835523548240100700386031340708980235491334338886176992865989616997357609432503895337647473786548003216396705519648648969987178520294593764596666154178079867299679314870041818536854257939390847020046445456912653420562999219122154041507776907961432993594820708067808078313702215010818997981984591771061702695109346490525634428222519805470658663746209190944024599540234562918706660301202408096095677915748176633356080630631113193202275116193819510078571127044080744356902624052962294034668298799949451926063680200805435410833372658025686189682602519912011080245703762042257333359288577349132910748016996469209250646015376020317012894428618737178964647233172964162692770015261002380186964249532283384632251140900816249719160227305599743651884155386120644014020244504540042425151826194329992062210144544128502777150435783818512915003416943696468295067752121560393489399941909502351230707067362285413777583810642197497534111799578057020291168716128564469885286252332679673096469489675921638126838671547279427554687127928189718513038338887894366162970609788841699127238854319162569109878891700945119345926889551778170720592709811652762020064451718855925696178092016210162509197833980054033557595783205661556326667845217002747833369759653556879323577513116456481318794608167415024940575859940733653975450984278565183836850837315274365417671734192962249798595027939692295317451518500277278645489651155252013893820617520491914477322539663637714069458978689027505298030793729904884561490691240231222040718501227023926911347699273080881599752558969211270766677351697431333638379145120360800159079649415709666031109551192309358652180967653537877463719775138198306834419432745162624517807049276798628018960763294831979083622176626932075994046219630313650040964593034157226652056641267612220478233190036870297958940362559685627017588878050598175288017008313889983705646961627099512849160626110155396973196125897156587555141848984333665014562206933004504099230175043831941341340383803641157046431674035214142687883455552776531218383825611864768849788582996866751578756295769623739818405882537905457782673489967290654269963918952229126127537407588828584893097046476465280882430841105689506168479494808148493534988588816667749548730359175921200526164967797861526933884603165900020755921875510435019351081375400819264273597469346522517504798751235861216414847013907037367376019723665647145014442749642424294689213822029764980308102389941504073613766776816797654658995982372251250304666151866703035156929231563271218168015796121449936309640005361689010654176844807463452212459668024893717140307810259050175078368068180969343718541452515493719346194355398894310672996409310080168001495420573862604585919748860202130724896418013853763264427464509738978659167273871416466802700219891987146559857917695724956471410561361294624325814020609002736134776605232458337224468879466254932036181823055082117386105887511750386021512790377281498659461970814486830720628050720762399016226281026872778412650845074558142045352793066006750112015994576364314539716324314934232220892139844955553450428186895313070389497200920560438730071822819468348529639618604517312235217920110140373393481671194625138943926264591306069627681980876987559312796853104465130886361835457683505372818702739513126388104499068464459415220754232486394592726550439272714695178523476015021724025179538507548257318473677919234819363219799371084325410075094991931710075737811332003998114033031223358447923043560032183951211321175729643275626292987599561390090683572944102518601445825917604456803062368260514364546401507537542673034816763821377116010440683842736855307273928805675691104254113781800583131948531580955054385625964452010810740228720575345455593371596064134010022062626672856327379664773371202626843094750226668030007661114751879495870240352678725419229156323250949664964117864830975729990051989220456115278651546161122891870714085921996281743228111295913191405517737541992412090945075447774787624944313653391330724057660908978294152425124247669528827013012691982710810944554232354140370779998271449589173450965821565723765336204082220324914178801473827106071754157893447638618716477866974599053718065050174291618947661579357012615433762110425617793526992868253463816028428513218188887707206721859395863952887408726782626109972176128951345654439581318857320961117841068892949625616044673861880102894882187280803477475423239508498014305872173906946596189233509009264190005673989778923517588904163914779489137923413287550841292344729806876092367466435103048518792244015250797714045474117593247716265976744894298628694755449610074977621070976791267598729623950223996839141061591639617202755443729190692050351244201769385272874066297783863365471919220486982519591169493815635616612513515477724833389311546152674348583571269101971574557142449172098139963815693582004397852322821854698710094733300083135968378971234356415737804283227108699885475886575945724654594763633596704944137453839697119992305120341297622987945716299370069166370442963001528715054060994074359079691776568954335773610312595174421494553380962521007158763610438942988832933447345771722160588140807953106113716404536878761810086967231415807356505069607981971315953531776240815402451750460557224288808104066801492497874201868080290781470582439870487325257027119924276810116221260562616659634484962599741350698474542602791352925393545116490842478203593608485658991548995535413370622162791331406654885661055038272979680985067167778879264643152026176670480487943656693560042007032603734522625177074467433200007829740604745275064885868516195563698038347819754808562889082967159758616278331472665707052258735958990982293821750816355577022966979766563764977324671888968498980103324350249759535706050734603127634842594511296788534649245580694385917114001506342672192312989343137935296445649226393929989696348881221792069838906112429721153822402421067118863769002834689380194500302022602217960302862282940331608087186153242744958453080264528837388371583124286414095547720255950578767795507053185967888170874816898167546188580511128838585986545787551025957540227083200923764632677285224222124404978080516155401536072855668689556175427856444827465448250279870190434913591546726339854657660518343941767380251158064799773460923117553193772676285263174927537016855117188961710900670073904201657588746919969579648888562576160966292268054281120071748045535972408212548704845275229854168587230642199135274526593109297739974433184005907794385628714331925778754796420993889271893382462574647047774136173985956090370784842914341453380592846348220430386786013471392361593388717833643758646770745892027792545306443296025413581429571697231146815861359331557820479156255397818697573116922920434287569825935587208103770518752990888344584203728136098616567812138563764972659623987726880950530953327447127254851274042140158247345582670712805168679492881108630388478782462524338602482562735730720085192840465399650775373933910963231212340020284408081645991520878487490984586468188714903683778523805302792042595839200716602990250550669289570995771757039095315174681461012303736222479537878327286077805071366500045829603657369888273960570404922109734988743023595053868503297427492261311178067330766181804208475778577632760973769238853596729780115758168671693430528039306385055754518232792826383442204549968618627640054929468765465989465279545401150732139506342364802952183041146638763363125647800025842409772262942433886720139592594533964489699696952980361056282678987801166541788681000048603463206341113670666724853346864486786654018919328749365366554595931324287167129128353335163470554186070119163583953542800987407666140313109122815139477240001233194598431658446065146088391061672607945208522185508561216293057365347227687780607230156288598408168657174293647625792573208157890734801443021504541730039758540032545004402077264325095204095479426453101524712291314965448502371454746204278560556628442362420237245425400939203203296289393396660071838692276777903959213428184112102139792475825619314045895988908756348700432419614273533689682439639027866422080649932219337795051709394265905177570694687503699696515187489527639713033819575224896196564917645942859937519234472215721820311944053651991171613454817725781613615009925074610167353605424047425946635219699324050480737827410873178538736165845126300025497620442222018407903106127448275621678308514079926001073055423529563144569426302472256756910550672619449417159279113243134640331414890268792755466620848810521644988454888971694532360962741092282119391499367490180980465023353658352738868807351610740569460446650457469741056369819120866190653989002437924858313061433539215001673927077967031701166200866703793135068115194439064625090778570281848086866419617795261685782151293840587476432835571231085730308230870154866353657295532743160871627887825703128370279321383383381116613301402862026785839867888044514853587979204107798292827081843627979558073208252655132881472907801949684377295010612800576617335381245158222083823333951989313218725719324918953355190847423801201105378195514185068665231273031271195262461458296644028152933560289641389297315893392400619194626439466803878992206586898100282383137093777551361274357308077539026450618703983189693650107281120741370216911441445872185856626362383511224406986682568019869597079578110655091531376122398487580335610437619003362671510824478148915381376813708911846076879764704796641176297034883528300300575246433191344104636214995472881339180014350983903177252696329772436602994325973865917059818056760936302778926254699423318668234310127113939623868234875407442658228522505257420468291944098712232775791741611200140101305247854753917087837285383856219262767670563282701684085238194026611844713257666469613739690375738152848069240031076005251067946547305354260101378143872880294171818973159832952405579491565229264244670417338191995509869142303335881297023981216103859289483087794625661729544385238836162494869896437886534811871197955322752609118341866277171814064512904653172432569387110192895148703713263960497903326513761258304030455340060801013092541220527195365440976704611506794915768247429475874812469680934578240428119461076987591673338789796003596674582376628483141459008277155509478144044564730203058018372586462578905176800462051496869280739838545608099974584502520096036204151558497528239074966186802287509584137575103584815096699877228269897788243808573960253671967919439232257947709966453004719040694769169737574457253363833233990589452514925925102524728278171253239252472200356211235525656862587454144481860708418858320936685998969994366389129235329454675969510420681998786317786919306989449567224173485035413362964995188483007344695434721392805431363963554052143100241982404050871884479140723666001596649377638291922462330398727441732588841831650759583436158766198854352187780087471962672697135932056905463724480709106223830719930749307044152137795157099441317712592859735203093431409262988667130974790852248364344462998799026057529111219909052149352155591282573477512334596420292066225087233226632052695494650179678273808861383941158317023099731564386520901338939625564643680520711905355170511370458273703780629914787539769195292719165848544043391018754017866475025777106307398764730043107051997089654720677152177844476238444014839281182379344344114303360107939794863652733225585016426534576742514713882707887501453434723265997087957707674564186137079284724771935015610620593594011736022932754686517491389912239195805078741029489832384772498702290617280591309027735046572841700451781009574866284911230710828833836894264008845554342608150335114717595099291391986257885800401213776023003635883248458204834513832140729139961494402012367517228674780446540746654518372974660028103006919669496039838368927519440469526666025365647110774472501854262046346175733977807184696836654957376075854714061907663548820108463784516562003803140897329164097721368376057768711355050187719901699375073671980676435708283673831094547345329453136798518897056714596158207906192574994338153451317850612482666802938207289727609725152557680486672526462115014972250289657925154903606510030382941663962123383548000506538773444377187552855472216160845827888704704618608025648058367116170166830809301444124063959665021228662027997946762846608002161911598408800433632880958947575012906381824953908448426829125710202317260711747292380298477349854779832618786218738630668119759818353716347753267238587047094379699675501702405569173672864884755343884443485535381505700969659136671182491552001486567681930816122572039454609765165263505887648033081803833796440817729838459516799005957756156152262555021042050055441468506744385040270944401361451664300129342153336027710764979878012747067255468048377975955922445253501984950761314941401719326488667899657859098894288710419531719313043138988443888769243808428293298542711058555234791991273854971166753980725158554375881866808406034287415194981550036248111749327013860834539611603799260300048025721417377120608933218216879024883075762150342205934203115467333412202067964202207894841932942839840641706507127428564331345453536502384256620330172794995137724123281853180743073157804820422567703907685024448577517836395368185130218152480086168806595453220283954672320556482003041402313786790682757712049833052366800558800313875452030269111027713816969139186075604233828867231990942084559252328489310448513753098287520671328445995157972105387547826331582521414332516357536923960240698178143130039356190182198376413792563608418507080098550600227714286768037291223654326416963482050617090425877229304933949525428887451572962331203748285576090024192670001368150379835027628011047013278418599625629942286412655130616972517270308480588768947394940055951696425097099577697905265086465466383697162250688609321674006907930878660687887766443824536703290782708714911172901032159612404328688341099401316461888464321151606412895669873150695319100991868569366086033615384705157163851503432447606657273521138691608263304760300359057465944646128950455023178399819271066289613825023678957960146195529134084546458442033121913174031578064760132081930336361243359129257496505853184603887844136834181729706088173702135095849388850934431799117073847443871039141431822634592749034865372046528148070652794370616225695882531839613849423111439732959646272255310039536140112406797391126326249367824654729703835544934086161842534676360461169830252752709818004725676511938625754990218837987158680469034957795694217654084593470872304886175747669214317453216670157081469464324543745714664899260041490303719859626084650105007210516560445550579530399203942067219118934591831791002697844948238219442278978474321383951521525969381656755946520874972462732691553688904471964676757024748086572532601823091179929349514079765382332226050603109507729397297841434313955603607581564315731201221380403152259858202170285968508578549626451615244119408135823569695302577410418404803978951830302156463097137891048277138399748436572794701279237000219642947829776740698597747766156739396643874598134131122636219150858400976212658431819661824491841676207442300243856595082615265069562220819409943087947282140738287981030530840993422382743878255066343667305789529757952842383865461287061365786194428678827407623339963215131645971490877656093850657832112756121986554119959708324699347473455411662254589282266371577332293621930804082670255260231561096171428082684626328377805277366355953674420425823736206104393962182811766823291524638686370274253874727667059264242216060636837241784763460126518260198484643399584676726812347655411717200298972188587498723355349302544903631188109595242134313481284969234783228860477762223126038842251271082618474717786988007738250328757540886557094605673495884087572727142016434222619347610084779989913844681738513147525220515232836664078057707293746398545475312941045075282409481358405018981300696086538398948842940152314981258426086188181046401570635610844843735546256975742819356266344855786437363784015661819818208253666380693932494039665896206673449184943303403355337113964940036006276595963370653939083806556260693334884129517428694644385105820763477454824750287725402150688817540544596473375345962139699823789220540047739247169637261437924156083964156253955722708922542375999949623993885653200506829026782886154317954162588646085986838210140230527419735326638029534781580676086563945381701027424191052150933635745954358527820713122296150219815983258233738619008859012467856536496875674143152357579319547097021283579465677882513697204530440432660022957017387007053208427368579155564371029915909832940718726408377680132497148443097688770231773368085431049981642371019080562043885801210740860426825659717563333007288458394918916896022947522295744460379160186856466667937796445210554408134006849892690029759744957316325429031941006939697599319717012648858041630653814381475938810767689903141811097145772540228291869215146038037611024848661059998004557036271290970949956931000241484666917810551600628959230671700128917593460950787649977091049357368511755654103130050229785101423024865032085520285103727043107615238996277066395363245484583330895459028730924636428310847079930145201399654349726255981791150055235148240292879396655568800249957431285865347298066735440675673754073202546993976821450020440774284314069119965556034568507282266657071914106226920390675503562585645033369175929913730634964359215714734415810531545426393867767481347293124155810174153567650234295305957431041747190197913333655343067100256512362435757046381571776173774283423576012716845273834744100575487197829692167974170484173233915976640135593814819783464614541062059569512634762906346600403075076758438324085082846937466826759080806008868739992380946593087876815511700078411054202543097326400330949963253795522052890579179650381545143735294329561919005511886003627803078779475867254903449193360366800053675297338288325166749548151231379628888543422913255819796781030393750457833461067612113756734596054995524429964933754831573429256433219092953718446256831854434605916536623073345340384871620060157717791772508722170640248153825936674175335437202185339187512118826722739350356756680920863425511025662153992588588545301788931321674300695411115902802946996331987218713494437323675440375005793414782596393015734747017532598332053570850507132184179045860527647933510961210749005038994688989610879675626209237689115695917304384194466942958962396102034497600066398070782656311485469095256359108493251103690420418958805517554347467970727955218562276991276148550807165893713120815055524107622695796191854076427387869882329296720388238096793999085691068906359837101879976154848554118048818711198429016192945820151738840778797176036667491062160089480618871085272565975505094315191450994284535004381989657075677964986940666918092856649141617704115673373700941152734778211614709892955600229462969560475700549776007991010048880210052661483720957517340348999325406463400724445268395760141861510745491824525773830378091879113239626078503699650067483947628876164885791708562751464992498470692037978568193030376868289483681936379548748513852649614430588733562175675082567953929027747205962536886823657281650880645709335487728630826489886967454721992687805070940094701948086277026790887081574444343112509406708850335669769518576785034680378029261488468333648182250166538996684115448994794870081748464223922604485828656688314172262589627261961858360562737224930753931944875930494279435690901291310198666709626015479765139155307393737786371708476731951556500193940148344000056848969421226542616202540805267819906164688481948650094623167038492463985317657861981952742625574568988530123344564640264288620119268367944976563207037428337322963614931326055194264823172533403637738654092708894948767345161337736076431858323441151957333969352852413199118881023990966566527699884036098827348042603827835510576932685528660027745244719029136970199048296755906394384588366470651861409484612260304268004332935862453720984245832626713818744968732604271716013758985701571755704951096198947105630816280670273682918565725843709925081277597669455237115086101476662533342956205826686025432900546236624295210820979071743711153947585556238181764015226066773010348133379898410246493893099538547686512630415239231999875726012962154889063156056103827626657209110346926734157932765959542856710087357569880427687330385501347474759395429577336094262268021078011788232097867636607429944365379329172001127796269842881114935698598984110731770293482863665456224688850251494441986589485573698566789713366408618276798904356897927406804038929139399684554635382499304367107955618255010206421980464116236575970969374481864934421906201863870172021207043131555723000821778769225482982496580279836926643918707707437522633953524379085348955384737464047334012851968069965388364905454746123696857370390141562682837996021171723760144534361732686057256076088835021044472711521483928878200473397952090790461251540913903818155406341320453501533098725429896667711003889261604469617769523240730860158765150926820127400301710960162359253632504978490084091192217784059098955338211069333853565182028668531403891157650438300562974025314408154483658345866133767474237385038103994195935366188517104014689180740238757094689769898106080354440869130389442339521769887928847039560693361278778958646803622486625598590757311798100958467726533045302149602930974422734154156027699995259834317014563869779575391156133655789427654721988289754104243419701013392659445766037878920653316513649564095038154800483109998793113523685574393152656860823105127571041515192983261032470127792517335354696032777578423913309864873496327164219214791557382154341227990877330063632012318100842369714075321399390261009500270166941190361701644194123345856354729466857542202919695964583846099101874258769558791813115591204936157023605966310685486584445195667688311933011106071377316679382119218298124247613450859434204060564040234003325629660111200993170445852128391903133928912048033321657539306303832633780676505170275998512157697792328954605088692588530086408905600313500688566067437877534193598377321769171091086894022331554265502888166980752174979839527631925708968002276167272731934142571181650055470173505836180496404644761418523767847050343564537842980131487735502512229658622006948775000567609036284683267442438399011476988400578334114401829424304670486071017718786245728593563282345397333771877740449155202156430251621097116360049906603274470540896301109107090209614357194760171256764146825768039444177848830961465478695747612568092711613733169024938078230725466498929439020498210176627606562536762991109902511217027322177306041645169445854747394131481437194295535851609360145165658109098528168863582956254250880338347812412565650592180784101583688437664378954800457243298428065001251320924212738174759001844139547166811337864759399234550655059157703062687616728447836202003204541478055223639709673116104757323715729200063248124652988895862429367707637483893099396163242988502876056124785195863244386667395835885804756299794594585630011925762052189024118899369557868726707838839618343667227376204400545309087261317092761058720218840107565033165132966716675465709707729939754254403419257972271392614715921417544437149818028943856085486265131637400998462019976110706960772248138967356965413238608378172807199325562441702308772338761427887077164046869950166469006464212696177415920535843884989289958126203093691707539316413549901833983537711748332288519872611070750686976182144617889827874718696413563698037811831010306222079498462320433703003813179303010490008157365159718701985918724658514917700839187871789543255460779038705888441359526969506088220551019641006161578119417134537434789070156911089810321156994076985596883304728796746997727018335642401946994483481939649180778478270219878515120676182509247769387320810889283327811503973501453325537905574613656570907907668482065203437367964295246364231432581328904957079357200229480497000956659239969482223810725543983580375695279345509363724637625587357972040135268417409580467885864353571274873058972452979366364243339437637692630124462460428531660733669444923105016026309390954215693648013204689208507930707971776620754384629728825017639465380146973147656955431467213827177220085493937041883101526162634571316939406853817608173185585221383077093325322303017202853405856644177012205573029822019046768488388064162767723937566097596483682321879041281296904918346821514611719085474974921123314682267829915979739782498984056434174182984339194669426237820508393510723060527078200648528562057871054236399068338828200756622422102654293683492101414772497295775792021629449951536010932946935010699836842189554532816004146183550999246047728203142071308480005200197908053497923313747407161149612250613887809027551621401291190926228264379218993878693325947500914662802222307225711688830151497749496048105120232712845544631213412911546700569838486126712308731778347022961050457262155321272036335695575529158661926569892502106087575946596115708004058422005299870492219023703760072539056131460463160260861474919969472888492347066216653271417182401762686319132667642295247550450140102909267036543733168458151977259388232475791860155878071258390412365859895989343362828295406781941314754075512339971206319389390235793035941715535932462429094283738162504699431994699606083102777900498842864401166151933639049030886801273188978104266070774393321815158173387520690319995563389432752740729585151533299940639208293868040192007425059533999411526314023008876963287895558004981565734337329000415769681952592498736584963155999940321886663133461689664755028473197618188219990804647927953809259960564140361076845602186146687523110095294353569092696659868791841129189645972410128667706941319107537445230639710811612503293323607006761021689092897736828725638675290078566808022868187482403023285310059224308388630200350632963232406147606551667905686257343991656925366746665629621748871690360689388526588900759087768606752088483413144897886559092776810022937134128920901860198745447963248888915876447318572898433499983655743432173990991415211353819543535677964292079400468797407676347819149674882060040123923056207984579834958217633000209645483535325184596928520556148716427857948210486026763590374377775828141560900465991100395440729745732248275842770736189809013087063826271876266834557604959656588069707718713231507671438582887592242773853032098305735853480718172544994506143020719515614499546166415091801174093284029015558513935575622403835057551568522476484743410987375903730622328706648169596955833388101064395252360254781704732066402409728716000791920643809624591714588831602544280378513633079332944516743895196542487663365231467575428613615416654793634960992253117243778291631689381384187994688380894007322364297064202598097680089863748904460576650215675148595181299193584500488648091467132674673296970635274008634859634095735191623288679367740473282203802450744586666742017414823133170592490529458033994927697365081187206741960748954676779347902341473884878752136835855155597103723686618154915468439948590367485882959369578213925308975202655106796450824439272583294161785480922549073226329474764176842404018640005963296928169561167684777566812245040427413796486140771482659942499086173753097566709596543067376489713755590564317163871647550064939487183119354799046799440777698592098746728805109994312517541695977756580065765367559376016373217521622583230146217412500549608882484737258618899913963508504472462570712216488990603569793031508650886283450921617709141336509142573182670484755457749635288982581119355201763156129240879902930092194478710784426493524493450472492793065974815438187105286272345697261026880549559147909291931521794935710449216399471966424126659992905893177131840617710727715139418263074916006853187844751734045211597256388857325881871909850384642965716690730319523407472305754547537371117726365240411600147132645779238285305570966270551497475837557969215712128253412717550381360092559479838784809621416323221145352374289663222134704339865693182676291063292627494978948467977679183636381652587144931776422117925507878733074460154025263826046066385634467335108390872403476562470567232625095178527194166358348310160070984771640082199130259514849391710666003204510099398587510620165983164487428039592934333516431508741634016659998295248830107464682266843448292784689806812143460322651086683529653580751870960037377212087274204332797362034461705527196993923797476887563475770504272466995357318570501476978417575544757722349801603030990969309186962516896353673698541428227696492873977981487048645012244492823429307456896044788995813879808171905291343995242116198117481540912984960402932632503016352168267842454038236963920607581290183657333997403354510072332878376519309068671719763154470731795650240776693378573884192054763416890692732427875841310407729730756629252924258181572103040534350410806950143565432608631084452250379776205876260899131972411874685770664384060511918873008378961211434305716613073540424287503264072632518800000261267464606928548054516380856225167405875231889378030161822620285830886192688629916203186466796034256172360337304537164701167793905235473110798447277246284662123535140574577032997219192506744992589956215818498980113971789468422827773750547518659151656876896242183991497582814336506186472857219420857131444502929758914265607655606889842811069231901510176698978680051641753152016827898027679228533251762908244474293501912998136647496654721337131733157894198179459000574682860960517009362319847287614743123930638425400931380929294918796297241159877391062539723464116227122126747041973004509494243906017168319177600733586512541833864149751286770174564702630345263654366477585717496533275186588118957766266460374148238342957542989998545848988346414938571271231046915473678079171869636311576839200568130365644811119172710202912629025260515227772006386700918193642150553143860183912006075655982680627277814437734408424477829452990243791632958157774957824421485871710292004511452049335211341787099241986547529985886122199918499345699322308364245303400859358112449308966557670186162366238199645571541344062681623628422691802887416498782709399963722071758327300898699056161603483214126492145411090753440558017580639998470414351615798548154147060953427016985273798798017355947563040000082128533316712125618864082782350008687396640184784618490437931700964408473789158124634035542786864918630399000596171753865601346391822470905180095053474153015204501478737737686388055110191311328174439814198884791218522360988165742213122133304669925668919685485288650903228156461342066749856990525619360569297349165940913696002039572382603843780427874650900628396972125596964414231231142801823378809245219025527847644332933177672989487675953276914536445701961005926434096657961789163148996237571124271567965710793450898870611137086682895431230611756884158199437110588876124928212167003555737328630389726493301729547572558969941804746172971144073987366366268547112447459597047961329465093910255193704900280862639674452761895857058216283520826208277815948298653288440801426941349496013216720131334496571165606679688172650938905693631080367401438513412826692096071087707856569832252724451523608762316989079305142437417924655575218392445027338592170534945739910593375450035653023411672464631936247771383873779063771334110498112828305651231257114882427569836348598856754964313204529132441225349919366864165042995938802833851607838536311408324680918140127985678472523284043947339321744739608943617808276385323608246753625468805884964511069886191878770452363787556657691607185152380174376017843639315589213258817710151334658083264764057856185688507297206094927308645456313357912511650837896012615553463709532706048337464463721851744960071612822094977755986940015051759259140680098461877501173942923209987563435056083636436272543919707584949092411515214767010072860877822535792247392477017238471067401223204844211181387120172417737249400547052966755041877831432304938860996384468812461506755401844852421184102394449766484797094064179570688598948426017710394988654348579614400730205978426887173989846719380351441328264535593517093884095317981267177425429465949204943988534673155133491183161740504356181078930542245789753930234033850699580260871765727623073306758637029982443523010630244975573466802406098458139106720015050859333900569927709999953824059654690287975110439952551457620905070947803041217944895781329937367055872843626582243227461362185715285178985370426671106379692383789606468394061763526020484705744310655005182054268966692559608127642773938064755897215882193935402444999080658376876198064504070184705014094111091365989348816470770774257277361725160480620201487609638680117141829836080051242611372082730623606682299536061654614348598546175421825345400035712157889789065829143699545916439714438101118190683218530392153062130059275989120814289200273264517824180031007449998976388665943340098368986882597809077287196760900604605154621217887656328409558166190714843145201358447958681874819726426765413805322044265047555420403285935099657390950916353378676186904273776297730954224917240567116513526809273741590508585490055059632142463085152010571711354342043066819594852293298845463749218563366835701162798121061692066738268293521430605028063912853288973699146320038153658024159965195521564132813945446814030415982018002000913071036319359739561774684789195987299589251319525412466338959321326849037042299081218647838867146663666704296333955647728290481795365870630733748594391747881241899486912696851054912371264105217659815124809248528868115316667707335351978713597181649025364314763585661523822373087728992702569720100089511820043557378519353630004255219407992379561894486434077642471625973720495313154891158089138653805229185967083397048177910411673635819070107836925623293147913053133547732181446850756635746796942752856975319137147011399815061027859822313656863139612980301794262366366047692974306676651545431000538511703091121144909298076932451305323840479371045292353107284278844775268683102899446225374914037851537402153005258019755814560221556516795323557806033987027262503484568650075786178787409663410298544102374508642928260887794127634377765187948218193260801938685833035500506515306720185484612454357586862597832637830172195907068742367685352421209572992499541323711693289901314867520683714599459395632390998265968233481182709152350677523250172743616966702024074612940295052479598831617630811132062989808604477756252182730275107557649709074257400178995670556923999236587141881892320054468423587511901549792279982752871446455673587095158103887309440814559813296649569503777469642901279642253996961279234162043247179187452959849490046169468895854303746188766399510812724156617704553973894954467415401158444342043599148480644921009133009213188153307609063377333164183082787009258202704856797962697583196385789124219210960289740641901526803896907852318390970305973834879497691346271706929245071553125121476963925947744645093714189921191123044893769705610701450988857735481185631424321539812766670658077959766901565288185129844404014614124329476490123395525203822633611756152699186684205353571183608137371477581659132317644205741769531107723851842171781270728857498944076912573218297844103744208476360005023103806318674111511957043098203682132502700309212597552177191912472765911952576967026759332457322510027251405552067773137815995288404097969247043408028965334958253320196190180032414155973952852556483212730820120697523574067039933827892843493276561263826862096769241844518944921139543700896925999740516431503904854511106895621034155063369915075569929645074286538457932150003614423880740160975959255802329416973734956984724765956901658400934820172590482205381293136967093846295021869677235799237235155214504934118362199778711853961868028045905591725844839875220028488188605190942320321490199633626054132128218457995532232800633495374067924300423327189234310915378037551863175110082690154434578157757842249141440241103487127752533187438122682180124358478480469248754490394251132259654970793107821967393033927224474658647330332277940913654999261796407160007714333875420514785138290608467728145948713228580813461345597067283977131857630348781340993535302847568442194771162338420375472254140175949829026543866377766743491669140331489150159079798684576653727877078335050225775027312037529960082494455508965946176723106414573178322601057711245805984488864758986047349206375083367321504056182141154513879419128596365072002327921056952154431163585492939779295259455569875092112469645506913098015667231965932631831440294839463705263998734153262850319358288455362611581998275692787972858412639305424968977579460995190093953500613272211334322654342353053269584284166907570591101830068961526589096320096551185357104438852167654062385744069660474167003678119974313011255783762699782707903539422621140955287215068505988742283357981720486721299070425127478149900489811241417539145489594711538930797239484628179744694059372781217129305867464509040288870273104540036009749191735066586654262100810416323947635771389199351920417805106017410496367971996663102299536040513596142773059804773726791491439918526244154480809193797781217633087297551911020457288019010901480921201675223361327690735186812401305546079356736555479383196135803968185699161698442817774139612181776129117065638986322635264136650064164725026969680843365399920091351305988762493049448920975049918095608304971849621242714515674997679309181947789846839791531241838469511281344280385960594529904032779935453788507749044240950517499021492552035046761174008545823196631451363596755625503466307033694013975267180350572333569344222405770323569175295559353310133411462988854859223716512365224642396774453735564155717652766424744110857202229735080876421891969753271581559810360167517925421129833133691433923130462655278361052782416959834502762593008924262483280127894778066059498321531871911960511661784867527434417135875653087947327770244032367441207822783379531951285778171709714427376066001447828045384991589711333789066524823967491848223739903458135647351713896831781017016528287559888416666757718328766830964773109206385839343542302347853164135648325251919865151872237156215143781965193474113931044130230706504968750843733056074759135110869582423787178623140509785175767912273241265520728424499743885982903967933108679389094426256832842288832299534647390400495022616996462890450573952394308508270033587951746306881490220163445782982252324601524984735254164626536069181552422788573668904364280592399217529663419110742885873990772589357514569151028315932514444903409329066341463214542621582375966629721832263897614871655653134335693398912407595562224990978297470875635201872153385770320261175109029919442333877653573115805403251317273235091999276397849341600723839426432671145252639047051627285200825258999420678994437293959138732632884649312922463881955465212898053352883333276038124682145813634483464914708202245792288685994087384412223285363173623568322204720479518223087888945053199861763481181901722188789531875075979612997642121877660054741622260977835349900823623079197328651475000338882463378185606233348419018400006874844835066482283460459290245556068919886886509762040393612293506897640714817231625088862160508066134952913953441662301940108517217316852586356443086598814311739348106749162072343733486353923115196691874555995600259899130147522501358467788594517325336652881471121220361486854246672129924248636743643398891800924875958276096020173362358811027620509957378996395005716847390360560621826938362472549002623200836253042280681509826751593045305720239567664626158173968664770218943692588791929568412803848112299612249889918707276424322442245673374532768578671831692113233554074885603877732767851271441229524855311910424042911433350716761200394515913696070550724924437087436712342277964522824870722111432431341997956586629266841628162877022416709035272454441624899391074251893003581287727132616075563632408953381438680536088932286649244592639419084567589796383073019462431703884281153731179029721874166882905016774189625981952516959480009690507000214004462857676427037912647454427407525312936335325962621038222270810966030927508625079703406620025716801864398824160617470952905775669291645653544690036666651354754336261410438131996907887649296083648930769770799266039718132975411821198790451874221877887211400900356332333468785405868358805576731364729812939637771693757630625406308250259107785802526675793932768604848339976365630499291398517633316884366844010387223283073498693485648237190392694134208236996751417434856684216599560781577152339033036530912422947824401364879963340227229948888546585660056353191912454147186037134366366136992059078932858810631477579304427639780666504314729520905267881020059797782784612099836296418539326609400933386830237688676786494925887016251059872074170685161482482097291487457605756513681936614597847344689165542489851005663163185317053707964151215738117623409192495828555542681700069829233866152459091157577454119885951582058156863384921073532468519696953283381694909100753307376730987587410503857337429017706189622018693464012987482918233204014796479553347782603345405935509818580325901678428763616262474204940764645318571092237149635722516659170282038450282650576460978192639660338929547255197492059378575068643532931588222542052998667577758082942567199193301249743210332841336748786302225335750730608885155772279679491312297471519366688649737479395677599594048906258139819465705959025995570232000942031911365124890863729303284322816549774342684695978083085960333142156683732625246288049413270968977409200786654901571652146601542746599187001997781333530262126450290438366714093583062626004717544185595594669636786317814817512463104066218474245952081134468045965813876224631377703166787827764389108713464306084590426125087607512291517699260041574463256253683524806122165382151761072575771484063572760830078405517630269873349230009060923433537457466515640082583535877111471563841157754552751406653415878502067464481566330536380582130265312095510807759930791895243748883270744483315436225465903263048002693054486097367109696254707218408070912790503899027419245785111544283066711872766465940120955553944333527594158086753169166753399435589429191208540207670779028762125930299506622133379542181183831368190715585562404310959403898134225624514958579210907541894913803726353223722618969220584511234296971916056933174771695549846239361441587674455227570106275320906259583664055861217472541914164316439179638565106192293521366951277642143298476091544537897422956458294025094888875754480482137324589773393260353851078728696441516638429929534431505967621448555750033037252554138444666361333622627109942937548935575854450758362304200691082186756239286458795675983905037573670650600057039890044360608024421024783824461977034052758714466989906136163596700228722754095564895117489710328063996609221586851937153124970223811118617186597385973869437573379448000598548568580494944098527410194815587071872550017166007651719397983006548482597472853626053241424703648188035434133700297511147915892833568901964905916801913708918300360155930928409103740652994186878609040673068283110428480182687920630472390834422718804080918991375009439836069414385790542973123182263979565556692254287368254359182882926358614757282482798429644378381095109771349257967104457653995815641524224962946667408014208243682997641829132112827584921942646848590485447375470287026579637325149165053343695943111012403914402980706618141209220548321948298129650346710713202971399796987579418905436727510071805185831261564732865833558663845132795789883071527527282846998194661489280500503585366081531683255289224626056997464655491877400477247039310443405553838177551885249021149382585967850833265492034316097243923567370446459211704218495449627622072032136712831834393757376412352864775310530941530539127033618655996031645309071389027342876010236734450475591168920946427103281326603985230229036605162956412806014226787888382083813308006107211003490941693231321916850790323428801556147309456965224554738835386489809595072920264592377828778042405847863066181562371687558606431444816428988233969440612001374283455402062808222086225928756661669935091210125619477738828648519242529796573696798042946206348280977717742499276636963406382028143116173754173582717775724239937507734582869171671944399156665287229554181480077829134164137824453281567317764656531839623713582515358351092056687846095765966300117441095069356559192520392410968254004588536955224580065049311894965004466537504059358062444773005499915689391669026915973153996614769036314206401279574532433747324792266940618601715244629411804107222716965814931471193921638915649719280341196819278119196143397786549755670318026798741521154065562093241123063309107669086204878239272645920112847615839107404347646561048308403861955510208657063968646056862675599326296281500526162768736613918586276842683336541358557050072287130231407806622872686535018903778901770259204960910817598497635520617526715149590439519705586715150766911822865772515236940865440148575902190704026430529499578501778415891083235670905003291274986096825219312198447535621450054652252977679234190517189280268181059249555764247873183694564862486278682233232225598078283663786451794152522105802762384760807577031551608029960638479738457983059433061890918313896406366904201340588494509968833371515958275111705760997765098763829877448470080881911127165238300517700701724076932386522956897228330108212882388583214412329255486109774821917618715299933021649788573653118208634636440366288593860999644575570987333200466865401875249308765425244772489132176636308423740448818336922816117060523242920450162390768336418786516475641123235949175057363488513983894695688687296076436064376148163513347463177390053221593950921721603726822377413230827325193635869654837653997897147520647932902877508147048001781037905724572519881561133404461958102345076352081559572447579911774352698866120252042298364534618193195520290790821453893578335463398755316156129806724746135122873729689745405638991823481338285331872514741477066783735454579610618669083277926913895358295812096995780958659217952959724578775467393754710463997088902412935545535067744477917540899184218128828541257702927337029547869294778721360057886245280428909666331115163955887731814545748911296298560708415375618678220905368737642339976135642437868661940593361862513997534856190883803701308997882001934920748776766026205735638281666667715975993441665585298708427551534742619313670917152260967210876727021672012265914669887967051756174710493959358069968806689777688963541988356964233546924621875069102355534529542707265417240825404283143935240195691818184510474115566730459585205688172703464506270544642492652699622507805818783556566633879105390600273169002942389924728921702218457571372606202212135136642329165189709484559628669607083212373609923604509177973451207992092248880871593348320582661157002764007208959659968751053128216235083607815443009431657285955411565453586712360323084568871383369161156605603295315874367919034159810149427408873694635304366262833521659252544198306058422142688824349215288415935895158087865335104005341870230283494772978244600849964182881659821351766699106671188457035323381304324269989748959479470123837161970733637633258527257303809993995535172200913538794417752344956212871451906666973378367897283172724913792763530503311386894004722373720933275538983904171535606976432470829154681216843506152602590324882568233913902984485602846912164023586420932463154844849018020586625323831022600003674857993004321657603667554583870372716686789666680419865839925342378015297599901762543968525903812849121841277686677928342160675182766791259653334030554391579585921320291823867931195327827050234780614270268711534914298606469860610139346506034439137723442634999566399150293550146305723690544324344338820120584986421943406289458041062927671791990537723274666395734813153676796552886851978729170196910094547213944566135157774550913395165416825773126424794396576538346600469080140125415214970791758404956627529361673797746065524078686381455695005974114311172225624463902772314782806407209987667545738180241817945615200798427304911576455192290505451913656816702201985572229141008153577371898091541022606184256378065224685616573979834349178501739052636892579037131827736850969075871174474608086214619613930569148502875420336221118672693930756941696755310204674815703515132602669770256987853787736272628642085530107147895494779340609081896634942112114922708908738922591814675174061665802376776805672943874310922637791984816991074178108466754870074331988882146531811531576505289130296135095160415648767335526031927753351966865936793639399523953877046197156277274792797132929271232012525860717163181142995482735946617432129059496600694365034609164370266441061003006619638047995949757981943878269614543429273696607749752544586735385381003172695796273161677387936727047967707757756858408531937867550131582985738879514776227934670691852288051204113310848032250065547289089361227889524427163088861863132081314732730292334691855400174305604891711996961617343667374179532167287009233603485661482306234805941569041670725317730604466953797825674441325290194808549844188127107842277569414018202228460838573426485121125910062665695698825532794736686507357319893246887505423783907053866136085391541600946086353777090360121274465841277898616804454464073454843443661272086256200444991911923698756370627615069994937277970247598084551229135586331280316399972535054504065549127070953851457907395150958160467866355522142839694957605494646109670887156205313909931211094328374395970125975389095939443219776556758950604579071125657535475321650787844259926460228225317538930365083029899233095070932575321347502728134661747290442153703476762779517040577811534297849814732970093399683674993728599812615108674680101791526160749435967824523756612024967025096537071190584000976119075615671693964133153462214380757934548946022733290515244363891901572093573609322946363267189332588213531769536683240527931592346132266975037339312952963937751960122107904429905040095019373924321714062598179656278083381323074467789325436796389506678066859010167921647321271138058186473721396712468320574216886471756450838214924703427356141339526342499778416033721190397139668344017422891368036092821572529648378876128801569784117230877064389229009156063210582899327516674004364326462749708995736216764600924075254842740760882365420314229880117510756033179321715886550773710010862195842555586360298413876113682339180221821359782434756698766731850217523977554091761335166986989188361021452070759088258525247391753375390312727765367644567733742448040414963047164233150220594312311611090841475955246291502572705546658745261634107103139024776748512684190772186730532752683304508741203519296858630635042021571536395553391670447816993648009485825462385333760405016847144753610526692276718101084663836805013617711156433597674793153549569293518350196079048759311252922075873239977824147238289025513285858435548825785614395611683897473174734303533964261849336859125863365906339995846483210543444749622061576468602239474675488095422250308733503480309711240274010451095362084673466479333548728372776257872094774372801423657066217858067072776939345007234329320393052505331213506118040831080365167914372501168110873345784785096618029380527258528494485474671295021537317801579650194424852324702256910667412904146914574991887534787396454070171036488112585316099954529185243853590661198748674832693076478804896465610143732756872333576579765579083388171284484564660692685447254483580579878144141332290455906676013258951939573711287062014418405368268771615973384372674075698851322358250472135549728937855265077426032100744234449708141507977694770145641454853350714003025926428039087706033843170192630594119395042660126287904811493863974627322492615697908471917542811776968190532121748329795581109765645812983953040402176505884787529942064966957645016657489952243280071969537951332466414530228687335442002465182117607234388691504813359473100345776037955917390611363463875432214034196169780222065965514256530007878023171395721983827765078945737422505814758752365407117672532732589316644102547985766090883654909771182569457513021355755244688511873942520125588772914885839189507885900644026963573306596012896991740530037391478761873253115008170859047885739969940150313135863724588414716559317461692726345361154255811470216346969270273002151833721793141350391835232742457366013329256945977038555538581411588847445164124576364531457283442603069341064789855154095551144099795980839872161761883660294797852312240862625988192646460055567116403043050102579313192822990208701123250435641944511438304802489389691705090165454018616227331381572857172550548799177152993350890400688657351902141476220189469540138466064460934767879444487690645887527987384238719751167785268114014418280733151118976367049746411753572820284414647497784701647524087432351594525094729467606404883965014973591153718983021962013078632965564478890800527336006053451569708757747350418359079456204422310987174711786857896897417224258627910119606007926073172428557865545947760432042605997631315627696087926422813057320463146943709968881819690152421092243436246055395166396097552989644306787367926205028354166299320299655900197653240005271235248436764190896890349658717411167772336741900075909574813881477997619073067408475021095773525426818542337593501378130811942289866361067726204518551088514197639426506196351074910820187766436769874889810974273718966454766196211733521502351384242507983223219814951714172595015332769184419559148907226091745986110176449356521265332894086307115733306477866539597624247005501141665322060576416739396170321265399696156788269685163202773964650556529070070302784378566931746997667144864745994554008573883072139952529501455232431864222671890475456905173892484178826601742366840417462402836794643910409775467801288821016882697561252628393490487639953672009758509925121014795774847311196238922300915537845124784718091023863502715918611669819372110382477999312615972094388520701914784025972635941806406510206892816280396425562764496499028586188531497030163753163165291273344895634836395125604766144177714159424716294739533710913946253030020920574906192921285024189012660925271559416612255571493768158760112441927791187015200667696850020946289600446845056492870819010877097914642562580158920991069607646826228889645855580453619562270544863950366880017257813945245698129417417757173796897922173324355289584528202492590887991291998572554913269571841948761209867036557582089234123527862163266758220442760170025389262562899443852422369829945495090796276437729308049019917144360782833508716678971849853353774986875494127530801575776307572924420568295503366355572125436881234418368896968033896119936526595429751428383427653908348168309889964587037335294445947257013897092834644527672727143970215711131934683375606009040220706490798135074681151221512663638484368736559808352430948080360952457960141290729863657398056878295215124188882050890630270363589359282860227367049027213641425776817368279860843556939129604068132077949893720164315347988664678914132583335388489804251460923014302419267233282670133022934376823431586786398303300491714603943310583945377778374912095278107057483133301786419023115841393975672981501179598049767839861810623233406199370573653008970615936889951325277573436508014077699343468342769985445678256391258661104076912088964720107446261269750152443299388379977991339804142252135597638590503405404196902081569947264270479939802598504898043113656405594998772885530779908872773299017307333888332554835041102704427314143920644648114352066867822712212729530332202171147590374467343856956447037127507302283651323970943722593083225179278189280065399726102806167467144179901453311439979191182548964392947720893722507752714869670505669014442203919531514786524976532597224923813026740581456843473630210106267338002864320768676023843735157213773829493592240630007971949775787343710770549189172372480966202203175671200169169725789636920386140584494201965989205725332266489161219986164794518881784477133385541278474514461437155407123030614735017495751181088091795741761207786047740643250084118990024583415225058749864651766933983508802135212647739448829184410599240022853115411545156353211160998056347598765118085363554302140213658682981952376430739706874706970358843075516814168849677983845861104478241073986263552036822454843160721172391668582190667016227879616238750146895474152632299589139226854822395867465634828285436935196859602066586111376542571699228367427380875361293458670025760056613483530184072163574553048589524485330227560332998150548369214808569590510888120921483389413025450715525828908896511574404643954570538583676725826538845539824309532006115940437987320316455948065765011764278434845180433773431247884172419916151276814958879322711153457717056302338510611695262992643410612171825745281409362506446835206936748550167459198653799201694312539743993533150412861264264532362300707026740569517871016016230589453410862093611271162821115116742551794547852696543704934885118583580523392383881397671397576962425580929744376800282198015661255186008879418750218686254198335501135249322054323563028439672570572261294242000285992501615393449695322630166647138590667125682326569755370081117030609350766846175629273248615864520883812306464267301008926883929828916936230943314186172070854955511083695492566748487436625398088939064856486872178605557411531376948109491490868023932553100189476679381010265406436663640830696536042892396616381930081599029471138254284901546922838996352125965022896498563996270976099387554717638109273751372551243266308123174983855074720257906154430598548910032608593100853249309450401057900975624052663894565464284575762621637505755902175238784036594836037780907161044365500476154423554331286381581422947258716773965774117707045498940601871468828417561880075233558036861583533927058000151109829834442333053553353671116204799488403575067425090097704893609009529006161477187623774841729265687224379124226186419558698961006645304444883825415981123408075454791686539084005938047960392911247598401618959998509342319238235269320120900847258811633106749382021523435847651194001164411071934269119293533305555369168998809541020202016605016891227646574651783800753710023902114396733824785879626324217950342496944007075164626869889621854626636979687499491856114691348561796761020205155847964974352401960222146136147044075973612696212150346822096479308667784399913435007710400435470033400636637993412591558309452516731200075920693042651901105806623045681781587097159756034330966894165476378442548777000071151723277797692845803582658495010378622999077307628446637753802976610048501410910683924400715936002917790088918651555878161190366950974366772645703457607713821339565859168431144535281364492827538333867988371296284178933803460938802713566301398375115780888654091115730957120994322097949295056928969248960571438625794479189889438184494866968627782192947461855064377310035245770081341172893257661320055348434216876137829107833140238501364196644315706480801501552000469699364601951745411704450357565270569913838792715435218780521924236946598708437532248794468517951545136537472557511764078073802265763103163666612298115489083856147815255776717316457510026891547363388248789556962890291036178470316935999484511129416089666709318273475488823961170989969010399545888726775234001232983375422288294007637925312396653307426117688460435746763363639970627617622349224452751065309934362723221347064297513016197109207985005480795148814988832184592213876391578856142885289045700217024187917818339569232477340261248091223849544353401100699220463100108397279761750028241161313284260726365629897221633881738204403869342027165739889249962698158807827917208524884646323062524832196094464334814294957628124584748657510898446511839597864481386165626530591563391206985091432148535098897049142182480541139847148791806840072333316869218307762062051907581014540709501474062364911589270853862589361335501931309254460503994467106533890423316654733510355444889278827675311632112176302925976823083503551873532154017415493973050397043268619247550495756386538728264636350167927119813993328544855514235366258164588689877465762580915390032733486447299926538283239704389954309263773673613530700525209125747236669874120550787087891291610777199225913416597126741657400493549054373043893433903605977505008707234586512854918839507498220677430882162441041854427273634135873050009030657161302553187236387711604763984336959270268573191888316058415518489860888942386339867408054733231003365847737603778250870216184702931380382288872273085517788438192852302625532428488751625149680946232021780771063814171796914813807910591419486303269626349906644120775523826865632671883442077747603907577209194272011160108803364453489470752196355380696616198977041206658675374698190049100694235822142430551739915739949839304966876743612370556601386484040071671329853591981716174900115871299570208024425747426319787791657048484055473343927498181660402626268488325299087786535524307556409022231044809407684690354635728146351435725539919559436970844631070107651946175010058104508000495645622389537303615269999878374453336614023210061015407243724227950506808605119884513624730498009445948437049277612415140360547183062144225919882755212368708406272859924592540296219073104781653168613399086536820662171198122116054568894275302493219152301857128005722637812489183555109729315409014206513584698722928077609297811934432326949106004038969063417741185163942013571570379220231121247129939342352735513875032511436317670386191962228418742766757814830625107517068643912845878677083961135959099748877375416309184284451589062351060758112510866150906592650790709484570809389051729797511899667637853454726722122048001712937893834467489793870102318000006197771089701559653368679115332998310262592457711550143591746464218906405578509995110737207468162113291615360265950210458598432155592645190963990337962848413916599156404747533877764784361227732412873215810749799885957568161039293193777293037327136868048780066633612438266866083781191780605946012529889847456020156454904638049826295287767685681488634816721599008502892389068288409202488431223929884137781553894412326021333543242307512132700669603027469591868300069353060556722898952840667323572848172441104858200332874201645433402133239097874387149930876559611403646568403824161871293650880944342774735040590301311345827802112261649791992885940159332022784176885882285765388747872010716728534852094082209505981004648950491609031474473772419787576356703004855547542604101220698676427384928194170622568060840711639822695683188722652259590891060325506432389163199589182832576422843426876562204765100321191836162881061225173278854929325723976576970894839100317314789488744549573822678707300345030963604058146551152562222987638562485384280056413429563838014864141321551852906332363030377340055741822789966441925899393952983661178170044475079222016423967043695003424549877747897203703186781326265117820831353180613648199658947012401133722829156835766504887990720435578570070428472542641901671064211419416448749769820800497059605085391230243977248119338896485617420708117655666493053633611981040374121049805283392679224314411385411409088753076986528077364826992778461295259382700611980029944230941916162610567920600118043012443547827881479188318940338157651833026159784725476026515712764943077140994407964694332852200279010370243044739664068094279706654170686784118277000326497082419051868878325293531411902824326023087942582634661705715321625175947134170943047942725007939093493193739910535321993638391885895873037095783134658919114868237006361521314603670828380018130038754991163176304759598655962829191756750609519240939792347930616535102436888682744052149251151956759711749978904837494047919398891498030081881271173298297763918606778165736283474190871039381022078989776440109150636745807505198593824009976577153628667319046418481051795505900703316209205586508917277852292879276617295158157380694673990086933662710609950105355593021304958326508381468976048122716358698823994138170796234165932514801880568841912498941062596028114748133876488857520725180522011732588424805158258061990789337913446392129443366875426323447420039574922834654683634300192463106079945731720018878545696951652099096569780992621149435749004577633268037881661991236466756912559777996194897956700532616135413402230134135101917568818329701785238952898332750205901213674655013345321384147573649341431638188258263391100043148880242159420370902663274181834815648312767691936277690296066534756347535448476071851596413011239831586531009176586306338361823087822665042062948530944674420095378518230579885507599195946454911657595675475376362084192002053174496941106554121039723663503865877424908218464621158664328324834049422446674538673786842202814348467341914891053648317695702142895974054073458080406447275900003482481545068042785836470627516140388511221884931190417476173906409579901331551775412665481290540580534903791478163335129518869299173081921564196225227222810121580487818163050595938547417357803302681583739410288827286476671132286850472887946749732018697228197211996233386441926010923536402496511709245099849875130936334643256038532260457408549605775927340441846630907430163750541739628361855087553240695019337980580655979257282580157772665067304030670708809029619120599933728525118045719382202549067197491961631464797089838428670959680751963586022986604013005076431488155184336521652538291575335706057356888465784887496693090496908826325720718070782371700012280837564983229192585283093017013912435194870024880932414305165467249818804024753944974769774150380208665353288432152420178203588133134716903530836907897401610574278856264314377528962429151006946378112163818173737505105072308084313607454716885247508453795615729206690623119424728303955615905999731410551737701155530606862892082088498281354409518167819007101869027272313350927418202220834614003503664522182858668367223097936845705489085769557503451695469505836443784397783544579570564887110927792296599142388078554122941553435184231048951200051166625759315299745143913495388658671451506211032125251629648504893451932818231049402149922819630781445345642795930777539774852638805848457876694463531249345250757425412722612714282255277467103147480683525833852503856429806958800957333820456894014696579326949708249862819599747081803495614687333917898402896984606200915510116344453127305968890750357277968364926794107727875399215006305967255626168144649602320903666594396889100173195010387713455823062410382326397542740316164304585639868864230616179444344655363429100188599942950585905747461521219560631554202965472320169713527029372835929354430627158228924713757558405325339637880802952376397038793893294890507330726022042264581685127189181088835448352219513193906337049774597025588517897803044558955997530830471208229683790289459198018737405019345101489042125360896146460119649071797767142021208684310151477994959057280975699942068130064401403758145941693076193543613446416864725308027023550197054713443050438905698857052899474575136263836858528872244508827399132970800419080768035624559798054663434345728221022621587780484532162372743751830235640417151481392943758591214802419454417038314947029807449706597504422643981631167679660047098429731836231536022457840363168792528515055752285120105935840903672474365353737397072453462721768383980375870475632233518275823833074128308922644816187356893008675727441477643062669795574784106339853140816851097335657047554095678840542843754501253631380304205618441824408244607715141760784751551106276149869984152413990625846481168889342684518809479164322584599955955462330822482235885226172751453373065605498076781034260434696689685413734592995358063078716993718596803719073907615744877082364958777934173702075755001559339043966503208530597040465643330174206767038877699163865286235096511008301716630998739152887549300212437443007029587092639600368268842218638350560857400272414230171357714837438116496611245302594140279361536515039954968631808635469626992045842385092355794755971398543917007091787509365421555819939777876058676635681025932393964931418439217214431185376176356233408756941363801526805849515572579186247194677803594898135947904101302122987235327042530436229340376642077176730414746330407308273579037428867209555068394468069464607853905871226955932539563103214528193091660099293599212213226843728047732154465832646454970945753817199421035297228518530038725727066786800109724458058439898400444250224866873275971204770097292882040464089495575433075618151409864881434492965428487389625177344879154364322847028956578685033617045834498151118815875660900148251575500688554111173340179132625492804772786606526041714945143724823743186435687371916866710555049345345279387323910585406424837924739652058666663422427031532737594356425346748277314598577458991008681795414002296346926459263230938209433741799276206733737539531435987116092268046796943871585415059781205620288658893347735483671013062625401541808277795046883077017785703157158720874152305977924024450204417400439596896104469729480241383838372464235894930345135684449780637600571186988956517335675488030291739762930517831261423055140540762534509422117904517543389960132212657245198136438417457961982219489371587926328256679507872624150309074019264672007438295401749735592400254460185965933804310111534518017110760592419855981375087760035624775139155989273625110695429619442577363514065519717437299501982769877151451674139099553917872891397854517653433298185916841192181863551319085227348541247647553621427408635313876508378299024153406143623442125156154059637956613997161583017438865746898399981053170284804068411973265836756611058228956997925516129950318509458026365743131633291982511312122056707878183676139134047955072701112680603612245160723167782285792235827082059599327447615050379463327003568512470468977797997655865174456411861872913027912747325880984852678999962228371391562040080258482202342298143874302179234559986464024428854405161812786436879439394631814430961253629210897257282943230976328488364304654273802922739375966159499042226871771232007607091430268489587453961250904701088161809724323617665753616157904983096002608969364568206716282984051669130308666466659922237068073402733665833730479355001447351096802965025793133169369338134610698898433107462837737294680921608061065976867717046100580143600220023111450646687696298579215038596904320610740477481637853815001435483808071014945048856535064608583904036080277900832880352593642723423910735066348008731987832683317957134262073878946354895787463910754181613230421757974874385930431870599563701764480466020973644876139393843055434047175178148979203067371242528287676654483462383782741765781428418871618078173305401495663344569587203666604420168729556540497584661166713392011905789262612981184524276972133425983618830868721816646221557436980817730109381505986821625316687669789108189005889666906495343383560889672107492267619376735894212879693774103247072488376887265255784772833089389244331489794802219496705278470615389778486063665385426359539000333297739668194329008457701199050498674972949006171880628221446258947873225569592715466547778229173046463209581228691215274114705613290189146987504355472768121415015142497161696243209001858854103351901650640939911971419286503845234419284403419707983272573558445201196534878190781757207561685381575181445315753185980507484636264569755511708116048723908418846945849193990256871337017600038271847357619417295084292199022127620907074483186292940587881169626348946793654362240331635917965220916839936519289501199286309597276049420816186540764135267619315039106250334137216940889162314583208318144892000760466219408930062105309076395627787071335544941610520464255605210431078391225696146217043769902488571285775776756169455496959151751344134328455565670683364275203475729694402302547058272964407207809026081495854364323267279055228971085806249087468894435366404879457442555550061617642479310904418462474632757917892133839930499179426737820304489617191886216798076434110159447742059772616532875791092214442497536818298565331978287062549213979706619271503097852959706573780559030675950708991361372961392325357121592235538917539152723042993012841299775841121277866966793783939559487838286847794433614733930465041646289534718814288985624025046542708049167879261532285660034485363623674676512222906985877643433298668336329231801618988291348942040817377347587417253219995021539151838420131624149310548909267750082823257568747955505020054067266578969270202152729450967859875 : 83178349547386901263113373336015255267396706335898148084676213166376323918025051214209700261835632883118536030723768035514234497476908483389611378776881451628306409587973255041351303060021213184118565957815556516449844358447056008541265473461819582595286969252702530292760997731166899684298776490158790169629230691421890903270496689879563504508141384339836521718032222723980264757634680621717801388035369946159511331217054229261494772075505891745391638122533904368214415069880721402092467121829016675205082105916120768403295004068006058365072357178670503568662101075143624962621227973663339447559957750054358042843391935437870119126170258620096502330715367286631949262288290279753804624655110753741442685002110085043949710857962468731873801586916611569221005153512502490061683073312597091621661672400416951795058504225523860136591659506120374430031654779156236173819197668770709991731930283954111034629177552056187779010810413952872106983829664937129975699151225710184060656620287318515306544496535828718488985707404541335371238218359304501135085612212305356806535986743414401402962697690155629195371950482640429114332659092073577582799406715656456014165270973088364602041771388643481289265757094286939256698437055122550199904763578375119964269312739459741642133634468558740730279731720299156299607184332653191843005418225316686039238827695730064047963126242050442133727558706582900068581119279873762058016837597582917227750793910983130903764755106224954690055969380097758554089635642496600127072192177241808650888447688911985871751315483484679431230155143523234350613048034526615699817784708875436838718103847333548487762300671679676037464846361253606059358868930800303850538616515789021601179882285049095450250969185949616228868675079008418972115402343527563247684657361443325944787918700028716916764938493279387708350185108931912223581486434271609444664173627317053418636131213385044550914654748398468186260939866407387743901103929198032342763826103524365562930790764388599253626663960747195733085090011986108595383978403954520271884193904484464855058768441417899084560249327700202974366562050340619149522847392009115488862962618323697924012643089160195809025297888930071044280094286592008754240236628815066618381589741658605263388134695917599821158478704464160376141455235936585905234291069917793391185695866532507561333323002768598898391856650440702283648968136176573143331571415796392499459325321597589275984603768048397895905084102885009969723236673911068803235468502031773891762793120543709743023421230934429367744554567646458103866641519905538662504636042868262875702908557794926782279491953675361793529805217724923694365768003502670468076170318705200635104213155264402640494910919552060691136094341978356910977006630561475542893433053279593200196768608918373545984056961686136633897010597111052889529124381374890689756143755838901998694052967836703775113251107542234648130021282555653612492779605272135125457366450490148436885073070134414797235888175019879650691987889374015448556209462310040541500900995000257058252305526963385711876541202310785876346330449317995937144461232194236912614642754378565855548407970666530171492892805421797590848087554058098542128372474241320759367791258995615230255587696748472072804621794541642967859835148745826154444392728457001950596755579791677333299883700225990895402157230858037734221549660040346952381085352672639753804312700831135724078705173788112474090752240811546394460758812598883463904810609410289132485063552380701487303317372173697900882887611292259213815618728179950143812630010745760384789804419365978366139407619839600311685720175877500601366284770904197622464250644019713859701777445557010333552416581113405892649222978484998738344500751561098822419089568750808500786579528209947852237102636419964035163125565974767432784626476156653138374048571652431678304304425980972297806460756208561860194838270309777877487087898630706334826059437126492098440626191492679321194607709881502111507836854117673153420619138463358243007481768258962346878753031062387321911507393292800952540320228599496098771534396802482996406690472825608644963685386862407511433216172871888379963139977824594852996856101639611383933002780490711372235787357543152926475425346847050722364678310255435648330203551167288553237850215460637806129615745835700460142736020447755105387644276847753853431701286850072802180785797085384105235393415403669851527648580558314805614887671604530690819533970228508427054867024823723175516092848796590214512907201942252056092013296407089699142514897953554281164551521333199675415073495590185009111387526503938700194998971949730349491992323597219327040172115448831303933651439838147111271312997587090705691778311761871288212220149411187053469247522804281967604081548452748911134602162231286121933333388170415656528697109056581501622493935685887561980220660700751351843211761188893391964364224372663353556720048672975784183690467917387904414188210594082185326406851832668121190337380255495530212237159361536313602869445299707686901373542526827665524416451011809392695991278830147076445045311563608118417568119132101199954473954181362174965768067272642686315477233784455341998709148106063580013611911019548218408486797988520775202647843315140286365283468509877851783255976244210506779231735083903292404340523796141654768441411934169599795881103877451963714968410466146277404340758638492337628289212294646673782747862440623410010852506378654232959777743889694996152945324325737311281329192195229867636901208933516338996140126347429915457364765550124378181307744487633464198640808738128568267510510553847210931987233881231068507382283634872422747394143854129201070037587488551238128332053033642435513426025098377993130182809780125152364079417446113843960610193389160435640173293185152543434553509966202040321687866087321855975517685635055122597742538389055424769287711382934163362202150524119844744641837490943233153236474284980900866481738362970401356392639198124876491736043459993684440066641319207388857835165071742409732109515313366402093059188915082592654603771568125641262514258606543953445749208725955199221447268428546449655579384150914800507690577260105076477921549952827822048514908627224263794267920689380635026508724547496368353147982111588005891778615053386784829869527490039442452402459746363135401841153215685851543125819481938977320646161367920025793354624019871204540515499558696375846729670732100825174488144061875181997889419902957056154098879714361936255702623260910570239085416520280246309142940944403562058874685637914460576816339867606378780637478808950394662011961204716789019832729207898446953581576428568412164323705372018812783103848626269943294188641198763102576959148815488253344111826482349762961364753399930960797257572367638145119650397045302958674164355400707674175587742814327731455720878323167574935247252041035905180115633860340187869307141887359006523213528146149978889319798167258179571429846099435272715878249662900909566179554404698145487809665007070901868774110344605696347073358934174046883076813130868213211641971727582522565236886053041110996877827781014364877174872003758850363036683606645727354652827509751740287109580868228346769728247352624289545447468415882333368472811212492725418102294203713087108078826553628724005683468462482525613487681636376430213388624063951308233762071161091949034297679190779427016119879264463900515154128874787413742821275405423963675075205160727548312139351574174175974665405530705285714692305612341305636951040278071578052669055432873255623774953293301368834316132909791905300623798839934933436571242698378726170596489961955200386879092680588002711274795332330456806693473606984324557134188757708571411639433247814554589882985650643377523094961174770234162630851446758606588217545950440858497513743931052639666659681530339163440028663732732233734001242768154320460274458718843985691246034655046521948236076593467075497422576789320952907054515536831534001400940082877150759030146710367648217116480703231826214904700768617407225903448970019315979406228433482538659792035065512322128608921963725191383738198929430261598928275308780599758082106974434348784434807558576552416311192509498878782235688116551758418319154520046933946895841253651007117063814071283734477435423309480992255081837063097313361820290523494236258459848104333202633044650794740581652825656265885612383713807529911178662800595749868737031537538718146860001091090176670760017695439780421154663516417307709465209274933848875896387757102478550494549550738505927300414403404374323813842253103468509900671203553964720606506703609048005793770791905835494810803795223308184828995216018128413533070436271562395092793431253386782001806912816789462892784003758146783267530593327934740475479785671008619856222283703949242344258227905247226347342779050165193471644025676720048524319785828825484465942650555071991075382738352947297277900396298892341820545419648947457024632201338017738850341036509243626334126377917317547789062169308450833220520946578539115359694093008276249211000033295909275735023295925945307846157123379337156081290665859965919414032674914226328285261088323604995641796144787569394136164810765547629122502851119820139300656734795626265831075416890230213447733645528896088745878732395919326646956932412807597852392505439496103223985171688260004251342351039575129288235469005658133977116505402747006389811129516928595417974307722116346820533575899063073188278722052833646989218828095756019081057669607147777751885453772416247271864402572675679590290786731278585488315942630627794324513580234194334953075746942499397827451347719072591932480220932047981921168087953755892383559463987960771937589082663921163792864258522947989729624663069973667238436703836869418991096850726874980409965297718444015907827627029211487868736707322506049395695731099897021124282921634057945094335792454783414063825452797016228701863732240945023527590753226083665610150742431984886998323482468718741588196985013452560333360885260323444617042758054256122078648711501606848251086708748940949015360954796177000775512492378666024018943942170059116680192673713484174088716506431763453857121651299562179150374836727894396341995843810001877149911755942147579968435056350434806300434578342056946276053624409663619211962457048229005755638672542313778108239011034670736037624483287984696950490644668657918695130472133491958151090185169726622009506784723994328518064452554407854732378152872029285478897529056779342943958827797792268025434982837122462588352269998425153664848446999558244041403002706969076473080051393788391201496139308842675397225852924370838905990261525382801935532348796442903321501549918456388168668564853999795488557035330747672088466203435591505200009931253002450705303742855892729050313190401265881904966729982977874891435593336454945200898390724348154083728916449502616832520446120280200291460744418420053585646948634318190170353372816747110241536292520698293689472792256423912300824652866165513280646641679585337031894342870355459192298999006944871696650902025536692593476992656423458897659851498955354715725998186574704975157687771003889796710767693068179587754224968614254203215244672132878326847655065583900794000887010717970559339161020520065544009117868157216457015293353395591824421402249852353401243257414962982242896105445774842227279950157175651519760367965441427062963383254761642464111240815043496593060046748652695448873691915969655213050481734140943828299090324700931710994119353591203036052248887378539987427911828047408483623613978494668810166294879983708511513548535133354035690691872829509254873512174151481098586336597299828430318902334771798359846271091730273885449374126382755365716115499487315471769865054130454001225571522215197832110350863314532424353316655085243070508987020050884022662921062100900806500510726930474816754848625706447667178243575559343908060157320734487095328493911813011031112111200549858104422776443895322660150177589365662264061343242977460671344258534092254835920529668854429986956755230508535795851510136290824133263805221997475787004035143940880639712821906750160623356869391980159649426520002885644138489445091254130724651584430733860634779900195214938804528087323347803170609715570636167759117482913347292043041538791861448742639521228251449086074770464662089248818111292258864776396236479160004245110258872775069581757368656803270444921659891275764964806398368860336029881873855114559282213368312827976783946289788668201831593392342939646768943079699526337433434902608648469358621243984264148412961113876792782751735711688456487615689490493888923816593565793054313013048921332700735164678545896025816080778251744854017235231132742883443752753670673758255611886785278048613320825741291928606327115320293011660715432975939118121811092446724632795569076881298609641438532209346248924575765325084607119797665751035537109407156418116116920296296352490564916109375784554330818367233947905103175582352406842765348050061580273526733861414310915286715786301333784044147763932150952865767276124353356196699416107558836855121805431175261129470608102113189552209395868743178718654910125912532882435700903632970830512249264521674202869406563052682484520163582651929953438173369086177629065681449368651537115962273996407053499866731933196724640820704441390955721524669632732911822076824690442793524416294357095517010580051361080419322313325446294978032331879961643112620486508611836556351254997859327640233495931030452068655072417291328586531156371104330580755736779686195238344496702165923411154353497516835430703595020592901740383134344698851306824919846344977101203173708544540598640327402991975864755953838343674511586672643427860392839678353421809133668548304081805947146418447438626820391708122700014931837117810325298297852747644108205499237928498653336181168615126474985262618485429839143941607878711745609714000838016483570375818518894444056503105759592299676758142979521277360990279493935743511680148309956926013185306486487681741998833844659127396170232017320428674816691700715415131813235063012051961646785685614214203996463273548884925060508394332444602839219131201958248748175193118611441472312719161503096186819317906974076433792585284698331084910040636608123448341634917881036006034776915046899717935888687680222641675543059881149881980730104909364549807358591697385082451930661843702686782129505490703047406216472362610851993939406464296387368122375181315668277261775093150559163026184628506146490480664750434483428815589601969512488551730338323693016728426190823871690235831690510819741773682444077650997471798752082970767345886206034421312925979466008826534966143503124112758684227655709485607257962116760142323742394067491931421482791967374306276675589429615628003547468984099851015021844251603281969543302494860056961476326094267777821649574819077759446547528446766544159833094436721534662419489192713702143333309689908228381371043594986766642023925601562141056233436938727176954779830980330624906640062209658529357379849317130700621156518368882098636839943273401755017165515375551674652163572797639429707415797550986015282693074257827922731143878476481313918118117894054924919873086477853717787284160873914022037551371207411647147321355095436542329463674941965247437352636422681815844997846606980149319522864833312252513120744398287550577725457041632673986758280111084029409051528989667073450549246551720385015746012487942631134359028330135423823093717447742894921238032359962533334018631406384194884664796210682514166295866730259990866437338477004344669596772260863171890040772572555910251925528073374705257040068642129003158351788133102145546553218763955096358934195898405216906668597917649845481973397982241110463098114811125368293206441167220907405373449053304297324270518580970017554561363241150823053373219054082763741305292888523447355790035176767851372755282555367176122623058099080980353349224422462801656756880824610978673712628320510856073432755064679174979144115870958707195473031289144241994063230006183202103315981265694307180504228397646633173943019460825689597710170792640296521864250473494595531313619416916741581414719732129155252946270517519772396984214813592559805872098944278740869911499513205237413930960583069996383925649061264456339296319088348224767576439515725684836274941862769918867231466580327063941837757765009227265383636007967366855295085957468624625264205573982898238201395650779451014309089063516595025800871945041998229078381203002568863519893886346182642237504745675441788956259513882888656757515561722487299575979567360507469248389096165787531733082294711508976998443347724494958347407724369150244797435475229324161546375831136963194726454644508884685773524664739746929148524965446008604069420596363615890470757068701272961057107659851545752548270834952431179468895543610549929660654926575435176356656112527804773161750136795793185670352070555672726788784590103837377277292637129904314748525003245824585146771989155466435066983356828908651244938730516756498280587447757593915701934261904234853994803439347184545127199717695350133687278642026128957649387451098765624685071251386099697242742691084510660083395744828298026908104130281921227588642939048491271255954480923115721968104704609926389370015357958669183488868966357418094820369870938017282811222565782773514804787029590338412585422353303610279001801452082857058370277044543521108125174417930109189887523148503910808186730957217715447721337436050740017617540548032205888306277963582233195874636476167361597393464510568256125316176735752039843915061543777531702716698594589976196874635468851341927141585487709219002591758131299468839174613992753821865842001370743779436311055968397811960908148719315504490965449379879908022313054970458823720556464871997177553527060956038866176393141782260768116164223180361505161239930800054831934809342000641272240486860635674153145451041476903449542567562928247090815934797813365172251393716829146118057412444704034199985472967767916698880751137679390907923651955367502820939813304917741007744613288888485980919766957302565874850386882291747584218414913980329187449560623797612706874383006430197800904096924059758689993294668643017074048702262190319065996123716627457906821130416908604312222360288068976410529124997692753039821621428250586715828356030414528381894417037760860652043895519323944081312102762608291675692340242697823970783316835517468695410074034583085398550017468577506966531880068925694405121116323396525224453309294779781179928157119422762324243135655978102567873732870677453289168358800874411011926510726376754373136131002824949878173595489633466520852587917233838575856364589267040312787225519192438102859971103389889564891435992097039344886919607158608757744017967219255909352291903899832178749750575804763655401213667670252044920143066213773082549448471575899437334611374617929162797770412539759917125115303504471701116607963831974004002905680259598457950958370629940405977239751696525781979723735928438113024751571907180106892614234477691510232370570723444238607670816954230583975963403513288430126273644825260372991517317718764447175068901761567987263044049874986667698842003795401439110272027743668936003151425758339949360551729389365680622926358625155848670552434851062773347772347014772846444135095577278441393502567314861852639156330232031477585220142823871496596929928228548468501110417132673689157822925100042014569282215908476732955137766484795149546299313066245942355966114207712469718974491320601679985065763081602287155415042037064059163292365246115294589696888356959588624872129906260460970396932785858469030714743773544783585388711894342286969403009720774096204359457188441490434706887148913118343800992883823438016745968423478860223893336179721006735631133356372668804450386328354502950115118769722362112741269299073134302040990253721692358972024159524713689028554934576628842623483089015845717437612114650783219150883173342889311761290217375676461509064838605835261314426583046822868895733490097247640600654485436812425527329499323972211904968173662995368877105763020473383385702182346619897573910159757630465379716210686680523924920973025201909181807115057690126163249271097607517042751488329921951435118997153420290961616577242407208239942156177581705783033772981769377885315057667576696343018028734055346880076309450368229518009271496708019813999529059602027004981567093834832078871792317403895289396043380807492921983912589095214113954704065175165690969871927298880159847932659474488090380189108760966827856650261505971117340056351583470016759403586739118568786239694369943001055837218123517997550100593310274316836042672895451091618895596438064418992685227506307697167359061068897491982935487501961362014959406048272338268369923984381842547769195578715138721103628392494821315788639185353132658454812868748994004574450895184812338661818103011236973013253217077461895807348323417849940110058814128673545819637116147582273323353750985263217401675122080270043981842994978322269311597605386433751314908762031362048609514057257239333235769116715407978332402788556170320088122603414030056591341835410031526899278836432226953066797068200813044011291939779346420146185879902480606959281407141582207398263879240441770281896147339083618078863531912932769088177042190421537606204029745652782240674853596790071374133094599414488577191506713196511488131683007332573328358654164444444425615135825207897121467714156275076889149827528322821683237709075740161138090407688258793056235776102678232498058921079693660532629995076619822944078761610948223623098309136829385996530949650390403694112525521270345256698301448035014696850276779984635310517528838534924061884174727577702925670967723281992622246304374995631630553305849783632799272227835147288911158388969709754073482107212427698163270092316214778075080091481126056178149376619463699945499215833789487988917277829121257573348926629447917851312016775271303845471526848113637269749349259964223798296888852900138381934458017826739107006715262804885650200702975798523634153641063026332086798237096751196513209226108794212132513002885228675182485418910198544603619652330564307108632602274670861839867355047121189486306621178702128921368216541330487292066076750152347537415352830732038470196224741535428392979971323568926828958709417642090642040101760635401237371266959547708952730943328861891209936046159939379886878779755839998405854342134982403669323135998456774597759077855702344332302900896087205154622924969456441078185368979359006039078968495542455345513670825861005493417145014495684969946745356604973958253760104591920557465404738616994700379148102403644945933971732315680260482602752936537415989217751726083250380214647843848762162883410843924468419212551896756382728210709130586412144351060938052046908716637763723792980930188133625685186785370084242415761900110166893363314586625466674394555902473082807390176760195680335508263751773449628422520520833095921678611715254274060427243108450644587860802980117469892237734820549021252934563154123891984697995823030982665210481999435925007075880482737653375103356082387975461872906889619546704028450866610482279172762076164475044076652397591123651092079142533817427676155148800019024568330833305416295384318405899027716480128845655156944193729967587381442541844950366653254711558888915708379711900207142086392345481731109434897779370068222825203007467235558437085767409758745161976349867244857918730701849976120770804378663403322112510488970728432365333638633921062591442238186157386178310801469174586346337214634325864097244605751449578732223419851392773168408149562297637658951655101256954921593696509056506676224952386033908160883139588329065930217317029827698048520637131431032065586528791094015239156034479510219306113937362148559809735428107843458675887027671064531048172372857540662242866100090509407654664456656847813250054526720174562561183025574765216354044685624426609323215804126628596540357153299568209315779898657684716939271189976761281825346808831984142997245059999002043945989564371990270972320085530487034276492412837423448691317012984108106053269993457795260909160693659315101453395189383857185771048509260456937980833959813239250153668453835521359143344591419372966591654807439374123634925594458904931255959170995606882377414902909128226601151501417118737360792948205061366343355377513710376850475605930171631472532780086244306478523926051975668857414785974489146074408875054298526444123799649801493819578254814148467299888419953813753522114796513426310855319258786556363966615239560779772179835630033087758961606883822415885237243120636610022253093328458061457154605896239029082945653025395552361375768689794766499945163104665805077105758886503022331748450892462191629552402317279705859990182192167017425875847325737450289230421490654108314870140091656650766155647714238332241620030419606878659806827573922607710387260740100824714435144145124884455096442778978015379679256820708644531779687448405747109496603650116034657000459811239451285408267890400312887264795195086603167974042520262254350012887400967241721726481964063959373923183368816495908135795880188959306609582078356996332827120090548783638210656565851481337592161965716979261439066601613776861441213554868067267921959289026256088868566910448426308701892906339100797251134795601069184798658946804056548090158525446132436071728624640075989737341634936202558076063720730991507328825106874536657019909622003397099653898212599134852582872182825996204751889128713779734408384139840897720306856506740793672573424469242991892305128368758451282048121289625527086864306242779666614373115965340032115532563578674780352812561929412175097783020581958308530078896330083532341539271131180521796101294847683793700482559615525067695474125758934141094565477481603403771770744428788499857637488425662248853002856458686332092103869415646955781836859787638969070055787776882818492428254614503039987754748083525237216646293756895286595535683054560927350574995205558680528075953066917473890835445563055488126389477064685070178329268696822158531136870754169255971540547861224226071073163625043206923142388741932540399560544301341067819241553758286039801727533543925813947243881330915252442056473941122957100593102112063012746676686438449721768323211184086300147821651551595142817934432566323333216601298631795414850562708491407764637398624593122433235052091982749975599431204286507166008895033915895991372746672720878754313166855994217958575498875056261304517294925094214911321863916654624931989391689992412653048925378665469149362419795993408232340147667003260225332913138400845436769685390847033407233212241627390731671566594239723074348906050574178591768583721394830387884002330898185015819183809487490071102961743637964236551018141425207616378185917425244396315293385961754012581308791302147621792714304257195274357859252778349220829883611403459934282566301032533763666793032633315098295082734950826307758678003179315439513556852325760947705990544552456398550852699869997556529357857362771869189512582234207864837542204201591393078690986822663392982834198276558174837145233209173431067586956202964580553397981586829153944606204637507865976407444422443795696122186782838617338814977312330215279321939444096920977262586449967744871431503446347821066077093388954219785863785546687255754861635328695304559612304443447553306055420803745555950777066507709209316404788963350494203424888749489848747810096074867004872937651755747612416457363026532500609539174572421726707510098869525173610776552990902672190812714641001009961776166692083637990401414344826801557660560945081420704971663941448167574050648983020955613114556217443366945516899802342361542702519564998013343407904409291956392063356896930520369283820758816625185386942561219645655557276783350828242644947106321205635471145100349325785748035524914988565437279691420564622746790450606580444312367232025540715175930867927352194373244705617436861177131464164107343550142061390120940052727633530037036385868342064224810748382439336692547414991022635837128202838130059490261445705419768810598308137379619276567557784599601000266033006451605008624547772113409129039581901171229112980131898274170423912219461561723246493587859906209857378721523471733304348305989361703839046871519016165711351273114612504832229518827408114168726618684000186237510956702245115808645823798561897750669691453045121108284607514407597705686295483632221772152217664963586746802495745088249456569553311935632891670681079206718068368704919482165907790850051527263476038688215476147443420186879008942367874540178743386979870735205631484249227548348533276579131352157608257944004786921371497243396447215163550138648797786680927071642126397911019621486104079950288322817601741465297521612630611334933251234527606376524829962256254691038162714588733519589205761211854556211048101145927125650957749692641012886250566765882290467477533404298025832268307127983914264680466838034641609203226181832023241745211819973528296372941330440442540479993489063160461887430965823329610382878124280841454600631990825920922493839285403732222333932996237626499410928809807925205655582455417000222440779959362301182265304570012020771208423685525052440879516358477308906558296217079414437510019428846473424566040291328025999840501339947514506997631339263539012011560276141474874931064745200472875938914005564020965464894808814310757112085373374536273268946444431079069596142522816071783178762446760546304384502551633095132207332860202002147870611592279561053136356118313931347922549531386987521002784884051864155836101557242331138283487868777999777620422336690501563974685536585729202770887170708617812480793643702673590731180555414482031111602504269247954934051026509297557576631165204439748506634570427250865834352872638785961429736648033005196655596852500906213694395069807248787133205758581496879519411793643151463295701402755639115616638529825594403551261890686552012597146460726158107440686993262317469482460599738063594296228295736306161429629521698359011940147597094697665589440011400126284046300246520418195394582213837399178969636144350032254022862918879770066966383203573898947387930471098773056436700161257077769401864854570599725890753212353761510750018108770157821184683573315756727069999101995955064682076909804708329352059147699384266591513436875228831330398379266093362979559490450141259237971092377417739445187405217176031375435907335667492690754315918208902921226115195257368037144028894923594682048035197829140791298139470183139280467760182479778555899583142415521894273780937699642046013065008848786562553844233068744374291111401717659387453379637822639225820505085202904583556694112141041404648844342140012710712373735276985803094564919234153102123931406657792801035826983875951053374939410607753379091409517971001520281771987881392299416919913272716032412165606628817885208361865589691432052022462396246236452950132017609161516917128894118363466825321189917722184880471337478242789487640089562287454979423449673660441040900308788016705935930454736922434474200823147669712688592949152893322494569168761916832290827588830603586350448115009139612273365957030879887116998776212404467628362838465849853848059644838731361132085917732897566461847549888735649019491219250035071593595981135352743440019995036351257730340801472083543199559146485428130487838283873917769778289046568342942631186830609940316234682689226427122733825378089514857870378062237040771713920222760066651199369921944935244123232441314133359562366080245748927277288854427494710495126280906680999626766386834811350526688163243264472171229158430754248382925404389859167627376586421211510163511018555192686732919270506818166004921790987412250921320707711799850313214304455044896530647837986310255699219773220769592328003818844902433156132645956892296007018625562750646270593562762202199537878198317203601902622483400410451609553786940172098949929871559406346881834634778775751679006008442668358622759952709646468255664078763640924072498714020776319684206823907369065076535704662316401079957384231330701740577112844347303660501054325225349032220036721986634017228009098341405016396897223033746123572117765300181755838489402208818397532819991778168799219936983505610848599780311606951042734330491951747791027806095983619040096678988565614844999918460913499399782096968646251512878609222873832543967591955094333896759113876124262945112236663656053543694362946448755865553807902234998733155495875637242092630282867763125918168066008501297638432360151163804994934498224730576199830497967162888159636583997978393407842041054127810267419382605871401436604176196093549883373495612513866325808276450993928616383161055930881033457838819695140038682249203569275267599970673856445509477946954374598582199753373871348461806275819684556616959287394321924849408572223539435711361421636178761023773471306633768503255980704308030162177404929919992739014099231100256931691339017334892094646014795821466678652586035308371275682058704101924177665770035111140157258067212657217407726387483405142185104931082321745486336548961065338236256856871553232513179184737876081568662507365499030648749109822803327025751665105029888497628154050444994832407167369422815855708915401867520793546750717951558243704122248104949777146890932673837156128162086142926006498901579801192667021677862650748049471603280310532347256140303203136369120017041548348280509780575149225297738570102061409396391635619676452699526292758857202695806306057958624045044849318297918775352353782611933838124274431042689961601766253749766536292696323469063732616525671823811412171732640363963717513482531198803874155206045046580201306451053860068520555403351770847150528421210658335869438939022538345163375908495742973824716081109135066867559661019280144685779140128963628785835330324205576437144560366676329138379595247076882620782134911018450775115518570029966929443252860673305054422192870092437562630486852635229872499376371369655460678423188051300844612538762653840632081809007571597023950662468642407535484042072021518385210748655343993894044768447591071617878852597662765904927276919946112449593479055361375410426854202732824540306380392481820454945185420635821516025373232676685998146852931041787730108009476590282526828776241551895386926998601870513527821900633205261757709507662575572543848460326686820828819571017815980189893716096394196157696417378109008642017783631187256842602406637983253160402397985364709031173808666677829972565569429883456456634289857211249981294862694557223833114815449429782398302240210136014405786111596949378524854437950401609357943465503068809667768048997975973041375133332318166718333367864264577622579264408692263309784668000947614851852107525352334281792458144271471599512018477138340340269989911351816868746973641778439451975734963638921723540612254747815053504581940711676904739715749274979375834064900977448350065399540197368113491261812454947140464414419539713907134117986893522540284782291356201115709760590657617860333390608431346339374774313182932733094927498642334379293604444721750741453172949848768571531208097193213799526080798526790195033547469586402827321228858492902047088009099815768580472522174069366951004075417743012939202496056194532063809556062019788980927255945654221453041209808467887339880183352939708435465548866509911077251595790800399243086166925364648375417964817037555828354146308639533732718539728859528877928406391263925672767491490249222998141976273353699874743907069954888740785338526852122183749040100753166354637617714520961702245006830130632300352289265560208644478191070505304009774417772161563066907872824064979561773977841682773689797990998651993469602863326309782209839934076217536833676987522266630259073278581709222831131861816096003164127437833706126637116454280707358243856639206535452844533333289289000626178568100014529229243175423794931883944267974509052445681546440385223393926584742155223038107593233767309685173704871476289799967794821239008821579576677403277515154749233844311091549397485433469388510220912390141871869348634352010322300853614154917634677820285716549949767764526084788310985639109329365581071388666640082452439129209085058118491488451248744986876828492148523134412207828108232987491292798343224760971771917320914664488574340125199452683317156166961062983672341385833894181588772896221101813079795078539086038264193655606418712335313121730740274321027222152173843450360735671233697074607573534493278835191458030442517714574528167078902305614855896198594066414133481502604813658494531745708960619205068778357973147583760891075453811047200377960692485596648229256034336477663970612371311625784947828432508266212088115882644249774086988362276183866337329688907038070359788451646422055553092892665354782495969051667881833405902904857326267625862218221842699669559223968429935232785108367319412619257594232423744618983502728853616254627968980061310009152252809737391035006937861313588702192381228472102019188977383351358272546577579538146536990234147132305139591996859920090625682867175698295292885169683811059223615516259457343185856507998613584465147251868081771637071829735237604813129388401271027943653014739481003386484619738745971886076653290931749330927575839602657213914670704027229124970462356020076461583040637131494416753862746926837776319027859309185886800286394377748008340999175789535798886514748287170233298713583059231925677115168229571162118403563598922588438187792064184200305028880045622522128089768884410259928330899565630675147456753474193280144809104370228126323122177283288157861364117425613081216011154538107932324085334648269593457780261459624581093417812116448931828010973012523074004674874754070444110236634039311375034900363076053911576399781760370141734341545070206733346515316039121802069528711046124399874948378897987546831034711099503484905292171885172412353944295454098060528975078009905433303066530762898206100013512010778798972393535665928629669342219514474151375733844807232526303129264808006823964318771393205026987412855782609835608985966174840312575111944229023806908290302848710911287804804208228239371936363187733549222280130202508445447913148237488723430248006984952949813349058922366069098500502534694638532465144713521646672473367466051263642598860628589894506892392028487949380564759490861130625464238621926512947176697520305016590592460968327599477239468167719979317476286233948048854402033581445837846639384777167466322401153772112438409772059355022174019519287013213196291638045234794529285030537456039364311146554700897424171987588994677720274031323928635104096524636086933888218377196524494704574368178346362926276071166722278951714550658052022853758195675754143925320043884702293578483362360678914296112216141285340004250810628305700160772350280055874142929930785016320078547614379780903247800560858015616160444776874723481126724762732292727963331486902370137302217273287695148391920151002439592403258311805401981511678008749520027742158743243204404545407765273584605651181386892762260320984685303432332444143647243469004099965517789020614749903495548589537897984165340610980397511059071509944102803397258712226411125517056600051045231746939586745757586241258556070793303080298256502673150820739281274501746335957183679209624191363039760542445360510691281906321618591406408136014996699817036255378446801423045502167047509990634117012371062138095790109218653443284445692166778713543111475693311838539893666416171801948754245098069019604807825753620659817405606954313099285176361764361228963664081590944164287803362845394176654929388067028158074384377849897907456725095385094640664351192096107394772526443277532049207083851723891345880813507970017021954191809711390251893951498337102483083855870343082571706498004850097111004997403891468248229259833919641330590861629656574477879804616394362649614026628332795237783135311805936994513746858665343914494218206181079300894438396137249272236160947821043176870961177115273698194113447685356294962188470861297882963370818285426473934742580205488086659185924658454747479358747628732289826555115004057917986923034005702308089771810124977096348648068294072423483568953287252077940474573089005043970998786088196032654026723631849151212482866405648877415852818619728578396577964033292395500339267795369441923744090612119881451636520208898095650696864654905535626265939794542061504833477821495822488222963631397552795365824042551194055344666561933627201180888698143576907111672800922015145117290762989080492148405056238707227725734394999831259347837982567988919598484909054485210903761379047991970341711045020018658780298387865316108406405785850452605561058487229593116073812726687345518065997692533819124576042649723020236044205025174363143391283201794669337924990683351472891036246005813919819196869169748739296585155998541169845734093937440427677525860564096641158462225322458630126627138168056539917499236542620000746851002904074461980721074693404020119428436176225904363697946321745527370789231901979645830634226851026026344543585531745846024383640085159018243676493065770789786523230327407667353677912913665549098275386265680246734535825197193581432797548614738239838467411280119679164735711990870763217666316556711020752344961804765674979105734063560378449779727693546351980680313424089430044046372837104772144427844916463388959694001407415965069690082941378327144749464265351030317742563243066042342685696139765683511383536234512658280534393716595839946126796176338890426141411535263812310449005395756205804310449023556274344293259239184431018314455197076918776645252991080206484164075761948388633315293743168416653380454199054888411391523980575336113242576683873320083316820884876194305898301058974094469547710111995885395094924725056768380753450202385772398455931762596758546096526914175195442458354823878701895973889478002956510944619899394693923056149524600124168405440597281268525337172198131174378213137949535738636384001259415632632188608552972816727949778399069631704430902941761488485475614857896961173805759089198347395287651730549216370698254148545238644414306241478366915914087631388636127143487561872445260095064987129699065579412192812016147874459263650510468989151815932890835275732148792809110880215689771019817519727498400369957143659319567125458739982944280564566728319392661166708609395092395358804478718584413770587947084725590570113332780914202351388064498019276035899384150332420171653113687895590736381319162112199040860608050268647664056086908137756682281047844489729681463568065639769985311179644566288646834932686025864812183175084486874072395229895191044227088404865642402858498855989085333914714162145964349958828716045308590313983932787770244069331307060004168649768273212776731194793499846767384568957623460708216646319871888010441879654780181956462952450407513922655947572918252488321867129228018244009779192734187889950001197986544520458210172595466473196295608719653244341795062145227928899056172340083098689689957148063149093914641670497741146988527815052211594044447034263675073527320928428739066768939888428100729204861353605157391654795216087169650752846559589485346617150085758206618355815787582159042620754688308782736828996187709790463311943058455553894734536627531322294867302478850489347199352875984237223339742189341772149503785022737865641191118474862541799023727521343724178206314581569193943421678471978116748316223014826902499763262250231753387616152691749424006498128720674022627092474189761806330800783989034924280857470751412712582987586053909785424508342220030580820302228163718337391916958572079992353550737801704066320661600222025511352843251076420782922586351561686925443475080725508891530992840821091892747856512509909862229981279339719706876761898009049743162365937504938753608147071403892685229021332955472310309159801551986392686953996203765789307148981415969011929592028205747622253923643619149027754886139486285312670225857174977813629946299297569239580951809937699870439872519903075882861985517132777484048786812813209383123427534140508705041867359835521476171828950026592261323316247552276295846693316089134815728842337117501160023801170816726770250948101929924071074634528010597381238780855870794945957140096032081128691055294574206468880330497671626201216264677189369833918885535553533620920682033000239077794670675975443897422011330902605412020016011426271843057029019364213877250836296629076872231257456396457631176604036003600281767377550231289012233322540690097943680889735500945052636022112566261026697123020216053070620851852149627260084020777826718708374177651003959261154391541029914186830371864482296192076746006268841781119818609014302008423753363517949245332628282776159568541543147442245202414340610548247001169909547363237834798066474976213230200420615633919596835997327085260685588909341269768485557120902122938867837392568485228209292402973834414122610749133594538804821986037380694331870791955935103418720302704735289357016479439260111178098160223698941689053037344986100545424412174199439322112388991972130612635967459094038510087785491642798360406798095770406755292426284798476343862410834974289115372379014931437968730058944261245056019926169346351039210165408752112933495318197654040700312138195741693684551693008120889533113954028202294664279594563689549420948195383242688328560521988086327036611226633652305683284182627687165138401418418447647828930791361783284979559292563719304781452545372859005785120999818479997935918640911770024557567675951211351113499709593821538526469924829613941328043101207119673708652729312040655810171897353050732825858006388503111035389914516202791533943083484173764394188749766118448712410215128801029847247728795806087761322560187276623343617475547186640318914586030125876766858696448750503591278766427160983877310129153322705987065857180067915836594268669155128326749704402341047136976565845753291157714266307457869019092126645611300348204486856628029906573600814367339650801604462187006264169466644635418734831445731956161919992228910924821428609033503769665728096487748311387573238929939671179131730661937510197069653145663896844341994141613453339072890463062500021538499759460994058398984808024110862815775079551406643733386223429619058356164055254944954230711361138447034005403845181032594685341700734776027811658049701939700963952826470092347618354784046726364905144570641917331763648977527950350269524264860673664197967837210037530138247883049857813603163538936721879461986566118364564470172676162750037616340153940358163288559080182898763968028908022513901458104763999022801523049041448747630269872279903587157105646220462287867442895354395993312880892692217323446565653062624135341474360460067300585463870621316992355546055307275601832214681687902091183736508170814299712581777972006990841630563666487676109185816327339295703483143257089567754375051379913340604733535495051872202335033056546646114570153867307898742717205366571694007148216711775404938377666807484715489894305822151916325967505781414653497156202554427789233850901351238758853868492566775903918327873115987251631609496131840126690997038236459602519775805451486913288508136106703129437781301436919187836073915853132641723538909805972669262779276677219674367705453596398159886922007654934622865882001859868073656659301974228576590227208874788029258485575761527994658334140085733287271253536732638389514530462283857625928631547563194356140195156535811356034323368416394072842325594091084276248975731715116658869669021909878621270297748218358260696203822059676684892613904339492927684041333460758406123648646449570758276982452448830210749010952697953698965871216995227001241422116512473356630784227184313956774435640665974805888825224672889831483693083171931857381124908209338366097387245619175205268947159674442087484338883808219852427475763809778815669175854304204699098718454970023751762165085849434988730862320794674179536964810786301290996331766907580530950001825262922778385311280009916960500985503030861297943047686268559187250057588071862618226359936747132628708292867028278869115691376805954444995414077078631618816485856108256832307957375602250257720991405178288946393010809503763021364093199599026327964844443318223090387574173792769729813674643073108315114484032677688894397921797236400442015616142451792919124041275764002032751260792550307320864163896837453903311238040625592980716939681629611220927750458074769743381338880493631177668784149538652082094120655320106706993444808584423049326223380068002434438207960096415292008663077321149017041641075213432968236175621287547277468021096923361634554250533265269368414258359997132007541712203643008849889334472834153634565499192122763071774812751580113738794806718319124320430016985576285355950408666859874499482356627070654358676622778997475726897516193884758002645570690194892410484904937896224091878509540737382473982433196185204770617164403713641257788264544253964667890116942976065414368410421960125443547054617978818617846998481819674214466787439386353478770350956901997285146953470858853452928077466523750520530715925120618367990029660526832406512468856531159926936756086728334611366185398211654934877170242606075119380911865916973792030189585374671807696250841820597990139613121605566238067746283809729606211479341481976213569856791932399819191297904952015704459309632038870626955510041645875236248622126315837477520729141552407200824720812813497465906208653126400492950997037895862741610133991968766433027573156448411953458766861730843486462096187124794703952522544279883743483192415850659050424071937194249064901440125580746796021202417466952605313287125946866971186327979331304573794607036823030923353931811831319661923936630717498239719598256409218598466431474333918400169130357749034935776477843844337229620038102004027179675474424701462910012299451552704876512545853602808880359277284395756425492720683919683065695774414839069436780483753438347399134206030735981713950469094298472189092771651479236508712176282914311344833977314747473300771965201539906673001532120107616281522997985208366221197298371427622154272202579090463463206523211218970713450523554983895862021043607224407784227015314516971484644052431462323839785923481674075224054792498513873107782136483965423950340723240931735681240696927493568274856455484047809575386622495120079882742519870365066821458788525737875425649756359288451312761605658332424291831885281213705295044211884709629292491098524303661989800381758903735552569960955238253359555308616293855081285667100531340706969562627438405202955337772224467069568019706213155576519576572436454302846860945583838539556590758951503051954653367912323895408690774697317471259593820956327516426558264549498509431726082867498533609025226587419927910809329509234202115911882919387736813894785470373463403930935744600238289069774712935502891423404194519732664527853787587757105101965799931624982148635424429874916024305007557569123057493673967260700538587354842938375913864908915419429504055225344390305956679000576172174022050098783315922234192905450649314792012550315316287687764063402062262671393001190223090570846374081013353095485571786163009919250389352095377933528450469894039664435464084374120925299920259369661848399752504575518729382956372247987179170510625574202683700288599596789770184766195530919875919851602496891106401398092839950618091702460704853307501324942179372694415721336981446451135227463325232401298877234022042613602922765763797946440071482894330872109835525045526623643854029269124069706385421469163766672009258806666038511962726148770338381967404340710185272847506535505636551843838802617136885994109367599335457590463517303793042782006295386370033130004341435315305295409587146460571680767949816172496878784194794014881240299360486388028922908071438012191633292755292987343556061502211917556268521238125385667056274303439111964985415961995926913373949088128632675213748812987645761081021145924137609675917767107032894474506642842665726105129510293903884949338291363904131389419821609685516962588968559273072469628052670076372364583108106090509765985594624085626096496286849647714216799543144180721602481676160412223654241951650077451686428469195336926098251117726452600560576388417793631880049629979824888258192228493958709379878499788009605154292092094943810078532537800946638144760491741038185861257639236058998730311058365341768954933649840368436969536202434104427458430968418572107609520124319583385642542941796686809387847497311097465585365886791044092645314696341500093418492697441102831261833754645274099558976913381181729615256598490230874783648486443722182445773222898364298697239618030122617961612329861574107335264876769602427981086245832140079425666669987188343371670480084192316322385865798628064919253673517525360395621542836430468888359764538079065319631584230660380912740946908369960384957758794751682966777264175044973890918897856198508807309795846500146345353829474710329784689154397420591351146111337436431958646580335601087470448589956941491394575965880778044502546275511378290617664347694007273856316153563829195503785516420766873910876727207391537306150742284931193352979522800185659948321845299386403906794035423096059996769411920368385541226506126385275014751246204999649477954361696514384968524025381321174015775120315839005297326861678202499029808564605598613110125801172690601178696245611849180387718297240208434223188981157049671994799289418130797374630853015197049823689627995726358884888644082153029753235303610484478397913831660199023533313607615554708455926746275778724001840291186529396737326101512575983748604692570558452194701622771784725918414358573577558719994674051065009545519303446367447687777305350553491125434740791945703570250554389169595035174845673804011215757643275214462260164478356093654273987859499848400713222665742558889794931643122165720025178190145781915416021056699928012032889599753039136682730776570506686707287176692991781603983147840100462954955441499175358806073912838411686203475380168466660946698589061717853107684395376919044196991250683456358639318659789856762005652029897251727037038416992204599674204553535044964199340074325882813885501179227178833440302839074856112796206345716570525389295085135430877642191967937596188499465364066629190110328195910150851638109944568355656000674211861080707534049084942532230369621202162653036897088949980757218973344627676442341877568557871170794891108755968224289759401789409986448493831393771050294507288233654835449327587905911670412871612330347006083672962175351028804835468855232403958272292736921347480225314129539927566971463129155423568648264503588923058498372440020743760078371423816254137412823656118458966492027733928946043013531461016942605345399662302792749621464827545399197527267098779056402897693698118387477884946762219477467949503866969574854831797880984566062951269182535012178578516309585703662206464908049902488628741452070794931788364141513657197009628856500191327575084279100618989587374086626951168899083455231860123592582250027161905037710456401666011091856877565236467201593384880460287675506869475356039076895781825410130490166472788775219625867173216070465410256307798176837243761595326702099861639753355487439752206428952961763797123034732205039401684549434730068098291192427630599229136298232407734270284063257372526775453737620597204648900238523368079343763871807016548950065084348511633605343717115146247184207913493164469154152314117147981460466200287595269173192723529255281131321881180805519812035585016214596737319611343524540882777202850695406731588474266549778572066161383500795846106913863753413736363700226355940666956330970254842048971167491996966541276442578770715010362530268573440772349029534696177651050530608373915088902045733500996033213981778181043173602994643895288394377533506311317197697245929741047842466123444049453547690029853277563682659243420377282408815909625398966205392685723704013502268786187437426586899326849800986470254622981181531966301858426426032133199691001056697907167956057521066729608203328511968625119493496505165241731068667854705451648143401667293294223291710921904610700321751060866116586025927199778393061519066560320630205570063303405525860921158968477865336937077376049740750013260256684678655150819892126620302982548534581495993590980951284930221466464278760786891522985313990552588720810650289032417710148151384996006199584477508081899185415583246392520861880854055906661221084493814459370667465051372484855664449344979449282334091669101063612764752464587163472334599530860702487451525968402561096283759904287946138868397454202185786778055147402320951986455496883586740334405639279306388105748563866661066846197324086699013150891727637012383107080260784064739624780849422327761554684410504162181685640940946531217026131619279888060355430779602298483147141343886886340132669058354563841847937709876656783113587868416523893930115199911311139035674597384449873384980649533840149611292214235411299148218936113519085422347407852136352799378922191176297250992535124610354099465003846235142176839600615018194360782244536580720915485666627126342320474053248634777115320314241914703487975344264362033656172122691932458317883182321977132344152481272905492721856199795316103103781828014564450837950641524743696645054185866230178379677725892233784943279180260318641945018409436737078822243462234430050492144840307643206778356442820674248360250574674929105662646899524205134979856479263826026030382737558560007881393892782718995923460043782974732638242348145275239529905382123104522616654658052827911059889510109755053020632840350044915471117409043895414062117614865720829458879244248450167617054845574986580755829115869316868705958224723196649371840166215002387028805342209403268948539487348014429863330943224468513439266816872772286671456069465086622224904214960879437564345168456907572911199217664388128444009579183266819047132594198144772898300693436895941033452774210761126626752258998287896352887842346181066873066034022054459367395158506034813062746598149311919575140298366863261384538745055320575749055066894069650100118688501953012045263545241780517472849625470991527956785182066455772244057201617981434283070780077952657339627801775250482451643407093699916937454547106542848920478769871276695364447587126850035284383468095137654195026656027574817681246148781428794356704006489647912191052371776619238583449641190988396789471535107837619632778288313886245711221124631235092863788140406880028854074678881356991116538223644849708525890950825949555087600646792173590789294388949757005318339482076405534880129628849151355351583111674193730931708645759203025214342976280600036873577259273385142635118964572175018590542852981406649639530266555519381928354679254710040478962695548579542036840767718403792778029692294861974622950988853236369511000924611748908772261360878325392290008437427978135622749149577684966711401536918151932433366799773460653378006871590468793230784609661267542886748216383475232454472739420018777380991252770083039529510778974872408627839935910731349758176131441401273495997086512687631303354742131767363120095395666920694605764012644488647738489655199559296419905841083719079086172086600008467607827016575397920045733263259349330819498842382368603874835576211724952031782819503088167245873805257882893603999751642635402862196024209238649288340137196570775908004744368732437082137808369003373102463478779756876652829641411132346691938342205483774241156009753682380066119137964475037430039912650795073628679147678281083800190432367064785471502292867432982481142312281805459670494167284554071363726652009115561955116713198023383936807112977919695795872959905338660305691577784626580638478154715359156598458011500716733167276566245751625235590932057330962962837312142991403608666768050672398371305882609650061907577551754896065566802398177326870800524352747449319211601739821837655484921103191997595889973084992906273883312173670278006411860123476229108465467865842937187521086069747652277223429135417520960266924387199742167427024246264888132229115781168615789260576586655529925284484342000573686379188553142764428525334804901237960561846255351342847921024858306917734809723575106110115281255034405002982936241578884603862897030698716060255136666458790229944243007918924350363279376174100324091102711455087201599181594904055492191733464807090057191194490464704477227091238691134546999963490095344944617331208309994452290618152306457734481361827896049187415226339832768651310518987366339027427870660701652818371440788917026721928655884315759060360771596737915655114533302419719863354816610750982808430614172063052291095944085923729375840890418048680533437667511890545041411884723254014059572348663057398321617063611578106844485220790708463464389878093524770764124839837306289195997420806968221131217632797242374114855963710488501889119259351175064262212384451981616228616925213987470309445876299341821433350459316957807459391646922251341997630378268875298619791265845120544179029305810032526947162275302081531920050702802908944587803559270944205004896791432496945733064462077276716885152510414299497001646768585584653443747313585228538543495550537472408271052904788041798453344000323117121956923118956260084100319969916584330535688693635967326991131489220398677780166770826346101420003412389964320902087951620540429879627745432426637713201729153760613776667773237196774280629171372620141376365016148907266868318337751795716421931993376881093087650464541628940447491053441269218250503052776993989598128938947107689616760854848202057780086869965124047269360661747905516485853636298845405007049715913144373270933496263009883128970261518303789614608234506608221674320901547819870287844489665033860855523377254680617504911534424981498680846238233751260656217759102625359353260055504405533835617986949913971751872248855984907866432818272192535153157809932734031165380096220626304034164957689096582933327387932525876460971719904714689270397138828187930879910338739800178471136808905441768716094736785736724683172047638913423283897573114482847472057173068601168438999429693521690986598858785221570542493980812269881366901358002725174497315874069659468258098480473898865175278655474627466815735687879609419945066736825330419334774344590810090221167820094409981365439682447290321079213975552132865143150490063114086299698080139180351841075633205801135176985732999395682550047782391119907957309652020153410775000521410430281857147771099568295050983382168996162139566717352728971276745036951874392665413324289077417983561619216752617468916655847100752891558833730812642306642685182806344740785458276621642986759904837448827043742144385610185174677975644462403692345759416070866685187843681446445021857005672244449738263029786133777257040502760488141507722564431710532902250336035361627462721792235512252945638944992686804698432031972805302766329139725316215071089669645662885552534836215599062368650254970261491937328970958033351631006138061516653781031330094953072035747587165541241163902596684492551108513221771290302017948193582979342927251259799555207396009014834598792963987594664610170861547551285350125066940805313117759446418051641333249285899303522761103515474583590049511159727429105211316416883745418306858708748952821944203699029481208202474987746136282256641762929399711041900457665142179991827368228366855894740698898622273702354644129329234629305966720589191164163504079465672060412247328339355890891793596914341629126229150073097064360672697707742383898542382029134121251243565671160500895798461636431086517434707944053044195775297361607704407404015299473691226661642914683082451448442275886200637243258548754661190842261672977219789572110985185611937897954824623709658433482106031199036897123388596508677195082499831483581186594778509071887660089067377163216357183252855678071650953452391241999223922950566262245815671971958428630642206321123518963187589611675043118435527180603566867465632432872790726735954933992663178024830371365614245889676403640665034076608988828929361333867946172182069713189006215291349769929295670485018810919120090913989089358845302073319860549277938231746351294875465074943795617197516858487351486144048012410397805894711247086680451919082794934588215091128238002865757566823311539740191508763538333533054188426163202485875883701631042284942713364190016250985322262029914700753350621626535924636806148844077960764478474711901982358764610757679168680929342851873624869997486235445741871802869601740429444512233830011787312989803547461320112285915524295396095584252159199609337432115648038813296084413999768513672816079129145026089743667810355769314478975848431333177132410225085591079815545404799757419951318141950198069583598166176802642146027245392032153826286017479420223197008443608172028770621456532488706966400785111401166886965625241957414318623811096537600307662861515592400891989628759804424488811828326182611930678511263237698412950936124771252794704536750784012171990794582446965728349324321264540718311587945713046525515704392191452646535779123173259020825194189318991818473583520386345743173014393870541998217595714519210934907283140516117616396309894652797870801609102312263915945719783680732255377676214413830381770443993419844989453434218292748355968240229516516572383208434132828859102927716136304274985599271959154281604687549135466208654862048940180769107609542025342151518629525769549476692853301474604094685899787640362979038385452235942044430785596212311646297770365943005422248919460203611952585511289257324742781704494008725823259632135691169723538675686446989091461203783045283232998566178321912821520546439142760696199530816885355518660533839823384031957428148525474586974500492232805937436641631136894075498037998390942966897049717162347980912745893090530330443696438870202297127564463399176741494447926682504118732731321318453981636898004603421644821183028131853939647140664393832573122355218031174267649410011849369707949851887186544309531826206674992554307627266572295614206233418221363687256837718642494480276570586976232017363063045556389462421265789579027656053087284969857647801144481353258066179359828322457967052109190569662517985054956397591994521277443927296179310966363094938317386577680207779176690532685943266452591154486612772670306488301202883844331589353152054389561953268443918982736668912104615964200510103357480519456465970103861276030952468522972228860502426858356427257030664297106918755796325777754430005134535517923722171264819218046642519685848265693087084055930009114409243248029870045563746143419829757060274250557462800992600862514211874027061942528357280840312512921309714694007191964131970152818412835538468887532336428555323884603387907377164265962164289258666604497917976640040221804115278985115135505258799108085548890333037452554051003176913338301468594959424385133647937102109185730749071653491603865380662747873692348951684159920037931849983714265973989132361549407936484162267481610214928004210337818743113020669391306843265402030455645852223641095882719790194669193946290773861632668997553529039794583781613120127584156533358385469716212611112925861310584367067808521917448464163283409676167142285004675444035971457811032512641747486387476037464781759778085574833535851092482578548197141002370801048786057584659095946690173473314158137887560582584064564608433065590006583000744488321059520910335083521775567372553230800087819849316889106855962989518630719033344717979306381148813322358040956429074667658120384672939071908821811584985220143588532870438208678531279698915747054332057355923332609005830123180715372142991144703228318525324999141447109502830937320954807176576749996590313659692887426183752659831235191351461157712698849363584002084906086568300326370981785012355840158838114182294846354411690406344616789876733769966591347527976588076209147257353853244673136473418796854133098988542313835018882967496000919161411837145536413326569845926619837160095516618423888741695445117321024989245993130473775653933664461053671397352923823242412746016981868552701948147407435328057995568910772166628268521837462215397501809818125579703818043556732426777894957266682043368650303386082433538361673372144083466839951767891686606826271970384702808791605610916699249607046310188554755929061990888876833476343952586753555592357862292974496234053069407767422419306024096959938781667796749910297504295120986140145403403536267357454611091897042464758601271140475133617429139920278264224308375223018848594646117557901491026134485524869140368929724943132612236868615392771064798400515793038923092211551054859055487615706182299468834985112940744268437605969497211495251782939974625555341909626094440505694205865807912640411168679763342640415414942545238176282364126824153777495188629380680044603091849175310466331476386244051585135753895797793865851160902012997518461338004805003168677980212759429532064448966699873186791470899734652450046104264457887083145144799293697949647752208527975129768210283236950977286071495551823569587523072304752511852835404914221490527717804997505864432544390307743810569442760695773686633090499797051471358956452091501077353293031845816669695128283284242354161217998682741381177879109019255714651814003445996692294318010514637232247089455042013871297806227146392849016269335975177430532341703308567662539310854591650294900344198913539036768904709959096465781932281807766610296059748053907423396949443990767710629652003232815013759836349720439504018876836347229661258726813717854691019980532378728380154559359711175764610766522481532832601298349085454315496937441998626967995293217308374928552472943811360599528488131640822641826716300601959765566788610950129087675308081246513873416052452780076155300818352725743830043108166455216340220313306093209265081494348529837333733804224348862438907614005007306429294354277557110094607724295847833596894104762472149407594227026472138525273005655902618833301623309346110610722515740846328896748611389041894461327260080575975830846587590761903106729669241008675061784040136272125949817565199402405822537067274142382064502296022849823704090133171922567858241428939945921601544712303660744436369699573281259387969172652632284851736578116374027144244752876534282667135143364665166185500392777111587478313377301757410882455896217609635371777785972506076490011567222904692309075792817063800555151688902715306309825070530087453421031621087111166015064525506270550056674509837945130516536098869787151088801753556575321930540279020559372966364144106552141608030136884692981632796610639408629397537182280818050762415532840515576302739539516977210033530176361334976089590801702514206322804337482725004749571932400417252506754782559870954053922438389355094638655133626267361024900121872315347837392689263607307541730657966216510789934071606470394364503483032095338006658311309137360719384790329275229763969354648108409654869955170905977930977996856035562932077548265992066148780570574043345302135642667302897788733259393601865048301595745645725996000405303673498312296385830037070151917869980771264440741934258101016105357442345158957520423214707476771981990344296271756374084502761216082175773478329227166838497347487226336652272769414872668970588940005003208797746218380869865990168714111663028671050642794999263107384698434687005173575922683698787624126486909507421778032149632475714587157222654153438279314116095586340176798624142302659862502750466885185713558345329587494423119520155768748523899315065055974068985648222119428342615474147283135256401243758550064636421538017531166413116871562188728468738360859433839398957827021540558314976822672146573838523997980655961525683018290782163997478817593748902404773079542422858291491361407128889383687377066561315726544563857986651387027283413993414957073919312004266515865417371418006094515374421601961630108573337990458670706789423710404319201058086005321287281340853361754217166100783699698813231492817402354321760642381337540363179571692537677862488076492167660623349832111885631208613441861254374069918226477300309909928162358175939800657390403791581413374090394032642852714408141971972480647692465739437719864632902217860851994442622146000666858848884634315992153163651388309778025415587792436659853788506565626547491209910220914434215673243945069760544428514311767106659146691663332179638991724599542523916755668563307712941674259030485077918479125633257071534447961841370817674502679597885779793722364494691177551658989947093861743316820819413230986898753925950964726025769906534028340310258473838225914445588170167488208796006900487547139791344826873771956979339464726577831509640279832280871807422714768033156173805831703475436359310416003434465460510265680634630020984587248820507888097511105882418896871900230704957791194558431779303410851792660170058104571630173546098756317744336048182532780652596921958378979773480031595046909226081765478160773223712328728507027113229276359094532262143389862633936024101731482781585713064591821752066763794070275364464076918255483940302040952059060032767147131798418679965780093153445367831938622229058481659258522219252371551848274035948251682852770948519704106752030284721136675552003715292761233697556418550084168837561138146230625651013327481953524519197011498317481140577694052670548891839207755339106753089922094260190630275641429246402305553773208063441598460203892518688009784847629937701512353672181388364780655985469254589869275330164806248769856753226803208480353713725421209576674975980808765179075214265308769154237092576571662342598121223477736198374685123812061370187066147536081001072946124460801240152829117553488463424322840801951220676723079917697256488580362522226976182959086464305628771162936796416891706429371083244654704969456516825709310062478471314895350749407247493612943002391098999044375501217191370415914440188949855900960723528540551186634328316535143086226259505235946839828205840259468618240962010168473517710142920748868366240734529476983510806659705859650323557078988928352542397090465837647663870033811797370196986925260230106857795830845807569781035987571479272082997320768476674130003235230921274730125424393916056399762170658779354580033161227500423373521866429393516352009218046249098159350178917085450781103010199763959703116213917197484863498448163601890191342988949305375846138102215891533656414126646405236806793491911429398073998329455827216672457330570660038413811586925282792684210268606388252941669630817876219344942157169011476580994950201969757203653890034191429225542188575654675534866643546985691041600902532336138177110424185988781077828165303349673234955235988306057309075710965161630992050799862967216791079146234278354286609776438624571765660247851359706883658414093934547283871214170178357108857560253395094997964101070485715552118889717748245662103276027367425720021404975085054756011579415128313100128326283040809086809772316911233455090426570743549687566498914920695586593638595138028977181683437159835086909311528201102230473079574934046370723253248109439366923798332011355869823102005664294274709395219804844398290341014876125654336073621486718724098964518380351462943627800387002913424035961810589528043854832044726962004276205499011531341161273534809777596719916026378608156787344477716664686767227503202585679079683413306842133610832870944430130501322892182984669353610649608627442446401902565139377718717769987928430753754236760873643042311755155916126143378321131108164745691637212774712994213851985529907762961039523381108168153498592964022658052978878761973153716559316908139731276005454141523590153517234556747656612122697900156720610499022638819746044987019510990457900273973775125396351757992371850656748158187342928041824316263049166248437121355521977047990854860968900853008392555245236455346326409044048601095893802912733298621851972033943538972633018908503886121263575663777694461524019643337612859983999841204262124561510437733305639507349237897425985121735775714213900794580274645654752953948308830837349998314269406581024988728819641229288281288349218907776623514473145671807194691999737921763550142368558020705113510136817732461214259615275325813429287600287394586271942358215214878878625705114172072615131932812864656426414220103722184896421533260327815071991491345717029266600917353809084995103610424912865178368162738054096799175416885699204584963282405908073984849503483177812998610160793639545926575166624356273625914243751596032998389814581636090529348529967307599514683090964345788604880716855705111689222314813779558389557641112539586595328928285025092923591787578844450621416300671709035437125123851295718571262700481214555947404989015390026864819692194316953535837203521221725523190972110076930973056877494879937957766479007038636510883878166607072643375979475777292530249359703599684194134153500505761539876220575962250892467001545127611697651954858593016821191981218396731096094098038990308589379417791612228149421863730002711639431664567368233847499417994696998515201899785105071336864184577884791765919771714759045711778775682923433026654688321192830954091413068474672057600046213919681082774151972252646475357356500781252103631660184431956869229921783813597470447739055076762198697849464788458115338894149601828883251884120220855458812829492756306800211122397552736377089201004024633519788106364616790928668401475118955504106248989563988480840994160003565852715966193651018203259175452464000555620394260972209689576415350326480693753848420675475678870205352940697668203027380220132516665658325118122675891386709483966053681805536587271155005219189042106372908078235609310614308226163862793244757531026323687080538632417952342742592910512877548107744451040855332207929012129026477111322170333590624712359367972847651965631782554821228123475296064853703169634422382901201146645320748005331576972799469410790988179414092872537085311703715252242454783326241911625825867605449944815778476183356439514238730417403510201142575263314687155637047831700479131700951576561180653538348017048542106504043747937968911072142747096706579918600323705121440403713459538921824102502142650404299170684697574208030786313954882793806986642619131719121751255855731786867120609393253112907175889539858357758496713103228087818390620525143320792654623823299879666577017719398681904485571882399519235464027045149921550960642899978327878913881653437994380689439842700006591753985308377959122111668424741702061394300217466211468270087745824830261033163021954488098008200505171534154390463722581010976566318411619040595590576471675060169734710916250770786974365727003065177044938144661157721707721592146634483980879171089557464742943419346894275098815797261861145914597223766361743036662935527548415452543811798648573721187743812921170122286323758886245277737403454937080327409858036072283440737677646932038552020469816077263680526231342688127520400217750108325121298145725013191715744729097267279273264807460981444964937584570891350352180909485374160653222021034009400825104921172288642165147478604760598294965150764262704901990261878250428062201944486824405657670092494970881961322532939726917595430827481555885629644682296143880479239784135843719724995682725672809316823617720526345214648437098456969555005163464539726118127263102459832576056833882749199460788689103856833154635705086070434633526345065053458144100504018298500293523528211212962022582235121692528162167142756500435687161861012385380198452355528191968913815026377084213963808670383772470646086866887354071430308343893414657809391428099109330234197824330312431840751791461214138862531394273819745770611923303021170099369121884423016943489921820185136931440958919832708922702491178329434091981787636936127999605190288620424660569764059593783296219591075172584702771159680441880199751095353565444153490107733987076861825145272234914113050629276399027223341527749737478655985198894294162156859628636585359069181779336104435745452682976376125745793906267384261689996945776283048191151146639572534437522568488581451695951607388601140853252983459954651006905106740066312591536199995195694162845650714038085715779090289087558913117825118369630278478661469167965701170664315023720988647785581283389022835634224972808293817869399019555347687199766575155846622981863483901587912372702489671272777389324866499668151140955839823745653016618434034933713354754975801401956444592086861120179351194053197941121379484741516912023661301253993747117942420373874611659388749811917301293098236356982974469177535016420712917309985334591954041021426345707392502983240253618481589705509655447475613724582736493717046044399291459051940971289733536245273343760321705528477669936374784128579537765866053098020930598682330797156407467279334616834743672919624068410900053665012360683649785860862057541656361831620991702653794669624441500588635209457901592388432532125476797584509759114365110418643163113345245107437745048375692011749127524752267135863112836786814333701501517835618016866734316009090029472743998424011700465091571142532669606977329407992125746845065683716314440336746153212017961141796557881551757293976696545405725730996587642504681899183266175884161721693753822870756445829624777240889738781270910364105711387939253314379802466414632880497501905483567059018547194516678559249475058961719427276168101076563908319498252583320489566667649244926490123555944196552486387730338209734559217828308085325306552996955760418223297253039979324714159438516618922509556711390441512625517101943106851728090863496451798832834197209412645815753726655006077552551098487667407133296417417057632837929145802536988504333160071644130332484608139543754181811319132078545705046455537529926779219554163715769821481158866231417338262504396390830413441570616920795862425445001031775940463678851456685288441802020014547219946144266123993005100169728679459662029120524949831529123547006897366370775255052871521092078503408976543237084981447137865809326851876907242833204759101908697069680120109045325842681021960983947052752190603149377954759675605114514163468493030625249130321459854750616352122325168385099559271036895225682695570188602586142555400746279475056937019434962848153113239544565384245689708714468761021302009703388289224648311181385830239200924080062554578312960542812860870283189266147478339056629510355850831964129117081791008393365275172174271174713643643791420332740976440222372526024713267322102491120459258837621483755287298575781378594826051333627362196371048917644803246533346154290172871430355321590838182726377659062762801185706456166468505730054552936360577296533632130473304563846686784399256233541428875262393937731531520929883430969016352127502779567305877871493647772708953848965766637924322933894658368576713721358964]