0
1
mirror of https://git.sb/baoshuo/OI-codes.git synced 2024-11-10 19:38:50 +00:00
OI-codes/S2OJ/1625/data/ggf8.in

2 lines
98 KiB (Stored with Git LFS)
Plaintext

7727989184575808639161018338857215894638111455312987704991895906499240014379570180168049598282179041096536772920206175736629474161797735368494841641465206556847215206538409669117483436672573038894599673794242837001217340757804270447205279430501516757934202988485318334067841984499414199274705318935249983331610179919971591041002824034561096702783903617852147322062822496827157639250763663844975951681534280341323473125082241838842699990578180046023120624234725547382117149391009103263787538534675467675680949483955301843776468354874568066773497330620843726828834055259992129036291562453084998322254644307953933945790474897118990460127568895445203041687486893788668107691928716815817504053205838131137903382848305121050396527255328322073158731181164169173901007146081761494062483511604428323777857445863590332595498454052886754568715936265017785009299238764908459415447022568631825429141516614809847503276057121008360320437198495993789898664155253172298138974182081057663135559151671517669743245421993854317666484531702562550714407839115099542561818149976769104688254330994810565328295399665076987354091555598073900000749123644358219342023849567812273111558232600895812091529569782832185343239513247646901437388427480656002525275237183898473765648717595133254363968773121804091605673082395825624437742651253009563469946293959862786638953491234516477812884665386929145926045860777009012628289681245411791068076897192137433904190665493668509009739520108344371613580470752074340681048936624559617078336531388465743465425402953529092626670519871252917301185774978164730023495351447751239794261885395719233578837961725124386279762957394445869890621027644177078145799938048474469209771184353322303780661256163041621829173745302053376952496333725540070467128609561031994831094746791260787180221264243357449911309004647293117310720289019530028224693895175450104826286341751589961544089199023594335152564771366496718023379713837664849951999334990701858940127288891734258583962010941378617237766210721255034310906929724914549809774115705349040165108628115643851598607281631869934280540273542322522242848808766951231841622710517141557687739355769601331000613426202297428210005366153195503840900798595802703897943789123460600997353908286328343197741265918909659421339334725625452886135359839905483359377861871140598836515871244781176970345619041107638262649204627255593436139890292955279386934273423784228765484934727645327926472202250487748252052389567979499703271015756947226466661823211499069964493696262083807851442874512759591204018361454988204136311140703723513200310741278689032265970109466288144747492340525874720870055489362749588040354734995918824172417671961392354267600053744412704227615848048144939779754881825736692933408180000270311778716764183102671605528469783514732115281903441322053700212605171813939918107718637537195961296686462184773398022114066272120220614604717389336738002116619030990880204586775614497350700509092070102043577632479362744875701686058795893952785877441953740767895292504812914247309903218850530488272975253737778203412157113131942978515154460643860058862003631620381938773782754571585906927587789245597279575251958959736127375321135060856435943445711274047270627342957779201741813042686406404688743570665420628738329684084105933733368681949921834582335833416668612343418700479322785771790357832906152653171625839462898401923150824284895627918152654768122508071178227649627844620789444862104427786567906419630243687777143944995740703736435489834478985261858607150223430265090011164069510151991107470706298707997050995000766006060640864857161103868926885502780937817761333634028809288384145463403893162660642974270456603911246835151490299244521728621414954462121747200302715322538946972570687822672449968916045747806976462778443296558339938252300830470291143460274773138773428554620767582090890386194823695728552483565145772119764131268327279515513444235174641902357360153726689834291032613632515272020880144724801198736695279675748480339022398208308059149961554334489765751987308660147399057322043345431835852531651256434925746799285784549020672245258813177569039775466861310606125811323295239236401745801984701733121514587671020333597452074234306260607543673488577692148573565719878700485641546160405713591726361536062647516371270885802949532744124144725332061991771593246009767408820979467920503116384832791735878611222246404791384299135409543551885027756997672728046391431327164181487053322674589060494637133780029739321705018370480176730149128289692483053086392819918735287949639085384798814117117201636678139413808351745698843746898016435793320048917994737745641426544622832546085266314691480647531019686944973672977853948575531596269628099589509959618522472617768278079992031765144002634059938805079306035874801266491016274999077275553381647970772660321334002333997749654403167552846852183496578474519253853273923075206076657494938894274363391377116554031175613513478881664664771838788048008928822216056445433217929109153445462540646702512880711180289776516975443029990787158454873909603933432779080402404367573524418992212576878085358616113002136180504704670401050835482958955752118979054596317842657227691075450797763790803166503786634681002892605988219893271615985487415324451633974137063759062934228967888032834930694121810781949597878544611132137920373868115234090847824568858392815306104871821809896386324208053962333787981249049292312268034558197841104860717346717509070008017519852690889771063073562432687712173170928462418337307260054337825160649269020558687107531541566213419445213398726951779595517868766334194833178195997330416705999958837079810039674168612306777369389857944940718575775246971880221945715761420509452880248945133643177146211958389690550547255510152261844961086977910100729668413205623557330848921072218565321139570633211051963774391894078719512150894051492789993613423779021757188036309716698984902574747172694240562305416893843812139825270103237310987298694951085347534415339015273403560654882164356194203600832824307306489304922826768478396826782809287746325457658812999836491948464469296248712881324941959610341146526816462466186856959114526287891036583684678951716699717423346269806894333249225182999064668920753273816884735616847126493604448862176025674482422715853086545954442951888771166184444829595161961681150402984391220764586216597675675362140069361494279932746314659326503650560141227545602730708866402999020909673504074096866491349721953063835410673123957385181126120033964234415439412006834454002501975804548368376882872538747265257988274253218163836501541060377802095500298985860401664002475245525388824274096384349465539018862662379497373507896117435158193721052257719152714307272793705088559215939155149337846606808236038838267206705034232004119525360277812546909064895702798862585974471165464314852877318794855508815157057466336070730303013434967443430225230992942238953127652725160359819465052728543520812922134138712786771597627981704535082454950124007007216268458057760979423584590003571387846043056356203688342044265843206898538180143989033072187548004363852254705758193302894542516964195851962417373473432820605245208954675711323106696519133966358997271311041961117590778924001135594115434687133893394718041076007490699965499626543043166395875057044828231619821697686857795495258491912158585113412577469425226998233697290027750064612459786821821417897864018216159835342503542928741580575556334039420469060591274299325944845408482405987257193148856387150617884525099556889625533914128520776149751111709935001868850831554057810314916793512219246164383588856670559489372791899057538191395506920237462624237258212039734102845646832672588622174125146168717328027858472436685883598430819302878708453728912113021361189516730286419637699560948297246199092366401276572389572394257137633949165270443103728093815665370324480173941498066009229154701169608129796576775646685073275818943605470773636221930967575284561260116849928342731064050753654292166892645762302027980798369234662774782600300792193011594325934913944079250346658603476173660466144392006220442514267673720995252956933279933941054073282359404121749426864566632948984534955515533334950629404135344423875933197038652962512935452931627116716158807530768513090106274287423383730613751530482554169177237950875881891481558552914860824583989106575578002134256109560644533263602985024057934899373357136040176630374903601995660997876562888330493565114514300034037118629382568517295168820209112521238686825464280492671923411416187235952663717418788073417771370093933973041012100689813253535972563808462215180691687166881675316036744943802042117058497346126327591791980110999334433494710140712191698301764270278069893677332314597089514509211314790500518130485201898309660805840067625201995632327159414304311658610180871458167288735608071797087891345273052605988109788649603252960327467206892915532773241713773587958466404968799214287562327005552987736299504529608779362564144220299633821156076191481385186301667974400211108688837731316440177909118377330474453048477996595564561594776999814250245067152323576833105123287118747173348289648321161377448272724247285901014396884818000486177063381342941987632903149598863900016569858901325287729530784127222685230546702011179601278357616566402493523035724475264812318703340825317535178064097229562159753084447262123788141465902499575847968266349363809747408466679687208748683682871269551504995940396231745760231045516243965918468054183729989545052076633055935157198561657949695606659624573490730149222811418775916931168979145401907702852955768676267448812791700776326182967060094798466878279292732250154696227394042572440717518905578348003928555670820700234029273491691143545595638764044114768023688910522555361675846903169287846583273782570740768108265403264339755769887729425906086266508503210924945052293872160541242623619503952932460224340366577959598956090092876777506357888093881580004587281693877675051107002534164427641844542144901810943410971414875938849251255510833568398900650174334967690210882803040703104590430946729464244018802595224253325070965234288446353883123490990154857132904331355515871685685943859541699633269262468982419377339406852168186452928608077927261215943563728870498771805328414731925928630170820887412258755754649529718537390293543804300705837699413523470521520745245216665962589227615043996445980926932352974107591234400553514736496058079299746222123592250474843612684304634605091910995284548073543842877286332845213598621167531519812075773192313242274088916633273285702483233474411139740768712763438811694184141011112019477396811793674990613986178036508595366711588047574025945042702330159430831165473425342319178439645303616667203651175534389033577746798716460858023859798181785669966804437520605405348737633087253172122288060281441391707354536919523630456136665718947079784768909476131930963166867306776950515827324279297072456593842304189587673223456631065584956377985401252360581018501466554367967581659122388904714429348604293512859978160909493899056677726713877570987648069210393796573476628049884653706813037668925784968133695951987024259240890768889424457601815590015996712076680048126487928039742419749539389415945314868707951954441877405741199197558126779032661164042304023411939135315543737049612390544802343518885256958999299325524624673990024661079746744920502565625709812657020277752008680999430477133049948504190469364705161654411227587592792293214021815404990980266430950436500375055176453782948729977797349719535365090349624110636272986015787670375504375584653790083619690615936069200556663206061746272558156200856992652545480006138166128145246370373001428968394235076134523543012409359137513716969918944847972237926367879433495732033445922782991168643711869421132314257850092515980562566432171959366865913673133147136691464223805114803540728576597074032654729421010739445626849075720186503731235376366941241137375095371979427408908573018480416249442238757645129416062841625985173559315183542195600423757295703830060950292506779197484338106025259552392655795494869821051575535328957065434084413496092396511024275743181817336008478399156495370379928975451287320973489393089341344193483668458800222989246785172019689934397624601561477911962019564276476090343365657674969532532630292999513167339098848288567233679355732412404372303254318478351634099215561878541410914340627518164669122106790714029280340238528234786884559556864370031330695741046748151980474265525975350519836161641929701207011207501866280646469787689195910313072541874660331768863586321835090624742334259101052300254343951800770630675181238260945241183524244388353074547484492039435192963531862231653196564496034239882858838409463276318308476187925028414847057413840344733391726649939153153705614466833974925441731721361924506560019369373711784058815933656580499609876428370700367191956734885970786910717435742957750640936031565687852561600006357430438155639569175038873118664160037823772439971519333504420769043810994244874464893136525694032981939709832128101093820543008229863505724206007520123098137842216817271413808815111579588950917243715947393065734027560050492908584012238579099481522771599315673474434756431676956924984940550681934814652388010423097104095162841571335785444733469199264000753957515053445885207010597559017753147572827509972057422201384642333293824271379901808223894831524466651412374851629045936913896232706350322578715471744051510582285025747130598233818394581824399342593026745392266490095732822770871579482165007000635901361690623110478745687627752162572167911532522257567253033111627350686543999239574392001632803529279912643073109355740732773001201083336083782271598867603828298753796600485318466426273205557099810028988048569163259355233443112911441210107418796981259158275020150928883506616945196435426933847283120769130639035829097238700161437314747139495837878957090091244188029186156488575901109105460238556216850479136441283421082042081934549949850596279337647829531744958875999309540567850546005679520937125265929639181377461172028729506024382968435547466563414501179608706072626361905554787309861926066212883995546133161827296471281153259055784029236904973724568550059139672027967677853235070110331804299000311100317520951331723029653636150307264578687406658632663562960600105760507634614040425138694528982417560193359441409633729607907255810334976626832627722608711766841801493803606598031293728144855947212171243981833900371051642033160120419203407378353881749692781350671452009404721767608279872649803103411583953383707349509440820864147374249578918574435535940411269637578761847384907371318950538863684401271936158697658440691716020620832707559857403445098083550768858211886418341610931552329681123820544374825986388502896433466095504540497785021397871650286261129810347957598476422759641804968110409082924723252814912696577845983749822158265968776608969522432457532240734008318449853920287093906772781194788797182330990201306467992553484182941481515779309148410108277983062658172507222948099805200445050894112768880780094372705230304571235042121471028789894501665166600631023039772757138643666361053793088134366521492334859507970433583357518947317502297141451354589059827720955732104312655824127366902812836724097254148055557523656928667157821176739085341402680008280046578600143728333631308164851236330551894133184821285228833954130795960652560730626083299185992796388694302056265684420106646062528032696455548477953240090081634257044765683509887082416086817206456242933835048206402660373911822851613344282723540229460043840793119424099366904782669321114385153059752376205195910203039303017305772465128885690956804971776640246750059159970611340712813544158508561113839566144762272722045822604407591255162186772135404433479150489615618436222582509823899563416619992372687214490557655160881899127929448698180263791276672517219165758362214970854111586942092191027089799361048054868382401547244023543158755151673389550059875398772789663340368531733528400179619555765848894981279500439460187353469835974998845168866036440613186923038259300556874690122351522498442729935715752883084847084786143233830654404879325898197521991647845032083429319534670586575477998088774080965607611458309464915071090869451321141903073248666036773452359797950554670490541931877499078790534989813796201242742612380395363924270450943033610239241217091448983742489014286239472377284998984816699671056210887318427071930458691550336014223500630517715852765861543341750947951645151846228352385818945807847059964378715534114927512568965927991081258686805838225547536442099166977769411549916798439835856521664721618574851344093656045860747314793211306468088299799000402104945148022001555414468910069829235688621084909788988851350748077723487898436507408624751213446471324740345794167975922222559078024532028542617154284815764446936409567050393384052524322071408196870336937559078467227446744100844228881659853088431650179649470627726726988115590105824981394556544700605847093371434682633162774603413825526347554989646992859092616430887038035882800278723111165002889451625227856458670758513701560423193353343738559648318772111504474995337346669149125862774467473067503459924974293055676934949598373404673063464379562400500393493622170364153922108499405616645487009824263923966623089429491639563054865885887990603949876229048655652243950894308384753327152368342847256181715174750727541552504189199483418401448386673159256736989311947124830747505155224919048045481145198705909336982496991442977491400238501142692213133902567329948521512802829778958723824102622530629646977132807481241664521354540877863491239491536692227517049554396594128868899516960809816471354631458667743095696860704250914368938393490085747956132081333581168587526762174660655209640685034865552557394030882739855288260473052644491311468325593116050768628258916297627836737646871143996902503400286448703427797009580034980689405607568087215642641059581379045748968950621204618001987090469004804343898594850830255644340789674106798758694683493285962547113152108857494166368813312399482900506309210011228733689867387185061144053667726202000180846498336516684410793520267626898630168485163984584882730531574471350677213775238747634149351173508392879018627623546190588150412864380776975049002069922195702369744612238143114684868013640834866107677817896265485787280212599970811118208862744064393061652386595034714734417741197500604293511098488650920544512758418627827466840491969080794820756103370759404854490821682919624716994399960783508652572843602481125336973850949269512154021933673320905191742406097839544550107158154505223181568703643378419849178642355379117710363923340423030345623936867286363662224525347563988421679186779365668400427279246289047765713664358692661198240730778144330052853814149393150578512466441315070516771978271464371716313872369856695479609357035945318985629533490562321703520897082202579067500308660361587265633607498587099259921416363522944778984686136760509321641255056874712806825302930698834252491006204643749324670560727339211057251641326567240646359351442756877689819438322146956126233343293325858749847859383334106556275007213148984864298299170654260543025486355588404414313228107981513048177340044499644101899924765918663084478894186442679812763094560439160201759077012317553334942615249423852406351073317746882388954850903833031209237779688161777994267627604958124483388742979387614517038951308618997640164640321250485042281293164520323997395776281008497024559171250056092078911703277987245646306919515069163393068868017385660208305792765687623714480563067432953776958970931850126902439631245385452749728393933094270797297667394062852710607918173479675399568557424844946342516442717517160942020168388410517499982744947268339608089301155742342468390441377342982965187138495125485442607064016511694778128233010811494815464216956976684870841567570870878000741820472018817571134048246535955638471346065004925688712178531105538246995085421835326852927980693107135255685323211871790572277564298478531183534426411584717816244607721524690834091108360106641135023292420682800258202787670758896875189969036279687053647055369050661171196704511482375782970278735776261553128303050840748475667613765129860496605056432525326211475011799254705268309966489099907096758567780165288613495896751125481916342439269374851026067708279800828264292702609965829327940099751416823895743837059715891155723940903651690593201647854859957211796154398159146553916815720976220484276789288691857856143997775785472637311651205641125661908834780147924458865424436432981691823998574881875420961657437768936009116636978295449353554532602752226752598811208790934403491790865414263747481631556312619750154338100566929634389585638911343500099047583561626010330931023211006328443516086186677227540878233726416400345152864541372179822334023075262051203738108543785868465086404780734317706083400692262381697809280098735479109008553429129296533412631787622616080047146834580045827222848839435803767536097934381592788269098757545855681627465633991454596106876782050690685857383994204654109550538187717106678008444959437032825136060374293464072701109760827273813602337805161743185120720976559307263302494306180115362906017894784566387847156411683214283848927988377853882384513571121774184470519668691376569082022200502095333304002915938005312682065811791023348894910877256120550865777998769895781601224935531569570442984505265705787151659672461724652060560065464995091030114026155041282030211504162089560986877712070821283183856907378156866603401582500025004327052641138542692297394148267367232378196406130841026186716870172693434152427210581656392622671845227928940728227438665932760003637592487346697115823190917499905889064997517277587205289862208368562370224439301628139017421350759146520680056654107598330606553245270098626807730276974355847233420710673356504505470134834998972852923811048352393732434374583039444510994664503468767626056211694372278762999744847939596072285508623541531459915119414574839115668048768962589527356732884419432151867525537037838917988790048292212163742798556380126386332311502265501017392518683951992558816823869464734358602059823996075318715584873645331254061500534417413711632808898306724452251280415048303543491723402158527883825425670005267967392384474191237573214692396895077859415729780025067883496743412329553556264575983078981950141132197790422820159637656556104736492410252483311488645670187604205835445772633265072330966889436281304334293927289097371268930526929650290843202130129719584930146751323970195212796399227694737202943608054373159214814351260470050513597365598279524674407055270013930341154563455457244798551945661082802971672996092087751986291554569334967413015555853610732776232538853707267677914762927340693609661291166214655523440755426402853404525158078048438034227515161815367894314271694268535805495389561603673834081513754438191548991272216090425777936227543924991009908996341189737136755434419054911918343821135720078767738057543478671791108280745237448711846644285399025007383060515069242890150782369286409497366224059267438736195074116776968260967484090181261525076139892878412171046416372844114906315173582925431398942173070620253101924981961127799817246973249722175702828822989733120812857892598860927329610875742601239298442339314187283215921161339024226371337997070158462223206146311603056115368072131364970061194141102108793197786573804475761297030400190699515892727747528907934958674864977924639597673921564384427588002633680941709104240619013740004717387328570522335483876685791919554873884942917696874287778192818964784491095285802302195850879191994645678912095100427841945745444612298926838780085896837654802719403851113069414992608347349268089669142188808549690222143866723737692194411205970156570132986155373232791074008704950680963231811278509866531872997999218729872085433255962650148604812494528517880186880456531713447260435411822648740223918112477646652317747113984634396682772651109019778784505276241529425873439663746960515806250774248991523594502956887691707160341738593310664632987330096405951144785734540562637493750825396232924745686751494224261598401228644100140343262303014540894128580763282471078950728383314836352126645296650856513572952336762350072675877643118001492665183477798620164309337029547516428427798140702319639628443015314689985817609677223915846091141958665386617304772608938656947880377694680479963190028363235158794103330097047151925185656504931813870491032793257149804911384721555945858435264313488071492155201609982818920049543633224375175274774377916453246105811246768212347149708954171800516018708620292655433460394150234448648023050767194007929262274019706376246362693541221604738105163478390136755096984000903186683374201431351761902350945934699611564217178252626809569879106802798481263687286549257561518294186718479687075752479804307680845248348160273895980995835677432782561783971525702588133395125645740278472874132642142777634225386085121003241535244258295852975049602720043575108994555432033301797367552714322805640994660805530361496506258645803773620067424399844795287533218245372616265228580421818692819261769159118408565325771601881878419064727938603747372851016644732086320742472414517536988285928549605301478913658563017790907656588609509074708914281535445870555938236329592588631532470725712754114088017242320556237116107459921842070568840766859457537477986030103664468080786777319181228313831990361498417429484488971339226048997630756285191983499360452573949492043400370325882495716668234497032690953542015157105526087878465893731359551004431181392089863981540804719761094242652958071557687871665744454525398552111489335460731216956344926222900159339716927306349665925976170572234907191115630705344883289037813432577251078544918323693535905893332237425182771517933400621793275774803281522819396481262536617296185988623954823133033610702794857777486789187641983739732114059027561044030096984832355275268126513007041836141991114716348053071008691307263884764766270773073926913592671050918087970961388783607906807312217449085703210087000829412450684227995855099810069437529093892291995150522665738394031767283201235100161763561467695691132311476024835703629295491144590112836254104100245527429910515292725849435396032772965183582587177810653556012648868412420837173469817217963080698935615080869644643667481320084363592256628180211074216570675819908810454410287764373205741330355560488652948224664075205637384098811457720982159930512615057353953691116059239300268282504045766849655503865532772257735770884710343802162259404780760077877861725973338551062561768387245054806006858238954084913940989854490452667319259571257460940461768530400532832641900534568088134896514712597027642979262630167093352883848024578152659673375244336226766646363170539267904040076203297368482262635340444223739357990875209190595727266210562206653738109942173165281095739002428576014938478742139721870301804501166782993338671676164583877216129552119791186664939851708227876537914469084814286235370133680204110715181482057984379781256571622587756457441919850511791655715819244756129842494658166365004312175765940096436802611913435272302948511413863634650032198543755079633531598055096401716307465650231518549260932497767840906817681793770433234869860971300718988212532691282590883612515241418446301156552880232695708059578465662221608191862540695541786941945256822950600431985742608565313135434241241864404282806914994953164206545812046542799206080335525121686318648123245559695429897488760986214002643686044026379142451716155489301100954613952183599378830120746159062724110167515571598639021398401344729037844853481427118669057834656159394727416549925054782837880516412498561163494802732115256811950632814735023336937498299285722029914200236930401457643169765729329892301766494949758281529043264489231367959410856566133370286450081180621225990987875816371004820043065428365379076917955007421163257489649578395172211204642895594740229341582721535353243163863179842854443206112732557900522105014262603042803232559354963926590262955757071556544752738889148532298620456911285201735741295112922636772105836135706597421092199830650760962730573208470784887975863429539284490106095469394191644623143265696239526121119759696140128498479294484845294101842643782373479137616207096500441509806383968372112839457572112341393430694960987832764564928403450756978942347815693964383555879763375794459894455007666054935016717243129290976287209212262192100530594338497495840263538591397525192980583986642521944755361670404470684756408099131175703285640426428942969103101323338426177204651483504342067267643082962441704221025679599289091356546362405409327348361105446909435733062426082451508520991415724510002402532127518591155266003016594208531097381562951324862846817446077498097797498586211738355709252841042679861838410256791183458372254342120614721670643409027885479988450800584892842463511671918605513421709717113838279315011569194928369771325175006348171851831558277370457047421348852323364352138256973593214011252280335547555296033171833806133975659864807771967432025334882842814610644853690509133271890824313755000739439379646113362621224209818242062530303550147969601105388330014057647608142589488551457909873293950027279937798403768339754761628686470308396595852475809302618449005943476127880385552595549718746439777873076465622246136721194110069970653793573933266205724965606009888243279012323087089152321395787394116669895961856164955461130596767501599299027479142448700421954952546321781152931334923989292808753765129377783906656660724463185895988891463421775602454540882832997249278387570348700268940606989169471322545618096548430896274925392264589689304830939760972427995398254199059558906620636550594433746676249883128803903771474554810109208792860591028046515570890521572706047493414236444352324642245779601302730095242384256526164761454993481053310041292208289826413539052955624146962600349055609790845115269717533222818840276542309843359090065586507962014491315291791460746499114253986871884677227948662586209868437844023607853684847246962841189951585726703537574520167865639125234627013259613328680548136541322834512324279210706111501312314430051449440509065701267462620723538705398779350669882962559949901382520502940628277117074529863019212724948740526859933308032648387663347211228682495483625082034462228202345624871328716842801143097021442738395943456019090142485061986724991496158204165744177812657751846266169577651675540705917638322351206508442921186719919385847556689611018800504134696309438177366403861129538147244045726708883266278512127937101549025373568112377696574814835234396950280840064853281869362457373238697947172901697449184758171405810049802288755296147978104241642385641970770417669831285631142022163202555353289043996491105558820127803350233985675603787067620825166851952130692612021974672470781098934567868621457710763463039915071143174956916973692662691035795327054178815951281175570322313716177402606513147991420737834064840013124293189204269892804593197789587322290822765249141961642519644538850166145593840703287894626375102450955679857603815507486749726551978600505704568721993307128001148079840222172795566356033983142612806614777883318011847639654275444955825449509287204287323485813649272575986955598272778317015309084524125745520649641687559661746791133916838333061728726037104720764908160781874677674858567765358372333084022326401647408165588100861339624592885786304275244957307110495690511508680440277419261087558145576198807454327249711367163239621506579683395376890303258190102797885539161619903573837024962441859062852503722860348147381165344935485750688462079236970037998613299630571675792902858871073202133067437241509591727579459666973128019842551112323592493692139453370454769847789355649980545283665524926679018312841761242785919191347021955627101820537928389989551798288787860387824125854417605479924059157957992062748131246739203420993766776782051937604697616260255703655184985166934144781171968357619141842076239459531181823592677748159389313839096130142179329145902163950022751432119349800287556925454667180729655308518050645108980080465473929567992666267723833082428809537037440838219814658053057510027875478173817077792109287936478888227363740115406715444058582195096635980001542596808686681687529840327552754722329327470013678064301383932270413265984273409944999696303253647883594186247345821909696902915230594990717768460925765021441910256016743542609940146189390649910976087465068083083258910840501924882926341303939222926065225568439516765894046570300064355478964278824731353865363377666504607913326527871140980011789930412228582607591971689506619162828446893684477858933681347471326812355918381461070855013524238763338225124108203696961159557741494702338272409645386482810648780572128252655106371673923994574581001762096463402360902398876153615528523235909228223433034223389533912635160327973678907818466287615438528004817593164013896110699828023198819223913496413095123553185674774502918703686397989432174573007561318381013307351150157647005715742748031671034284894712315003878411494119874604826787260200813194096541544994229257935475628015614219744073442519107568641989810211083439934404174151263498778797341875187112858950011731654911757929515717456669946510961659344953937124950185828971309118739566664269195500837019782672241175660678965474025017786622491635297070631608314978853105509850573227638290924981800348983544520691971366935829824571544469477552749899399922719348712673491020532014119575804453438511757170501624603193709845435199932456264343157627409122055853481113043736181464418487790223111094636581692015221302113141543205020765919333961167825672977107468015109767610394186650815425408459664468291930301415204705119420901824029468852473400639802954379880248672036086017335354552961107393181067666128886442971510225886204379847762400171380716561546252865882369272373617921685366507695030475627238752619892839881849481257560756539889297172845570525291498808307482807950422196653243256079177726490727615135856701425252657527310134459306760684830150625099155627770440641487709109188751131542254619058628743433974356291461088362567066412211037986386483277165198148884137310211280561686558296014226288203217145325407504838187585672463861311726210284628708793249879472030163541734758385443174924337118729722863675726997323340255600788080314458475347123658916546019572582409810018820570671504126242004565932569360096379480641735494362457439472673905385057651748305800968828508273023587548866526755276210520356278395175659470739111547316126848697362072138047333172050140134010596439727136918834355618264791644572352073115025145021420571012957851810490013757669422420324648682229089611164142500683619579466858802084259529598408729076013903971502877104031340461874034921472571152752602681751003471781875531685464056845926447108466008782169996370747492985452695425258031475207980947670063559058692254402891751997774936172588471856902392251642305471491233037271079883800860355224480908673113101692280571806439396418714026517020553791008937996092972918412593793068160543979767591717562248020488595039861665744603097812929377495051504296221538674599186798235116664126824712822154537503907331308893635392945001929228872794012461255828833012069012485947857259117168435471810322383017736526374710314119621789582639557553146891753254400010542285356032027534476271196422906600320494297946279616888070815114768733147711776919406958902071744027762333198062075418001605402035226369916749145053112155345666529782979848042472672890836638154997098999443903089952899958777547970846291976019068320805723873919606775455613222866632871834116749631851438720623402195346693976416276323713688713615145852963908127397645036450920837297568672637326805368173331803144480916818089534483632752639131107285491798072458130263302233802746633351731259828288434683615020014403119122348882511179818614181824937577264426936993333023492120004585444699878104843342967798507372982823107168989119857338145011013645690112378929116949909059770964814356163294023996731674589673829144595635216878281893114714109656547542042473761793407964833750199636100795638899115554006754577136173905509683482938323196858533675874688976519503523480683949903090650761348356737081873190431807207055947140820940428068406437646271257537386477366473615702725771457052391164883314313459026642430297494987188009125071371142369467048608631335727872263260407452414427277108411779019923189307023308162041034883667084066323778800270987976069161892614125960494818635926628277933061660944706861955521235692025696717516143578789001454689796440665037183576565605122471482139178016646143160327357191851996133958943622767999699022311261750562608156574494367433075619305647160120590587113310707532841035249541390749494208341458278119837596012639161526884731642102982139454861791313943311254281289576105267612451416938351555202030006935150538835118469737247919897489770163162377922089110056809002986961722231906048940034935374849402002016010861811670807349089941212535486187781540330534735035557610605567464739216297441776192854629929518223368578764501392986660479281617434752517164334080977581146357876591562359719419274066558623221007432004797766415732516761375519529032115235652389653183919911212290256403494770165559284884748270869058466908703633325181763858745708072639012551059417616866139857965460905838842378080909524704101126081949934731389995850638791291098450674232477376809484796286248140684266019924036321184719051310820288942518932415106643054268520718156290973139033628576619663811416472622743126290618900282614902515536698060695037235357140711697095447914880469805266603512277351279434507451679185700454626196833467146809194951928832797889290638248692763747739178988990550872831709922746499249587768114880799156382223767354062008287985084130332455171037305902232782384738125897511234434952953897847011214530181884322049651895586897228023032770228254077334240934118698193194389777590230230998691508502646188108511164317685065054633453604199031839440951424152837965210739656208047512902434663565985663242742282705019663096382604742159442496539585950861227031219326792435562781364984559091357811654099629247662591375134103007053792403555115534257848606621282428637044912323952981089093185076912651879823710239781265344779467539756942167664245200938865402625838017748778416164387062954752808686790106220741097645489272846343900262885832632502509414977638116324467201733243519488281903097556979346492560663870706993557084925563846602003420268067245384248588038227663208334820776153293590035250170513550331709785650547283929544583415955788286930296996204471559741610065036556857740620846127482595272741062340561712580019965380212442755156525978671314662768217378446090113308214411479793151638794456715386263656770536617843310892880629472962934457185179596131969752922616094725204561861535935700842338584147333652253686205843042091780621603680106404507000487538281044795088695387322430784925767174190906836478508833904781088491865708365131182627011805964936366329607817997456729943461504260784301804444297002383182918804784629231349758368686660236561788295441277901706784454309698768057175679222614780915837989886696037115534382694444959775174407010624578639529534511105613584426898131443324227102451067313834160702186860928768366692137264778406059055836946113894858799539642918751239926370288675475634330050472637075708417758233652893701958131278135284589647596333965562366076675860965940688995346233389189293121174593021060218210999855228758989826569302390878338666528673349989426454438544359857339865684474470456574266816357494135455822410428839138402879876840717368863016520488755701088085518452550947880496553170139135129473759644087075912342770386063676277747673615983992590535911185357074147960908257405215991645221475883651561251003308581282633216346492635586938681882269896872157783486812814611991620243994270670499667085132528740026105537007423188809750991624435959133902377354606661478581379988424371450698575363284185656932316167885907892934040741237466440873140068404908776458745220265093242855982279013273808571700333398615581110962525249929986857396031965931777806667032041299941542166877111524484052892671922554855292365175375737840919208482603237791703042601484515574099407155893797840794281647417046708339105445586190543475182177355088509405633849071710977410277441926541191471330820584224144101396717367694387630491618774290777927860020526414819946159505138709108388197695590136611053267005284213444445067624053380377578099411494533989684327284290577875078904748297099162977934686191357532833834526382576109878142760254206911063859384879137780649272557928507901695926119640023272358860360989036542747614860113664188944662972972690981503380979224186246118240871398015094283385616678593708528581976525034480167567752364994308125011620560323535305191137603911114385981034829422212721404225107218771137620124546625516521236328819687834337581136193005868437505347053059913287074541154583902198752863853665448796643592296488298935104309408342483700703071633522193962047282318699068952851754094742228902240362356741871633371053438431339777388374012765782651119388282019503982503480061905490978571055852093439492290283711992343038082352589222748507792496074885373909295523983521913086248021919729023561884599439072260410638859626271972166691501297901189150209637460323450583876617806370448831596996536375089334653994240380572699278262665179053890610939910598647726284662303812123410395070603934311689666546752792190489723667851062386440831839147659382640040163542431458245166316104489591640030041155389489445182876126360025558402802456840140575912020815628081010302940304809272741138351421519361606539615819099794558750015571562766636319289709275560119350188447910420673194775810847103215180687560090365508020781627099341549033185298350882218270174540468518878041476216402335285941630256987745141254363634273256607327867953572984227027184205553124207058773719810964219161103453512052589561857613438034215368464285947136039173647918994207834330803768638671672823350559380836567522757141330238974944692867272169971551585082289598510997036821472967194841427490181780872760090562611828617708380291733408695287317562929996139697498117689823603786805232496747304270431871103802596677808340300582363176396723942365843323361986329569566433023844254433081805410393072020571297618036407061985356592283548053101509745715318155802589034853069063610787696971357294555819140015625258233058890015917076653093859111099995240824540652312700379225113474332772694351210889130858565209690218018812647130090425835441322798805827378115950941887209799977838059192781562554143754234062045633804499702826863003692291347243314532248405759946705069212561163673613294780217340071888540530761468738333046594748334044878447175111670357231362455843248598183591824967087814658210903764573385186056601838089618448719074298253452186639939494074394716866491496622069894592338874335948607654909497462892172493803101785056698139588282599337271780612113793634076237726328469196246123244547511420354422847447209883887445398060533172178770354380636908509223238879951024435399904413455803851244106000717578197852039567338418764886038178250037690135108922824966186649545920789205162989915296321928121616351790710993068460119025665387801963555775584732463308161522226288739902890432188096345882323113417759519443873921466453050418775194498297768857958043719085359228569466726795514631426616566394849142258301574263521152347223546343364742244327459734631424801863236707545418603315613091196152052091746346728401769954398400813554664492544247615802571005064346265472489165629646469371610709167145287658751213354913912996018695391783566049552214651042129735587603790329435169511768137833816987094391467254314694451049017254355748066412225639114271404518839924559075891135521597599428147394447213650870375844246888729602391202399488629457525985746830441312990530675671778500369247271421431541018115414815897268848309528147879312958348723608997661243126680503451185355553510470884482180531802980657661959384720805005040864654241749229487209545013458650586402124494453270031725461155262615042195783850280927337115951583572511496565738479905872000763893409977107658350131682406217294059111066549074405686365458833934484160226827226766463552669712602333886874794738497680879395935663632863641126319358662342855653537623036702555609212569081330315094194302539162587615327077962704352072289635773108643621094494343115989594183733193005627957742966339376934840304827709746945598707944452080375890628204669321984955311019863806391304235726504101037461757812068553630240802825169814206560936831345299796279668024505771317111978288955412299164627333130405287877248040474910376562885502828488746708927793917700683252976079893197990359454232619035944766284545262027762831468162629916095408412791116074038444355293205268434132870064045601738915198411150081969712642375766046516895621353323754503719781285538616078690839054972707828231824908262842216731431644792341234593552121636523550444405099838343168239821814164611261770817250553368153060193644707864301539470042037762022839314229866520613364451758132752201121891171557598546203854701328730485557275273239874057619141834396092789926708403455885244437583800873832455605569427418998999980211228028068554527733831005526959423469827357272948188638312394686764821627621310869008174907753174444637725329406882974696928766857935992026841453794404028969615551115387509967928293482594707036070003677096604624945577162467525681589069562675456232829785423578441866270090313271740484980947778412319158767943749724556761506880056739545468753206477066905536021862618912129029227606269764465186237521704720997043513842372675931095307316516704764731297230072800120638964055060270886374977048671024109008229045695147929397107940926102592421991251234359633193342645405415614617793005471984391979563361920677517313812081098509865118404070260901582780179813704369965027560982056926518138849322796616102328537182963269013226958179210313355234747998906388968243909004960386006325256180888883771274591774133798573505443117704392700402584339139755876047759496174540801877795514400766421388260857893040522137038933473533479394179394368337542645448027395272654298766924308061786810790611521508178830656864293078562422422699529889380130228938634578255119058050452544668880576279307636893200612914607683128016225982748507038213177660381814294177655737940716354039248233135548438353593021991929769971533068202056736421962832627140019731241927207203970435680090745049770368014012458432752886415760522080544945415201618234427314342551611232047832997429227287186471889046211761940945312547350820904199482117956917858273719960729123817371293246317388760882526051098676065796400466236554306587204294400565002829038788296681070638295158612575536611691263345144822305868777979433546037112187263959144361125252479539066596488115916378826640566135366248917885873969159017870649896492219394180457022131805609888193338545675908727367242507537764655432644423900041126912307860559601225313026119163028026268612477138416495925908155576819668893283925758022498712067662159775509383459327580218194499532047025044972901649701309727028638350182329928414702264238607536153334288403893054149400337149633946928489372982937554418733032951448939059155976252461450862267093739562322969640365887747714256408818496558413125196546854802255022827031864258592019342907177558862582875283058319996145184821041196766463639439884216558484589191691200379531552996011199770443233377662848396225425450988539215261217925904514004599975896213007420741241966218113336704462240050578487495710466571051149499926415406642098910252983038570722960999533006682962383884840836747894035301236453856967671453887944459461186859571970117489842255531934724513926137099579441821773033806587071154733421326773832723270420211670591557893356617852368021616026043789262477200064008671025510389748857849997240342851839148165007029795697730448708986651920451026124645515152554489986480333967801311128453772169970468738742930252260269966794702097665690847279481532524094653957235007400872761207640723110001771509150981719019762693766357733296905525452710322620096802892704761017727217146834719497534268518083398526398381499346235856327327789477210977253754032574211942563356187071084847485636127087600511797148197688580764822684123054360049438676594637840794797606780741857141330034526893219754770261487009024194556210749370782508991754237970722404909889096018605000604757779409112345823353633577583855247420624523569632388146290830562484228367672458947394826281582406484399160367727114172464799545038686322423649897194753120721759010689213796578249171990465955096302755932951411405767375040567850093550986029209228000925362305267830175559516092783829216545883135709773575567626906207989747496509158318764712368655513488406618485777681829069283983952199403520278843227178093408247457452142356718021012837682555127178250276817049745195175213516728410848131263398874036267443974234465503250350387590511908457278924966539413480221961051411137508963616039698059061833170361234806983690241855271132327741185379122126433181726654215477982263805950295862234678872271357123643142329649652385578853227031374872146221672177190117284648019288898265324705688437709633756614162114199678944668742433902130964392432123484867441108726221875363288172587983438730567381877681604522059207156529540368251983427784884050750789301717728037945422349309727636009856188343216451089060914103061927300705648300098794052396668184533817147426076802662158873649238057929337528301606760630295928079874654196154683902339460325744903320288904502497160531043518423866463359246190927486316152984745398807951855315390277187105607534020865828384367471108628409378783498220912919281151130820126538638353491460790578566889664968634826974029327852754508922613881982038010795860214430327747152789634659109698352290740326067685819892415744685098777984726753253388072567158453531284967966401956768880572085183529649760473676868292272278699715702467391613380081387635775747066953285718116436147435384981901296421181618255633838970616161294975816849320521571795275986773225946012094919346614978754563834960821703504392582202613066102594422125325918800487382899293925286421704204711849243208063668393609482861923885719928120846621770309798731763369107263024211576398684009793027893099040322457484527777744952235823668165353661516233415217712811510173973871526811220151910050327745460423263629580856776994721562861010743603269585312778103376869755146595582057503140377195343695673078989798085360760708620936255228607363093753644570819460482151384316744222700051266580312990477720052888188848150186011078464992716771390882411716989609417581306777616897666212860293209109251373395968165156335868568054322500675170148338735180907055634777739222452638454424776611354148135324120339810395855784736314937386138066388268095845186810293874285528895232952712937757503285299946944563206151754681509986020231770030258461709756505694379528535812190313379766820357085447777090307224800850489053543780812944606223822234219610323670026918560364876871443530139951558939493446229633456606448299002557565096978029588118189472580163869799029475508190718055802718872886152526848819063214167868067677638228783775023427516376484830016124246532141296929900622310131129027953065831158933129973690511368681276883204328425401530074151623972648996426732430808586537020368429661073844396793908717651305566757327517566809230069907707550840321432449528015496987192778635307568738603558977549721081361466058879714486834972882115356594703907943510783409523030876136493907136140128210754586448080543632746493646493167672557049578130812401551559786196622010964773486748070804066281352430575415295501169247524019733902147284333518216048202424616358166134017125506525528591200359539806537664272653055698548548501875301800420353644327274776274103728545391096263928154341693257231722276015403200634779771982024352382522813336379950236061486944134103948973098175316048224747070232340608307959258620807614802640363825884274611418675624107720738925073124350133977143964071968664536006171140210086956241781328045256176536721798471124093293656321683660027714851544984328871544766862506431739203327602442732681966549053544967816625420167714912854608619843147523406712185063012832867982528410759794585568972041450332701708159939123237505270544912308908928496599141748787474597334929323689341445958393673294009829605389791202650938597585786975009579594128138708242318357264214676397781185154436796762439665053261017758758186418764906760712646982214565672693392606454513332448149781567506468359537524832129525955838509241171493216200550828788920196563221740576726712358524800878043702947268530278078764568882284826039252430431815343319725316967296709181588692517887532259235813218261775536341251809945888008947688608084140932116622355393304412364073866877306162922983580862165757261450286726753256543769804464129957286143534575722557558461374067911104872556557546742707902299432739524763372856096539298694889145500697503181900838048242464754957902540106022850940583224195182208994668815974855215685923026117473803745717022424478653112194372869707315915097803340165891884886751430605951690673071795149973823784994450129325588856595409622169460720137394352359958625493337211806685074445322525093051666153647911566109264811438731108210519964906256916974145223580776374126220047240130192120135694550237333956119705609912669523216770337294951503377069004434409512490970400722405741774483671639593933824196797158145179523115519830992444801930032800539259138407752890786885369602853003106113897682425863782799178029660644826705151476503868412507544927643741860818168417380856442717369984590646138982651263684040853855678309306877922647910420656639968697245611554774686519315680736981107153037678408423170313385082707863131974833953823853461242056959132855958946043416063249202988524930518298545487297535745974065013457863801769167976521876986188524356344823606786296272062455301851564882590324287510565819721556009852523498272109454165577561752035344314605935628439416997832043561973876629436347566652643905189050337681375328746808724865851832558688366392842976100005745117830863038199463909404542457121879766713227478052744045752717522871406195685735830201318881258122019582536420207355504188574340531230117927205041284062138307927627917718898439690898836666224161704616711861758546029525812530846696719819545633890120091376504173060751791462757013526573284708221831774235838459197498956435977731999732812859046031923683093421590076601897754416726820483694946671226462093165690473812432150446393929474878378558473240425584456962460803920045330613894388199489093681749308785329397857165407517746904581038482164550999827084706381074494125882966789115892879458750310030791361597652074468014732626391201447288367595290970224528693348143801251848051513987745494284034074102388077140553895488798306446073003995314816004286074527705261608077056563041035736105688371961232561312449260161610280252485835991006462399297574673182709150718127198346821456553231620445209315566172116691519674416953511439226245194365871041729857198444779704363321949213086442792124953193287817443936399206335435020739380237437417304998460383915478972322630745992455641040991855037936219530422418770195480700458300862971763787540634233197220420668168779934513934441086065192200524185359301423073370277762024091860857202296255001028823519364367382572887771759356263042503244083421781244486185764577978555911643538852682031538434590054410466468389444390356534619107155329047620578087154771164358674597166547479695573884097286905194105646314599568693993404138717895291241980904261061015152286396696667394801528884102711312966750714874146572600675908669838613076561815154011429374909708659786542016555085501506535744593158398001618711159437884180986982641465121205341165234189162816959745868207991285141564783994754688319212927190258947936469101918982428813268867248553067959271011602921515400196664716009427720606715474366233414967889328145037316521279183246022991546075453553707012758142944050137229633547721749445243267419399045203543839181646613604664941493544816301856518761229540152648655319786690167923273317783829805604411108219332575407680385653517986220591244668095259894502146317008306449988393295493631336789440483823484414788290679360090073307542959579428417167441382882323086869131394966570890770545858197988629022131024807102686953372812265712207703850629412243772040104812137807001371166335519801209450382889976129098477125740255666640970354453769210873324682047869379101788085574059332049407527735534712464634069002632049518658755952468945311556666869139120927869836256289481451835049903844423617307127671330312368389600632711043566969273534000005400220787542961273791364890687541221846047101256302076447651814716692883228446403992822016665900705304920722834640621352036393947685900457221875112467451178598923820460556016433799049357265892358653905562320391036204895867505270559599278501291414712048438433631317869683557947263556559934127914048186344687214473562911516489291404145959878996230287555534400552502924540521374799945749015869388297896420655550630087322648214093795661721561271301623983482791127924050010112222352238415534036471042889048480314369256263995007486890425436156982080779638197189794650473822085073572987465418559816835427885924717634137028415548478894427859040309585790664438578773813838234396320776407953710167673812456271867025019538763828210950423049095081490617981473089854390130242653472689835605932187835937122426415753498898215430520330468569377021357273694598100204193991947697942223413359266536809043247080946933428386203413631920883027052526454648833537390675457960671070139560943241632682857580309822801503262065030505156109667273445238160797141250140757525435042962010364295960296311282382289100556925489159380548920990447569593047835087097417394349872689799045633894833759384924828442389512618591007427989267880387749982211354514667750702181208989269051126540802364465705497435351506790611660367808779183078443742336453255400939860627215865400022750904031610772217597500309610080797653357591043342524901864744037352153859332508933843105394012641855974191271698688310211917345831933848578734712620890644548775783618204998022944686818786389423146935156738288914722122473195392966623160120047970342608806710150024714046008780686569974053273894535570091436793844826664816220828443001821536119266345410419017763299395122813313874682012277355958137870173727803258134235062333662432232527386167726632650786326934983271037418744148155624326303833670600851644625977311725486451253197683252893187061748803433284734288698725265750413906858052687854903196304574846998116017387304082630732554946383231797015995541880123460750046512907204658645074026455868198922986637711602984085758893113470802762089506240242982520009208739905507687961783761629177572881755695910819536875842944518024029529126485073243517187900361902385258141094469982084103000428960037100847442936890040104431018213085826278042779858024859926094666780803967284548894052761968615455406117754044612979397604177599853058114856362081654544023266328014337350649535691358660429118291902842639650459299524946251302992251261135949592666272090323365585603668845301296236871324368629833255501545546820736644614031417303415530994565086953411069549771467672940322527375502781914372369455981997391429636808904461599275431219522990982949107237769042004852641810554497823301675581699663099382098850527016933580071362393385173218247834153175105286639978108989614075379073848958861239210848150856209084671609480174312007227694580456589521682172450157340392942129921203879723267090799806701366026132214108537801467785725953293162308455875596960878499597004725656487976975338362416803190467724277383635408206841782613064346317843811886259622965552505280221387162750496259292155841416775635468362357742932575904571102365502755233089453397874746880913332430750368016675087108010628537750634273433101793231678982355921557657897105148256456537576517945521225606215265256775260309583945688022254445333066488756075707259276128272907796186309728534468208070094215670864338731434981200415719290566512209563940973054433527981264460405224472197814961404329886494744933910136510742411984137107876100979983689634569107059932120942438598845724452811517156569644952428520299129927556360650426135357965144288987236453141627739207914913856259631748505806022411749949352878760539096194624657197585692794532626212379579586241670261106441296749737175874916203343237500061420898839378587828221033013125389223983131341971439227149423890545381142161866791028266445144911063236251831779036761756212484487770669298430199455663863811666378007885537319771998164080728704069225126221809203811686349326216150525407659074377418049645952994968666463428343578384542185602701598773539956789903447121368166167834362039715467251585545337203262488361803377128911628198251100586198849468540706322874978495695779610128617994993589963158407319558712307559895748945969079606982824233560112951935110665242352892977837148304296757735806183196212307381999648178823464105088719836062815323602903092530109757958199729749892314745078237584219180046799993288844892127998116054855320239162526797553135081577378852238939024229915118988800430881375957841019297574849904137196556724464493898773088665013408265548272775822380327573247011401397150573788781166686712081506316218455672836756286479682891227424325794156280574569365911435515296449552192978032197268029257653980248841247643383375331862637942808198240835611236371907274627215650736481130199988420576058072284698035540124813973724511071542497686009215917932563760148586792978010035912008479470227096881835762254233439881569211746224247806435973067392753661669802657931121875255923735608194903300494972890924285727978579805975216800061440416792334236757881516908507564593128285453020260040791019067537647691257147820891794486763415990952459269257481381661574625828451454233632183846709536650376934970990486889180878499980583541748604882904328592063668912108148137867212017596594243694503501312570316581713643363088994552668146325443090653261824441023845741050647409506936833722532027467310419760429259035670075734532327841199376449449979555193809958395819375641016699618575299309862705270382318526488171069292144773429119013761796841694632867410815835243610765689730992337824549222066665662509533052826873598841613417616919711073577561238876084929992764276912871904647339306220631614768398554617862129841368366712036435099027383518374169583105559909156008238493318424010213528738489627595744052864629676626119793525235383342015407784392990085606054834500119200954703954420191723222917920328078910478596461145630144047153530563738933159697725977900947330810480483699620469048137536012251008251498263266371038632233918109356318987249972899321277395409529971969025824267679351021677603950800934225323635123017186602123589740767053388536598563813886147633422966006759860103092364094619829456023534527967176135883731332554393501947705030294569334554752745058434079427599715354733673512539686536946473211946093351569808527575124004699256903044065761268257472341813197864093312106843710751980212674341498690973756885128152045566603185536355985706557669050364570483607980755634290485600521239329317984071786216576010139606056769346795128925372620216885597585765361561207988527752482031454464393163077793370840090612407651750494753347996264256637035002506797253160089729153849154211127976436372214567763171531948031401503499517371243703830544738380061336391388339972176509817035161963476234143673351687149663393294043544095064835689896621086557910926944660331038813029340680245666360396526817378850078883883003656143760443007821493770172396284336705345276261792390144624792473405508170337172568769748135839663309505245326469575230972537647087266965115730533407253235577962585935032871607747549575269546242665289421510140481123909570833047664872930568831017511292641777047850352857763140884699261242335822515452983360746519586781629647218046865069936283948340908239459005600942849448358728325304138846535168130377815982490921677315265176747303221522737939233853288378161297105496835149537711416548838932442651479695521423793978126439244693469429134855467207012423446705797682452428121495069248380470442555253377944266538205034356305957664160430265141058607821412035189733672720564059059378357244142007805281698338937120590105064007285111481855840489411053851132119935250962591227990413971771276468009830073057247714114153357886714161793525313402751816353636658512541681007903170068044686174598537382308178398150684542288660934106928894382345530954245632465342223948196837344895916406123655511487817559613998825719192409174264598294550341440028903591252107037475523373859578505230582085520663591499455883611221505999553220805771922689342377329948507278733158042926479835999086260465004748505694328440962295395068270174154863216605017231733235556792829990172768851199459820529792634093840800099680690391231717100251358407614789918111524648288456027982694644244290581184851944521920663948001022585552076847117066244126918886790104551304961907471642173377850532822286541192767877615121893667247900664036506749902078728267101898599320716973950190977003137134791839823948049684256954173155280777853510555625783088887190766612495019970823540582426923991743480595794330173384042849329250986262359075838482878994260802684567844284065783463984290292984835867671100312121593133186148186023880819662162813830427454396182515941962546518331692897883995562530820601655150728353343511184553070000378799766771419166944518128579715736255244226583143441147413813314001971809445285868219047272742202670714096158845720580131536656481394485802514208239475427734000708027010570219973934827875765516669688724392433572667712544642173259476753074811135683723864892283616615565595277812648142463522950674032795510976158150157414435017587312609665590881909514096998876220785335939853368744320795084761548236963468936185839140312998086406045534880060407100580577094511783513049849586817303349428281597602887271962229853249408635897630886361791297797817430105358594848700178494608143263054600163524098931184211266802412246137911907382833587368318183573394163618924320209105430722373216930617552009029705245669091196619952325356179274657533773962240326937106422130917833323086669985313000978653962862844841256025449587038899924359366966216133680913325339817787529259689811458007874446585475001991410930947022699041169815095369470275104829329264604448236704495009395404018320897212439874473128915432331974376072702427043605596907900881539635685899656621469538382644311184748387027489858307303474732180677216756870977234482898445234719395201485071880141275666278910502946701221769212396813117617705004811701363670105829404006262092968651666490789051313954316329714271026778578205331295393799025268721712781250884340505082234200879691454447587993316691252347164425602642478751890809861065772470443739053305678063293042029278259343996485976532347119313036925266390087233794300191620984534379494121984945979974994253765209029957479318015218939562202487416002020903772428545027902324040890039361816986212089968460417018743258481388165525092035187408340923251757610765406242497037087801475902169367286827041139287517758233440330426367964954290572593541480239032287050374525701914380542460390472050191971198770679607365404546999561557429958065980874458239360197603727064884972240830239931697589852046485756682953558430907259005462914307234796828705365112159372651383045827279184556274341066612194930097566286638853605320889830920940274191476894941559254487462382167216821910572615004897527744160844650946742491345169821669293409305023212054950151473105258272458093106571007607172087837858486966861246640056807304473382919163597447158025338456304820145740142159296739829683209770219914086101913130706570346905673817932915452827050996983686527522152318038206830872234090153967794943527373757141769788266708835568741050751740222297795660970178599233052342745836289819177789495249558441052320495912362670843050577441062016314295449382846845290414701019982742397596641611764660919644216965106206781880998377880657249546331082135463319177406464616949435717343286301080449862667603215414666181148318638872538224034588942071607164416811511981309422506057459462134484617543320550712935278535294571035849375417243503424958414918859065502953349030484160312947482446415365180132003889033240266554461555348151595523720477177263824848995468937119559850963637978332044067750162571888033528133354189948421332180026760199686441989551798867893039273405242694188597404622737096751304255232418543153083321549909182970191976424201103254088360373038383913216302862618897873065741674841715281951375831923438107123522592170006269431836390974146238986597014730993361013203157393777287253556648777007159605742514323083188731213299388900046330607619880919216678363473603728499112708828196540736026356626265005250810484619135135627148089096743282120014641434700877164184590195029993578193837302310017640279537853228978779040649663350705196655098131774200800498187705950348341857932984496154967017588392066239457315944191163431967808452865382618923213423321355260668236241976731367272225376198864682710960306844086164665445237970326616451206054910202037466985508197081756735843287456698578223202499331172348166346781321701627438115090016791279208354937533436355285286738039831553292605210154620076262714868791595565783392604968478338834861067680231534305152930376125248779471580531635107090642804583410471103077097643546350931417161739013147929329460452954638552403825805951366623141850924958080189532332888949352473736522776821414612599866783492401065090236064646302685888716754941323589863930538190544997510979530917890860259246268276338674791015905156503089465562316639291753822742597703471640264460877176084145953857845793610123941891195024858304855461633482067236982008867506532037395375687405547796918235745967983855119587046837714167590104793074559247631717957458871369202891411520967488260998187830953702857558876801012918702610101481487920420201460305484830076075071065358044054132133923020898583599958995809113151877848255770744437895030808164965377745290216471190867458091849673852439591494123737806585331811435875434949096506677443828113462672818242195795440619214551415560566317173066837156683507013568274824620323749198837194512632625377865365668430896979257540320137343900895773580128634784787550811062106689676285268104790846786524942046044172261134425124470420138357532445849830082586380362466274337453577528869851059740502784535642065483423863051409538213979491675383355132032287427389101712862562741046759895190324446706949540834019216623150492260082969765534040188198276095809726542950880231916069510358543880450236340824900052969823447556640415518666381644623077523690213500188496764799326916993018939471535086981786080886297856559493432066829078555010978913732379636858589215593642403791947557416895967428200914034785142027471205319112220166581090668599542145533351777224503060205478956759980565228762959409352362227603235836678165451815386176166037606564284751168109237824549745048285707176741677374615936408028864836993488928702276926136192444703026276270731139929500871123645615227983530693577456221865155384723965337816487026924548583391000909673817985698195869270162827562016057632917807098461814089097068897244194296399901143220561703713687711899503022166889300518753626676901281390404656872447406942246809704006779517802519594124272528624188174330535569610414289930118532736567604510071758402192784891610448200379097641213210922756332840877910533674367747180714246786196910536874371586945611823949986133872357119058054826900895913865471083983726641572372494826783679787076858471192629699381331377833305833573082529506292930519411671344111880535051484469429468212947091416992624293893895436737118119844725733548610681331952793333134699707239148741641871166407419492946538474496252451269414204173440700101811332494462372762070130325933303329786156713594828037008634271697851185343814516560000603547946434658824314783271603811782121863417210164494002849178228003923301641626975898646873968701029307741510114729394985491796719372742623981014690652372017534148026541258765591339220185897258110891410161252037797252059974436243513727204910848553921617594088803085125474883778643243123668012206025625274336035752353334868234116602624950071125459742238459413346965936304947767360408564618744922520410847123496035438444269350015577616905901234656977583665365833778668856199532623715279410199588084805788036262295575866304557943124346968377267752102276494079280689546181474622809764998251948729790864678089790092814810268552132768983124623336737591005608652117290345906386981232951653102614020020209226479496011508526196959514422034963867614824198722620131650594848038398807804063003701294060842275463153590042233037640432289832523976229307580516801622717863738647531184534143320869768076079212798299441796522803366357315058692504831885328285649905364971581720241067561372676561870491396686422065664701288060607534722270131702196844342730282041962905814513789551926349122817413374110252930891401914318047364147053016909672380454400459246160252190961989962716169647495531167119635982690122315996299212874588048316359124766497110723434586601485235970678284755751164144156002157845798504837550337214985979563221831311852654098165623905972132950531524874817016765996824308492808866671535789725709176259173302707387999042561371886827895585244841622717885707377955626824363724227192262659074204570220516099870338028422115749429506995375781306703858980806890283284267555230876270010406905794627099011865699375074552199354358482424381694714195288407603547607823098846400985019854155073465906049326170783641477900906113615680064464713875747004264808190427312207394209640898018084197451985795335845604807962959010925698616279824936901268657840329014780401022480575201520596336344868435014353596362577624371181247149339926795622947458487332200193727240619801806003374062187057608101528724493055269799031998406895178354644762333206568203375210661709376037679681806088324992136632008601751819340674377592464275706038721129525868433746285656816253128759273210044673236894290165926194124533780260037881008458581961918146424672370929364463535106650360473787548589796044540706876407068816657030700568647705637978342758017888938057010774851802452111575341635926930340632084485239939066636783253500198280098126054980868219474617345692818949885669641204524828380430399358181216026188599814945267448461718690834481053713249674761032339637846291591021711980312324150421902217114295936090130180758950931732829501910168768553690426390971382255279903628805955780397103259907477734345419996419735551256274881918960575994317205851893222483517651869226101033625934966067374192892527616338060104910061998966813042738704366669297237351812212259609858721312031131977895400094102288793884654458765520881416702106446569327031482210139847812126912349432517478301854463281287282267386547727013138938119203451201670627206357476207020795930603692322306415203150277088618093859439474207529613277925808715631610979738153404278832194741115206002165312222273153030737370382127302758220946227744002087283782302999270498760456263001079157052961858518267820540542706220583889390898391046181341520240650476398192920965672261591863271314549856030209954061984775316264051707610954230607639681127991155643752325132098780518607656654629432746834911108199594600932575394134321561267573118859552068315386868437773031615466193723553384152098042655284013431536709997023291047948035247185629361483865929682820621344474291903697849321114916204111927842681125205919783250798510791643748983085757703267156577746963369914594270303777979362848353094019899280536980498642153698697506126109490370934558365508137489331694422142370500286378811523136639470747244941800181272032293239780257513032449897291041761387301935745050864846873662878866168718975632318208773541955653176683048611292741754383089294717587570045374934549053572077047439324608473959920495629470097601382150750818830538548927704868178330080833024698214919618244056294594520915625457553852156877011569471784338612997409205792910972403633277141740146354336899115598056515343209507697487431511026327120695751321835286202820126478458375447039428772577821933411852003233441875107307438019033937596678208329500883179018789163570062120338534536888805364700069779991986135889651967851312297288529826716154447878340126584558053753152328718503133466040727164572925784076341348949051322918709262037555466519091280334264312971213840813813452001036319185858513783458182666711891825777157884699345809148307466814723521036505477640369303340339789376603987603653469655395673143935520549634336850037798467159955788936345898563822150677376562884026539210748650365722085124680675741257150428057323915162913801449284377536973790271151434433938779461806358948132780351024247109640602708910164446034767317791041441556015851069854316503875277818541345524261944812927443207259915780370573461696920605132977916481505455250687356425463635675563112204520767147974840237495721113912770906243270865535459167680079089057520300949699336392221594447263003662229369193013507921194829775878440454106606935759478033430993000494538459077421987023038624870604821960837671277695848242359743354596353584967225033741509727604024807799775365216272652126342911825722046297718193346300715144612875790519335295353274785056567839860725926775809647982927490835623851955689146678655940801480787275197545027906975001513308157379275599561895626550920345572480726138179025418186173667216997677001852483745984296395268689018069102193076367552823084329192061041440526776819941499199380605239903147057859179099228085342697413230672369721977039680789700510641943946303872464342718561399100642778968970078443442258825460221173410642677574123600480917736857902004455718352577277618332596762009560076954157866920718805275351065216788087663786885861882078559309192540917863420728487314225735183474942399767825870590383940205338398284044391592357294169884485301514722586241366768227686571381126870706445785290955832323738258501789704141660505764948850118243169216957141986852386285292725216146119478109527977363986012713835988154043242620385103334579714127611463821246648962644827040615622632868798202674532306378873477783253902008637430070849137996795606517962046896618550774894930085945158411134715409910460341191993791005816993227856045656108402333872128888017679565937553092807784929321451422881806683968634584713718738847192815449724177694025548241522504492921475595397728317453404888255254863852130523484633705094908864428426572226928693302554845684901191605552144355643228871285394383716348916786454717153213490112217416925485301875755640488972612862343258216516024839788376953512051893178759475971778134549578088503395456065480900172697990623534605967980703819579081540187522534043451650154832464111072512926341495346005564822897495012813041527344629562246101657219392975801059890895273973436218306419146765755737020131572621614603837244592042772143314607630614579206419667433803557072413740717114071905332020527144834842284010903372490053521338044761960231041919243238275318707933566592928958700431752654346395852924708485650556302915544638012822646038447611639727360946678862588834852291721408027763835487839849967499659553126556719747896540739015367988733922158630529989519819655428477096731666245250422982582790169820853281054208462137428895690643686018955516120495844694386816482942796957946184363147334768097345207690878637756522840358839654709724214562704044932586166433145869573310064935376666254913954243405560551741611308282164065066222076449937931707860896628069779113707025897305465292089656251676947807316026626143541911801982081115605869925042337907476207185689269232497576818377088994637448642862486699581986319960347468237544782934993352674085442829070016437345480690926845832969024431987606011893533497337368363054679989635084048995244250626981269624621391031022140901515064979069657208649139466006601740799647169527970016111592963162528790540961402062208088477323569258290463754412714183747518241834211395404026212343366785723733114922263105232882395889635585397227405552153635999358245690139272245201702391710362633306063951911124340301955094998097501050719909512122898418182331785072048243278342078307287485454600489814051174453374226991334644086501186888287054896879450285529764530844370258307702377995618349285266863406043242279262068552524141590598686924712839170188188549132441250188752109903983782439074567497714258142767399501377203925863402086652096310870910031620187351945174124678373782314193683068580093311829866411522535805638830515759582595204669542421895401414933936613276550071942593171296632962352847474381775402965068334339514030213620000027157250503147920901406315783437467493780694627920697229215088956572431267553409635130793218574018607392966617118875827717601479134161809136425674514139503919130867947116678951276245991410054288184552675539900452147962241774819774208629642611720808075015425549714554963767517054612021603490332181974276452563083885363283730425845004987117884343262889990751604037209340489952826113257320528949891177025376352826375674727654579035899116805010853588406683535409389227819812060832177254177467241956478059571085553943833888325511191789603307296120521985687609684247165498841536570877331684544716315211697040317982484953553105965551618009975724658367633225571308604750444036511351439884169677222919824057033550825632900099961691614469003349937269245016876030226668984710477642875647015818393054300045452705898264622908052258427308455970304530026741082911944456177886524856040611841700755761286089416850797688394474302113829137870620116300848674963936129873157668389993592505620895863520951344529155718091171206236640404985995944986582011041271892008347212114835001032028013800487188193480353288625452524731851346173888007475244297917160229013069020921467146389260635709686019489957921647276424912887980067650130037987439859403557980115506623216954389260975878509728775726848917678191704747954345907874675425198021803164748735358775098153362784611947059649043575193594322746409081895435488131279147079411857455201560506230536363980256525761134626698784180858561174394949378240868607770679286892932596781358731867557802239243141411213938472249054274947718868247506064508854412644403285885521518736025911606965617806969634059122975778573095396317299151045267109717101906189858368100015744747256369438374200716908141177956154196536191190478844903343403769178589813740223887355325694873521708390542851390719691251744052916113328622211304379176015798083088761383063397991555416674519241950111342550233921441837749224233416280766525733324743240992518748857791611695433252889012923909276710386591543712561904197217492437381994171569452260416529687110033665915908673406056591852576235530441536110262172057989908511505943250410935356364136885735658698663266733974971605113219612759137280917177544090298766533368292603542129329197033593453887887932680168809917570192020371140350606401085759654065940385656633366758322958631047682474737906119420602644535700968611546087784167332320346206885365702256803670972996132535608047712885388724308706771187377490764630113067282950772799277570660301057137316676436386314886413064715553617857200796828460615321587328808882027844228215261716620926659373545601521667004392703482394638884761197001980736727813383597627714618535869368144394412917590046465921367566921424040255165272380091841946374769529822708219783311588193983696100228069882140992469187559346863455967434942543910539322988116327516114792478128395177967844048237053874814827246088344038420663336611225342163755420124505452363488977361541958038500731083215347177921527717371828585583931675016901838723478070826901942594106607416493199942539606912288770017156161553892840741783007944521204833913638096732188826637603434903819834343295640301413437125511346661895340280603045959492388442004376409189648098145254599239322464828643616872274100785932778654472583225417795782783579736803483430444519518502272198080293666309238421465848806248828495018534471138261267658706244492882211117873103325451574250392601636101783246034087040657147252297718221848163268307116374116806249662734482250518093285864927896482609602140383169550676337473119307487145381357590601962116434345357258617981306109036207535946777046932436562404261787046407357719860601995901994147757998326894452850199967919033520229329734947502437002340377783601950681855572625104880880950689642331161880455533659088551598372030774049524534528144615724046167513955145646050427360053531665053327917605494114035289970164048422167218801377473947174060597960872953481066498631624094927971280690406606359772757877910013028167574601487530252040354766253634930688884923721561763619709009669335055185553837724545296165524901809647968542714079524947958782966425305078333498597608221895274274547850224387056930239048302150879556886725432141408160866161845782236315719611284055412860852845630744789475502920549470323904148751337555967207363777581667922594478806173860930858569841272144787577846559495817331582083232219171047254027174345513660722804905204000114209479619754967014303817212184384288858308093429521992742510471603592524278632122246715075134031401845978739326010615780029507360297305032448491309361204313746893774282839914665266592561750802981751861539430186883939517509430683250315615678492226585749386284922492664573258876632789798969844070008556462248541285250762824344492890632880892773432709468228198697020024079338257639495733183342989769684318582123479756278202653905323135746490800093415503656099996656598677574496903066453156504118411535383061129790819100857195094903465181026816443075287172003347773167774018753280508840824306133373402477899998710441735349616206941742285027427793601876094769665129257535956465122436162881399553280819174681683917138538290753175602432389548724764239057501802803371028451435146663392048992991896081724660615979147585910859375270483827541213067711826648362312770598121018218641842092608305561535075850895949543980369370824768145793957790127837279817943202169620287065546025186973485186576791726045891780762143780436823280877138462657397669448195476203655273532060373341426269817941243694661663863473784026281467093028354970445923145387261144255528789084899271439655145690617947120546384537141677818788654403224836472112310234196097943300975565772090886039416784163881951102065963951966644263177836859382999607785847477700664592345934802381043354669508493031930745275834044565381040333000580446646247264168093043945252807427121899774068112530411211121068860005832817166057193963711908226913557955012130161560730727837702521547484302408176690115393916359086017657433278217630356746559968726524444258274433282460731880091721192932004416832400010418904013016909140083926406265081820402845838848499695831068545542840280807775907530014756147824848782706917470387903741439491540900477864695366894562408422752124973059679977599256919451706705768872321879671852636935593668935486451988889402129434097883015085340944542123581712209581485130580851389381066617951433396672280704369305947815711715046162279446814527947415633619292432503038938246527662485298404413997874656372277638929982689127882594432904391700223424852689855695914894108170149041723691478867604291867756589124217915014401735084128746322918717869166050664159218187601900149660362110204469164537280004696576866196410912398090780085458538861005731100036888737083633014768208198705824826425209083159058762482968613450263437502859787621373927995351182951508668230650336604524477973014030645237142324658194411176967388670019221613686919592231700151890370636859822075097560251826902128528201918991166122270924983814561449978228058223027438066759553428115594756923787171646275360043244084576774061520859431128316403209591504933409987974473999620213228083408783517360355857746593574798187969807355146117957459350599851072460733931791702889498114217004555828382840104313569341530418434360242507112474345784984045675881004576550154981936456929373848568103067313564521028827749130630465160349487028716500852731766795597868747402256155705269993103566360125762716183069873860725630997343928457876948019001904336567802561565606235953157563165334115837483305565619231399301710196538928204377005121736061991315019576307106600063108696705849534611042446073526991321533510087871130563521801368437442600697070803737978881174904399557051462189720937194937888103539228150547209294671924022983646589541796477295386432342720608033465906622241794062588763628374954282216699514153732310740679045516872283187426913768026192624259499433797677873864296377025188811794415394733205222646021007248968269846051199580101650834503024260053949169996078753680486677065757150551252898331767501079993163510605871103881837123762028969573229479891017377108292838118896885696476920364408479580462493762992520363203017571168141821811943779289925910854463403778771953997415920171255519283397309129939413498684617349968472260115220892171552705445642049860731262045076694989023226408011229254810314323238729637258947202019111512783252260841451267364518032851357824310286739258292168681520182057948025130166955184321262757297082179056286925271785116895762938572571834450119000721874792534221926010730259796007806034122145930914760587850718291479947835821700269657984819281459965967298022767904692512107650349070261552887161287672150331068795253273620054980142070660310272670262214157612814765623700669328366721008620390794136239788964179707400883430935973456555743323073763136084470155350043953662556316035286326722430723662722235745905877607163454144493985784765629151812264705962673799902888704335923421683621761205608149636253626431212395408001340439615545199554515568167981280331159631853095009770183775766761275910174847120766188768607424701455975000719310053337820318555991373574400086865506963152729824653048581144188304138524717661932432187539313760686811554081059227186935636579835495256663321635314351887008888113210646467592018268599801388912631653351260445788390340167453534747195946769711473537268274190923257478403476125537222842817658520182432914755218655972727594875732491059420261797544872071903750977113351733953870859945592956145806876563836035559276044524742314123908164215208108321198947701331614775799750425301441038147096502907429836318263383872872243673835360021444284966230253492698610084300757060693230519992698926700004203980351458276597280864198900168360711720192919439093145762524825339502442528142189541239916817722286250976343361495877597953643086927476466302006229371969217940075220308360113897545840849410720895801736843490969206327215801696225886211327117754573974501639667339394551483251958894032851105354867584266188989970221188421522770499001015919753971782213559512148787193361463710004430009248052033731745365768549591198808266962985497404149708243348023771966738363452915761880902096771406012903491614752211912761497834886359827031593654441447101162755965256437181284242878844255154677286892324174665418533259577024815555614896253865890986781602432660583621533814344537682533448651765073061632579186760126607403341946132286802097377359290866280125216796896846804113671905950702300823993674439994597992675581789296920956162823007238535489109545234114145019359699718247750474214456170427498578628968064647873206645043910626840801329958010791621752674415383318660115086796257214583849897608778480434089618578188081345789474546423970894468515369994501576440558930961430426437122874121047630388336911677633842013762196473134438838591403375592005844599725585702042085289349002087472176357180377193135258166951133526512920415856679218196269507032549639024641407298648107893594194457726537193266984918694521620241892507940531332702348201827697061735429184272664401815372731982717711034472451917571434912569559287506543246834635446161300410966060698803675981553743213784915032011434672848382295670412479233920912492537959624677658426644028691206844820068168004692697821244732404095265113076876972512944479421913976460067115345030517889480469999849828782914919974484775772421404430119467821750126156175777270936788324857245750433605563245940564636969485488607756101957940429192621907700157268328932930375121503083143729257823717819887798454999862469558994930984730944193626493278301203043275080160370111588008582614543703328194440153329402417945324062538476353090979111784985028680206425000464926679768610948747084045450787587441257766268960715306430381380240270248980740005888125261274415844756273362243084685174594262627564326936859722441636891834485758093217378300156627353277767559199726808368000744899954752883178202126059393207325211058220566459485541281606419089454863117251408366215862555638919193953867192471290753583689555823618949830307372672875163385220226622276312412203565989050299533713303860145115229464320074590882121320935049894874598750381068861551408450787106508342957707847801553122250126701513724318830957624360325259651018048488503255116809788490900818828677414047875531562741603384972289858405895371717833155999257233476235542850650812346472994561685588524689918057992548503484962865912542899663571786289133569385562455923882684430099193160106750233342674449836851755293014400805213981561081632791418020253548591077258920019069325326094686312630571218547738636104407440761992582110112541433800168434350558491166065894645867286256498807192927826468499724848897125878690070873044995156487064614432640986916717637084002255350975927442688006954377275636887695902776053851374365546453463901491739710068672571494360227135239075388075586157415526145278928391825876276978784275368216848050373859422244641413026917665237129432939172355074866872579643481512469709800030354590781660000353895726209702094751693884056502186376060642363848733844468430793102236201740584450213584763126203570880636863182845164744567256561683092259474491835341422029750327367051825606762263558423561701684664367673947524744601484115453629709315306027444997322436490376851968960902727118204820853036181342425616717422230058283168646575808966880662464571160834831677848789106866151428552187268378373601871695885419172678429883239701721943499817730197500864209954014992744952872794237341795769890343282804793315783495469816099157727182347500857448246520431334413876994933508562357966705581540715144312316771875954682767108016605621697626998669342572483324290335693012950173192040503347067892736588570404974473784571888308752215766861746766606351733743532938662149988796605256593415942385142639557521677012943168163893689946329032117037590170240328278156885647476411837421397272638345449792803096434511384034944103277263088138554459798856633323286278982801523226047522515010848459436145939684872053665802160646872015483784688319470662371659790787243769701081826817387918714978898455094292101256560362683065138449888991597215122038411510858583626621734610744504906585785805894836457675821044800666353431505454960843498103386913822787015011884578934421560222913584147523981961684560918156512198010617669261615895226531008150830221469587195827761671882688571490879579704028562853834899906058109285877215421602156890785026956739068047022580637348537188080335123050195891616873686818159544386130091162586206930080259596704083897054309916338517321415528724784631770029491092278946614310556555050764429407228189633012416639140295670096378313020096689023606928385032474050706272467825313815572886810493848219470176928960764167217002055510967037738287261935803660167290096336651180899479593522045250376093198301060940020699316355190194142229675525301044890565225680511563583159820707549950551171135807761443488961034116480830776253137384490443471634962205820073600897221936470553123866331900515593587375465056279861937856588972071731782859506196229173739169409909078604926840229236457080765922844527908184872129905122157579576078678807918872449391479503078102373308417473914060672332691329573762272442941365582024636201577249559174101486849519306161134958809857442636744812408102203978448212035729814737098894271420750368779749609542026169866484840025918189421410066461671764294676554870706802785892238843793994186383613244241170496939836208251250897407373472141640065552513449372932658938981780747975865655315309336292172095337616426528857282080633594151927992913247156577460549155961130000565914955883763218009207826940158194998150124810909072670966092410984392687504285700423115560892666436676672945221170963113907530747894359171256141510150277426040324433858565339239704421268747529298843622539923192243764128662220291837874148220002188028696415672691730609039935141841237637569610069225652804820169710751970922270829501416194428021829565461122992360161485052009667998715467581652015947694605520430938898620744880116845201103271335728124647065245588877268512626400784028387996399137638725559038891872176749891924158643071624691678736276787463838932986748749689808227830060617304508268125866924655091283222693064434565642957977880432817768062092350198109833759304888626262170821751451531588510904921114677318822534641460395016850791745928549509208234486654254390358841211301069429082084374793455153409006799752582668063154102223041388543652056016048245501841317632855821156175808549486811125921051315224894857913337109059135412609801240872985289194295770129860281501029785835377246571579595605249678633694233963709363541489351932726464169213299750609758424948685235917789760553022061289178168954167439915537295512069190343463324405832055637634493792854320613390785928528139651842043456646942835358943282686874019954620669520370911940054032551809546566360132131718444838251328729187906627129255694699201239565795363771902590459304280962165174544457132464550767877410095321719107869733071602015987919560855394028142341385850405349739473446788850437695368484169343668253800312258999123223641914601905334051545593464787547655904167338562424151935884019383442112872450471410626909724187789756390544003577296478065524089347569690460728438950901299280810133382845333818539094806500741298565202243477019842655235880835295540231327288856984592610247910762545272644517756756426112536765752458381281783889621520754571704891587737515548888614151925524690736169502614405843416737929083335818034780868588600839117714239571771916358145400387470727912499038440611519897117514371793276732656054939147623281902182921297402640070170828929334799075253283105967638448652188177803039956961979025397999131818955127567971164843804459693133885260139247154539232876452726827370529758550912172292272999126811649279945426235377609145387591364299222131289276270922769759910729646862510177547463680075799732419631317823680126478816131940791952537278187650863569517617390115193730476177448188203027607218363448012346774076543591212777749444590500860072087644330162832041072194112345807270708165021961403914495711252732104910812781828253393801257619952750390289162040748778364546622469711578579519161861410932959604394964841730717976081423342359053198642930283109010253986416473271770580959286620125354458517958736883343816161576942795433804984260219664556521489362180301611954473722588541815456231973497729971281474478467063929355474084589721002321765503521278475916914327472731819302499112877492380293194947863554167333245584557223725658857875736090543163851197688148237634590074246278694510662444281211657221413654480441213370648452753648916650845173679404503702637988107599698958184211384203996046741838951780970290183831274349400818391484455592403219871980662582249998606466824337728625893597253103865096331320296780892003034470473012552413675320115060110903907952183747230965116970707454070123807940129156195058089252877126901371993938490944059960761942350889554540024740517536941371747586959622361841560864300142548851416840486774041941572435716251679569356205165023220725257260631925301765248752873382306154277062836345461382492991696798917992197833059098895785903630007356905023848132546707650812127577990448228996519043785520400616761673855146442351258570553893343399903915544002397721475867851378590072587801035891312538624434415010199436966728707004035332886290996464729350838114383862851076040508417739859267489701896819200230829636262466481426179392912843709943339553753194958462312016724713636973658352568346702916689477072936901429874040325729171151994981905440000330174366775155101107448518470788819162533614909146934809190183952437