                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        -90506944657460123559613621165524877473959827852117278750866639018967373455130363000075173937068956603148863111421728456851757763435960056367501876721528616682147644641297269559123597378938463139795844581736650901658654490923805389069332999109285242603907207968064997208138358094464956697613411012754787734553991506278959492593980351224690101352171986027398808153277858878203413731354205096801341226033855117482837450959751105229822427950828201246233130440164068300226308338554397702966074691543575128153120569551767666055102751493220745793848944803608440635776209495974271277977449485468136878917416054383270936174610525322314277902532061074701372447199423042752928226335026153619538490996282494439092696201785630401690230609143252433253544007049101324594521046401728272602628568812373947043885979799169343119101650144950250057946864910332462527743158394391017913515660808283157494543185206917570236419259566405852460102924891914757892778418126382395609288371978657834878680440971451379127216071976653424688677715862997838456653211855413491182681170866801486039336879118248736864042642813618861440653609572178594789280743549813070330289706578276114180657558055008329291178197708338515260087507630781818829699644595243343224009277358432511787159973427851251378325381644912747635987884009158281921207798983948658546068974814118438220028535692448364164765498234356580353012389135843241982826473023389682132275952378668962700232662741156673390747506514887810298582890659098062043896275978129197496454375403627909848366370499158915363803477187261119967908015836562873310040977188295987989484030549872009096926055745465525958204102622541144969635173856341163605067413747335498028503137466946462305789634285009851394152759515958428581109839735876401898740335199167290273368865605804680835564472491410956752544025703716362919250514601298742174647138966387424575937087853180756660688316068718223041728257352130100232058921973277661489136559889804212226313852718169092659758750381503266542843851751238305190430503129705109584881926959498533706018910520491989293990859824407008021174335445575886961064704406418647071727374082690997587120893857674948698398777898747661660965844339320170969868735603781007582237171108325501597057537637406621558791545295477392057912773557815984030580249178493187676142833521926294238355194725602217420974296917550685396081741993857054473084961049791699766087562297737267953077057338407027985204198826611111136861813735433256665679252664779576689954627244823510737913581538316424898812296767953654005370322264653434875654449736337866999335792357955722168251906894406539129556352024252297409288750303236311248462889229169010185137573334650596996918847948958671648973558529120713517422247026180299545617529612995738962884525544711272937190309975783171743219981000425334667774265572956497688908970523182869586063470210190983880052463879729545104128337636934131597896770744454998742607212825987986565650297906791163805019809718574151370083964072583084286158915542671990288685963464884620413177336545764554262829229881835362207872660217853135277168563009429118594617393906646662438738693806885346297780654212455440309802490944765464629142309143395376737721399865427553715820151901774467518606249124795289217607797335207179915827599027260941832776398227128823674508425431735014865608432416794246200955148849227717770932813450070277702586701674451664047484404423293473243502969238732693333706227584020383791724510979225895619587281239739903574583736415999849768813086178457826119952741627714505105715670352184289476750522102614387864821139769828403576708189719406088113209492234803693421392452273286637796111594053318669917334865548217030102539161957060714202758791696807082210325221303743130909088960690013065680712286719721851849928121527286487628401594809985997939381022872834806958548638148861791115522708308295059815839637938262814206236257874776261426349265668298834661549016862127753999478399392778934838614928895187254004155433446941902316397808753255890355819605716149799501376894393550131224895612501651009680230795720962364827007463565654797978662659105590210958437094683592659846957508749757520441800251437521218980754841523767957195458112436446434038210587394223978001456090965369180268110552071072239860156685595733664832239448681787794682154839218691017973751121001789914597710709823720016348550820931511504576579853074631786780875128478157705802329092162750959674513528320022265166674869177234687062096118336064641039266980550478879400545162836951179788935204083254208836219835244133138878299614246221843848582905230327367248864488672179927319063117043770876227106533625478576887592181168912622297761408556166137548856677131581357409356182916960748335340498726478525235447035300365019078153912774499935669211467968086093304771130236814937093809807619969449572827609292994494585268364508478870650591982544094540396948006895871040351717117583632247147928625749077358081949204548473167032726946693421515667032079308323527312993435609387100309461416768511930275057195807059115466034006391348044773455372303041777397139283119706253702132648837787402340673744561851285451554222984129406783131247667332489003422954016896122376254987427540984199511302016265080408462316307716988220621260060020966308058752540582546984180193201031859944100178654462973182624839115029631879856212729049402085928443618795882426698712775175697652915894594047608402979489168943345846495911874844033293109913449143795506806200615954264376912857448990782302595000456105799184848838008260511022389999589409003896818646910034462362332492393894685661352386742180535894045525183741097327111331686185819561281776995620331696857485068145365644233018061320207176894700257921566867683045268075854444560274520137897111847666144508277494869092773705899675491861709440049958148510001189620938209365680507511385605735617802732660141391054403965469120813108566891930257690108764879080312168869172190161392168666574725963962879301339468687543312707495781980112246112170846479669500000399520847478897174933922872104156018313052051761164776976388803424255752058356484151941789581924369167562317288693000380238622088116864126044825445473409483681692309731557949406243705663021303655758003929089605087543167400785272273687585558276022331381379826145603583258075870335465593697423906454989806596729387836315058468026614514375949097782513140106108962333082787706686930464594336424687105475368136841088459812655033965602251074870970938939396899387848385404081000015828967566626401459992412732044548464111883645783974136319815462208949249703483791226877950517769753677868308789001608696669355522891897828898798080049806861516815996998778569567571652458619490902791581557504273648884867908118588768014766114490590177889693651649541939752111382411319291568924890103380514952196327467543557937977307379764205837595459924720617569326295635118097534737121302251183024508031030916481315455892911435986789885176936089746236449792300170070509393113188703379240490609637607869170689461998945104277152042828956914882272088708245171385787872465073393713595539167497185064222951300894163718824785493192734039189460896388392761230762965688518756756606435624749047233711893660558310974748335439154756055513680614631225159894722197902655934015400742377458021262974142937359011395543508303639148582976723847976452904854329454222521393679387142542949673518131303434923971817061465344797711861337729236517336474238829692989034938852713667426849631813001126529427618186028735818291501813477430191121736729202222392475024787998121416288318653892252754252943877140760723789088505773318734234148136108576404476946297260703119142752822482149765306334324957861158531901316404964597949536242570443743076629035716420686220789723217817401524295868128960950042375177039191711327331329335431860697311422503855500832887542659710462706958343015100509555710801957349145091592124104251843835040995901600961396806433619192618937648720916045628491954985369452118100291005880851946556212158581304343645446621737505136543301751317694438093386037762326678066197986322343672597496628417514145053807241620092931515566539164689062798170392585869417280296864982173902241492108041780909707307835157471733943979167180250292976601660765051558487215230471790373639815333490558499914162553580066049792253201060954490845115323947018343886992280649825356090304218264562381802866941496015368789727193633913111007148969795575667387862253776996620516686435911961857293782373965936797550254460767788057484972485257932259697893661488146835093811734979951832218568492297026509674281496780101979931160882634521042301099201519702810010574956352585604825906879370574621046893244724209929728655934319435314638032755667739727210843906457842845132618584656399505897443347633367648699256016968477413778653989863954879600499266209596551842950245645805076994714795560977162318994676183993476067616803539972782349079389828554415018373580780916115254158123576398157605793917648365701613172022859711400003787516396677106608003995045245813587136795737398290580204820501189813614387016057117357932994024106687117010926859684578769483893461392215329914874441429587867335486819642533032496840798707430108989863228743905889080152816846836833367431751452352669860666259132680324629966321580488655290325683836298394926306547332853896376750509330953883639384570171710307377503518098583711178308471621488150603615483754173103972055195130392765224729138541848343085518779967580954087933249096594047036222992107718421047966535161164709028239212076392390163909218908800856999398948399317907840831711928717658763724855547352535629041814809678160647392149524287381494174053079055087413365794644795202820257374972614940541906507129523548488875137743999300162876948403361150885779169091207406211163419746926403532651804766698706267331025885230606906372233223869704828526362324926773299513110082786548475827441019358432845064454010079552596699547610816512178671690855006887743404605258797754036011733311215577249787856543248840115467580367281472159934258055266805773729477815042935552457103785455827966767461684431699409907744246144811779157793982025935601246860463550565467775279764447561169305683831697394011989343291437360158433792541144354418038173139144100479644060616177970910223459861820085603676483191412636173081383503266553193732893259068588837189616283702097596033939009882713774522894203074877292392592993263835134776393783522753202401049334067435366644116304846398413646242005734320033893478109970256072292068622645146494406513748366795214098472988847297849445291072895414253661446487191237977304585348983341406046785128046776326870878104546173963595301178933710927957502231737089719958761045137832683026399297171088954068594279557072601853562870667183164584451479841126693882060898334805272310416820499999308309452033570033274058027139171101066372649842182589583307436548665492876873281650610162005651738299689288727994177385697372547589647797669578105946625454829677764633311269101817479117609789475030362580690901749882562532499102150309480480657757913486827857263305464404781656379617491196143695131793362449376257017158062321054154402857806424445360188412510047607094974837271929047880353379050769278851571973099099225874770778895691850169688680512290989966747237334642500489462803091089856609552918378339495675105505403263138542379414553042772224875393637601861902559873141395092524007769175287644521158497998460860768675214978442758519410256232428387820449404771533474401246698728623777617204479919571617486250213502295116873967816190938575808379528231039435339150144113615743617642746601454579505129500077538212599351417864026538601738484435906832975672276159932025183738228923312800249856870292721296128130583765912999798718080312946959929425218428507479497640836422536408220084854692733628903576921691615635141720196570560829414893966741275357668436482674638017515300427062921864623882545367230860832750244342904413669418333330533910236681973544000061097340594015030798007361864080200144116727240411214270358757897003445019963105558975902700681684948679767188853842632822012272687674742552557841006409910159637394969136482388508150263498353102791634593721772719755106132562944027796288358729824556262638834459128747804697701356094258263700843819711273163200802247265758832125297636943285485611657133118540182045832370829582667482915771000204988127229380546486998475675617207041864912968829418265944605528552650261667569403259063435209056221268336202344689706071791997531759702524950341311148239328283578548912600634787991915977995372348259611685253063366053845594038073035123860487923540146808221028543087564804518073207087801924978308055657109928468278158370969919847302235357194113138987174165249992225752692223548656575902728848262057218463037012771483678762508905858714010921318559046834005097772664267271614680586271691120199576904942003571721540610944973031643137568015309474557743151656920454200203735692249133568835449494036256741421857761037032679540263890784836113112217141620794713224292897431042285919093363756070411991666780100711841277765594656747035623845819093132000769247833746521817690519045475443669363669511814576547664101977434482768639911460015901314421276814002186077334437959281653792375995203833766102197045302981130752474077344186318212072262696683032539285893754598795123482261574749889378745315184898158477746130218157143974614296111151827451494521235845206937568875169926295849085769210003871878496301240926924403344556055132093853979962556298553100917620840235724740198737804135326000295238922316628423304837382102123878861322905949391976824034576075964016208922071161743379928645333734387371588916290547641426251735483122492204825089045317133328066570730250653383489012755288006956949165442990440344639369389096690529263753719053436384245344925998846414905800145996630166570199195738149721958779333361919940059855669752179946899325539645663748216204611507216360115291777254077917379431374121132874951876204997925880939641757954561749391902796496419373640355811987036139528168729656932977658948772505469375357434057466131028017277913861518453878815630054856785498885138184481383058053450020780668393101572902227024561595664642674994361553795799346727283868327738165512012803738302052638682355292945168348722774909185143371810206022879763132742972486936249260084571448973148637896511335284482851015004329384184957080830471886008700252392721316037332579689589559595026228551464118567635605551702405057024160593540315095640912155850754281442819842371055047274982979618764165062299316112059459869820616234750901032643861018994899152775473463678835441742534143071540007554813718272546892438755801132887490983821275177310397898101519470478070198805559780589522675722889688918900476576527571958622823011825815972739583452569624836139531042750125393869115290683516481805270294746322255985945296065447965016600232478098782234852598396017690825283004872397703174923526506580038531148490382899382856709359582358674533781972802207178005173431490845313420832053780503120683923929453815098396886847371431735247492795494345123719648902007523282653103757462853929812242196445920262737785981495378712944698300548824794302443193974269640692856758129551915245742480367528723518623590702458922362618582357938993242335700592051234383530223322669094584566061306734017152684940052400988584815480011747105512817069277127728469580654576348529447394308092948096074653289254498127859869175174093650198023482597494682519028627184214228686057907487838050835645287611691217019977652457660146965638997048741850516973639873760445236152138333314103799896264400145950275009450092661541189742756272299811958987345590820995162809020122419229263734936027745945160174316550478053468361237853569798259006044141419546661568826796531631467072335381167436310901575858904703147697704647471493861356368051367246036622562631019366193018357073697451817092315363985406331231510478551362716542860320053398451798756002295840338360688927084176243863294799924780041053951499215592033404509997291318814175096867060522982874715067948567086864580752952452833332246292913791160357854010215860095614136607744979756189300807908491024887873272368298130411323184416196874113371390323467799028571380080613160221254812584696665795095076585809954538886447013885504104982665572235035679692193673386796182831054559048220639906536328936321427104020142118028993725510342597409021136549573583855539683034996809034801768016503156037540232822947427513535395602528292417609015777528892323013567386740410633111165965327848396046911984147478586105857541673207991201615354435265742416896146857177238985440978644816797501106043768789443750517010809551783309976966830205478371374439720370260068661883351300768103005232351567343534881923019022342075222370205878468572893015240469193340492190138905207508323589490757996127330122762425277728987174865697330545731295742636444463869451106262956077641815559117504649979517805612399590267389151715814986766229688538774504639703486804673317495358347910473566826416175426178725759741700067849512122786595587084251341347254405837225906457267882938182839479973805595233179869274082495434552032891336864942881200741206761965146409085601001231227548136344079611721401712837979625651287705886150211682867774848523874644145950092352759446022807384740474971190528813978772074903309347956265249020619686005515047991608227951875058138741412017908199131838138665471375418839731660774089194180640777430226311577746376288996950150815169791860765594242031848865047873744043119878212417792598104082378983216195216679448618640040497597038679492079015097051288247298192061122429341150078308142162981309431676632949167997733040430592735025888174000709692018254433826328018827248240401823760105487242363357191145308482779001562398544071901215045815203303562713767186377490117898348879427618984624271132244925779769803565355739376499915329017285175423160953892751844496527248775439757765244531828389931987774428515311857421715563778866854496279900206068351017505303089630477399611217263466338878297352399348402643592050884693532469610764817091562977076645910176039028609520786175993759442479294316189231221961450928862022941375293138463879936130918440654913434968826303416239223069024625160668661213575198312839733117924182060383850399322605790001813434850801186145299471140173254719196276307133754812028055372063982621471384671162566383922149557719986216904030588316700924890783893627317730988749512626235405895359002795986770953135758401902639540939530329514847515677779952018004279421375079931690387295796708348282430959052113471110600402538566721937932175714846138198562310194207992339102509312241098421432883772035147618571796015080245453923248984945792883687215451916511035843239728216795418173394145240025340333376055719536085491245249995049388903675540440909323879069563611521090564700723955452479337611063174443043117424170439562446564103748042475318857090966422089619085899257980785486604247767828946427362283551022982338026700795659308836183407698031055655926481521306136579268063399856568127481833678325263292621738585327287363830684420749924217167829540506081071413600622046974656831881681808161522584900718283886166426826842015485878079899297013778350246447105903702891812535103968984640560170661840123306919205213797755082048125357889790632166657344142578482147826097271507364228735182042256061862580650509931024534739986682980131328679592694249813923601091136268228197578192105699950269392931855875522544774433321367598901006685350506193736190446197197218096622604214719548583314023747746421881224895849619140662168833795896140720506698624683901704296075801884836797770148650743472092772952567139906930905090539750957464610645555141261980136203228964647602457974012300645465799605282072410307930182366805484366105302765705410631967558018666576229607179841104212999990989758491553282286399930131141361238197464794932884977102339675990722668039454832241052487344836120387182147552076192542377982595625554780765965696052202190671335800471547265924841083423680715415764831757271855275527085068700476179246965070798260078796679838646782371998169995192262041926083871019128157076687025432744445742055169205902762497130316073767162901021533902461176337954420259669973226646882191726731185403589686929585183514698561699451702662374425935407898644725961253622879514027760469225817426771233442693017985931075589541118254808087688378191211071925058173753563441471282633932024541379646214578918068221716010665814771512072063889701074795763444934285402610218308718107973249952371833304348278241061071595580937220652008026952270497759229433367324824657444781921798632575001763368843799187272561325504127203851635906034784930375047659301887962775378066680619333291233511239706253051919102055585620173226198914431623555050538212230674413506951216581289362383616894235587392425296426352501082763386057706278798532289439568956287102895412511567785651727722660372771225498866535012104808265494662016757533106819049751577028705906793449789582499584733647538220090336424473814782377743496418739764536073556157584258629282355244707526171708457974938967114939321083692982859766152260101594629747208418813789627843853924596480312154065554518494771383744603644171579235806646035166762122406016283138810506320068636868311134775398179441074280163779802916513044874010148568776073253667418042649043387333113730177643306102577793021757280583713479939860027998311408127307978247132039243134085135969801599535548762818123722257953155236309855954335177642077784310845595683278821330215624492824030509369606488733887549900195718978906889747713313069150399880609691599485389610139166197286466457708949497380695501330150909764656440511469429191235562754620286842825262134046499945332804824610112639874578117223967149743336360825932302135958446172248671229204097229462077013650074853285328727452318715418793913528066691675332794565219300622974882661928572751327170003285684282460682630827161978198437107627093151336529437646487540462147846353716380436310170825163397071637100858823456774778485724444637549526538196765362201705349922879741426436024762085375001904481388640583315781201738239551911361145196627327748811957004127453667399971623419422517410042789267008195289841783254927121521448168179627603993219831565827982720738720602091335430706380079473546530500921256729799629659716062936906290527219119373258332938224044886830551594623969002215250656334937993264746054154396141329952568259785171996412863677820937184131029568678511927287281475115520953001998940234174895254975440537049158944189599000526113759925829756850280449569531144632844329404081222288134119443939315968800500822063876409374987018504516566560098375148195503406486037615462681410156966636999539432313952130474609307162981854719252549972031691543452650757359276440549762823198533798966811958514768636038447210701897400595576942037630777618999090030002659465788472761423434543668868045193782749937399843299775781788229717983007736912452341819180122095913333038829166510613823845267760093616410628499560045449167033054637209383123371307841979704201765417565197627987663982852475561234900412474364041551736295752077597759998627041399692214009408157853962827751803774217637777505310808281958360859293976846728279450370696624621843150957521478313562641405097173400795678735588045401862363372644713272245716830572658014343727190749965766541519976989333818847833852320296547454344298871657561166390539195050406135134292168274825071902607878403118839045093697307417680669639160943869568040880541411490555461476974123137137182525694849397556353785090013743998487083124892449937766769356655415326738349503406192060116783524288874600780022963380693291546164251833811036542882043482556185700085488594348728954392549488978189827798154929024473929887697725819700615028142599803802793466167037310844859018910590799057873577400614110023034086075202989369221492924128443044661303804752694835227851615021400760140717906580124010291995158154180453163813046659698080797502142187513897411286165984165938352662513125866184813521147951786164326650338068649921357042333141893680615412206110448272606942122680761205445376511350822436860050046288954481255510594858636941945884879339666137216691675369485286883739807410231022280738888526105798670332577989320593493245167856815961338028280231770127855630433049374187027260430664579054297512649189003729783951300235657638895903125497496983225340836791690383817367028836358905990789048198670308230033970981492690597526406668483617906196265424706458219875715276986728346118788346467375068588208070037668738794330189885836676705728496480451894124022807497069551622480636737349773155194812980064512577351007184619220601190126579947704024764226348439760794663550440844320765391256332523009585521716260438999135980232553731483586302568369592082225403976216866426975913862282407167666487165737625338616036298104072611349142826559532137976799496689936942356221386619316207147917000615070692922504467387012905607791218489873354790420351743215284328386285510982144109476727345999727565117137344084123725651362244192724647593111556928615041277987179555437840105710791295622333242428161867987670670719573936251795711018728797774976925438184455128220214285063652266839667222836670802540048516754537523265740338438684819762369715787013800835690671162230686770248171751757446424550995073850877994061456192755312502029514814503939096805392835206430681283635940069651381686308971250378844658685862902282012931056204310775753230652892005510817760191368833489664075495146250126155283088646525122681408223237054572002989751264442802636172007456888076941199756136611421621388266075782811006620401646910269085914405606909661813997700829949630300881683540823134116318222288210518886150344870481024048588310383383099253730781003619468211461099390425911201301884940983059359280554045165297697091380615642792747262988720609418769720406697173810020194165028194096239028837130143154880304114533378282167071117444822152786131699717145954285122524952330166355428353840288092266852097305150894620126175176313290621374089169743766493112963484548895205233308886645178365835502383113858209289873382220923673032445942882702889140582596954269603319598988269395343702419057927451330329247307831333794690404341494737673325201654923604866420561256115477299374778251857499668783697164185213902749824865721512993631249962474858952538032486895170396415952367455610713172753591542283771137192653647264452921005345635740659936221149806099301055510214272165819143023625775870553774224652335360682277744454629908640006451080078295982627081193957279025325322263781945865275580328422964718134534848656173624976929137700524199693678397870267951065937981520482049090888004710938622342594764161380368161864878632086358934462590737865941520513814669484021290383060774939980583952010524645693010297882793961578982934590050571712702992210668656869418735983264536726177255232848981774462798463238877712237431422519958459415830627310745608870021149984845528602534620190299214628548142607667913397536755776151125939319007099340093968658565678383447667368414545051919985465495069728674428094599800791347009505779536198999549459721875777658325291902924970045918095785550584233325839249443066087565230401824388161206142668267945580530612270088408045403330246794957931168488220346097342566156843738866805859104703439815740524809805598273185585040931608650252153904743264732266471843620875181693060386771117867963325304135494911951749982868576028881214756267564851949255224937717838535151829305601528241636537232285712124075735189903269842767016787091428111649749168272440161942943007929003289118137591808122318938622755373406249198390312765559543030569812656577527558046594668261410413670249191858872743112958292455713857999176183657160375417862336833832762390657593642383089525120603991341328287542972401655187340751086118036900110460725453189375583397112815046284276913452409159481322625120970498211676017124195427609433430492433610214158689122804748003372515079220637717629022596329676027527461736628482595746690557159023790085767707968452113380195200691821597460178023457805815647828120271919947761338038530216198200249642556455788583656608419232486342518385053013370250294337577423697645150673912257278601680524903890327594907122179952330594206785710481973616945050206465885755458496506997783408659297705472917789439048938471246385067724226996059276281329475003711584128927545762591625762283876146789573557024475737315555054671369226571475832518241918624103231173940399893356392613477088523753257308400955586967315235210685902852925910491087030786207267079287779262223544349517168086986934801927169725350221269068868471853145072164791725061060048015492738537754325699115511538341080453209194546325248810963919017355897709183916632513531042073908609409337830494845110445662954924866010995064441182228794900524122843044540187215739520233285809084588954264915689553877115897715365380729130790867165078858551300840112255246424151860768713843859081208942504211309375367643258158400294674098440397135011358494236385944673439469392095131070615245960429982940890291704003067601109341431827926145248940479159569625089173966792538345592427495567166295501382835680331585247095923742223573758546779059593495997262796243541395964089239700299248417233589638346864980060101227088903583446580187877805016150969971349694544572451431934770888795020011465034400545951338338127922125281986346322910063006038940355873184828670963980402225222257947355957725033344386509323568484112907691394938568140272521689202494473535228096100159403782812253610175617618529766728097298615197406997750505601473394043006545485276962244704073503927429093761489105329912439781273937938206465577021022487575604197002834790248140264622370830441142357726760796015497725720967293420112900989882341215907015744208349530850730284328928822416036980066241236454116908982145971869865699735300911823614150647743932411694124347529003410506291886057116741475349359813863614715310141935294739884887166647020573587802522027105703411075909957237139612036748419970080770997832558511934700541430758948157830397360473045099344331228233937186114371775.4746000434852085144422546917814289811175752973687129305217190638741878545052332047107748659634600817683288632938670544522685048129817438291607764730482842378183284029070131809405463840077917235830957972253425961475472383029804890717934476985232779230732635116109023462381806003128112685319121123682810192712356188546397411525983387328710065805670401142426936567419282401191758921057509114880521670812931229311616368502900255332533058390221585443213623740203479974813858216772013686950292530647020636479266587045662981156121145100967813462288954262370012328851157838406845632158517538962868995880740526200417490245243542531211205589300571532577103477642865908776618867211490122661355753366353126925948297221598645422778304918720217336088437412976155105718792036769399334376783310823504595799367516459988776227302874443013179841508698785317369568102405714928299050049502430506316579252764583681705855210260893461588854232692782489000028327695745521956337506764867879624583287830155788460256945844936304632438445135993149733439822463128561325030849153258591786942254013365091075001538609977574711442771400509121404267174133727883352422673707867585223858422321658090370840559507041548302635710522871876043995929275116399083355534831667957461598121770880116881485551548215566390587777800490539214580423172901972859631692968811469621058448756943026287675476533407523569655251573313283720484946628176131878946297715090350944528548173453367909870681638624277323152699925937824004467449988812347537629335039469127063271055301074939162666534646342862997648867261177456229885431818029093079717836891433513078151184005504775480161424097596424562162844211071009451872821486862290684007405535572871174424220450518140983638307814942506038295449483591056089782186536351481947095364661560430668444271431556455011479825880868924552617882428929298173873872884339700488921735856863342740948374564712806199694592836322316366732315597106287637042674027973577700381011941827731910544231880773701834140425108411675010498486778073507550282253412144485244023141611478619046387613253708322756828187248342992856291573306571475213157983473670290679929709148681096906545833052231134324238006227037784267594018153585901923765478469885766160195653265569838305363261037865885562088536732582240566889897377034254110703952376544125204041966392825897112561125857380706092931333015748906230716666836465750083686351363988072858444080777005365212340830857254398719916816564085439435420366797689792373229840483547081337917895965114657641882136867190903684380014789465743159865774986364704026696752358663761431039688378772554339564343929283598756503503750313369926430478939907577027515656104318961101916906673397378833663095901213514124903452189084341972483724087619211557775776120419779042662423564912619388910282159176552717293787148078871019446475221612343931845665664765919577391473817222526302868256947026957115698332714344722767552574171102663619880434828094941118737047223884784927329140737878863679311991581073907931105884770057281390759876469172393073462697618767754841700617868388744915978745632146416470476215009712409395061275936785942885517609941073879908611201925106757417521931238340103246438148735608571966009033345699234268064726603792392418744433378705721305965356505949933476724614388628136963535359244703487068699453586375750207422092652358437384833680157407161363848206149099574833070012728987481401017246195691118111493403141582815639460049351192433973319460841626772897924253798086617785789862441920832267658476250130600817271365548776653411266279462563200337003870757099335064122378898143043352647368202920432692771508102649103030980372337706976346179545577872060090443443032887796650329007213335301847261679341228250450193629379565203560726840887824034406536602154620792598677379885247092653080442734115075722820346075552880047412853652145547884403258458773624829486610195175737255002990452854095868197826390215747056293499018704614398048261767782303763864666327778594513911689911209787273005093062526817995088331201948358077374828621310031866906103150057914517579803128207827659964980803354231313825765469334343761941299812975250746505448194480787126210627154149099563594933223135958911858382284352901326648974761563860698139774967099883672048224703992728895303002900460694636109690882673323625135191370835665726737116458732247786115318907679374206853626071741572014006763912333110694391668715136548315728182695665116475266070656587272090479047778517045743920598438647886800797851555341655625698454365047237212399024109884543490046542376017448342972150515876070757906527561517816041394093693880580352020383086600031630012520598736130178698369382548769931203276889918980036966332139344665992593706726729538361606531917638988478072764847676036601702785576535662851335202806686768057706560128523656108408079847762442290424287544264025122028795159580643273927465077701124013521671855382675433940932054457029189284722282925241555752407329339477869380574020475141303045190237135364333765802519641167896811747375909205005458344752441344628378960800502250004671845972534593309401654971191551635444699248780840905312423898981625006943013097109863327607515879691215538839761977200980654341403544227022121310030220516960212568192015539880883017060677890258389591266144124647643630532569417588614448082766423096269447380159142686616983725026853897757882996157748658920455330811516414804711405460255420973957320961661234594153390042039656508596873998550185437561966143793665242754601841584250559285755113868035616790850596753691268992478203867666843013890179415325574514013779675987468605547199866230941211178898555327973803781635649960090179954606316796297372036924255264359720673463084941166960505041579463640287517103240038098614961039314632505216850855666648054369291674125678454659237893819547468756288947914379512401802958605472210126027577448790091586368028259484186035780871870940808600655693222037525704894008288071336015438853515386797317248265390104969945216966547499233061713933341337850667423282106624795090544879576653307645076630020831005595662340692376083648770955256727215740709157757243030047865639580074266473141085380604380063213220946783119437977938388515036450667347871814721536387338831798767411290593975320978801696966832503844094381033052832101799595765261760310414911114326708877356092181312474087199551443221168769208331599197929806940564670479391344514635528420014282741908869995667022786548551190364767563784441165335910967106133721687977411757203824812722358850910939693068988280884158516391614629808124925963254681632294557039911824418934551931295544999692716818452275922237458122512693084677533782474619574389630812120809573041200883731479335536960043120447777956559618763416315539843918607522379552348792525078264777558202769816140939113811659338083035221302919034165559834969790293745175579492128695579285176198692109958029232291871911429368127369455557492833230521696722634582749294165361884937226898273953127149777323402817749341178463775781680312875076052189226184683254532665044771698809733561129564947125622001360462367633958906390322087209557593841725320112963215625365422172776871503736124446918466118428817624774277882336949916729683485357846475454609415626401369628355259128666246380942582630804850387499355901730726285468760146396365210002196398018777763888639265996118440089882971648146121148859772516714814001288002815141939006277978551264504326808514839731381078043469821273955907512587625744551197291431728339292640322127594805656999284137278434497901870263948559609013830896357249326564070028918919414403238955807756383488289092134794249254746733561800840961294665081937501194442835831038159716236449112441006281984187194067812576609845066806905313345743534701681577193974586219843329692364423802533122790321208552411947512014287591760914134909153469310521160841130431845555682940972156562778802845231908668962979386953422212617332442418226633874489742195456392556929761635914554751180627476824738614077780368753863048805690083064563454582387863197977538768065713269639867566075792767733652123651734742498228799187960445650235510284444578569688396330007040791811486855801861690444466390369763013618308786867901567198147233746020862832638340496407433187573385383578732796756598464072949289738117982381077858614012406626520331241509809504685019459312996941277447529409060881738862071875994758433493501509874752980269980456419778230500799185675613501746390487530703872910479130500877738798441724021412689514764974647416573645069402660832200707183036684160897759016291642934662267847466547442565387571764340568572210085741107737486772109387154578606371493386225914145275000459239169420758382093509238958995041077112107957386839774569570076193106316224252057124772829958588198742694012237152529934021899601505766389703510984097491591763835523451351604814313264434720205887124559641342994322787370592092934482568992194748136973144356669207485477908302117926431898654597465004714546978680526635492871517230601378987956200885545724005049011361179196918916580275675391494850980899582305275212791421692079368569618870597030439593872309237004067046217111176025333663788718134050773684713515160646145118921548735005676959667742356069071347131631310105283077414032961295118293534666397794637353569708419569814590331022505232510680544690583133468592842588069029395965133458996945141602600704854340853320319016740120502573970315510152186309905138480638147208750967487010120635673748752492560586226129131117684170148407854004946560595816596033247008813416802680650133794417734764767229021381346570861302207693381003115545691558555687039918346679000776347412568048963955701678571768314065533539325933413592641738789287950305460253596065341414212253148291747984335933588831572717234373449347992488756561719102935382829075984244210898289319524152566465953597011222042173026753911857375726628762186395709595886063920615379376584124816767465064686867396323192704305983829458038814754308918180721431725882685487952502595303697931025713073741458828278930390283308079398872939941861864813031691498350337852746145223636959010372327362249716342067320917131388521479923896621937680803739869741001993202886171952152637513709800111631042759067472845519109092223497793980117056242016926057270631532841054951605007611336266449594899196512674476369692330984033734646217606043899750006294727293777599289805394561782313707726015965083185844293683844116909720347067588062713071375009611596840768436253626925362082144325101379132887340164612810237689311440373753700736397690623303444500568133606691431190274735391751827653125905150481620103853920224082524016741782854986461956998619861494061449646234902299819970057116714078255880590732743632839560353061806304655659843326501487634032142993450125021383134204187681015316872886618746362904342023324077754965546512460853287619941459346832506350716894132003998255399094464391563364798010509557086107573104372809480402454619330152829141598779837187324905939166348374443342446354008609214321157907451907244879492254195647954675332722448827086413845309217884337701976970679410816347480178722604811419678542723470338377440832213476536310504961914971718911134691346109150568870277640651966326672284210468266413179154442176936374818056803664183018682091706353935752444701341644432853925771096762226818942209964349954423752421663457261794800437342997362706883420176447047183037258185377066508535191107837331178996643661213286026338131876103914789365487827649484298575115708186012652557221481810680301071981712270445389528631919151278589960389343183258231324559699777663893738268783536881336426313391870265203074337115461113944493782708520847270104750883390939407699663677316637204402831846988769826203154839771121326620210006990732048743811045377031272575394469895880263568027943060430979537416204243791513507826889006951723545089358639081765363573381575839559404467565663112461009159652707667203052718349508608735612082768690295488414584367360822052429418439199151501048994988303878911786895712062288278898628225019107786489686024944923717730551464152910991793308792083066011379706297408578918900118516339786866508448326339329552425288257055705771525358402460822442289195687354728285326782774210459470150895569307132710107720996833048049795958663854165859948553059084053740536931549234249014431339737311584270534759393206869293198841290837812380219861667889120124345339212760713891070958882805431086908376367858076061070572227325037067613610439038465634856780205101894476619645403166563433474086397854618792452760548881420820681486040839287673639637770974044102028012150827402376165363989411613534970954814173700458746807971344931149522239529774561351340476079205168383538435183240575634233474902940315178889325484167582140740936987615795650190506476681677762371344014599520590339010387074421555058637789968993095025842296364189964933821930442946641062728159265759263359515731496704196903840435551008960453892484893715012075641953869035316757456929731950435730138051784671337139104412455150365280580040173008238871047854090630688902941444387375591478887042021933329776124851501860748644979282517506138745198404471535142060544216040016525367814180694101375998812013666324125533713225582293074277555397809572954478128368867487152691473321836295209155131071986275514969262884534440975273371918761170016517160506713330667988057386318269996168742095074082089947698616705512406807334932153059838810582046206087932335862397292073224558390900815078757006945244799164193305317134911833427163862770119642203116729012377013599869892058498721596719948669228324405621562555936508614401625477129682930218901773734294558028930810216557367634919558206028811014145792648322913880800434435748272763029071264743745998332038155343967074290896180981737960975629936643264263004192267985172667650444962319939360796606226402189423812375488535506368282853283126739186624679349198018415934378941051733312358488409353866493309616801353800678611846152794326219199247729716878954761161795436367592266167065070449875156691528499817553479976232310825616968928831688125344988419614195783785760148163799107168129738228726415521347838769685618783708670411166320225121289752740322181345663295410142362469754986216360836277941155302850745336977716811658654780422629893459066949541606783152306680571136233829883165934559981560549672597899799206721176367635889768137837008149921150706679279377281194017921025151143912850787425746247152454081315606981972646310257982138738860420231648004666983692035000918970116270373749559118331044257064277825174440525438282608225921560254981426470213051433255969035362772914783706224577815513637365842054544816758125809570933860346571125728395207919086071659806463797479401943866765572850730378868525767072358046593970163422208260958755182906557176185747997015232107818328196123963438147140893125806850770384670123950684775207800695762910590604109180879309181160658961120183595733711843773889175181395333805398761045533843970688010575955695683700255759366535638605113874334904951448674459114075706084649050647701781238149868340960554759745618916231068144990117264839023507508443551388007018937322345897777714261429429121224158302014801784100264206349483190123454034324745983404040108619733098611244710428761397327311286605666800473617496725489230560140608409668120891465113357305611891754810645824990503038990451552947520514219618980206105362747932986959681564574504136863237252642257437786133593128815130055211467300371106477000083516834357713475624936695596504078771319082641323026806477059657644077907383538852742501206282156756768696061077243693735453688465251013839038772233517074335493128529015930028241892511164626948712915620622456637008237809413414927680742997852774698508461012624482477678675042524374340443907368805794551058420070604778280217019588053371123421493082020044965926741379413957216616011137734448012241382609320203014340113557380725855137280300831365578044994966651484102155240598346162754160737097400945681832688404999316301310072286864140438270762893655706726256853569722752040242717289181706501850042449645960131071989071932239234788864470685902293420535759982572551918199609031373426923013580938029151211336473938720153403796520635778101778363166371833102954929616649746874180939213543831445408263157954474689630986489553095933478364923391254445005160681195432268851102547103623231490629165313319631808718281826966920159602143228438220250334020845872953169593356479616659073259756273580431996655716373490917115932380346637212983532991194905498848094850571962247657768250911896825501560859203268966902995097809459727723855173189091281902692537709492989418058157395687856121893043433504309116065724411125225621164416066290896469030362884569697351967689880447542598988637706432540500608653509789577452324999364536597464914894764629954573521985754412004515983376563932485595270934166717428885653966425976625811247928662462127443185895459030186898857223736402012711458573701400208932505165588789847806177317560573725553202172276956694547413471943491021451670298957523264811106677799936294433240192440943256015894907648081516547911107542156635027981709852629430772526951534259949230417682547514768665738463379402646626880753450218881849497547801683483661906947947332291945628906545003103719634469688982767587334036358842815451339129396064029622269366547082137241201029421506734980537455881505647940102453058468531278956028883509510077582548391630455277058538501528498763792178133770488433205578629496787297210508768713234811873914513332255225212013438039138732103458975609240473937732968731953419426198013372665538046820135408343062085312508273278972987639686982192646026045493480871754712313724910514329988448625790363814389980953417525589343045293575023113131674446996140646166535058569172261807418022218126790295272481827009961885026939520770399739021843931019641457529608830723627923429540406771624884669633215128562416679556638217803769002825891055812969553676366853985269768063567065930490146753241889775883152858673613629406021121309009416824881164639699293538980080141725303620185066116681479477402686117709919638241009379218069427050942053038064187224165061925853049355878976307029645264558353670505212301933665741567144979537709232682978266750109833350405377312590088026611624717064206945796967065089841933506532955659128036735553438753103976274751885888484139595570882190039624704403271886035582562902125008670131458768362012381593915515504719874842798191341601912685355936813529790802956148230620176779370922023305593127262424442011968271605035586011737072626049147087347840528121425244408213329047771458620444608322983806138063752800862038519561852332968766251563542755628774051207793572317463830035717786184414184553984643228241912880419882592167457041586400714094256366517724681307765327398919445271852546114544432066926019955695770154785332087204998719637298776903581337535287878660843784571364622857521269978756930209768097681888850978087053658699787818578686461670678496753534633516663423181448507566153437990471039593121275147094939294984143268347650779403214827947447072500334229299341684186091757574926152604723869049479189254124536254434008596591650668706310774411874476227998284240331964141504801240185876714340393682198478978204332012603139398958180937944966391593985319248335164179063759501762272703658683492019936203364632159340737795254457441281549104511556749410936503348488752973326593367420436296640608473962427076625369623254838018077566008737399047009544949940968626429212963077770744359345552516260301727026925919644790475629467497769784388999875567514198247908607875405215304871522151277960750439091713465942024450779766741906825908444930154810817986570862465175129715852234435425082288456963407671356509144886306525570386956616761513450830791365822871766539125588843039128454948446512377400150964589691657251397969318350568574922904069796025033984931987737339842248349063768179762981676539515950986902481318487677766419582177378988328679718607573135315545572382336226199179929452185769216666890632273200194049550246289047748912351691831257104131979876740633881940243369201916033131715071379486700067909390915339400109466626296424335264568091933166214076618350913430186917022548181590451209400745956767469645774835990213153349147733482566333948457470917264470143601880415009844804805841209215586984935657633235627302742666116904319084960283877529993459293003667667283403000783992250471771247126864116519707298744901071317139915358109092943817229526870583494221061263687960902876763714083628844182640348538938504177595069864492767913878661442051801529535174360262741527791118290373426955682830006368359681502569801626287662694242277245598766776050970657038472700646417283852688777753656616986172913631139497286181448339920759940425538679510158494249451648534776250239393308379016953338303873618631872325382203011466227526888871250405135377980247881733441248585855560008918932810995231678426221978090881884265286921188153777165964163263881529222552667156863351080306687949981338594500196444842095675579569813764315336292897096784333481492968392057878158879657201541680878938333222037036093743098488688591524848273176798192493453322171226820949277948977349884238445789393689506413320054943686443213352730883556081006502080824368705998278743541652524944246885655164103078552919163789104982479107528147992384512800832451810730402418200468812312518853134127190631454622523956318115429153862848215877042337970983555662961475416996990146033353600466655712353154763077692127497733591072428935331850519822583578837136408494959034017191561819622657217359946061682303670783847223074920016633093223601899385100627021222117616958330619757488642364699022785370324305372040004361922834222769894234984408630188473888200606788123631091066274134614456416306128604723049768391754399062613327309773397485325610152278739283943032361012564227354701577697101607835158324959706376545224936316011528481078960607473095600531152536574894690672539850321396602875534933504883047242286535208607372796248728252979419272014077924293030822659166000157370079961502905108393309122139086205113474686497248798812247175798439876464003940719710947654455490390238648252235126440128765406766789565501926668222555523086652442410961275831783158602223800255498605734338606241223547027042703676169512585101423998692629091450087168518258313914796958069225243971023870721214806421429441177684889376560602384956219455582553931880636918367774405541019566881189274068994862224770003272870008125853642029443831043462649869804689945269313616940488663769741329225962815178992232020596763897031527908438559792216276164646349524416582537426849596122589115389931509754696493442074554665316301681578949788025452827206039882940217023902904471973605429427834855778188370949337819461325208805474202251477400182020374024806545986323490230469683813235815662270005344487435513126449952610837157693054997470982729636097003718679994386245533907082683483974933942500146811313211481841130823130492626518641092332738051156669600095746722821287570377782359431742236009203623590530528775819285428328478932502555509606109220792545502597847224995857497312393669329590497111700488147188539016940011071902085323348078023025831835952253771223759776780102885188696141610935200488058188568308369993254349092032059088046876805026342098199324520738754363246948502902013975448613688144681277227749143452016070340374032381026090106451655552508555251489611211423298575020372158975034997230594913973595725060057570182807089592081351935651658505743146156025225661774231616468234779584186820488575100261029045522692212814055922634770093229793153376577175887353722042366255882131708627126951255651000645326559620694426214351026128114947504487658092934361485290231627577038923924137785143664807171948844658962586274789277758677881868435242502149728667652441329628671297667872776734492956088270039371237017494289831026647664987835960982623261146258135801492175891189363881918845858358799929638048976554865661158283274267150156163730328085220260888206131366975468690721245481669612325664573020801973219758846907132920377671854061503570574197102314541430638054317686954585297549995340324149872562157706435202191847981515495961186978523243473877767919680177287094968294651131037821909928848558264285761076109103294306112189905654122442162292813265078207229984518883011430813359078900642532294094515858032389487479533718039650211796701959928867733234059214257429291616528507570893218151788740682743307477326305948974374140408673925884517179884873420844086965270758302031239816161465875761208293325758871754582649138824146995447914991268739903038820437058512513924352345255669643998615497640152509945481247333624686245921138301515053390223607277091703018960033768098242723440171443756764960256377303575022059303890496184139967617086790996858437408117722710691519190400017050910843725918170223354495616513516891365976983927572932413267748449577064884196843249600037901945812531111520327873733856749833537900232306631548811119883989232153276437292346120533432922878383822685514040684858213628817667142420981608668175116678651549355518518978956765496263021487334106977966971740309925350690343773362279866243293186933992948426974104202146667106991201417579369791121656414224825945218285311203345700543965669184927745586806160650805313990838440135683475183378670314623628492726294753482021008331795288147519150648916310430565857485411163280565378139292461056994437764004372021864786142267158713591114541966042732358595502306955268635041846039466228990240837563348842229842989813604848124892236233755652050133416090905394539375640406633646219818821552027164649981546031852753756813238946630721895590877062530141766582345517618289468264648674942510844327389327376114678666250414510142991833762393853639454727178305694999497727224518455147056917698080249913646119166891898689548478413304690422350031130901157916877328917059414639765975082806603436227124287860936456154654224767500434955651947512149805449145897040757432728609034016761677176802897533905777991592160429159051250225517216006355584838964061197339883624246073651236045651062705805168712512897232066521740112722251254707997632838693087091263618733104915878073144442164402763869371983482412826282790140336912052142613174356104395301557360667002485792320132781533688527605325786465718933102255546590470034702370942955267403257028078271663800116501227997214117234053319611922592715616657290933538081242337616800561146077280765783800345226006085311240989267735348392034956786410656654790666492241656241039983948705104461022447722348471669975748378716039375048472241507716282030811715644169908444504577116429622796452999001046528975706560623122760179299406058067559308690904391320450692217213189231090102543876141302525468776891003233707017641971145883670461683128491422308407731449708954234649600762193955640984075962517273155132461987641862369058439158663178335543429715942169102039095305260937279160986394224729620473119102821067057988320814906066377208612718615625460561953879408149920413204069705771176476616443365509849565447935264031694550816568673549285091717330609055256924993267495116209033093210935749348787448269881804135476481156002170825643743824459116774081811049323809393698035947736157248442576876907276291017780325061026475075865514356459127381108230078607104887512168092932345188197159180560231669489904138646677612522791734191061151584370258911475864947658974091242601726730897385999854644353677057141017016966458653240697954781496817511327295050576545231809070874725870899394551227751033152439833511712644229663358684011457650913285571995071319497018166821034485132443061394253155073677980448973319635975392918637914804060177401494983643956911624006723730783042450846351142426828611994284580948942699923465069131442082530726543922815373002217551772145320976290773411931152009496601335554193363704829135365405267591056785024396998904650190836617912783415864563375730761974755549939272769337884389377474149895718938116069757387425282698808571684407224129057801542723503583641301026458575377621014496764030482786353103952625048687284909147427252693908162887947695286392254082441751869270164943693445770190534631938157195789360615382611676159474280111601637828358510809736873323536607780464500373583676356808251033721070442491051538464054892195598897833202429573431058639851620609512832274254717015998805969140091396716431024937446546064278289538320965288883529473209727767730562781309399862701031225993886065233565716693063278590302600306040308890579088305276408678928722774875043941903440281270262236733312937241541805836173109542117650943688932312817435767821355040154434427658969804303287632148173736181846854947497727681017924417145422207711451145005336020661695139561352690926629162784952014749627972231455010958146743266843725542967302826823657553890776040514932664167951236983392561186139822000517204347168799967175900084594548480835841812738665177396747323181294770854049005734463250984404543130217833753228866391502974428961004989354896772323586793157155275865790381970303971760098903740246818068255415705071193903470426220046882335105614945255895057691605304767299970364091592297177249071469388275522123394545352286305441491210064486738382837057987653892136234872767596999807817772171515338818284054665755438428635016541545375073659146919752517310187561018717074219802877250104214960284165065786696075712942384892021457255926705304097591742341853910838520193845477128512979054645621495717213962694668155080446120499062904292581140175673839652611839021670840257274952567622816199214381685602541067435197608219361799859540896914857397357190326426503487667558966795422363397059602960936803699461925351612417399506791371962001323951222565414496266305611834976561805251705364980732313697016682062500972428818893344605518196594054243485489460794186659799368085409069527666637267953824970879341548410489064711508000429407551725778916835326698698650502470562231132937480049829984166426602826051454213229322412150713573857673720161405430883098189448e+9466031771835552192998906288646582408575961436847338148979733614074824612975789732548655551012631343727916406579733511366489852986250161002651646117243802789277024150452829083616443943324261163591746928828312276780224660809350454349353404623212444902102260325951898239893235491001224762794490591414525840509600044630802263222586138614876058052618890227569047850823222028845207018132811735610894337631616138849975156449900201634519772395191388823489581721807468558707238669641201171343644380437207150939895116353480064425688301238241132766511061089721289231554399634102774072300292412557712363456068355755987926369724417846111019846431921635482356997793536638714358662948486814613305958531522250236621489373736296703576858175398952220459723364146413228257786794926161155681217851193210908897281819924684927704043566578557477679763444046837231889458304243021109444848741476754819661095610720886272267506193774831160741715993542988840479778274390586859360834123919278155095444692299325308832355473208009563944383215957953188725065068936241871113828713053847565364177914093205789751288562428956383176505847517704022879233020860199961465148018410719832157335366452690126227060351436961694140795174388020959084340038390824815642283185392410155170902104618372812322082323350067380512973932234668966191656775605876176689922390388010175944437914643212324773703504534230973897471892244811402774450893802283930211555138570970515594095535848171246072021138191842472125720739983700905138167364511725517793681173373809715662225317061050310647986486370146560022920046279254264832780994742864269283813850479882050042618915533661264740789867292398782593047335751328316505226777765924541404979203064936651240927731185445834987285978735070174049178624400828766456251859068662591563006008806642299694593371721809201021023680039998669996260360402504906277292391159260886144385645238977826055372290201037665121956766468263812254596619375090407075831659052407858419368167307036719887902142839890756565595418380280170606801081056924475148078216435695295693920734194808627648203962694355669832241644626383403710271608184387523917371139479042261341181711663954804927886980309453781852911428921533433042274112780088591646658704047662881423613914763047614584910878279431722215602006977448059338165008390713303706515359364419227759788082532104755203331992816801702800253685052793228338741422714994911472197499933977961125506996519879090039943432130463913824675575684709893136571837130632291041511901882327174370283568997193244556655887796444494941732461707452037517418155794180455612784620853707450385854464411992390855060532209257954591954263404700206251601648363814139756208770710557619076812413826812632621692867550778359512806507982345404803758725572624816486376600142742019084761024637495232814820214447545943368721682107588982904368214918364138416626476284774120144737863498339101060608377909035618317658402324622802630532456119140027968310774974330505842673589791409230429838561721227686154025387430674767536808142020635259087740008476221823837031214739839533833872616718011916037420506481764263625298010301127861034874962388740461282234646544847234840000896034174527983557153006483693872487814276166443379789547836116586287934563419766636791574317967716501177610517470079129772570441211331192373013310454321790867988323455882495948183528819195814866423901362856665239220132733319153465792297086709621956129673788025726946944526400895620807198910694588193747517719493474485207466936966432103996046303942582450264850606918428322982479849284522910190983058082290630744765317620860850377375616682876542004986064262219059730410608254674064960308550757640681761708375092400741516783647638026319246947198462735536890785787430375179888646012667446446216170227754845929551939674530153091215101887371456761758304331830973795076905060949234186719895912403000692119425550988551632345895117278400564019009074140474955578415358514936968866582541139908759504357943559465215489515425202172829714099957778238482954696133517509910027894849909194576289742512603628309913003934684222128379551134986899491984645069491520405838448047286305061580629874046829663787408140868916170178784368246714687693699680209539509955771565923894173043285430302297986232955436875391922487738977788303808564151802094264137944732775077123550831052798313108791260797601976252377569600132924342531591610537785653713938241695851200583656346032405900845126621943204589414047209019015527410704326786840444396397299871732705437227911958597128869968341534297020733928779603602700836100539333526818807089560740825655610863118011812812799965969434215213836637731132631520228183705358831596282327880153377207770425310661309763461598037977847899522588631809175544547356231940192372456536473149793740376480491838174949508132004670817478647822851445627450971350343301375079557623485322412767923356483102279961321054517706608235895307527443875992546316106121600332207941248947494045655569649994324011145151191597285033918127569263507014244513263766170102088205557470815266812100030040258370047785768417398720844048295324348316005856587551656052881615069992793288856713979574774135662853043373178979368235825330026423820187416213461206089734748680165173034987443863484557051010348888301991765244882248163386510310141542838472853099017365937288225579874613119640543201994633785234311905238192449789170564832577101393016855311209318374779156168217511128859999821870357484391132106238215106280597524583914030560184907638258217981630953578724034444309147060988144359626509104669291236954144970327410182294852783126933340059092053081402098288710405969964985381809962363103187347835951662390473689018558886720526041407636805383306151152834008602764648230980410145462645265138524099034232276200958134761494248747861486805646931756242581118904901069642116920297931309712532924020207438232271967207279644136560680345360518824556595659063641601855503674659234985640669123405502252539296141759215473305647399535990032766851072712174859890744445560736541660053460976055021677144339985261267615622429122511445080078724942825517859794147401119139101797090753550649285126367470592684683880135112360874620570721019470758083516942952614673846949186183983454059566747336713519420258768005600779363326990263227262238050512810946478379317651577792717791992988826855008984131803196065364774879486187977301793023641489079756616224144974245567054292111087960593229816433219114555999119006287729623368689523278977809821449323285734694776014103895997153287806301763250863493994493320768461201499734942281781442986052819961222196600048238573791598991019131472032258072141410761781082007164489805724159210589677905327135793705490805747097187877519544236806365555129821739438111087701383940615129222507443586606476507813074509531903858308988526498380889460335745222064073955715565765703766250975203602997780446912605071618915657918139128364277438135429232097700735947905322088803645578979669843457349171390380764213302289265520486493742782958691943473312084222883388576073032247786137355979450788565382687924802438183871738719785325703796178531349728824815795449910501119192229393395709478222135386599628863914354044913957381929771833930251608225848433173285454559045080470492106142679007744211116646803845387191368460336979191977567963691333689637782582593880558265526951210383273421892172228244927614736784203845937264407431923806201899429706519257628561955436166265239101773810682459744290008626469380579061041306471010020084741681858874190240887199113323018176483280999934034953085329920759597837026141565052580034128195164068862686852570758971494405032640629187784234229226385948741137191022900646088102952777543858880992182268066096394561435030818819120566485094925393666162363356381539198827531082648456603230888953973977620958112259029544543548157645329534365583615561945411528404958101538308669336652393546598004014298240209252017249515374297690031075307222643460531070719471694024554598752310363672943802184886261610407839885374860160681061687960101806905534110256434552712628958030650306917954809474767939824840925187770796178315782507681385599217987156993726515787477705257198108816415909552241908670497336146129780273320655965933994827453267165404747724230025336710775094802562038930375577122725892513116372698601730488212614213467008657838608991032875046587026748803597457258671059575443177942742301069906783080969404931737122354772864653163179249633928930376765142529837265189374867650809677203665568386025974552230530608440706373323027734191336300470416406355890114908539764325382545105933532755165918006540290454987682956321837550571247466503112802119753058933983227974646150560771868184077587030829405020098277475293812781594798839353582401149790293573622213096124672132479560789036490831260094464697134290261194856039275485943332247966105214719524462200916469695501213765358402868009290959838498711307854894171903023330244003096328303714221513828371495017337169992493835108582349608409152081072431716426297541433375402910039472845487109873126475136329542419895335245145759516329174020481580016540275762644498608020261419613289508205461030992714932273266786636478125420439820223643989759335282096769724617859225736813747487798564447128815957421202898747438284950663646131995245626692355396883849325960071595259110375105703010144660887966583697756466959550786164243139009371068604529696866692136659750889115997369428206896009684651850773464101365398077809767444549736093535863312112894790637083067888131837279682894283556476972881796800829789198537004641561949210900182073902065986372628713846956166485996114602459921713209914722482171705175631525926448351934194304604113777051743300435520151684244687077794868418453137442520146514533422808860807120065239456229792234516393575309305021268890782925577138686236177991210011289491041784544388027916030231350401828918584923745458371306433685867878627011515072809159903383889868840753806534736772864192601509584561963528112881277609871141109775884366277478597459368695725794493839656616685323481340843512974487362225883535805932236589798146095439910293093518931581473319110684677626126797792140419940854142501283115707606812073979075681051181594087947740047536554234330650909529225199115190768101655812822994828350493104172912397070254464048193352662372595826723040406822631266452981332036638934176989164481056466511015678783312000139579696432005206975963296496701668749492615257046652172843614892868807291738533310630834197798184067908081956488661664085975713411103931248809665932552159640183416729145135013616884091175406969562698103815278076478705548144012481392885522329298088735761492630082470944188229048031518857132131370564194036952766137924857063322599010634549747351265640668900152275568112006063189875852664991121697600020728257236711107796920081961964158084907591831500394612700196734532124975278321572934334346131784128537354388455741396940755855267020975305170746075669847342878892899440167253852610596241640521712977983820335798769613977920223510420923958427215196684378522073015309814658572001962511393692125957858513582904310564623284416003718681139452083330712232685508879757872037457780954399787339117204113518354042360799899642776696127670507934380571750634911772384354324339767724090173784154312049493026295989690827396001462686828140062582441445175977115503487212410868124488026515447007345388720718821469581335889501255985858051855913162417107177203013511518605316745116828656388801473534316870646157030015875657895360993890866493417620307195894521532112390069323287319028539281565978308326560888731664537677823540373315183184957115789656351725954415045363978700290357292584072625449997395187327662383633253635171372001539574230680245592855593620922205472897858094553931490974988110957138136935300914055272881602919622557160622913330077256538929893261199171564099118063817839930586897735181713944760154059172220022815525626912609836231150694816018762536149620513139476735136840836281928880851487346911634430434352444254559897742355418983126552028663119220297632196004328096498284818730951634154754306328987715416402499783298885217140960833694234494672913791434168354460721265616293684975019425563109373519282821499086617552228540677949969151390491372247472246235220336473524866913348287431074899844681263642253809828571898570476045261747174774656605987034094628366632379968543213904609321713749534763989734177677250204375862915313701895424193119159509385579032324703256867290306486315184287439802147935655907547180818336292472607522209999943683784539468627000952194096980360639314270354054051481192702958044177514849256973042351743939053682343948885472008255539823940409655049049519919834387582088021996413517588671554114163563365686349822590658905438046512871631487469848923915679585139646909068704990702314871949765649231157140831811142741846014778891928642626909235409815438827608991777169951887547720465367047938226942057147812886033881586591314120325341243423156636705556718320383039253708035998588266937969119612758120153664634480275981114086571306313899454822141661073493240471224526663255582868067336653810135607284511381767764499274586891352290871109278064626543121703958390387797826642304970484884191923151842736312744331602082791003320607182733030485845253442543005267975371994954639256710086586035942581870486841789560769439054549019398436222511677745808935489501442206040291580257959962403673739171775927175322239235698975569486856358287931385200861689335293171736776691829351558638563312622717586345528475642615483734106599277904678628102385046439849701640650220084024372086629625597884869183182516143541315498949959335263874045851127550099016001956573052479954099044046077679984753261500428047943677276155064431969032194190817194013940446009297120359961264993316800856456597511566784002691943725920568337080469057779930344618300678401322660595462375309982924981943275434605143570021119523931027577310781417775799833085589701688312602945614384399617167258426459819223894424853736773498452020103056355997405978647917952284297502357856898386362153871299738400846541322270019446043164059090176740803242443389003312839769998765865389525165286819015911020108806354428956484268281992025237019664206212970508546737959672595471813734144324170943668645006863954549154586115100486462172751066632657227840352520367606073109963140062968906378416396196436542067085502314951914863675210884392293743986591794170737480469018357654164723992329615353411525350235642216625889041798250304051384060293858556772843869021427575983104511389156351869763918685383896369697505252540617020808338748376256118834300363066246102976925660491206838885213030640069651339470700685494115510597503480724881873932481094767816566027011499686992350681250931600404316457335256404692917933113356717354310035797156340265596123794650081286775702538564035847219696826146744414860948561158879951543157851414803017863270087173239564541883595896702220340257782659125216765266836350584532402777802343921669372109258803043232212459963239166396211223720173395832748061179829662014589596155850044062479373449762111272887384588104342401745911153472762610190100665007101915020599787149170190256979689970404653651368485416753540429546586254719167917679344621985849610535938044937715841433722528681637340344069730435670172524384558204249845730785442459813262919959395479143141687132215662055941090640756270351084517095290806128382587206464582933964405707530370528361117585881399831522385314399445558217917246141304752485934078544687308022867919504744359959833492144946144057117702159157030599903399025630463144559784409468550099112697833279645715456514669680693073966285260931699250817895077474760510158364423378451351060708296469596322797146101539865837858504676308709634264610596281969931528150042115532293465285373267549356672895449680127865325763627753510729366446671367199666148915269441699233890158968046651642481355616559850077983989755831372427180955032069879368335848198350281276972290397335160666695630950007896216277900638716396161356478378201028740805898538366493230199119212388380170945791350896025036989317168277471962027208811516124265092039798085207157138299924550171597666585027752468399403858087458124774476241608439301708737772706493840586847612564855750429819758044392979660138524099253154020154585874962976740359296711236441829528116423218255196777091637731803714376998933662259260545220420994453065058335850978243797059241886212719572259569383682507522610433625792929877708196346110591536918688070189851682447270320493187165985193080461615532684633164872491100630699952417876451067656817140403462369720519174273130943757797265613596849976696929915201192818392771577464225837040581890374115502859598130626340619708936569149324585390564118470362387135049102772403571993852001439154671813080450709998495815959066755836157392562473515026632760335038765494643080354868741917960763559398774095350958722815833800477307406028553668631944429829069729681584341628683997461564580654742911347421281683549795165342826217363225376756000991620184586209167580247834634646028056604545463431677380745339931056617361039372632480674227342547101057450389874034291836670044876982829178275798119505182186783393787715734424265315843274844494794765430873219862558177583942531909642731254351738747417721185595480975212748031007748532642314962171612886809101887850136570968195256657249350640347550417425264901577411458614679326569302048738817559816977356209167010216280393040952741777329435236480000259566671055124076021767625627673829488585229827749827589243020323463434058940617719477513917940408852479265458140019960454478411416673891368473404592760107260304191693729686148790996908824976585664169047952723712533317727477164870704691063466811353147007723102392953060528409546071871745285414932230492254400017316501021864477803862299959952995565887986633315624063958155546192883891456918772108614621105816216796933554524756819272304005656528311698362967740689010430117060893182031247231299202467488487468796291347060382224660330178816706527971677928140527750899690582345052232124951203181362241290646151696009624947555683829169323960229940022628375055557563605111265171374756595210797645907739857694721328999621610586178861977638022364274148429689219095292175980336875499254324345474915225933968766307442804231778489103628136013643300790215314352485957760363849290479412965592751246112461755797734897203854029173706242329018781182802387710829329946490391471509811240041225189275834096133205306533739053581721236935558099539482957852322595848433088000953113520327569031515578878988995407781714680585836303313103192755623716174343838689240552093468120613232786091872996163382838642814139329228338547366714107064477882745969712599525398710737376084270768760119081713896881718318056052948952080374655463536677474099503511911258636182637294143565735097388405589197552292908266730551291252802932889039429267962110231376759062443556490646552063008158933850314861431695240548068195990495648325488549275442468478089038893627396162299855002841860773854139078604935031833039346333810545454435820655930255389943424671236679384541034071801705248937051638776142255872155355871864681745724658805685022557257445004498982568358138630897813577209640738987932965020239033300222396361371095483108231136686900139887917146886107920255043833948046069793594326240285799074589595311302851404038056857977455506267417814065480415292202967619367208080608366327158371787641877509429680448271286025313189467119073133397225343167601119075988006311951693327935815928845545465229316495959842423127023589146868911580277181526030952332266844866114463171335951156389605412918531177487630145252110093834247210329378053288735246265569185907969198913434227841679246366859565576387930372277546460096993852529170063212630304152271060467619747745287552703120367666822604788475203178549873009085660040448588220537693790002122880885959929944917896388580712102282997011107501300149999191303521813714136886937273362201532814218501116727630557806036201614237008431005789056937562302763388118153274854970765441891369820731748187764171350914003432314309683691480019254446866321762113203584942953890536133965043477907277662077488431364672378936858795462681529392620207556362147916564943007258442764430398503226094509001728892081726975728242951321423518419847111809573508715049393966908812723023182532533230391687270071265788028373746382311471310329467245267016392040471738062004162808527528369683642817816038666967919684722882446829632435223839520711103501745550435670392677550723855105492047280947976455100374689391940164802098707562082312700939245353755256047093223575967952007834122747374275899166673560890575108372331750232258038314693862473210645033078295329152731129586829105600918859301419692926874788899659672470420592453777576244055913170329361630888375224061796287516578426880880837551060159979631208370151159343290418623531496548595802940076305669423897138912763564950967519377221520456347515184581579451600324598743377241051429799744824058529525974809126381250326728356128370868370484232389614216343985933211268209854082166599443753346860986029104524061812756253687486676599401066682765133958238006865415575993581979492780735535134777237948316604663063036891324714759453284946322838354035377861456391641238880083119712251150295927201426204422835929344761782496126460000644040652597165453613235093205461878853304012557039374095515254453248578091268261320949400227682908787706042861113307259474352545633325229428759080027186711287942406920882669689803741314652549781373361749820720094348703178266314662038133125447071864401228069646061907419974683080420564572739565877511728118417659826305778644421104277188949836810660149123668988405335151034818896902025601499250985410534217007817131691733970961602786109029702736895091388395657927759681854027839638786735202217982940228632635590588364086227925419632427900472720576177719413956932384096233407586313094257774488618217832305255886317753720168141964849199614115948745219446460559945875058680374160881826662819725332037895855561570954713196079624027808513082439646017328057119511414495813258313946871696407370714163664180933427125286049986978584862572785039861501106094903761367516984417395667799328911209535209897338289067737791702052907557436381431557322013114519911686320170413778423846279823714874528755799366320804741623116525197962553401263265632926438010521447814357493939415809544365510676577104843338399001955501174353100830226751502622739499728373685869003870943325899750922759337815735014300652133238222419342235728451881048252785529970825250942719897121249429191010093740936437339151497339241462683967171814557484523368484740119527444528195143715361332828841916850534363899393829254457463654461416065564593077195650506884422583401957326925645322474272816086526614378181767401840387770678253114573503670530824854541501636969538189476422416013597868923739992700647512775386657334358622531713079720118648525280615580753054354246568544599027000870866361016462030085556450371350457295399155550688153710847195150071800735493453288759953684120447520893532879117105092583015051914995549958982802502882183809912513187274063275527905335635759102430457066303075888313907674516750715523374683362195785675026603695267794154590922490057572342621368249775326430682889857003465704728715470213293693678598857559923917774797246605965014012777881283150542266848545068762949649769296540769563329045114320484383322977265314878872586118159617161379295029436233684227335216124261101905848681952594529061873221352662449407824096648767846488526702269111093515199166052791765367884717816489918056853344421177057448131992083008716040704812719484419518938348319133205606070030491554368112155368601293093298258405051883000536619958487709656417914203525508461377317219174835747189641111159506430161090575269107063205532583328336666613152272278518272542075830596389895042269133182556855550520250149843091207535710517062335572516493002324099762713631967614865735057489018986289742151812221096711471572583123027233516858179740089156607119411364817515542739939975755487420758462315880355251140615483347514470833312569104440424962498351719892145504534198431049489216387486622474849488321625585606257107969227603671605889557129965685673596488865127707663697583071531180750756569459247508457786159269454559108043287159097995502641588233375192710656677366836092361286545375546713570308901820069387053781255136485517337730958898813184219822683436199164350169942452083087466701420538066092106563773371038830074249347966396163442079194107424841895504435262718935846386228925026707142969142935641491113108800580416603737922406857989511302572813496779684156731721673725102585926723884219112286646938478828531105715137048496052667724709652985456981688649254612404086961451919727818872727381543951549886297182873672156085369776033031653661070558765495121299904229507085282430438997720049151795776674113688623642414411538900497056790250032498831395670682622559248465468820715065544502076443367423182274265783447018217151410472783100648326782496437145318375763086240294163334977994647496162690236568994429047858432391909160414282091765661346109538620869800420659925582648579634717793685829014026777163030193585464944459652074954882185116775233837594652889296875085517206949234106661841780677197851591186321731399793893152082869920250882965217106615220420827731766767985706447008822894979852140727635127081914998177785682196190856590319400019928619307519428635284517487408592384416497351314865518276217288536180721676709485958985628546590228492579159019825615297261923165105352489582464158699316720036548293733681150565536587370375130971447717822091774324152381894002446119813125292836461811012642886719890422964369917218511787185978868802119567450392143413242939817899000176933964198761085298499179101311226545054042250792631751881014337911438133350659835100298311845756029852380367560080221264360856650555015262910930153571939014881858559076469573590040133056634932887997555723004200245541236820020021997469989512536112255030262364476332533684869472717411447975532175440901397456727498734643107516370360611387171830916390710684211470633891708812903532725086429766752133423304596062464263007994691026368898560186352870370080641763399181237268003502531859046112472302427243253503758836730341880041483128445095582466061218598612753267032533284542368680441503998217040415943318644603877049338381285447931394358730229123279227457991816145592586630742399213158850931757326786549534983006432219424501454242908871470972616869902384529953165143492609963769859019664579105811152523531820905838094473503284322676129223213028820587837255809287891946287881895843748683494312024418066967146852226095636287611055071769693288603222987525598693320699578916978213633306155946578749696707326448713063699315082858840412464009092320902843541748822893030752682034026220776071953152777945125528153895073772867104691586010773608107616184362274653813635614196107188726352801269860325018449169870862429809948044089880654682781968102302218025543623898478766862874224456578042507888935723629839551908776772225923938412975978823145012811235748331194483173975219833214439133968397937367856307500023687502018847763419395045797099370220443248036307236930632333561595730086080630373177450693141210086084694679816245101180606747047845236814707543154282442237151838573476846720037475731175882286235773379041256095588705405843467256594618035657435227068542911856627088182679512154052839342647409217048427688895393706652816578411445288946957406978743926786647781522316923893681585097777352042495648451832102470970969696020382846684987329666864050932546874278058457489365053658874048847266271316257115830498277801606534171305120053666607647337717592902152697894252042809564455106619824205115650056339485822564245140760303088086939870554732156680679929427355949028094769994674863756810745351463484050971559935332113190947003644051348403519262495034220942507934260322886702174797311425876789117449829422931300263305805683514450663507710863089311121689161608864345018125643507611791907080878502036040504174037126219239426279792598570987402334076199033782853005072062922165584394399889186688105304598926684115767875804664587239611503391825393290090469037952943016345749400729829087910807193414279945885858850969870060772133760876464942749855933931110343931129867473858853347850163109713027925872257254518493732244215729432941168184755806399514937421667871919747314896535487002867923823934838769251804664574953665058361954741868978534281678967764710827592890897662282672688356729031702101282169407866055800685500690012250666726715310820180642622855090056831622153347676632116391810038813995112768425010421352453758739031762930883506678705040537402527694017117668227207723997859012893424355112154876560850735758930492139642057756502609684359465404817903120095657018196543689141845735147169946667478044535469846321858784879445305339882331415069266035444588321854932487530036272898562010044120525084737832670989735159163898872570943848116304499005133412419678883179280832471593009572016183083500420523783132463530831451950222566518118423681145148505892834281844875617298312828978469764113499906489408249642631489578109458560309249185240603063932753810976926853083528590199604909483472274051551934905914006596655994331839196389972483015664541042495879990540737977470056603827096876787931924833582607480762691570368054146722090272120117488757083080414388507745959990850825525033096646498482970099294388033668167034673514923942072602527003840745124778192407914394568269863047559149978220913343919756832138006220118152345791082989783226227841172108544234334744643185809716045278224947590986640160863754550197941337286494050388366863218440134          +48710796637462267136768075576013904174839797924659227346893606916625021110904599433368067557248003827949939600544172999854890893195181006166230640051946325607946457857465108385590786348121015670357225956086565756602414717204452184999799345140901164748488033263853742789415705031407266281619197691981022512015367305134217328097205300871093821571386727660481401963140369843123453146804042385603139165260872129653233869390882195234750750184059592880012010449962330635866291142550653074018124680643321160477742729326749861441425979197334001203336122000474516334465298801943586110521688051704372092894110460292346606413704451652051672730969114974735127762837253522095003046433818641317612338800001811135071374458599472925915138211554353402068839906190883597330487014377673677587398396957800870874213991550209150900797479686864207826971193028118300047927625276950567878380113143149153035652467435113963174410946871185842189022656142472015021609939613923057412028585988480562655526011336279401459169907173560012925078806768013121041970436450764281363150973487503891836783770118447872062302053434740510807030995874271421759012608651651566676355775827292115575460526984741376943457378809359115197907373630227882531431578600111131080453497377551614983853887190208465805564319400099496974604846992474942676536867907516987561352729434693259055047918526405852034290879106021727410393133630163704782714346719462511027512528118598960314207375526749690844975736644886408135707393452469056841406906746561153003458816741626788379963741058479736727411775554401520094221288154946709007654094346358790838975361132042707129855492483697484130346740142074151700169530498811867451687085400892829972911914002769157858320609803901314716338636763549503585685987231702547520316763815165843343369459825579611409981619394720276114396856037197017398537121149980312217812743654304157861995893146388261636913443059957077778382933979335936293798606623390121544852085790539810990554884018194892210982065146256403904517546048269460686292038880291664310215051909189709234212233519971014512824042935858579725378295596269462866069567516518066005666404440829645523477148944774432092458732697371618343369936681801378142423350434470726920580980239053415862026665767551729730053960521229731310006763935039036444417849714166166954268971096932304280273809637522969988207893353773992203166011219329150951486774265405732635968091036041180859276938532995403303408002140347386179922133983214774597723767415044039272660183562211194482333037452509885096454897008667810315273433631330997588388166849092610175438571783741591607291212493600346315715081130291942283443913960701272872906227331759214507115195434911331955708095018670502033698280445732524553354131403606186916170846010675902435775158986587414401224391803147826452242022064626750481582196080647084386582176761801980399099273081432202629216696714943164092410775195457599150033440056667820017538395045180485740767633517649512643177685945420616479933719680045364244039501562422527890978093741165589449717270632333330359625931502676749469622877320565649142515772548687571779713769556460911600854844591799862150325992185468465049609898976101134943353819877471363462251082217802139643720480726182519739152833268444719977951760133206134447966920494393208486610942776130128921980531952912675869067670885779899862277679036515531400689358259166383360265018782024114242097003863319635159237632263689898819117548403220165041267726737530641315386820938432588352125888065128658460655499679424739437535267245191156707886738323288131779604113240030011804748286102471431874399324648728314143973112577654386440804698520156445988336191722368570939001228082500333965349798755768689903701953217525271261238706785875168583006779508645968959629317045813425015167031549544608659556047681103829544699765137292167963941082366520101287712431877686972380739303523643547802199958767197461313665142708488697802891512379602989795985725795577959022359439639700319001672321228141398232327219540470737082106220370325757409555592765783926540797729327287144795173962256020011815967886520111620216463265299370886874446667742863421848587436646223780548512791265460430304968792380334187577805461406636043014242495826803585221583156072384920172874454025747918235132382995204481857571046957902437987186826267464311437233225498486116828644303954208023565016874488160136687182504529075898495164972905584494776349258838899405094205883423010654791694684546348768266621924119781960340924858625451334648079240336393405082944411746300407322377236597295480041227079119074421246815735373580824721655582126561174748497967941334791279682250577062001790796840419836797142299997317719780384336311103827148250091962030069524357667971807923942260565793865492171998298082399727973462750591719028869868397489178615110161354268265171121961079930643669997433271788120236535449723001202945284583497630385832904525645131679139698551580295487959624359437542521576747978418324208833896773947297083770734688219292574361655696505894970558399211760317404164716495904151990131429451311849422283994409720856190356699994858276566926108303934260821910315134890403233375888305509601634378759919253780490321073953239766553444591880031163482777302278825381730041244372830037969106100830026220356984179392310220160343665290245843472432863907135292758577514018567020226719632273448415468880646540682276339878134086742623607453611868493593316836620002384040501699651210543348023233764198149530415736883329242565053474309454425199899333279428123590941088442254353288815777592961155285349566912362343933892008315063590648360716942535826046080586147123959140745990772397095265071904229434410121290639350098698788320566137141283256303532513303245494007933354699441914365606140601031946373754818101837319125316631735585870272284368321454097850955405112439660296240496097774961724245788666688532771592289977062616186244834607174235773663699850698415818200217832400798077275256319890832853769001272009028763316495691998274194514734938704356997769850897338981355948741476288954051142095985043537633770599306912046345055689953818205466596299413260975453469942783459000841803341338185441538828163066260463907051169633088060876294820087379196205398896893872612016226175284927476275056535897210064672302717674212917573372296212799921314081502904873120641272661573906514787979576099055392558627138891469178055956881512897850693692730850655342040304603500589148534819896353557809281544512749704186267912489380300676058524414834672485626664817074709753115810407746428006507217887854387868010806661671344065965660200909010012978057181519206772914015918131528525364435685454676179882895960914442818576333990527627806694806250733512345637711674486248748383559120354929890970318064838886254166102714695782746562167945760197809070641339705573709496182402104224200333425284574545153595925649089034587007654028756015820586505628198010776190066679353524274949978070047877973752619962501017134931937925834302885791154375288793017801506138536017444891521691914816966501575188124524798059370752350122380018822406895893930025462497927940723193792483978991739108093787872301890238738647733873674972971101200445518375260547035442639741083037600630376433136880266360461996856931978713047857175711970279874669976859176081918501811840747334321908146766867817298304379232864277083879657360282132781604010730658946023861889214492675006391356362965561671895246705225054181727034700877179613485027545255359175745944971865103808582200855764258054441827350830600130118804252257613997944957139242455258973190871373087492306242790415423734932161489348670425816857422915311529868912992034747322266458219361279260760985579204622398139067306233421611468500962213226344275910464745883843851273697442979661829293994278753073354109516494796615224643638137695127078639018891333919494419178602301385486287531022982325344325885936484225008303501954600164642338908640140193473660233269845390110995121433780268483729603333444455197530828044804286167700247804343098090196797217853525861542178577398609288922807481967131540397258019139151353291397220375306243164270387642962101023382034688014633683347634064198628822202203698156410295692221205187527760249056697638319533883393267033077972734717549724022483709504821830013686653727339697188330743126147737593865590571490443519043668651302898469617888822375370668643975164921104804887246996972946455073687998698079715614221627483102590480261379462123566840880301570710967114252487833638638660939911229930557925600085069827141054376282437139811839435540276571111059205138321425680354501151594699531045099243724759439747896257432536046182556943006083982730673828632262619224636454763236295777532089260215890437113638477946611931088221700963676951798604476881989901003290669475676457126904014016136568746683362218940532133556190068032612179492406451866132861089884245664523965720008731910218117753221993491083095169470414347213555744295496715323290433087808183870499030633388627862191073003300540645628058830717948245647907271248900028821995891618394294914258248363355445146307157578281628654401936592016668575442282544309871984734957533592056405651294493501077662336687002644320741180660769445978758450834378542673839027991680655612615264010497992015724084061522985522945095906218900511917092480935159978481202092345657576716030547436594647066413070938529322579224096550256010517602477539087911530307344255229181641304222115489629374911553674750082424967408590749141416975560670033529491240415441702501177336460934873128261926096458566411357342940362300413232179947709936881187315767708253762676457362941279002778570597963131098724938268188578525804593106425299614652472540304884433746588220383878017382314992467934514657697174998926378779937823284769420357869851481470683575895481445680669564805974153600491930394064320296879598025395336642671309733074852913935464217894061413508125513926229887208297615978359361914217851939680401384192947085478811717800060022350782106004543454525235533555003071291194578915580333888455955282623735392405973906416254749299752245786128816238079906393442419635333047051894791803535809242327850277182261652043518010154386162101021268535831302315420088797129433670635130380733376304495307462022285700750923373113772224160483603393580585012345812236665923406735104374885131642167753246886452984542922637721930625271851698809363775949613036090717812983784632909715807100921995796184575168579442022954948247736446016522499566980276880706601346169744183359947984774847627853699583123550467475054550213110479550962417583422927494438749809964972136004548842702265062144052651985597142948340566382718124681799240275481425473023595337797867013033791933673095347000991707600125404619178498054756956046928030782263373222049615322126718733913259789001527498140354145911304641829742014785799956560083336710894081204892684779447655008602803302644054332902866733336316596149305712365856252027672233005819740541799374119521381504104606502756048975307461899961371933513888613402263109280196244549890491262724240773893823667033243484520905441619990393851785129667049351817188099340848926458516430666767587507531736530195178811070678628399064440293234941745052239193933059793715258844039746961171496911183676192908622796384614783374705072684004966155905369747296767284674074682497187944810749338078635165743095925919313589642461536064739150652166399668722198243869345472439865694670645854878484530277532439000688944440849809462581434708800880876310516697643813059629601819897440612383249720048112075366367214295623247112446259687115961784334818235176312058938851348738363955890307140467471266512306444731430563407545202340192452298684037206546490942476415652191170575505171721937176927602933051228990408690903631225295689006138128290270282766008527397298023837878195115513114098927768760066773683316967481802996882750958555115446255205505796387772960745558212158670120892440119607801578391727586719890245478351033402233616584166265301041076392632888469019427255005329448388563973719810875722324876020050027414995976175857001489203310332295694104913728428699711064228447116648262534696677549765389144167943889054416285250148889813421127405621284022648872662764306430472956204709965943431609259124163459089751668164629702637749175513643730816844516409892668705559833308389993646407396572344191094324375294750410159726183694794448876515182143458543481762153797806459179304641706046332567849729586493326782172778303770476548498157699289517986039306574120192907688739900811416379228860871273052057167448782341265041341670095292138872843297345169293382381123336415611140896303454082240472727560052368557200555175499656129897992349106026093500362437162241153487397901720103331776502749064323154866039261724993766030148590007593319235337949315931147026247098359274039943895600727641485187142081784681080743937613761372096414505275393580873565831280401245605342871249239705410739091116678412611035170251712897996027896659011336974991272673362165876751664990607228345714140369066633921633613335180983397645754537851017378824452660921808673028905126855849207785977177936438431063841647579447036963957512665981467542421365088687292964322930288253605733464442163679014427665601963658294661079337450892870541857145266842940995851862240216301337053649955146622928244495027371176442658184849041068427121951068834191129526440848600524819938013644856939575570530704197380182678056669728396559720269999220687484060962014661753791810034094932361579070438513003414619138543099149066202073505846409334398719844760483602154668501664395366350726984444972368238596926784311604214961558784727899493281732894446932009009774653524142216725169774197027296654936442864458274364085707626284807641929595314760368959613562942638722871304793839845928374761944918125557156431637330167836140754566231956711995620868641277442890416821494884578554330677521900973557897597146912467425299589806373183834741452899563205173355193501006472737019197619356702413785085654820641770464391981334623333090705781859117766855910592835437409177384417183960471421736471132251901562270768835998281830063490702988125404209898847142160621904112046788318210314228457639829462887455318359380704869553657893071719362307338530039104669440957340499639564319432552919075072727966829995439594841253152971163859543435298359755970417804010525791057776723628136399079472636205521208173465398137036106569201765807917263914947863475043164442044956894385871577026540987523949345924583262330244810928891387243758216732195311903017817145981287028693822664756259060976484834536325628186583309227216085660113765540350128451595217137803816384158186110268337881794474977508113224065083017815194553250922744368764482815797228875390513709137225675156627569547178341812757670157762356102288997021112309178104070435068486207121234697824654054199817857697309745124806471198727618515286016102626227896105178851802522144986348073972514223238530014221849575574884255689924900101645939807356865280950063565795851344544282088526833830308877575731386026226208883486427426306099427241883605615954518470300939874790899351132629090869192185382973972029232404605811820050700197416819732102785268442467730741702386271783151888624881876053143672221590907297071760067664998578990079261080910108104082703751562569617018209211041471843218594763754657479503609976152496545141636091949991261178086257824358721540746836174281302137831296068315609202811461612825708037655719279192505641702104677772669250177207477051344864224113389304333153002727052438182514852004457084584878586749559801418610275176534214084668836916259032270089644285684272155749576590729948904344132759986653532201495391303958383878987854109349689440572999948225044929651506766820880299183908722346401571349022020241189799563997539817963888212437557426593984830813729028059392259913572880565548012945942071598480869047313880983187692801253293299306257656846164944356691912362494029004681219903550129411667816410310090142254520652795854765608662983919334808083462140546208166574877020421329867184138988996644043045018360349279684492291157574870503339686713674023564679649226206652710501961595841321407342272057241301610761265699962696835242089119402478724406492873489203401335487644628168729107677597058413971668222330323355224995603644051339352507642197811321803177794147082255019448331563863182073488198533057191934002589119536977908771207918111733293104259066758546976869692096317729366363160215022800770099640534490028554678170571750751835089620842909369398446711718011541623639029277116952726819612988051534568485496001385188059260177420078846307008358966783910947681889785515317373161950363379259349437108852689117432661118034180033745831011123886254365290808813308883104338818443092731911794147135648271255011630804197497921856313330778271335537947798600985638993160109355008725616478688363172490622657158150811660420287894065328505331376359645880838519237780562198445292356157132115238009285616470119646251186317840963883564113324280036166708504792092348959484824129756558328990129374471312924639526371133045087134773917329984868595830257775688066479303294800671354699386847853610540181561728874535664568255738994902270444422095662010857621412922341405857277835258263227368572918059556485389826842184013880271178246016544656332771274583700930976577152739582861189559821135132782529912871259467534426730265755127019216543401374738601659325837859972756018155728689964918403188277564366291785846744356398626655301039670758455021576305187944694790859044891513662212922936396087263169878920518730254668397116854373370384555451696252283217822451900169614379438286604228120377760986869517680728311933766915783983581453341433484599175787477767338403739092462032041719479455101941526628984397514687855792402526890755543104855426221792934196995061517027535277091380573004804600974678641191092151300821313993982549426757056383634828951240758935177765472221684268283429407310027915472724004643561003055709703697144638038712069171696468558810544209232105502631810656503514580123056486058423724780552813484406723571397151423993149342982342145594655560632941377423833067503055630118173397646589882181053670133164174523407157255465791058084690220672143050796434035330368749062051265772061817230885013117014419857356653736479657280791514965061996673176735803741912163771377677456763557237523616043422570539496062439354236599104666933188247855018165588150082650263774518495918924774509728995131530101950761765432804886897313686698905192278913115515397120608269279889028011522094653368348387204383485407551863448796720878518149419250135413757746340529590607570415620481768755591663724806555516200349617702263540014496261834684718892562908354556117746049407190172348641698366979665469422333673807883174000897773321484819276779667276696777677221369972112989847885456144003745003990421821728706451085608902402824066240533305060370953753113495023847993455952281496783005666168764654919736974216814234792530407864486551148869462006577950092771149994030018276477246041260530664585108319136776400124240595774142854705818718370302058208877202609070881654602832259189968800081088068353035229646654762652852973091856452994050736134499897196496591438837254228063522601532291073336111037471409771154517759176409230435374644613759102197026666711774403889543848970189002660451520182771647921929959960348514968907276350074468564472608559148948887414431978726393573440557373151024767877879400788244590239764098465344053296294210769904893492358094499811660081270162844193541540909183469469707943420859303459469670936075975669001006146683550439623340837306328649573333700763637161245197949813962415987073366174210752646547055299997615243850502797963630545387288969685993243412310894840698518335413912458712245244850810781734276689034925361815292205273466095876971585232315134384903460391078677948771903638096707045274304383187974087540449031966585147576806693221995031165551121847695485067381480106232989212426105845643392652662407628841005625321185436691087440212298319973625836509261591535556997750849122727307446595848416225020206221413363109989465407239053074996257595127015174736661768186577395274708429248611277443252021053772142194218091130197442847262730966177790819933262906313051325513343134116331657049972207559202638962585110497191381523588608183990350161132961292576846609637257482410733140281648342135018833594955940354583669713938630735205690415460110679540065941114647326667335546826772998703816400155011946520302991283253557429654156572126456655096311899531696134981313050647446090379252533248858990417491437036076113576913998809040702945871790313860673974074178469653162432463861021648047556592650096459607103327481415383932100121766838568893651992520836256280566241020129487706251454091840898714046059299989706053773867066850364189000218399016383671378285231642774996747848607066125163786063450941715622682500142950248176411605999673843094338525862699530613404372878189512586365554608881122871258098941222050525087068102580807726513955162134952878610968170042914201919153540928999007034138522162376281757849640742445979933362899640715690576842016626739275657611604366535130363245818955622585865313199604860104607593275535213866375448126146828577806579293799659115127743526395207974026397572494108004458298718507139961738999502612077998980952677664959779941102319220319324783762159256141571724966999041722298626661207354528114034958322553315974204959523347840255080335698408838445308634338553384319098859854898440234687665193746747745650232176111790756497761557433918042279001202478019707073716217131370491711070073163862155988791040100203501520857355571089958264394514866130215941410518626474823376974697618422585566521190772021848207980922393849723852032256342162183175615991065561064409235572980219070782088667963506621298498610539808038094782332197236177159334337330359059204715639468286319762417474579619280066112930784852026983460543772790501816094472906514872037306795855158857407817460168581233032719444340292995861979949294597978915569798980496785899918468177260747616736775375874775813841567553425018787236814203086360439414758469259292875428746575640781379425542561971515319166842910270112868037434505056985779083220243649555290862567457944844199133409676317393549486191887498332894871402253729968507807849682083461731177441438410390394284483951026463120265228280219937396883297833466404157097028931962770091776312975510419133946235402703000734143894847070575410981353675840484866472299448100298545022619659355104343400320362338831214301257869213853887035268364497827952850791277877581329356717791418993993312290970224452253125288177698120661650802248483097515343234348304681781937977496140794249676626007177590480239846837551430094995832583622665751355102476597107602160444821318753486625494215197303379953215080640402974395006839386593824544528561058419131734694445849406978957254215121414003449244194701816543984708860470036951370942323999598960066003207802959176300790861667683383606508803930770062040116074324816467469882051357774707606259740506255353658906775356016632728780627162640632220855678263636416790426982148392390057093467220899841751165996455450162528440440546611757468103849167331175131385167254110041335441376405138278886731143147202046105045569688468133468984926123063567333494262298634654047771077335281820266487441928332229647592112214430308045357112334590459883024460612626174195540212257457771137391565492803388309527464332475405581022405853603785644189548081559871343828108496163791745566623723857139961020868139425282066348846561678790006812884504703357243011189970270084282934314661587909029136456486024219652239499100202145083843455097982405366286229645463949206706414854483231955049587071991683235810471704011615785582693052397878148210621784574022511019468158282005089377927339700003950067085407925952865590780992387504204765669175571053221430761411054740408317875290744807176249565131272215014736920312220066032756893216838203096249573779392569178790593346945570429716848296233225274810405174138029903724367999639232394811424256148632069070133089218619954579303166484584729027978059954303243771312882454389196991916549993460824004242990801601712668777226408820566755956018119577647589121115181759564166107056932690702045553950806235045960554745917241997304504439953451608202716530631582952597485940012954136909964144530999930434457843388978074500974163158393959743073861860430557965491422828794211619997933908894554608100191514895986872182984641223053362436135626533944364748163488837000616490043538176660678926002722913552659904923500569581483678869344721613337607686834974531539463045329652422300986303777020089305939095259691980542831743043973686587223114502778972256752069520390025556908495202629294692866896000555178919630902844513990691291479186907182174581954543524865002123733641071731828274747133856168653930237520803822397222537343300713758431711226457372545209731704091164438550317156302852926228848954699676827532385582096638615630012171753529959608829703576031362771856320235408200371850773801399696530573113156193498468878920089832812225731362911950759871871767248682167213606002079156234532476437643594157757174180725100347290177456063739678187351091146887196851469955822750605706911729431236694580094281241031825919154209068516727165219513897519446086982736600336177020510363439037757143725789696391474600945061756470763561420271518990006703878447736282346595849748969631921987750371725596001175083146250559246396680332052171899104949006120979537872078407586618004206839938004881000062712503503044659762863243576774978128480705380588764201858627014847687779439687475005100164965371039929882842789511021349938765890805913318588639064318303171862063556987957933139572502832138436913523418123437584756231474439220592835840193864449085142785707958251937946535971809313513285170917030824677187277320681921441632367542021960609541821144308491847803008116106052437551903962167049641662292028563210532828355281146224445967913257500794840568674416072668552907878069443491280621430617764976875872928480510592867920617226114691015154117188574569540483316707008634047775554220176147678268069824449138995337647271940866884997433357348971835582698897685174010365221010196876355145005832234492114227559366991425158631977526739481159085676830555338746418293153568476155731916541336197138753022981796382673249503314138105727917016666825360310853288090583474177963765321555752270101172429159857445997344039269479788950168265909429255879897754844641977796286348285872953648223889076967587221260869054410452942842658519253479676583147102508904190043178437595345979601051962383507816679648184673753850247605957868545409519998585871117079767443297960013225273882113810088743284192193738267567878379479463983422832207245901700738997846436798084426361973243348330236871571591955683770007551384307117366415712490760780435785145156084648331590568766721401137763563220053125103979754016131928494917934547077364551155790804643337250605522471928234925935319944669651305853167903507090752868325402862349857868328049124520354027223779666462496293127879017731463750838494833555097795898563621116290259745212711700482460743966506721917448631801062400584072844427818774630930367509777396683227920007680696922872760501389604326528208578160340718988146027481335165212240276448348352055923056564207521778415469206723235730509021794971934473595367700495755879961378691138619148830000577276164222281516579584589589738675294736166438097048616567762720559144750396315131192770466759706810207568111625934133199885957551701659481545239964293472189837107362220506121239688128536730452101545707512635713525300076211643797587230413084539379396139293794542485536856509638599302252521197345090895468523672505842214524270971070517591959301806029792319319436600569756886199793783116249102073049116796535427815329955986385689713384247780681416331829658348510070494485675717362664831885839036107547204897753930515613409302114098930612307992164657197048571992086249600591828403114948915226544391251212694434967373364019683012130481642207813841179870758251795755021263154438767946931088359045567803110573570266870178035931497397918967524760378587500204365026737746790186445214174496035759352146918956792334743382287955810024818623592725311672990808381503006870349514255312523835885945466265299162789331715310899403149965404532810765056887898758084182842428629615422021002009127547024276258129883185408818742696491040665609787118850853627119758054231093183995902188572483370487820121440851561772749097326686379683959154302670856975820588127288873798448627834721234482516266044515571343346911164724175823447001758814469252368751370952417249314327863989127213552569000944898430438726850874321507609816515350593397993292625797659740391148190721630150434124081965916220069253337652818220849037740465683818143828301135139232136274753036052355485510134077590319805328925171619291206623694837017549533161434573815400069462463139392821184631124764782659997421472866974357679368738013124879916114714369158284277171683170283807398736863781119148207736054566216281987257690524565430036592335965253991950924480925159720155671198798803098438640167259295072111082882382347102210945186684027325625075419421662888597277879503285715276310497677738655334586827698137769908686559336871441123802817503605585343496205349452754156036398069595054774209246634069864714530690115685235372237854740434807878080860313040285063469602282081090098349646974491939819267567688897941806415184479382208156045946830042804512971009240177983478251477778329517639864891581950976225013845719692670259518725712536337633334494971919172164657032768641094646235647576782349252640424844210835411369957102249715757432085080542870786518945016583449649347414801892643557078829193270114178550839026493191295324852885592347332454293634775408905393845299944380011596063525516045641160274714935286904267838445129238255848251082692118814678302525362847994092251565568956986331869176065486931200976891602445724751579247852972192091171317112507857771676965306705832296109379356043300118670540256795307246393997429431410566791562213159788299931196439408009455.6889950950149372460810428447894594619904938987325426660614516965558440034042707269028101752341196952057472844780704714891047358153350117513193183757338452198905460493344653181476301167478480926185411898408565427735494432546154917006168937779454014667914549231963879864732609120788691076091307806993368550682953712129748071051640179254232727020232426423520716946861216689501646888732007378992571822582662726507370502250049528822093259441293923185420656720703002348202522846376839894788768068512352706102860643555123919727778125517430636892277901223417196228789524587399516328640182803445413685036065948790556875077341804463996715409498665344042996088625936637399440426971497687407271966541491337371279518297159096195069139482142369412253170379910419642790124372413861198327340503488859971501874350492426272233673689578848927483622074712957436894961778580328813012605000764645034421281436537850211743739396101764884149794479710886380411241619219634703173044243973134261622544527919226742286795009657719285637540492368506476998083754893358225294622693332152950557937494537088460831185492809054970831586484243436566027427445042247596256871116974597261206922376028645353666485837783925719946741715360829667262142654327431108201937231199035441928350305636478761406735659405790647897662401288340144629781560547246202445665611825218286334680317157414192654748589520383844097702763173330936805957985581910883059587822117717414225973186365682641525758732475117617147874542726071766631801312295109909353757674952736936089208020931888355013628903796514456450453751699112605615986537194030077652733667937698118983802207426181666143858717748557039461123862140054362155030107011179211597923929477802335348169478319660665977017799252788516673724693771268192083008409372160534193682901040248769611768174147689167660764700779852940069496476312270246838108015400408377117768085011914926747388540307210996717430521924810541315665599688481124109311994959002869328408246561091922234659779058912952708656956060484051928146937324524382077896854461576480094928390050279150738404553112233826687902129354330190747189502807687497611846491630807635787177855795488582423596877550021940645127867645087458038903228312378010719485185940976768181132582395686754285779976765695909159590051728366856063661321911047108205399335910538024258361666388320870705216472374919866934784526603885327194343737713536907469249649374003647232124477399037151035274895381224437094923948656889528200738052415124819305273073945867852859020752334296035334829327225422344510855496019864249371316850205966163605526423157007338916068756562944699261778779622626442319985491051909398167229711357780809368466786815644378349695485467513670258031725154080159617475136514731736008544264271462300915786151246948922548086144684897566383420034036382303147507108955785049063768518859385245257062732266282758712517667181809517981139977163236487353083474527247572479285728389236744001676592379716757441590613289611078850087170848512682845466547766741761489785556934128986531227004272542410285071515503478511411050334577817525698140607770821129172851533385074000071948942257184569744273790390319625539956695341435954445476639891364560321877223918655112095977133709934041065378333876376085790190086612018547491980817635117428646237430406446564747402133077844787650712357925599451774094000478135307562477936092181810212259285817763933828557766067280525673156924437722797585382202277944471085458242623391829262501497835955490435999248632778128389064779330304015950715912927755684071107269880385579090384082740179502228108368016947175693880009959194126052856670389160648660785716130755253042292309375134212903838825661167306537664209642054337442928035985651347989063369914758952777475233387275271729620316123612369904452391831113097228060322650762429858054365684619415779156323587673698025505266330827932566035814175989659298023225910378093774383801789828833375077026045335963345634546641989688310117970467993769133997307478229462159218129495321822873512356412759870685644307681968421876427912811101668018906093857934798581993303681484284905490105785855964494762003533143784715583088506246644164619155623116865365345980566972656761353884561299925513790309787385410918484725627471942192161029562865624396870817113324751053931319171720530631364999366674987340279642897850216807935604215969118072251169100982687467881399400207455863703991381027005164006357294790282572902036038744467092943333461631023456079945504215409863329402537174701797468891453359601754027934316605544535690228118585108893446126883258727041072041653653909834614969931657057283541926438511983399394672499327693985649402892332483842002036925316890962242677815319840065859581190486622099792254438654351300641681564775966391756733368519773863919508215956243946494366433739252323456963788094843292837221148490935541912933517048221063389149152909210624097901846962592428563076999184583575672478940304262789591509187436214663677609347525574845755628249807164055209953521107893355101383221748468566938241950288928078592787525603296233320678662691441911896356997510052039196557711803184741330001218531660427199399800204337367680556622966607536519559104852713068852041901684357404534939422729706230342600255997540965008292363988132494410221978284786515063362377739302325734575973746243591920714654008573221938222147626731724309912989304699442878730626718359560768891452418815698950542399245411322469822704295102378527672215547006190463082514751523290632208101720088388530107271792065408210512712540413625362434952494447598971227280864390866471811285936023348378355806004641025363086600235084821303204698813341649421447145557809222691692928302246601327892885707968249643493819790824513093583481326412851164334538189480851309553394572810265838748889184224391641390593711224098879787401852226357526190212733530631473779093640602231254649922285522820921206268611958323235753208510704056675646751895139804157128398715683169764845651553968600631733293709897591258303902782055340869341520290425456848248465199488312766796758595192116172713851605873754549391022256075266843934631008455606919136965581188781164465532013606711417988396166293861514817397971034042873482121637788461191908233637815175300763661700839142167420223740491489755125101245454108321617958227194726438762528968912083990032744136900778242038050470771774060496288475290515530778747046462723341190830003867054031957523997243574878808106002537822504095741018598598538230603386736457923155126976729564825173959594509834556245047196578016603784134038695439953965534565348816221954935480395903659035869650494581977715776587044947646503742411710404173841557163938700007268531881211795062781094866166802668068109479077465564170086869345143983822949795263900928806733447755248432523252544856656520886774398333788123589966542196395272624459920752200398043284014533095452574562892044948286890463785442609358559963350290071048618383543570546444779710829943927855111681835679069140144151453159882040125694810934940656923258346742954435817902526604496733597163368924717620894654095880231160516510903765765122754432476894866619619007793407792338595376852636509429198660351884655393090454206168279055202380966507026083613229258475925456452222926745018550687427139794341785207872505350420384000979625994514223673319471601331320402004457091389712679941096229461761328220488351739625944686734023277292230285450534058419202806143172316366002077472435375758392601135981583900749102761458297779084772852342538459847982833723923301806042318363249167662134447889189985137975411357313549093993801912747466100265298562663052554955120086718736455432890218673380894094885971536171581704583111322824434022177905173455023657799293636050488280918475979435336255830436706526717556266201764381066030800774345320946568954505703338538707164698884663758301891456202304210609600176443475585922762994626608898805661101661353521041405287066968644075161218770094136885883692588986614735522823467165645115385493064659131615951888544187835375691258171432940138185593596026705021950095599524533004574408079503891810561533118411998530338400091192351726237101410463518588509639066150083795856012566336486569677203421802509210689242083659728761013315768881859793003389461537650101798578673755177425563818895817006875653220957629377761742343045944439974969643773761067291816302875962360544044332438157531391590187545611215658911759704833102213197858979566578945035410050294723400419685242259752496493742316886827786532957054593365631064642447137902308223674200963061447983827717079094561904292599955864266149066086654746385666551030676282298818673260808564139555524363684697574822822780193361033479950519268670173341482931054511736780816695903269529932049511884752755525117455527511747798099464832694327064636587861752874710316575107835418067075342829292235805525420171090997653036157592003557309318538549424727534384716261913157900977939504589930501139541856558867750832280295276501457763330336002295515754391144419187441474305526297995344751192222076334966430270061725312443885104738336192229448532065419799220703758570794938901127660732654646232291260675667999975940337812455884923110879598686190335137592082775218497376236076201816565993483924965622346143983067635256796088677459685401919526201946825445534270150802914068608005689243998415641623934543323123893730349183747032545191424856347912947887154177541050224809653467853561598907651789921323480047732200650642600990802136684789474814992186349530541956526016155559168376230386540655519330247715621781326674220416169112336337811181245022567708516447681414315726070672048740711366146419040734341521747721793151967508405698032484589453654169477129089569364822472540805533670404304570638211670934916689158319961331514337404797101881998041138281535168038509419717138932147185468977880652815797700715221951707797677662043634326500242550620621381077473938483255279724719993041160008593452787427391984073307713743795150540485316535934394268652131667913172615388072621359114527815708136307855974359684517981974664570122039726151032685394703179827851254128755088448008690907801708125737625353499219278361271644456032914469701932872908237592939854057494696781189399214973369564169911572160370210153660129075782895944160399610847104248365035225939377526587764706320177872326010279941612590180814823701055688805712193374582663257649947415297090200557205682219995980823544263483460381949362481991175422968427073003119348706927236880098850557080511548520332076656677462430468419786530683882668245103459415478347902181681958992413070913650604326836105412203764263476951924578251883534774161709149934146704521822485074501801938823358920594906146846216518911796241266237627531318961813606097622960593356229463459530823424206693674921744900245121323897339190677081268658675307451960893704091990136913990432399715796199518909933726046201460531303934815605811385989500666939261767168650431569079259437020177445161146109277305422565288517451977204924062022566724442413150349270682388502959741117359876803842810240211528695706651758430935138174305679538220887182247433946974326093166980188098214267573392945576882602610741763281150599784461069431613807085506613682883229555610802382202954536926304649794377357708228446999701363827708356083086000864676846104587279324144444244353730315237607544478082759175802106339074744419086887372499992222057965451002900619548707898030458254719811032115261231212046183100591675808239757070193529158760730999699612709409430992929995178388369221713656511802217228747677623557828203084167480103109968641018722862162898759761001199055377371557983284250338558697815342279346035575021056023912693329656780416183685903515926185740607377530149737420783595123997169019782829794656636907430049957170059451542907892602476490588315312487553774555735274833092845699847892199766250079475886280769653555086162807025172672493489676121820468648461190587028378255968252298284322652620524551308995932361409833390573747195535346039287628731363332807636101865460319173146472735217971703989646989016320080283004794066477341139032866185133633224630598244387502790601134499911306557392940892091353468027911263910879063255574821467261274500811898907442911304642381608078051451443197389741307565848757773138285596454540673541335122812325445915582136423977002734246498135748416652494783604179515355498185926803042432914324505053592600324106502965258613265880160522574186738954672653981489797749118827412329906164684742913607820604565099999807477862255546220202888388499571210217434188922965143093032982035157012623725932656978471782185610531005377881258165912080210774957259886785812828319739980270677592592170851265196272480607884546915122230556187916175137126592393107540728556349186612626205634967823995952709917708961503166773657066773055947817635985213112677576153778284168021541285516793743380877995333137411632115905471729916608351876637791122712462554557337195474137037161533091256823657598255689494120486705040924202181906577616248208888602817347577878647320946086896959130884854731707459655253152749685783361766038784861318923310388076525621324124523684476007057856619391423147710008667269267962855785859365357389345272110829304092777735263111065884017220172772259144782205323001525257486763900016505927559062434971820418908229892394060268401010294255277290379530056295037349360806543364313476594313819663591793359885436875644085668544014395840750495293869487046810534163669934976505001942968570723332818802221093695900196063267590984884226535996409640569885856056454997740531301265331221927524279668354508640088712156248120547625681133129128199307151963249104772007319343155217942341885097486886747993221742766992290792750359035924366462838649179360538693796280837495678764673700085866135076059911490466955248446242887406201324463510327941998514992854475739177640882597988739140648087770800664652921611484520704524321501560037449801961635607360712164421646380362668943503259452669123497245294472476728264219697521862707328986343937765306468340529909854762597882778238177911985895082478629527897830947630950450258417589451452365352237542588505577447304640878423858502872855522278108675854617114976373558001458460549027680592909558113135400449593416386438650726539054514861912274014779754727592499161567850187700399264766617886895961857887777007925413275085664172359237906606501364682380878405752675667258120258846075284224910109668603615653447264912337038268156917478254510436037583206224169770627564135179794744065897223213485253666493362939355836860304642189677216744230185879557787151580457398974499407986053734461829086926933374434354250535991095296080875325768323841096717037856485662107673535011331904707485243701241901474207330652242003729222346758818438193150584704299231687252253099828455405905526669728465891492305140803413175834938997586827079705886127646342755854504186003085584316172708104689339769669189767398907408218606559645723962838669670432465227002189861177552530520763109644646074952161047392566552964050616213938367561412871546955660643376889715484745134409194852047396174347808492237677709286600351179505508379792552432373053211428580052089058426671100425976019089204712639772541651616323056174004477852740116273654418733541141700507774915555032673566812928208478468861536040509056969154004043909987043867019027813740142779289278194492306520223797934221159296207676108750792084787321456375108085797563854053653585750307149948637316891319886334821062998902768699488631739365767185374186572344484469632760268078725456023389920378432800858877641388991549451600545726923800784915734080945317361153745047245638121739944675331448932459393858792885080469124460285622781069058368068025257895933618996214120176074086721402215706515337071008805235809172395865646492399499472117797624055652128087417576616027719701109784128926689536299024997069400398900814694657499691202111171300392693262749408589620143250302533793221617659438490606943173329610134405161324165328232542196088091563079324950795538985394092804170579612027398861862591013495012089262475304201509760982443956154291530292612982060378513020737377420669852041579708671173148885740816911448795867644773000818384587289343134612579966367568518977995041364945304210168016067866575270308912642094200202800686443082222235400929551791983061807426660183835848995264382608001743530760345059868397025215315602987173207734911770674115868621049776219912605792781395901986082971893906368839327669171569177584685175904717942620747895724673231771561944638013097996578957482859926212707708039729598513273551443275445117240313474245875120485814370093737861310754551095234915362563946825978963419530363757413860474268755551115280218584247635873499494941252971094873417192771211150766914301623112673513880904231400191533816327584145425637262603634989291823704418152935663146409890819121491832859045823137997988981813175568765979474909609519309600037785582171238828800751603563587457035262587571551646708375645581384822390249406780672409173744092687836871013611978311530024424784669266560851168291364376710308966813761778006828974601403555552255721810911515333813975441008443918211325686331612230794016850463297549027953044569759362268404825709603699923591786814031801586078238510402983051934330640090817632494656054371664120104103306060239816521971149751764396827545580672224631765662038499073929598555709364531219514553581075047002792630203525476934204523328020499772702377024819259812266061000190492849541224172353771397499739970174058470007235702864525598685615240089289213705191566115996779493611562485975504881494206095935598846014703576164423165765280932018649332881409842358147897880203179223601871758915020909609630149183455732108929423613573758762893358831143955019580859326215694140933249654377325521573115886393516030917554288030307841321272523329330007655471401387642789054386212534299056116467431609504942885230681886497353296357439825224949939017678524845773616510153749834855535487092561045698724298384869533093092470574264138778528106181681902241221747372141103114944104405649861958805020352693280610152626725930913437462643272235441925507210303848516770317531207392862795747223274864195861193122330709403127674153762279508812265336498000797405773912093076323058898690999831500914143640392629601690989884244258684150480864846915105104720475255870810098493106828458023262909488771791842373975732754271681632421690996125613306502041310675837918208840404966516913164333816538570374637023804598024477751526385432096798280952754314181434294757959750870865052795123289800495400387367465191662194734626665305555393050569827066639013672124970601006282367273856967526768375338458078525444749567412000037792538667430176741917650870075744220088921968634925612819026592214432237545328913694875799571794258673527070183445044714781852297286530549779015539222690997147065840894963886369282663653589205981060678059685825001386836766574872149964024508028186989567335732148066661221046884492450305889315321008132438046686143183983015579779704960794652269709017611360239329015014472810702823686913958811914637376759759232512406711714027790447315280225687849413804239008264095725768428102355657270192129540212000842885012797434554988862983303487867388559203970568376787017576464215070012501570307077998648496917436658100458610538229304155768623389311389342405429351786472244695728876911171815943141709235614108087800917220035341643768249889800682605627641377661039884882972130312975841991767060040649868273434724400529615311638892790718081555117169050604987777268240248515028036161444832731678594540592226222838074477852019061435404846560954973331238539438793246740519606293748871825880860386970032112734208015399890198338928141354847469282022123335368272097344729687516838260726254272591245810978751356395567112630881126837027994249170658369545723958561463375909819094922877351947915271531223236335927134889075988408781805148772266989668787576318396477011081237147004084832685426386007337450485195795290479143873496329096335846527147104230717376101030863569111947889403506256168481469925057461149392664489015953211225751697004933319789883390824268733022825230774862752202316932707131513057144722917140591384756589642269993565777713762820497068254670682930528299587969909837672039397592565506475463574659448661693564840510187623070647703760041320704977985677197373363631636890882489179768697336864149315114112372402398269114000437488111542991431671619520022298958960014426569926007962166605600496629364942835755663891752232583367594980193860646155323566916453224815844352336941675142833600922605102539762576956670856436650912622077963132047616893457222433895004712235630611292668500773254786358503088241590878821018533121859801121156207406500601476990395477509636459319962124482083212979621804679500729931380700033220314414873954228133481664669113146717497714336141509875454375701582324295638464534423269626398646990532097053607071697579320187098044263161721450739688810829720857293712886243216476277362456653373976156990343182820758115081338827433054288716019096020540683786451976404478399290015079059628293300062612441683684113139293032573871052406666945588993835140617196222564342038796707281917078900632000655070841731469753470373558958935633717801059126474723078863876341614615910854693287504382882626709260954159540969629370768922723661959386230247331380376391665951048196831878713063190929088793829838611028011327638821851623935030824126127371056131216590005501883217039968183796830619910692773014717805634935819802793952251552955936421834618598799204749897112807661855216088079991666775408880857932475305302403582159929727822527985635187529087215107281084456266922650305525256787617837472218802287349891318917890793630074866285139038461484186187641758356987412526582722363991765052088978849013673166594813909726944954930161620056838211733927531037642678943040843685950242125320205484578894888468984120342096116874244123733872680292546745658458182517000489677898042748426561399762473631518290096482354903052221678931314333364203450160695039198994245670136659116123382095906025469139162849950563013214935839595700617811709987289832245928887457631532905893543626941445545400473546938410996370966232807349606151076018219866055700100856817654951675608704531201233429320207624082764534189431655129053393075575761316947990077589496725343092889112817708705483644248073592773894395067058598072706525075562873202020725795512084648265714191523947019510261760356272964575849163867938986175300949345994581417023718738365096000156656306467169653626582083613928593345984712890152900131412904865399119702981127419652794196694344357447747859711906197718497822479124010817791001810813674677044978581563554684767948537995891508366734080440836733806517208358204078776933936511091865515560402010089993286059260549020596737040240159477382420777601870454370596502671329861031711890945594753326795947025431722012028899264817618122047582674177381380208902665697891572959469399547779860248708607984170338470344031139153045806704433667426450175499426941743525189447100777985546688203597941459515536525243919570690971865022103758523047560417478685773478888475427721699841500499188737537595049732023009360329457222978727421317729129057201357379599583328659553465682533760699778828270048113561041594081062169042861185107455771020541869085080486515327282979084230537535055013997629360777675210373047544276785469697664343194123547412831401177036914360679393667400803176283918709165143374642404604013834145117043570007673033495116491825538552830852821124796209969253829874187383567901570112129256550438168096575265614855180205050025052853510258732327055075592716523709072399183517222941620111965356265615545007741145229431837363101784458968855179913887962998410708143951067596689997803015058028034451777649229418121722450254088645712788620561605790135152670634306794556515875464477914191256808478023976455111751664083320920797591108945577844121521075067266938268265812799131486593212240053880906409870913352933474698804204414275162175701114463043935577919536244772244376914328833300011184810480804364175529304756767176579827809455865617578243831841620504405342139692569305999295357409869594029180348599008137764626832701304414470322422245134716391572824276933985329665190562491540955472287706438397136103344721936475814684429489194804369753846496099658012160079472100085569330130197919145254312722740219452467678481505242696070365518453812589548690216697206353004871452632586577710570302957259856194459839706487737767982829714426081996867725490367077459532095895904600573044071980648603822503315995043567194204571353657039560052778045964404073100488101059374754570078619336859917750875905572939056029973858961636834626184399414128237513509795570955663214166790813597049238718703282705433034236587293419400292821213959372795575216859709749123264862719181668309085975961086302980371580648408507014703921573994021370336396256978570885152541966003259990517425494602117683790502927038091853595957390259548700115918917192643159880905081873994405299220697002113105823903514974525668627329650982664287538928590056020975930149437055700815686882616805319635778495275478956637018890352435204063682339444029920922069422942578859104240773867180388440635002089919564633931649697431516218627530696251565721611674946869623599868685863537618976490279333713891851357822594403262289345736217592648620871432858009233708549298682446743897274394418700777616486840417926865316950942010973733438691395992643341335557744120483443684373760394427973659383321896156785381310754644131169613892639220758989174640073181072554837959927737857213330841068213616513707601388031364460566399871654146806135960098654601452451736340932646362383159531889046230866159336162510927001381297930138763929735119323123454505210423210722697408342674212884505569882055226289215592135333985631749046798516439989324878176832916032703554420510652150999772175978260546280431428934143030259049885149989925087172706009254451359063253347876785956778713358406412930564273843668437229686627288703751378765043188001169853594364859996084588816829937032682030616515113883687569684300888282243816559037417184244804883923140651326239273901546926636928454419842495634946200894679283038590676847520135757968626554979729918614576801309295057632320214315299666548878710227280634866399030906771870652894614608384935049051650957034224887267218601427325610607320862442191112905247092555717440448983322455965681380737428265439240774149737495646841684422185339329743836577253847028682803636780674977747664070792751233518398355074748616113302609925496225253950354337968301781775414056873161198743530582860957690015894402733717080239427432303324034474660931839964826772904466869238914939213301705672885221019252066779690143425005483928221248675262124460702402972564397433290926431077069312729275606569919121066366272125310437020878089904220059678102843889601818617829263468357367563154036137198072118465490138106613016949661760902848599724555326740334522811821025074069634176043098660943058150680386460887703222089373690406794744500780672994203352832984575161711992279471113448821211780416688909146305616970965086475428109119235085647434720241000754684516631139615568032258559636016767520853917493416653610595316982656851445184427202575744308998484069426934579211668265895606546175217821390432590636347808672581012796045388760725659350339888981482007637623827484339575573564804014790772264024670639306672053656155344562284854839969548073330145891278598193508496551358801138817034805645297266933090070305196192572358090726531950950280729638807035154148701816101142344307389305810427317620330667891443301333835079721693648904815952492527820529504663159949520038477641543725777356861777621946795679735007796521109476340455026783676397166939161029955910614204661220158044950283198680653274652706911016423453962053238567125625236630274749158553878854889341894650899365291276776661261116417974183011633980557115463674425335743064349637895828394972336169635151786871652137196685818444507032322119375500219097591355708623066377226988001931980246716701127956609219211334443567350152285972852774617742298766692809157646821310971875316104865248153037642995983082715635031655483908884073863382575038561828588098976503181419869482458832882791509271789950038998463448728197379499767674880899637181976787734895764741121101386294403284177659357922354497745467027445862740695499624265169706600365143549508267149898304396158195801355238154079278000650285006506744467294723840841808847649209193532483055459455735849526448357922180697232197793499641205053945374445388699580859935055671187617271711770941956141656435543424174445544838143958045688354696213670334739643931935415440829762250285860724339632393869061937462601397381734699041527425749487967298129212894098143007573633529568370211722121957477226710162011970192566798915852894477484987094016464034847332514253103793513114962467072727188725037338789211819075774167897899414377267381662589378796497186248975811651719197226215887515449238930217300419333957755436972097801022973014140757425188795096706028327628254429284992772293883696620382329772810200799918218897659689014901302454623536579378333293416818168303987450020187911432996577585336946882186114005161650220178634448327737369871500685700739724188213188045144394563235221493831955265289703353801124856997290687323852044389889911598399139319162459853203111222484215240384290455562905446660008652198426867813681071545322424219648582389172650750814446800251218286545654839824807464064199431251125882285377970748345776729066179779118747666850987454228125964052063050746523811576991025743148547162358111494562353678242588635361717620781357714172196574330888250914103268939569778447882080908911322860973030909064754074267070215611601914106303900507946853994456518829262192402654369956345982755649785996256611350465019739906480381170916609934993616589692352500818111791684303864644623050231532345434805455053617190697742096222086688135830493123312388707541842410243738970202563013883848924185402997884806284805e-104780704112974173071653293973414004274606815242749806458745188718135608409954428339274048778661485267029914377210357953723789957675577461928861896781276566571438007956068944045733052838586841762669285071405998413606776353441819738245307026868450227172417508791527278080868625857566028990969233061069247030817795499488477590116214331266447116857797856538749681236352908930727519494169965023166004214109303075916643559163699391945557407804528182638766035285579026886788230278634612235875334458037837673790755328644341976332257130827198386128984319728582707733935976706318338082974934304399693300972736689689097790142872753083292577356236346017221701186407958327154798322155897268378130827969674165110555036773700744848534723351963938633203705879454239901258446959932483755352490043035372237844858206791247518514017757992897372104996020971043466433142332281593103725824148686329855390718889409972676290278823718449513311373463640261489361854608651103230889163312550689984456233644989169296839004085973618263647238166396171071499918392338792637475104913012354277006259221614551183774197323762472219262543100331600310072569738151177544064219399423432808981917146091419040979112677889679071905507858952970983341241108127417990895792189197723047180192936847836525836775740046054085490087982644349116982916713432973201992356912823714927808141550990200437220413086499179195462472702766610971471031960091738087259446229336676081390329593593230206040194961581911963834306839871696705313671884973476837412621782372923492672289529422375737828067472911490620894736185850853859518919051233214800538226301889950753870924467958903925577757845812429413880875687991759646421924366410818897375296361227189294820773975756406125773127036277652649036723585119616928721540226492518300859372253157942316351122495235432579817122948371126248408943486765849573989916031955727711281177873731341263168275977649799006883188415631169187674430521433232562615190427335295858123266681067228959991646296773706254815133977962953229968758240875578091388276684918024991915922570391749568427830632223334038505734800986740623807041597090042615298308182266758672831552757930682612442889666623028395683596564747214412500365979701569839497183004476746982471464512696765695098447231821398637008580168827346390015228377432164112328123877718912556313256682013257369859740633089630977737238783532619583766185040258151077847410681751038666383600435734439170150448641639487949082787220360597662646901862566487655399527589365729511717965703481130385045993667530801817397957290428944465723407689761422339058292197753357617586554628071986008239114661425183950434232640462218121897131661966229662829075518351432167233449261238632541313148403839574139065480446622853389159632519025941689945737934265370235608720235325412005798434963108660533786418261481152915501011809873343014032270388699362765067044501802405724984965111389895611261363704498098486198448357830256312905354373224055802737640787530023558915539157847032918106960182430441296321017712234044952970335500821454885558891426013520776336318485063531630994505977147990523591199673936048608217141841815476508565080804666689304500811550200079777987543414344916917372313612502410364607044655579206559010282643679362088473220142990813042208796824022879213428719711217459528300735912155407490481502279121273246730167639570518881000144261805600839602579631611942958506608368672534903868150346763715307336213666256565490624410982734477019397115883542527160289654013924075098797043416324462549961385982701572498869694030585601759260732092333139391724775437832778942451686910949211810356039438343588848641656899170218031186931209206260437236143486202512215537467083248161908568189550791445113033468296696442272330429576207512158190759415862195338217057938245055222186692123659690505398314141664004685097484564724275309915191723302911679126790337889983412886117328717649410643344342805083906639620314257441777121502030522208360591139873962685057462634954902951366243552940447403669374967262591237703997143905461399097713164207087377293785241583682475983414334363202792237587857294982345908536876147580439126865265712204157756662340483527124872543783190095854080048612525924180478918137924524559512867589117187998733625070547690098766770688389372764483637319348215082071001268454193688412576319018347667985730462920963312173175121807796391537749956599728136860961640499544240256007189015893800984235389815851651581784283775784327867060745832281351090379169522420146222905226381483632540712155199713904748398668924300472609318501894480310306218650817099230200602050204236877754945967882912172399619245842738234920601812231562445661146329362956047148573840286743977511667965589413582866005771069932308016784637205483193881109015447578146831551112443021343264919688692375652084428743077325918886846195882100745539037781572382069870580890086559564452700948464564732833041998864320790716774222896299723015811346345518495839331950044445927273027801640445378485799155969687111991055292939790489524010970801090118957142234292144745744045146460255182407857281766452156893459476284446141070268023231012387446264829563862088801446758106072699283351738168069323990923720089139464658676492545136359623824837703481248007263996621716290694596134270070918219094485006078647452079098181122131599212811605561770870800045458829960143233000309386599813350332258264719310560490079952488413838877348471447688915000370113408505232001366036847640877908270121846266693298892678866578515829133751610151163340328995047721734232495423839185319238732607872205646208501639171014009479359691167887830293122443044101148207333011926945579743167780894834567961273179628812129197198571159047184693785667891903814882117023753423791579488579082563984808304646937287325204302771261741773147951901634356706284302699978304200590775103973593146627526357877038205735224696130993747392099994716219733415038227513254654853247178263605100132806351738115760477495776208213794341624456024061902402222174465090154819614032125575717046692113350932195519721290974998579001348453864335437878877466333234570335634067532410517265198432091244037435310671823571080845254391994859410690874321449444171800902387248517714148382447056136428679325478169873623977895410275332264923849929381890890353300833371964540642592994175101663666113511986142523932340182440737548891109934186689935143300673349141563457895655769375836895140176222778459044511660255034770908640817865781454523768383952072836030026716851425723751169566869692696460067402904379687564142021512378586349559186277923549863134492442196263174991893149246669008465674411840240321867884440572618308749046380534620501965134596646422549197341825087193718380944708285314059351051771264192117509447179504459866953281613944816771588648084182987507698902586273542306426855255907786706276894340503345243760470160060688389916978222048336373512518896826917536359775509358709982982586378253908006578614586694984352982907219339117978528217807352742964806831742460214035947692069285965741825181335738354033540488194861953781014500637060416677406083100690091471637333676255195823355524546683976621101936468940597041795356673437578663519306555280459987564029878865136068616254419519285817016894507305296834275328279950871462112854495298637260209196174432643050799230123849089900617083267772043167299585783803967887123190314933852722493903591299931442596189666950110412961002115451721541608215257498616918439974169413575517162023014608461560197030380163879272593255012180391204354560869088247784487815845975522299477476212200650431945454138657595454088408685621725582925882552299927769538192496945159957132551545432697628867573209196839287553107588242048097337469362282168570220264488200145802938389695644886804442285411001417455336813291094630171642744008743486187438757322651915309801686144952817613567922015675755935560957339392668553756213710203059066719840228173661282675625222320012108423252619747127709441985906338473700982858882574629717429062102692680097097265729612554672804263434635544382076957324783294610085649105735935540273863182774892358468133748494433910340727128553621636220261734027252336268345607083805134207729457802440476068787067872224197254166322670498388214114436867784302155434685613456867402218107649074718378851496002845098108884792365305100440070556075086886575914466906243270427044845645293806252862609946188814598254776076611110580495215016667684164781553986936186609430099087495884231729332252835978909807868576192484338855258746768768646523334582238233789755351128104056312082207223611798243685418015956175317242503694539899650664151088539453635294660779857915322640495340725447933102097900455619851307699144857469680680627118395436195021616552713771065776608361172704065742134403709309181918237427126612935595078228356459492266171752965417244268013850920246075150467110854272293691683829636143280923108857076637725208371107528530072857757532224947796016081834051258224979112808588101709804509854796305216616566597899790142259648478912503372023702892828343207146150500137551841132514348998804539591706452556861033479268260834785877614889768881328366305688259756620028995905138186047507323210174177988600216226040992754277284713614674717339966255422142892584045424098743969585227552761919515087789563859809544299685906050788558624121303278607686388203481258212725057485265145983704164489520714220060506213711383919389231405857055025966239568871909022385870777201717630589586799693142839008750841504764834705696921106208393398748336020412071683925567496755541677471622949029621398139734588868535699883918172201035038688787540029018529538780984607497465119334355339485263473836795431274307755488426164631936715271598958924474239067520634517034196103295854279187951135588293924745066762281321136240920741354720448124564696829474666762090464619641097758351528986772183140833799028795541893603593713149322814716507263363853205796002957238822492320677962504073876283929001241695762678048465964793105006142432920287004162659138640163779242434474384910276101187103692616872539979460400212541283542006613069056114485428883101487988769097114726466128938441719509577696317900748373476232333405352334985775952909268014547817464897295982579962018939386297953355284774141359562556506327034580200899224359525702554288101671803884917364519219766104026305787088771439001924890431055805675303372435435750151304421932491143482747403298223365000123584908468755405727749195898832100592649434996798464396187180321572858901511282248900510248570840045937291531756866839883832938933646497540848424208306881294189476035889085837579311190429830979592092200783753604015079172371223652872963438721124742879138471748225413969033177561940975743017851523111036365241338545149463358420934259906620875650366522879832137775685450459214460014411425830509288033098911659871324686361533562365884898955045197877413866114362040742559263794672343821735191698882058084573063417901094505787775991911370996430122241803692361870172421730575509743855414642742989123217476929823428969625010218142774611235337770796951454485412789342495921918997704042510253442578039752845754644151322547814281385260466051625352604871772100331059225841125872132731818220573691715411523233466832923067017696980431706239595480694111824784472637708521602140222633937415074439221086346582824007502363060505628848474034216839589717343395150954992397838611581683317868475661072412117171259437970877814593600143384294321584293391274844114420978610274322743192431825258892111173190542738240403795531342855962483639033159120691244508983592940525438746978939076648546017201476029015622617835609455276929366980894556940623383520260952808697798145959923371845173169569321210247842956306610427755803056109324000505156717051756538833463606028070715309206381155930309869683581754514455015220945995873941511809252697308043237846553969212493538708450566801587364671894054309479427675275524252739038464014052196055592146793968882848279977306114683090689197975189126115068671259871851961660398411344041820958137233549607757598624338632657662407751823618560352987943128194556343625206055200590404728739184938323045963695667827409292233828772286995254830734476496839321219439340897492665002763357289320495541740689845348714349060124385069153223307162953380506530169967802444777785970431481357363452362626215986693748086331070437875239071591151747545481508743740265263524651726402242313399664900627191566751321745098347225818982612778543695981482336281064854036223289660368729972820927304828452790859815687777059261103685622812199070750430157074314672456657086085252327552282613282449004913733251503450708160490854786179652090162618608516777953323150127549775058818889678463715033265231118615516597756513986609957671782765236197062614124897984751841249783394012405018797697062169403391843446606438227988886314254705019375066601623633411364781451984912430220504069332469839997315908364316586195028594699511262754612065844655387138798961297484067284068453183826917704025783300158557512022404216088603373634849914665069201933753734083646050943509208140255522925523800505711161203019167611923678268439102231561065191884099376194259160503671878319697018956887405431614971151102263295082880833378439047474587935254773961246773538743400051766581988496810409863839199416712360650420103344342835766807490826084156186612067242918711750735665070600462698533736608795971437034216372733597060942932431574499022679144415144338824287344906018477581152786341325764410100721781431746935861123791162374366734899965879557699161297426072647246344821999958066105067664841585311915114229227867363231815993524826459893015791748263444965330914759848141930204252596284737739104210024310342987146067430215346779891435461789415311087028654441321694152440694145345067044489831902538702063477123920844395298580836826044401344738713164683743948522347789143718502038627193489461715496520993963196050999430388679310182373672101008017253203260103231671030270573394312852179391834991297236385644296471701850933542974697448902351190582667850334721103147930185404675831539762354576800795723265922427572660896443043244716144836398267533512189605139501337742571397240724034124637810145829076138074156772186769742759253250085895320197327913180577403740069758200411375086615892534030157022874037176697458159415018125829226622559230988993954468490975819794941085275096404042801110891980396515244943505111311442444744994847381998358881025369834220629206054344191209523250235877061903528265894134018634679379077477720648349753486249807056954691595572506592030684566481178558819386746415611899247016145911994844620281064343280181717508629225699737033589807847118061843985574448263712924628642460775065812288225816008691557713992619292420364046666735802796285558678832188585371046746235854521380173504654111417103726524976035264526181614955768062715104927644016836017402279207498120614380901596319070319431100112196554546827750668891057189290602277641543211507388683503442704931617961513663313194654990360755037935088566099429804415642839455340860926547589689242726111356882088092677327408524717538685485683685962896556300.071746504042520080596977552304301777327843295526595295160420851248983987209051632153860822919056064354186282567792180363776673289835265185333012440679146926276459106814568881045304248030687245457030688686782414858884944898553278438226096260965755362743528045010032644382578273829006378304805011397947195924506628258208700403755449271973545309456276266436804578418705271901846486002655558905966748465567964712515802577569077671610198104575739431608566663452714755765412907050133199757312596181669100612327653992069711290008396206480644629130337420549760899431390366748851906868845011213186436684270277369965879573694124887655294222170077776745206828328203023467694793662456977561515335939407186557135391080958229763478518229894520069360675498486945796830731304500768727466426210791394587717199367359098660482483532992865594442277379155495633107518796245909148985812571056668519308952644759549242490727584337280095459824999835375567217640680689124028629702351807738414672652584186978841276357022063623008257667474559898424348547921422247126173741820783329174086221475308137511893881315355953778837499403174255764097642158637613572514824461157769543779754527095448841409625313269868933307007763650910874536074950966318241117574586775448256663962513337451228879466002049616204455700775817896745367862753375912402779252242818574352527086597768137353597700757384639559208174917945294194160120706651592411022816538167605837007675844087310693467275155758661620324945786967203130768433521686618005593389011326693468910170953776235764895229801347268497584871404293684306207543281220198506768387847299942896326568580630206045921951867066810487545520541367871268554272064122078742716054752970727465873405905771043858545933937794473723413102326633688193608477037501872384519392772793053111836787866214768609077446763077380059947769157137156092681198848164070948886899527426605746822631258453353134017951634338112596623560016321752649023456489648420899892645840226229586345211075355464621125357072142797410737365821495500265284690889750945792496745218444984545545440637226686252003849467813390854149884662200400086942926277282898096472803865064780973710460749540408690198707375382865101196372315396515405154603099521931768921670233895500283504676969036050317442921591711281669265289014247901425595988019275303042145761574616295983706844474788194892049603222930412117554154186595719871116309542874729356867636107216327987953351725961569423055976529229134560644350426470795494147291106774758295458395384133760481713381886825681412973386954122415775873577236577066326134568909476963533276854852684399745535495301856185880485653304478043704235540370971119706256795719390735211549556670842687556050281454905152227016012271948873891939549374598409100350664541842055930069639479401668625371468783496614677515677943826555603491032623180054713507800657449788184376906101582954857024868757867406096609989394799603101997893635456139227158757619241541242806371285129035802783728884108401068388010015717985470468890931257217218239900690348386195201528261183908019270224265896636988724132424427366698016728381970964578932507233894926518378787985355350620556855369123170948838394821903950568314428758942828677261552167343174818613409903991619974102936453157130582693282363252872288945450373543822140398834333761575033072628900217468552987453532236763927930253920997105142415931539021724762156345085791952747010913217603030866586057373569363374897778203482140966705251307644345022042693827835605143283169794226742101405319971418958394266618402715085818908079066895344927977340040842634441568259905518225151467462825371428463665116168695733509782419683440708241057847512982871024182547719755871875728919408720140614507474071350023046986051087348990749366714718032752557676502322598444317790513088265243005257418273826595777197135750272709560510012794263172117683822294261444645914561870201991493725163427092683259339651962112606114586485665290343400609830290833203942430059286638818793925120770066429746675250351152746289256474248413092747774809374914059818444385605081958368396909315418462992473171286012163954807560416805164483521355861159751638779351167727190437913340247520397255381376085038941278412276228073703850661286280620471890413230702218396614264227466645808134326659609262888320278852335370902687749665955908027802357806007285252128735227249951388189981629446668653278924119459389479562606284349889601114271209169117599327871950040353890113359283132086783801005262561675100040355873642252354082238518020257204702376711149767082036060187838428657548654730450954762990775538505550337810075183759958147712762239473274493202577684608599788221170619059699869727209270458491500673790650656531471619656795077056328595571426583844732503200025670429006340990475870240672896675647569393504544243277456835493959925076426800224573518102963289393891455247280869230042431879908209565381001017132237602782874615873302604735748984876144333914613045408803679660257883436920491918750550839906943631094898059440217485588480275560869460375412755494962032050536514780719372747219825328536709562950223371645598491223088679737042066424780451301623943031906820059611289326476530157450762365462343671725385068275932930466922379638900648164203907210258963390456248234342983383024240056318653480423179378808320046244805682242287794651653695899716118606020360052417804183972843677457251487504755657088477883440115030181051448103124981699936169662892999133965578988047252068946335824739156805694710436754769404906672507399978341597182859991311970321282179126377015212302433542604922141255883586237569934400680273707854455935758627510972931260533438895388976938802019333451406969741301319922815216149604776562769819942846347869675648035793189060155561217913072838664353663899006764885596006389367794273572482150768330140790928609326686844271357301317596580360295155731369416446707458236285516242937065128783355310153002555191584582026197452186191791168809957528950561426734546837244246233906991177311904678264100525340761372691525637097035455729264252501080334010011735202776612259639837082793796882502791474829882987916187758356716107266658859067850698365111994704451038113021927086034665954327982085897311515415038696181835733933645596647300804865404709472966342001688628821419079671518816661061149903096157276233317410096194208429720557475110671312513332773637711968615349406569030375645128011100993627589347461718294907800933922216185121869930980470173178483834742476785670690630967496265560134694262921290273261221857523549208645049188206754977054936482324409105023165930547245858728953413544056582077122078756748845107471898646865890027094699475087746035191907507509420099136856741356885977927699752963978784458795393091085967952340830638093164614015335833748292278451282898451872506011505324873818146345383492645476748281688169075609430979155624499349607623542322267456391155727671733497961194542288849276748437502171860089435684668705481444225434810830996584162143883949663138730715825693009235713010076501474667160821124377849472491243682040867041384733719676035362820047245961109794268145069797971295922438548730356191797869568808392555622415653362451339207187146513076447204531996252194125839782010854876242351278618020506696907105784319544984745779049619221231720153239948534211116079113438820065300214268789092621752008082008631872309179271463558980780090075153483510639775243141339638645273511883058928752088132297381001372773278082879399123554382682741218537338745795807184612893377498563216082871364272755166613574320671592979125755142870443811455732004201434121637114350752809594895427582994269990427695097956455199047467085906148020539226881612737575495105731744717941542925109078718320014280881577842236876973776708801440420799503929526215714484487623886065915220372116917357096970279877668310569083674509220010149249927988135035512964097398524449353141155880332738459181135602757282409107161556691722847427813533995906844119971373559411414770289872488099119246813757198587516795153155086110911586298276047818343750289092013361903740664348282750898999110648950255411946984161162151162348233268929316926564870015323757591849931065877543923224756123073189092491980855267780167990499939858390400495133922130849000203181232293464179461676682782022543686928464871910009887068260716004896834231625645725741569753453064947390754238902476844740207505912851028663455815499193135898609814918906261755216425959560322205919909645910464126812988112662173063927520788110802210234412829137640594794606606029364925100213999141520200861695544236769782292216380300509660424849635535876099848190151239293699563238735457541353680913855224190626419275931088568571187601030324988005790821877735863525620972383193983175254249935407172181610951469778426140053896703933316321479549413029044625205710042674033118051375299852394085102591115528555602151239470071601050173646693153388702871070151358577151720055595486883182128473342058222447228768366897109156600926960117839907765644376481253446252363268359055511169709124480215563082919034587813985997548869335963176079749420848338384162028734241868934888082035866494798781107484499879697901609459140919349000649649528330601568472575601521597771625679731017875024784868137826989678564665442967337915949921532491557913477885518521045137382751808590057956419284580003953120420391398284047265835837342656718947398146760488183786432909591605555491267538568957500012983046821360689332398284956159477974556904962828259379786504461378936526135627462592660232698736821405218792639108367590870875659719433332798608757418615892569552628951422215200163926536904151523330675918468674278841652289441977044738594373790506964392256666360955906533925105893424669526174190882446750460969503992144954565743009874843139202601835420078574174073777083113395678130360319726153722441752193852795941185057894366620708139416605302730247126664427719524487248890063287922888422113267625651450479997901189134365814798453590757658649779984513014683521090168055939026136689110598042171489486991016859418341310317554812972664967542505539880814581184371857455121471944924137505625074170017539879963578991661355073510512495374292642663749004604155126567207646122380655785447853587144186870683831919687341028596312943540708083494354089313363116602976956956416843462513941483243453248853695491830291708868382947263060549298473494784560320716632150105034073634002580732013698113126859478733143593687880471482017602769543879358918617874924425107574420929874867941848260804334381945949049757642728664846399747132848854749405887965541273177981365362758929629615179399626536664491896700863924441592475228817378657447526838274655814549620357134189033617556111723177051289102630733006772483777217132361473656921431128589886807521979238594306551884734832613487786809680031908096681166320888778351221544637666446554118119296224376422108864608276609642561486845689819697259398978042210651235715827788636765575379812078113805487377130928575034136535379959610567483575345168591154903899752929779248975401263378080360467952849963962423859108127185341137531440748180667598602542077400356690684623781461423977195835183952913605173239503992604319928413626186893449599980370703715558843451343687736647684956228075079347771051736511201816531550088212901206599153493504279525543586797019789806365627264218965423213146115015851535381704813377618932845369046319947249722051713736232968064695802536728145318603446642640232712985759593026107443129304627890018886765389999845259109761642673554340898798892539459348434691268695694485465818775902965334773734414154623306204914101656343628089696180611233654166433268742540632260321647132748303629495860925161195471184550402974135623837344675135553101261460176830423179748371048569687043272888822359235083487233323120647957739195010648188001645177134129814043757731541343629246150584678392869532808935317251179147716565043926406221975710027152935703509821784506925416619434849510082974162515309860631596290364362851467931463562535806545783339814963956215561714415069767093194610907728296479031549735667976457669443463322235301397063972630526782029553908539888716006589561339654731021997087058781551427852918383715805525322310467619515808869130812394028370346307278971877980191342956784938660597687784475684938243841237293472233123581041437571865201952499734246504808274921029860175326510934804297336920044243250914765770273824757569583008545556234704041333720486555077022607420193517842435695340078970152104114487464607377823140130375687098668425887546440054260207065766834696377141915013439681307876571960899525626329685653985792562678857902484126006581082571027404282194333967799448578745067709429868291710689625682479185878932818660951929802682041959759544728804811933015295609896981857531313715808421151931012733038083114507217072389492706299512313954325148065495365657276347701096548274080741287743682217207518162100520794812618178321262113941471423614295778506468584727031378432995344114966722703175008136101513057788396971241588280026856217534202234051177245186388995516580922448843162806634274065748496608064861397589143780408972013896922301440390336624664682905487079511877817962726203663873643361234311124030404026593092356705028480714237477992553072510300805765936351028919186414965117309095588336458441489240658360022921401554129165223150435474498692954020452560185622665402072853250753708177185657835696895290525891183192821618391173764484468047377806018379121538826267835651588280001140273548443279972449519567880996225570534863871247410396375386108658631319619965606935564213923991974307499385877760239780295586803236077115614580536624943413003546364277850401584148734095517992748376253394462096882201963774148105922354712112710151359846472282805032624937101346673779316857037562024637349403382861812698323271496859716956206794898357319839008606587174915806295040091177077157717446840520161875994204131847830594290254481670389021444720623684324361801160328223387051024484816472574901935057305202314975578125594084387804735257400109677491260681111011584221171203161022168437560882930553692914340674881846712090286453912335762949449544125525765301924157735921085930364938636368670196081895914709948351334963730861681962483054060897140838123321780898348863281480106381414746117126172051509748988638979375289913720245305292080063063110930841143160810431669888316627813819945553564700886966717582363877961539885577555153944704953450148512422972827554841411928473409451615122306251955009313152613550842374725342458258301638999276470837309066421249279343134273911926978094837263101267592229512824631560946884294520290414597791467713029618059601741904553243309082584567584446630922597914474592752320378733618803162874231702197421478574035818126435078368589343401558953664479034531560528474836102919487825958324780752701305915327567261966811201496988018731363239966054957090349938851834083506514332947667693898893996614176929673869546415914795105966693217474752627298081660270969720371018705988639637793732029103132353325944907872561165367499804250694308799698866072710659650287266996797858845564935013190128166756                                                                                            -65555266613452932184087298178656303959512888273703113052162157780295268466496966297615023258049270797553404090649603325673797614885551193592888940273050329002790265377656134120259757989002273209959644577189226391001202629961067943590210455004217557712928026941292443780201844509372566598284516770140160457807936103762802253021057294539241935577045445790295522341797831944621448192783923485731023706011785049050348841101894006598129499915123177051374453073825667728929451768586813270690172858731525782068137710060229257764737011780988811782908932970846241242322511312603103998408684438553807080332804114626586547982869349069023405138590161017938114040166188650365115353477260273677605413598524138875332270297776436100559522255054798137187854620230207269685100891605515490152196346084944674953235996435542774520428044521117560051907471941523588584936050926241533200617761239289673390514158404034097983028156115666619044095410011739233078880568220144865516538633758285165321165171678121874857345173701233649189366391498096020749039154731659707656798717332606729746130417399254945916672032625711454695336273867371968163635327462043796616992942048074537080928345744528119624848667013021236292766238072936531397319633958507875619716131784045096950447427425986070885965569088775932606648138966144642291329419104584148974870484070392644585427175590689086047654905161732404111860041041866533145653846088619718022349625200714401785605468650674808972512714254554116874731919301398562043680035666476069151003234203609167282761628224341661106836119035956124207229885942062647571474189993444388478083411897844903321432998527476294755035731322876931431283142793468194667002481205348488003292830679038050290310056817719240426603838634675629956737629545607499772557116791606401164040523462431806827498771311547153325691836937519480577610784611046715910733407377324287475158273856567552903850514934703418358865413378688164315720310663419495956285163199522215548526997038733574182402676808554427036059024682092452612304351913649446669227448793175525952056630706362287151942372034720157712782330861598892341564939144827317750838108989113289984098402354221226336146070528618010070525149462017822649811974797724976600649060765121113400192874583153437535701443676918148337987212775648121267844437572325225966446100044363047613360512256765609241447994210173421404929528080124560279812131474824238200230264713760942155324908521362685633305673867005759241095442602375627387665695182208339874254783465205984443273494349258873363819651162526046417062109998245528603041493028881687017906722297077591833267245325226916890011740712805143060512035826605839925298488114520591704409171854977416556360012081483026955162759622577124327558996490018746013105454189723790509351374358979389026765639128271306665092819040144010596638676708594196507723739133204087854627586117967839125340683081866431109712538214436162140440849494504687850992537165489645720699061639336446891538078152627806902167223987569612431266721431024432466754620503958094969022344990458025587767154966674577921522589581052730765173730209192476944804000405471108502744954313907597118370817929099493880412722593406443424149340209807850242511062708070706632662643540674048246636445616599757233718997591317973837300971148884255244903257156430382309615514951478080505220985124574647198784943742712246555087636290921009695961153699444972837588790990079677904264118725131809678760997156867395728723336646723512711528124055840642977551124795978240053680467441840515959528235179397877913857953115822776599328267144856333349652354521102235071997693438763840286650970213943032711256132639667444541585179494886111826280168012588836365424903524808548764767135021877420812384966931727495111733012754967217816509684543256349841148756598289031011665901847744078975745583696819975765861768167174758207598379286954651037863583250070941798639244900005701289706725021110005949532734225673743427949153373187241436981648114678372508857366092355263327331718657007805831432698314769694966843753753238393652615281162869665932408723583060321061208686562357590582952250402611951711597722793751148483426907204395456140510885121161625236156505342977048249951089353899416267013213137052169468515094965804707058563380796654605117623303976701757106377043425248921473973565830663200106469203097354773229713991231343912832334071568803074565618842353568092401579679978544017811049625424886155015102957650351585647101799625138661166024051129885816117179884871987801206531531035856783783362460342484339603736413091589918184410880315296781632933191205033694882815656435598781312464960439917320186729270068492868574529433485495297116144206404451025078337098527459295837497035237756801501375330471984845758294269862234392827067275859426475894090216665067075712419553220921321664231757656347701688100213557814339624502236109267179310675458003967327560470526236169358114916503257035092144989718745556179821348261772188696777744219058130287103472782562261157508703528866778227598766104240990882366463032154825802534968150158616252777085697479843241158394155092499418979836011567694423050752901962951857658904683335851938320436823129894987375920608911045009703226105815554266549360467187078402214996463191745673939668577537779260027336412191586662629474171299312045808038188775937196713154085201883887617704200139722338746587687078959620142375279503599147016835820703719167816866135040973778252322824752643421034851068547382536730336892164369966082038789152056289060206655743352857636561066697795745600387632817682451557438300004886816770981941109456210260272650351931129515855792434662809194340753877741428929185741023952696662141035379161199675978483742520954089716734864043552592989341439069030805513139684844052988342458373576327652610296623132986323170758382068229451333648067799239304332558393550683170978667892942377722783239219826036024903219646431801254397291196998310731897530823968597237568150091086465131213701550495342467488786345068100672728987544980648538365861901168342352106714780753701210500616662808330902692667059380332325082492245537996184009939275409029270614388079887207301520062185024187536553534274236588507717410840804471927376899667539420174370452010112041742618681744073410658979900317501784862948546807164171261324274363049463319929658085304436175531838076509511678496027492000773088885658609779810635376896085593393069029218192385835416235084315741845767898056750203947665209795179668569464240482898555275376805863840786222471650428947604484983367347189628783927744524172861317263901063953448242614243420773790202418925361105588103577765234265628410166399847788237923449995659422639468375165188872126037713877132079038744254251485390281770483703826622247694952503532901971561845627864525130381766978265331617171157721235495761370299942306033261135371040518975916020352965402537387481664453166979124312854238286925201848276863775428626159997781221507544252741583375982091781033186062487672722269079280679982512128368356748996194032119219461895943778545464273678000241109490984374130876213783605820140081089617042139972350831313529648768949855088196343626987431497495209386886716540825413366628369889717617288854937698946708536634537499319327032792786657432118793732895927620919319177032363342638017521396509750667573729153538339284433295180266123497422985018149502023533770612171914132955969021523809278459677760395700307429673983023968825513853323475128287595107493295077354688246958998757267028348167002462207004894681619531687694394752985887398977230113471331782358848556287095710743200435733160965910830561254558878131624243251953138304432807884618000626964189694654119309200691691975574902083640372224444613794182861273601265295447802365854585771018380607346892672028736184873995025007731620000324397127616925647159043227439483132856839422016943958472137285591996579523944739124163396316887177736800294880994521862796394332227819150738758200598789511264486379204270255097346336590616275024064601828557303137888869408110538118300375305641329128288201474298048175808692726868686718876505301330041800274850621514391961694949053353382988272323954071452057954589039348165519806213571878565933048274081732633476033110988492918935355620903472075388398357769554000774787224521271320155933000432609109021495542674882597817080241271375517281568168318019017044381411284913081098851673876782312786826219737939914001509499630100782325308293107707189028103313403846496417857529439353384927288864423276173028161119467051809886240789516918946059126143243243089057038841736553597324848285703739654730005880431383760808309672757320333833178216684687617784971814149652962703583962633303921124738815203494942349524086470703198190722082686132287685444515046886070598768571091772216680386094611861657716035204645224484185767943029912525247601345913443911607222113585001783020711377898079993325775496866388362691372290311646335985783312458839978218449725369979647978135119236159915087525434398088123635568395288786750403954965977352810849379367935005590208707633836110069096981401182423293276751362598599109252662804355692489538987738868815092274811390540613412107196079598935418740016077440871792391260063826810813422486464753994032260762366557819157725391612237583551018665376584476215398742490067168145602352711532284158329525254178858205479542071488410362888417392313172057454514477605903977806250589084931504961633146653335250439359844197603988394179434170115260466887567155906615578087220767905593461177897651128249961257960419057185086043185100018334340314411142870677985717740774100451094311518885775248132132764800121862136934603348353696063465600808211827289634661140049517277257088480110295872086203354181809839877100129716137957215825225100097927032125038735676360803613634426342764260255014672752213708263017295931186880269534778350176697448954362140386232939984913585449354982128156902197385996546000956546958986586917847366212012128972580678448040926682425626058847327304349265459239591256971968910660194230977802071198905103914172102727915627826155958680091608939303097579473080897655656946739881480169206734713599276960535743882190010785376725852668914408096407420690237822629005198569560302064226241953317237747813781911337751576691124857642525014105459334484073187574559703405817673508148755284063438500960453310882616793414032385337323580041221413304647251481946871259255680743273869684955061658773911499675913409689074771836935428588657260730898717494590303057807692531604685776617189319814727486969021601198960798642525217958744866948058074245329593014821896294089806633259983833366769140960360263136671672977413109015203269586811680747155906438650172508659450518604522034877732959121088933906087649862471165552564884979490190876965302448195363972469308519817405937303313851248606567610792662178118469956393353021903984142680493459376205532037247745172630699936093735489784609375112378559465264837387475138287710169114170609282132889514535326535556986246186591891742425977723470198714542391472676030647530089018001677807166343258232086214135247504314042607222065585106742266918361966156890216965797561709513469556393992125834503280450332670646407996330814266606842007484560300012645738376936631043781358580682056541579184768084374700580749146812989099586514162534702888794597715816785556062426018598388039720504104650478712544393442247340692202698835909175536970317043022344733539321449994701732648963317892368210676588958234610616940941189921280059064189561532328313653665706711818328275548980834309665156749150185924689499774306464101998823133655215385474927765275577359685960793423970682370098855502691387378921230590947059854506785026073865111162159956051403201825623931744880298103701861113596058561958336465298770059490741348406592327985725722929868062197139810064785557041236124040280195098215713260164387911536664895525446937253271821533986764144608362256993532614889378146673263091416035608881389219233913239750894627389367416369284895130225227809739665607263383885510633387068141020680526067567019372812539555959938982808764488335818094149634820640821999537391174193518491176350342453308367676006467428556381327584045973652552110055830661005973487176451607030158661829949449807716453536439547303697502758658529366629462437389640301578353305234816964228156213363622477919654065653397302135482966125816774100967417249682222628430943833273481123049017450714779063349886124366863784739922399217874752577123921290685777108032039404873587079401689167079004207169846304122264522550458560002948922574207633088253511579599983777157697552051898442599460558148863544519716027964115272229234042518969840442458881320763798194558344250417754733995962433562919764401652328893302029464731034923583658902902234766805288583296756031124334780256056594454994781484719152822067874424181782170210992827221528405979300670897839840022955107940657507566565561477490897309315371241100776525882541530462313962287519798443941398471519971389700471550616920252099360369617589557722985877824023162418371141006791189889791115533774703818948839959058137248013300073376170174281286209946947308527855592721159297119224810662624322893277384233246168770058212945154671312055371019086281134321856533686084541664865493808250347110599309753149526087687612968689959081988394468097775638127997102202310161818637334197122043753195646873056829774306228442729250714602127721819349963738222357421803215289370204412707520767701802333872901953594984769957629729954351744059300900596602366259456802298894744956907677003651796498839618204799511398291878957718592475406097948297148426413186155314154773460301215179910440065718125612160111534262275412710403326809115158404940368031205245679469391128970364611614964400288126185419226284845929515185204218848509444382778560643151893417311364538967154922186414803167818257600616323736064826208844546583263436268663269661494270924593021564193179497553802241233905407555066373412180472916060650191066785412956484651843469626757053832395603261828002579653249144459880661907292114581669003118775783742054073206686042964275255743137542941564322046433960687161495369555901365760325831102810281717892305651329573167299670610784683913698932089397246106497488856340829832033282918829480338133079073966469780101085144179112511619025683854894992626035146417780883563949320939121946462324092302858145299285317621297729141571778793214265996681720794808178445346680206717475778767140167104758316569130990667635669607510985949895738948906890358518480480294176841665677586711584433693614322108294972620393674337896370722935876465838089666099990720702218915784269299275077286271253794508276694545462281909757894365015844625289827046456353253899593299671299394120768513968247328649516758887499587349857673605470441238026068138982067756219876832166980708722632051048669548342850460661433818323447203380134512578636782283017571214742787239696470360500002851193769147981842601857807119316645921937627923194279182895746500004218192995426873081492986747949480421630375182502841152926612771915108155673043347654856430937221733550239663198175562228211133427974029985596504082504348473946635259277929871299641297055659434160107099978319296625343008961489419111238262101765520822649989940873116234465743317590774684570789190915471157608459626215684882794905445772542509563184865363754144901498844004172482190626191537929089165585294653982166875128142060998556297753261608207912048254544511242139458818858741946791467019335550617410215099286885921844778445408150173802021621333619016052722659879179471733866349250056258613812740687973271006943040885878359824084994231432246563561348103187707396729984301177446672692222912742346354984093067625804328729095449094494014312076586139103004868960429022474603273196227559936924987091351941288699212187190994505434681775014875829257987198558093671860564953755673381291066197455851018425892551819038364975833338541504283461544667495002696141915186706262339995957469740555666497067896349241936672668835302241968869693619712592870864414630948954816497380840049025487062269254967507435519733648406133351486874644388051025519551284732880669143591509723494551699383583749676155427311751308579607975441409236978710805136185055762218470513100173183717537054731974733904214234864135000806271588174464088733119745255556195274281650378141674541298843674191732109156983340997046822309838111323430148492694398982312215038480935060829380740750993315840980995793905036120395304836330540849331921426058289831426251436412665957021847877971033660905578755242166541420119234710803362257901337083327568403884184612858768003722276922983263691054350328320612039743131658919047792747779853266231546932725851520014783869115030306999182999061162730349250955187789719128037163559783620836546326410322445171629597082165920572213267623250522493421638122199530078941286230600044127951192246473387615251523729151076107334171529482238380854781888619464883136276519369546114212303462860173912664510767398842272838014043564923394683322308547720723340696390641020352814668443635072251882047179327728114270536253478879075712947649650297563198456433343934320006064213260571536370916229854064783124642619992621814456552988678980565758847202383841408896653663730425201242482989249130916384850012555979139539474387600258835046512001135310279810770815810626498690026779726607606889383447096077391161053625605495646900831631380697792266827588344955938393442433125651255103930625149170437870412979294717222487011120193090033540460153807046749074215516842196253488960695481419830593197308046504393684122265369310931683588330792050482929667719704872243276467674632145211984085484920267015894488794217528958696001047958558998967400374199151861966883738729728488618057062360479267750544718576530357075502571617394568031888743979608379746919848305328527513902084821716509593545079142005396516090392962833497117141541072853555584902206767780415569789974341011411854620598631397288377923024285592957016072223161900895129640319614337154578095105416928004046929674309067868300061776776282096155796694572332638705505243662378849628085338794696346880356805801774574207389760316227474354034201871203133229273195862290893216613933278692740051737276256799373966415595769996189808743524674982633384871972580683457929699087262802200507757047385007266385001383534784681305336858596224934085450038498758383161930753148778433438378365295723836902418297030503452489920403788399730871577637192632745787277127020208657532471836000770427252974194171127364747379648690435842274893128874441108084945108982300701325122779881819523056944387577801314891791004958454068528496188530911202502019867483357397135080292314567088996637282122837537656009685386495088727039424390077678566296837365439153217866864643619241044902748675917695302968220466580172468237748610260658490458008325784607591664602869609876897641329701450818490776659758437192436506873877916906871749702432877429008615329931718105075229628373593356180204375488985639792651100438366586946786597270451838948104950811605293144891836111027038455736019568075456759462786591556041765631658115790858229870045852020504869601190387129019213898212282861841170300043166297698632972361465795827043552101062147354592850439133859217647753169015486971936169645688342037565468137726131767731492228444490957872764379456349480804948389306203470029084818978168575505635285624856774457465373140890455993778155852419457984428609846365933960665036172882444405381937442959015518427825069709459565519927820602666441967130295252925817722802268024140156175812206710782164500515929134963757177870841277620871383499815480190097193210192101439880983441753784614957169309664744753109497965626031949891758224610142111829583306600781988920583720953255106456218489597389569133138653395950881842701632718921256114665460660045247502703797112745332870938154678531823102915300145542757573952015390622813375581056421470986107958110314871321756310659767380295209250637982059880876742792733455370463352769640757523992287732361527185551427412367656097770128393201778020083229985894583705755297375499699041952453123493290910679318470494791157669031570661840781721780361577245360417493878868242531799968684310484123721737553909298184264607945370862935902224344182509189975424411906419761195713085904011754127419371267508271892382705172714477307643595443722953355883176733786450922566060457994592021804173930022491217284975645869249688171196655799617036813599416406215657214904087782683935088848682247180500908708969572092886745981892852064054072921221409395004105582909404011303447798849440070731023966577729284065041905122405708016665557788306000113655815687608297044932764366698955666246106245942345834472152149607441063808414840544993428634716571679059012416773384648601084851910037131302271702186149269844167161004154673963393207145220836564896322901508037458182927902789360012433585388326366559249739868869002580039161799574410683560348571721054961252209873931200464513808903391646188265550901967510910701062148976703570560879732724896114521438228578854832717009608219793856878938715310713434394338429904511606679101184527186719582474855217894825935509237011189558233776765147853305329220350415331628394018893355807921167220753045997398499946536449867781777283992643683807672337415303492312631096686988845379232765234668951272832740555382428894339096883112516882867397859630273293073306758338846575550636965284783133900764848417285458044584984217700806480423162619715193803254225205845089326787650191792037559272778479331901699900099402178397585524457550739841851793132961931405050827893979054346861079364424939232133623640207083192049693106249662046503533231772079168470115283707558823156543943859828951679969824607944890307892996781961059041624540149271960352050367464480773329343480698826041389047686985217353693872967561891716606296938765246644830588988051821560163151675350945916924930114282528035225970166770362765999339681615439946962839887053852706686877512427233418596203880071851750421765489940790542822949236502664933593408699843055440585237413819180521502497812568718233195588616888150409101557558374693363145725741883713880735865246782198890366666947447740428145733144925282868584441215287393896303925545922972426568208937436069561337829219473149169975818547695928632553623937044251733709468971936111573898794119505885944741037678045544416039282780474860276953757431192997817007256953992787275148257748642672397085304593422136983879954111352351803472716230040457342976001358658907390013220287133530152280265275915018552770684937152693649169780403258757715330047507063109099239777542243976003773692902133056235902158647567866325748171498211004239225972978522306115285006409042964463850823155966506037897794080646053036563060932535414215615892797022899207410685438879452132321035535477310588021820085201453868312079723771895179290722067445208607609198277997036208437473913886766777515526229871914673975573149936619361903002294873292749256161924860972483722302641935052860272650968138400952339442178556594981070003855060493350887632404012419439936434605150130815365987120284379233615250464575223812726945594518001546583152984285477363844296296460210558948366035963447986517373397372386124949445881772445372703662091635229293992361506063436914215398813752351787850656211804245774877173300470375542365665080579157164496653610384522008718986921830491059312540214435308306918393352657500756097442993725648677022209269256956802113615171958852203321246052644077338967073158598822969864250857592408125652511515031910357632383845688445696078773164119072232837395359921748717025658558901404135891785079052757424392114454069748838546641948882232645080408484467323180496296740104615675633082934564506345919922405162648048243819489213807929360878353159995276144265568280418627452960179619345961730588721703468866875056180608974942916306642740559155785047054458661291087572527734432138933380467718118867240135778903999357395286390388122167836757046991832471200260175581364951886595880340482618725495544149327997607933971152226768332758883692572467774010334123958243033312882228018611864506094838263516014248261223331781683268204668289903749974407705985201024700550442036143504486994634058421696662867474056696215678276230390956354303728388001768808423463670436868430288200388468422788258311927962982933983721583983808830944830240433922216585085485469675079093159453895553273711287346153072508475854521041432580537344761122181686359665701279442189775989300488234302992011188518495283135194219859061484792544313033468107748725841989670837488993451281967039535933893196866877124263661384557042653965743520554991479537182109384990666940995406556629349779620019278862883545292075901898960984113990300654195692184483289490001412442628069529959398618879880921188640468310405454417497377589729785941894044609242202131892986854340649053635751991305706196793349304209882359551603374185775009032684563998065156583124691122347705173485581026697209860904358120839207956050949889765957412424520462257084090978064772513967611678015713334641449127398886749827828412977432778700631630306411193257654397586657832006258091111758413044723380264586301110523610651058642900228677409542795178136553328518732710672826005534668215567339324628885060972645123145603457511193174992989156868195855212165204611001211426204243729440759289960083324789309835128072360208396524878547489584197926372394326178587632392242751665222653015625605460819233421709521709110894584220221167721012966367290499877391545973845949365093932974051002386974270087923644059446063166604213830150864338955899408934596147443658755180275756918712383009744031109837857354966859287589786309611594372229645440368339227857921070720944838572530586628534528655820016519589852002694549192977481484355215110512981458567757615765391834375326826981757734616114845158505060944534939604368991395812665491687050645735263054384087365804184800066649385900330938685267896578585161391881144139208946648495365003335413549183205091975745491291524088632560082713821417956297651279254510730211593854762391278396421894080101482060646095224274046447075088346844818410254603007844771379135910393456474864364171548697720211452918657053682011385347339383740941908723281405563390023183458462764556876246792244248686143990388743542186878202629509323734773769223432319349724894738302791067989543796840025424007159528656346511002697919473875680533618274926226407198235625105471752501195939690539473157697436502972183688667610770015994837507906135695473356436457156632302314927609346682547102019895035587171944878668034766260169674442352468867933938634450467636292729966772487093876321589444293465454223663464772504874729248714351993251710107359936418555526173262709873893741644587554009618135307507016380476144099701682407159102803463622356966158216778694606889347629977775300121018889449149293958065744294237558458504538657265063549089414389444206759736752459735735898457311931628722417853728413012859700926080172315200795566880387468552372309833383454112910949795762191342245583041752945062153649850186321189605772198794901485382592135245305005214305997155885156399035578398849470981897507035684897546376172319527829771794282661518477007438503495383454072358612659471115167608267722130485448815974107835528444138361529396179978300185637473006965217448286195125155648608910626368224144973688313809860853937583516240630210042544520517003771032856131152158532985158958225540837641078484369757474289023877072868985926574459198548642940959357265950717154396360236443650895531346549475906762987542019018783810764811324110400174587700789182159762096437679606386257327255483559960723492575223050704642200568674656017477919416416170391369126713635574275436009717968215159020303063402145855948634566291195456754224431036732695263803124989577109744868643824641151685173241953057756520824208525984411048353688556128322743827315977193948426581113155342826589378208514367237568975620014682710652604062985653760234457146319595857483673369635870248052605785282222502138293990016011294772410934114349360659970574913312574769382736692870769747330761139725755141820207276462105193508480177981063213150998108847110170307095114657992182024800841058099710452017716027449851955053154245280412405229164259446961296812442603864518525950096604954735991162760321176683804684371765456884051285424084394774303599266044562880324745394983324895931537183362616083512101555134649092711369721351825147413128703604807134108453546072813345115678178891423368814441824158889458288267339867640114496913792959997715668746411544983876378785695576353337090344765264991971451910665198098144712448950247484785763293394329722266253207148638324765294629721067885235141926788374094778652950859392018323921778489856811328306445866901215512550457058480443009695487729272527762587548812114093763735882056724195879850284705073649127622416928435512840230959316258133576369124887063206412445080013583221354962660010651018638660218552608094462483641852638494637585975797345803179476939791364035542321077550897956649530668173648072399347346243808971948077353371502737483229521539755754409946098364224747721875760437897791513661084480354754250494385276458914015675930305722082632159816807430110603863457857010255437239272296456744202987611656411144061502158924656866557835476500136307712726183980867740298960103853726101739350536200231240350655229839135360313933958382330595038943156682613906424354707758372388613374555148912369931636585935797244620436427685779864632125616551025288822802372478031265946803125645649029388547350698195995209063529524672748493753564273903801373347717181941316895412714214354808779409694947546280551974621001800040120716591119187406189281481408742914565806837707315235695748732023672182765455388012571367160562822230428293921854223352388334848261435474769064786224452208804622965702191227896730187529510972291761293545226099027900953952391469809153807407531521739024283621504431913776639983357271899354436090293781364254889726007235608407448028154702182275075919479221286280115587917254754255315469809620631312105841518165817583663627601934166951024852434192650132892117744631733340683212490603805248912376661125185526987.1497202640574172954171277995175214954310590027212822279189898320835479548742493898015025135969162711886852013393126821654142069450830617838269701303660095311268463624329165237498956086517855813175728654370111136736507504287614386143871004117912662514264925455299699919323134310874490984641292171264418742383382921132706927156582146030260718033346526438164834258051199180203540394039075471096803134244385839878294191940049851384911369845954093412728745822272863111328813412775147031745962160782014817159626133958242830277365568179804968683199913419448376044871752358138567671112288217821320606033178926903017465588272625685490909913503927693341160642111872072063326938617941270334567845052450804497458264514749216100625072353714550598259645567109481198425918364545662547395035194205369050919583041305056551380723259187370248543895590277505697135063792946812102853892754233148664166350131463649940215638254031757502728864449353395180107621918868050048582630989697719694787566681895765120139300093272852520181370068870815947268586061425556683811898091595312182909253800489980269260419962303693728220280398316432576692124486970892042371132877245836348909596598902131264664418111767567617396388703822598931943319085859708556426721170085181614614119001066708593612831369632095527657855445505088271327492811484351256893565263012365116319758303438219588014615852585136124954417440519342003780160674506914577513795821021421637707177981538300689363478510973845574592648498666595162135124611488839394345121083519724457810978862713349952272743837372065253051452886993121515009736154770295340541130474726338421248737956480736842009783538371615480175943236832032120573522684344372878191974109412681244402067596903732030642503994118770186038728011316591743262693461771386378371704373669095274820110240807834107566823922579973204421423126759605307692061160700344608930805997429308725853045089469284266955819761845341857357404522970587370266640197472229969514923901830877733753410835831985587899202400375772034227722113693574594967994761967599583796255733284870590288575256104694321814334844013233190635477837461652088782193639940123960674312499720798909483579582170369791260154123015173650621030276266584709231534173438711014043782530902026101518074965069673261436446949571844741330858747263508162858925019404739935819555117943441253876936531525208183896701245391990584447719232062661233550319408478034715750186342687943976038097901374169177823282008515120929831991307537411860062833567572655856906870723921929122698467823320012820094686790704193059733286207591711179759941352877770091821692964093088172220507474594888969457886186213637607456827405213351059899410995668303907957490036353442585505261023535222194297044588839309045177621275484825749409202154261898760089648052647589531966692772560770756751938816981078757126592579564252545358266376361076655104282927194851777324980380975687327511521936005757475626815395327209453566168656593385168629152874931387115070652180696670587987300439140660925135316173233923683748885061056789213850375680070564442969276845098373512193310378934220367954653502055585816065068402439446031581708557058877475435780846449799080837555642502065555739395366285470246902152570326819051587428975919702939197221023920200042851562644838079913015520550574051127681295012105426288253230837969840071792114656294212655838646751958047470856795319574088044739836852729824695337206714718104307184466569220753484357740871201142580456570575935562446424766970348386135192606474618372758367692442258889061808371300895821682058493273300480437799878353733130000547987928173962849707070506606680578383392688193083902054615493452500039410421759249666148887352724727881025120267335060868713287671679782214540495993979870390177235403656202442031551758989018762204781401847063428595585687685807585647041950212283933514472982852338233350591749234687026234611965988245295599612071995619202499989933575054917347636290320769659844312817420264948769711799874071412816788826231209283374561169222713501583436759677136582990843236506957490165255968748039235758300216967996613121195198141618751792588377150472582303337719586685933982917956237489912783844422117438829717450198211480986328752715597480126357378538556300185376827786820658317261038968996735337338130195126964277065875740205238043272917803242260968654604449245883074756382520816682264708654232759335185537530390727117992337703758486131005046110051741204197464223038439963596891988220949808250756611507088669078822818919736033895947945723723705908829994717096792588071643916438430322713513314664481748359114957001482756207663033428255367862783943310960849354716532068966446730284280484321792467884882526311430070018670861227006694868799854053076945142364085846452221329934454368884030751245082234569484129556566969154290099212970030443310186995810550579603812115152603742531244392561633914347964125611074498049216489992437143875339666007104055615505840586065718696296207634395975672842440911980621464327788277834210474468778950009633511458351074011759547332544400083148074371805172127870226799997201028688888597701608752323232955059127927997889950745179522939664698502591272387371080154558436115175426765193850170296863816448157811419120637845986772255029057940001126209195604273710412628312544778519638118767038191355309765252006969970956871681046577475190410036125342222310616586453962925948753417931182355006661959342856744085998006543065621916942327991512003016760286870981897021843194507108796946723732011746840179831564535129913387700074878816091167712344237685575584283074875901884018652310888548166585174765055576341775065039057628435823530008652039737233450312175868413425400823098743288212459237271545087270891665213037484607327691111930919008829344012674408379602798001131915062593950692621882083806219332138507023084469849059559171234469510414734490375492459369492050003256841280230989324573444841862309985006259249201859193779978308219919556783623008129618505337478371446134406729731692465128866695951565225019902063529231039810306584009700603029394419823726887655277147429742871235419711519274913837671565944390831924075224836229108376072721706018518050743385497445072246618239380118182632491138655099852605536847677052291536311840928390943549408323543628259563756597503078938761117699617563130911681990703809132811074742058241429520813113326739136520048864907081162494948721636408602489991609717177781653938679439780899979162871571956441308454344543552668177444639486616651007681959335144919572732395962385253668501238741608091323031381816375147462437599528972275506609538262938372053925712950702573426263476205612225906214404853197033570121804126828660022508029843192424505939711607809070084280719951603319290452353552760100372267520873702069294742010240377515260477847065295881285219249110959906680609148836057508644567852762322503449422340090064632519705230610974949373595711496640830356527636240309758231590156130497041725571601599614783020654895691784441603773836215539694284943034488740137621264927808346932238806672605689916320230086979314104784176735628470415613222364076674083976460209470054506832452221841239077319286582952537093415509623722656604252669835834176848930424992554991367262748475072075237628073463711447734573291690313106123592063119005472812103135467289838055588780257650060494930860765880538329366233439570183381687165211265312937292362372931299207748076807222941308537840171094788797390212428558314118345744135124175396738583646259003879404946573002675646200847079357519915682112471166788983680647518601280403940258856745235411182143381553847065972768483224354669197464860779486652522846571959089057434521471238600016666971882907762314671715577898454064454644330584143315094774631248605261615983590043742221887101993419602392861866440682082793092353433684072171935205623912413861306985384813937659131644087663925515065648051718842126537215707258987441269450437649514255927765753499846701947633885220013981487728902594899552952684605196364238041510909877262442834444290815642793083971899166549005627808594763162681982118775695350052901500938398617828915494121336649999102033816520411170605948622513634057539213274683863369141515970375220363690279557113027408197146861027488635783514048088099825402726586579340811225225326208870243013690625806140762415167144281784063347829643732173609425045335052586389275848257548702406061766915863990496414180170322148216918614105466007618635867103125838699219057677668443152962474970759882909669327481706114354051047157447515668308708319075492798623588241809860632785682343722607165181282288473841300864138691337847278416475959082088703765818712531392151748657077067445946920173323738125910817626580196988917569045077568552536184315933044791997406352439602433064577072451743605250795677110416066863030324816352643131942106804403906060643309763096182604405865158976240590668268008588940428266273897078334173985853847111939557158055981328818313800731126003738633324486569321903906010612915971403073622854166456277451762459521128490898204142781747813081133465316595545251641716419017143699142014778315671865616530564825759273652603162468941604652256844961226488915163258330017442146555887748569297613678690356760335045012888919791250011066635880694197596589558675888104799477538179928787634614114124713661336445358228103766199501274550815550085020050539168041360836027894812547544807736740098391125004406872556038922798929759163663325102387980894274088983091359801311849549841280808696125253165497671757951071061043765482928560249544331659857971249918222290235299824289186083120123165585530079171592400200645679905655308435365724987119493952862527060105851325834577416003209753671683179503007474327149489556123202821771074941595219170255887228602791000416696319558575083008068438730701460214361110948460288123197189427768395438624580718642953862926695524289053722715879294692094854328047174546937417348927148546988805734108791635381375389143953035529939901296745084515449046540114228330459354052415979095751984326151227354779112630651126536998826968605272295670856090844535317914994623064822837436512186629330952336962346549514388696470324421876462808673644282063902936598678314796666140780116606890451539380962840456624735315297452505654752136393957522383022767130905390725554860514764076464388370121113968346519206625563911970184217503569130150942490982109317040791359282390504063063493545469540897716167148546862231786452308689371989903959566809199944496254293502414001967549659875214950571143315717803889967044595000270584817508311811809534185605822871584237388679771624235715490907257693341300497881226927569559476267512874916894046638687554624260133510024613239093153821283829842495498871416325633215356648742982653651792536119652380964830041216873973328051117477464049254397176583048845179816872277304753673341845821459362940189011697076500694498733869175313415886503354335794770056286737100880450787313002771799539115045145180478311831300499553586012726254211274350482452509079670842680001420076036573754851741847216238693800624373660246620924645499378850045474051007881873530001130237431100606928816093548578803846612722882694685407953730813327208473673053433273960463567019939878358655929468775013381082186085111978492538435137485594924552363672431797550365023794387764190459912003788914418087446312733998881312600701364264938562945236247670830002361789372451645390136893879171327615653898974623937546946855918779436727734428912868772378079068002806691233134513380738747845767959739854267831381465451347016723796891230225374412177421424028319999234258886457687539972574427336459905705342321094183542104839684694364000352474082568778384244803551163218675076542311469004486932050491278087651804162162500196503562889809566867483890062394956422612713991590448849057286693436619900491571517591616346227572355466705882956815099855779646904440031841256847649544013907899456489763809593479345967279058995563731044195652516302239157968646012336777232615246661876784748461605292147308152730837607002940022762178928935229404285197383405603012826920664707245964614977667980173985141623348836519107863571800190815199425420271213991478550881864573635100129440950099074074470839292934967933921132031660028203124647234929541854280448470292737211934559425602220487436675970891987562604186638679524101990979388066428867620409563974365385313339994792656616872162790338861396505174349921728266436681567828570207733848130158812680759633402652527923946154057215482548800065429132428155751492241417228526078001455281758098334685527572281001446186271383136516289248668760824744384712247890748882640719711487846219634535709687071144216356160901074440020101108432955711347459556223445455587533740311647502480322666303882735031182468219659601067697097273998028494217392285581253272991401425264607367805363680907428580832450841699599247716828762841824361375435506521292076975159431860027582242994233643250787832031233911355566182648175363058572697108236002831015034563198947326138151773268389012781090016768571318606124974887376497698285254307368192780488137776555595210960608619999937961660218987439625805879780675581847980771634516196895963922472868576865920301132911539021591777846422236266699093466380759858735379793341001120468226392477540099961215437759798740379738482683809920684351442216473347117596876980241698965108855302223092882670817978084505302152384606084263545264063715467672800582192738285721457948686344544893024317348832979663643377934313838489423427846825319767652003618457591153049622173349014216777533494500104088425752875416186851300852064493435132339800710515675753151812378081246326317561238025332635962760084619360237560364819273789976276860798832790948359278559566384172161046435620455304359226976593700026682444482132577712509178761963754990439864013985157375143430007426461567060371016843579844047789347403321478581385955839363233199051393653403651346031187403932937286641103489725548668628943156076750061429513060156930024359257842951213365983998511715240168052367680916607016089460985213220458438622314236034090010752374531494268419932738157460455682248507923094909473480326494972408258973572182149689624583992332270299746954369449413061571704244273167964513667620946195266882221558466927485149263074611411666813680292132747883492875136512396676615058344225766173688439969558332847893415904511091837825990724100809152942505804999872481456078079114320770473064053211578387205148792799038344941284352392112648618887980736320740198537740224007805596889432728968713419633253945516314289452368341802777293719260894432389735789960359170461389588124372277045953198227363413461403832289986691132954882333672712227545645427840057746971540733165830696168044260036653909993221804885421427954159734026237759832430992365052467652076999684660823025371878046901328910808285289881518618632224356140140278916814068049803227873519744763756340966783793038927298463031309153141049330854646475431936188013539833986061458015750855685406771854444261606427114111879319908113750296559393205636816769960791388527373204827392196982998199228290128650155004215833123132376195327394409929543056580093242051515544106118283700368569814011392969379201039300568334325949000516463384699841809833287091101152791249618793993078319038440757248373256157446965906802966944960797215820586392894777163787393462396090279808317707415805764103552383400513346336289989575107465613253204760314134044291912950441989429107158773378719112500766074916148884951210202215485653262653580378765806137370819506022290568797575376981838911081684105381350339869459563576775855286734079322400376544001870555106799308230773730504924003069899668590633823128178892412820929087058112606138156157398692804804730663025669574391022802194595260226720396244895997178587066784727599520266845354074044962750244996050397971727346752269444761370995026743015940547063929517654966488154685472656554066010707493052089577217492247643546548487785183152083744170037303277015013524059389874391396057476398999443851089968519671396235876886922337657766529586636471180760363898575541393264129987095393349820807371503049454642374003337540522569619933181545794114660414676042905029539685476817573537916710200724889947407298145519222894016019797613674305111884726225629450321284642292905294686409181038280611097237647266647487398721569822931674348186942880842634780885170447993903829008384547137348855091001523905828858205130174971603803957449252039080515624234424704219056971396304576050786128518931036856987639287012182994745751854641452235186089597788474141226912050493233832983684621236360173471640163569759037499815663870239393511167052955726809585863086036599705620917401311269878378992773665327530503634052151981800279567210195145608206543832912251129141352896458489253638052277500514842031898658703269164301273245941364645413383811949371618063759806560221572865959818999095582474040165422800328429228440198437861198630842174947861805046189887216072286695389088380094622703724344582351981801859950332825199736104549859959244431466949670575386862947962086721898504664831471277462370788653752724400895934251010447437492790162503784397744945901864606005011574042494178784496572154764488655051491020098639206644312780546263625757759744667451084272558394659126111287666531631160315245820965576997675238512620783429901229776367257872833216406758868080150816751451646087830405291212527720326781077696579731272615860732896685702781330415752013512597078638328796042005780984535916813998733804419831319627093704697986071552925000263128147430099719518764176888804436240186105296357245873451453916731071604153880726503860118609275572954379650942593999920982932481897224411405857166389379862003102055496756533270008135112334657172623418083520530346977313990607881323141706779815423376667850650793229691279372816363151136392393835895114261474000547971502933227026730166423856002819979384736430204432374659452853762801594359499844271656823201507089338975835939358435237758838638564673156641796731375060053038106763008884985750887314631166076845467465953441549402068374993807345081798162238378804834235535461180259285628488380963508371039247485505360328158174724553986800840590028060096835409077365975171122345173292007747657303822559693928667186506373050790394750939243209119879628924925076441657581924047046108003695314980346026338734558379291552204694820424289353720867986053473853437502120155650636426241680995458228443458133398150786067076523666620967890331247447343072824102774962662827043709636153357078267765942336250822708513841848876562259414039233713584070175154822247310734687950229848987612296442393479857754098102912674095839069408503200602434825102523006204367319859931394788210662984727375007294108537127248226735109837467386918781703629563136858052710660363352544016264598205002474632680028492893611093813335884449638952793974538637948491971318303398767074649432146996305667697946734653218161675496247823594480283668191127287056872574045686604182101316066781561948663133714334644998706494572886743288551114691200282824491781576094061282643984214416865155302131738858344632255627425060712025399196120516031525260986967461992031744927520792441439035971083296682074738928482535450259378829489908591405444617384409559541409591450710357918668208266330482552699670825518694417555188328594953832024795554206971400434304721225539928586128715175110742134367012124994716509016740726050608321733433826786680586550176348191294839132900790948616643487399448021056249438434597151409451595317614258393366715643885740891542406851881229812686966651662917367944135477550710328984262553491308813370225499543342980156797839831180103944019375763809690395488596838325726873352934093044682664367399883570027412033549020286834573651928251114428774778726502969446561608919573571940734605813977723003817074321647912394095304389889491190744938842373703553981892033362358763857087377822223524927255602789086004953646080532935852343813711331928202810866361848002583857900295135346645471577507857344034385891345229769036796794428953501302437971048943642413858863445575018928022049403864471250594271794788582816978255892919989508897275225528315251932156066129108855578342104721017442068902813628497244664058471117543555839111152077645262021332008663348270505005791419842997328486730869839331020162368557419459043221104060282401637605466311537880192520769001376036794557601681610084160061190915517162952212393591027245376560331057242465614966288013562249272577213751432941769782241585424691614909154360456627051101645024387788815443418392097337693128776476477144485436737460442956723692432256814588153812976172766247791938511989996398585114503459128413466654775405475189869126238309645523102762421939037269895725809654176364706811925763842334045202611247637411505291687031745267648864547580850302480385451197863861415385363613871011777996894200344102651114412733930821623145101711297510974159662946209513053246566419516123019505126089606141829661534348779649252082144879173039103749638512550750174573681986127693758639085070089656246337961822300383381810030205841777483798948988416717733755569836596967752772515396389687153038899605472841015544374232167661462332091577878342772417634690969112541690379113500741536196104015489740770601153150525136966599157231520510827362316041668219144899142195197125588285351394211910856067706510268107664993546630815643315186235047925317761556559025659179012718410043730097862774352469360633406723016217994283818076113398750322833574475014397325038577364417802279818429071713436283131693583700803767865968201151686846194686898165961669402737005602233894673501017375336529421191314925382635756696241814956387441133681167832413239630057886622957225551236597023086201009884279993458793363277595217517718335227884853200539288929803776500344043630971124064857059328988114631196103227643330055107917930513624255589463798913423435320481965492160019500402766322064004313052280503464606894727123745296514942193559111720113027314035707311732089112206519023975380971604977307238688332236625365372454964894837695748193976404033200916397772663458469856616011361352184873251596344241003604852109437036352503369883193475172394357250105376812812323991400939384111142999772155318907249254293806030449518026587577493319858340965100273078636305054407583339525257476884869409926567237781635381220920307467379228951620715343678660713479327241238603694348707795768225458192448308669094086075551695132162618448404325746443120382015352713559391943649484098046279004295762693708282132733550307329948536917307327550955203265197083056677327251008213836382893723029618540295597318713561741213517498445484953896680056123444998769726276662153031038870136837825798327205420746061848082887769530592215779063669765883281159005276797276192450546046684799992429091930549906952757315715806260461574540630225411344935637463521870344507641382448153617655127316562032996136590607198876580433291495686411391573384391960215534985666239460717246787093236810400068601747831567357059602283425443524600684752697414374704349815268828808473662506253843370461907981982731397779396771228286308296615080139116247937069880740581442143186017934827543734728976011527857680496070755328710509321695693361620229214746737989944205965221583525766163836757941581098542690974640556852637543693092056238435811068964159003394695012736591292599387712813342723334729390419980811712096532925270852981154242245516038681875513510920235871225879672451560314697880835413747344204651927059630310303167631385727392585202366309651969625953658409857500838698556962857344931992899759733614689275760617222413892777762043412551249523455697978147134350911169495448703464373209113558640978019675665911340681502077953152976953412003359438510717723230537143686809164300171162055380333369620210146878805134349077112668621664808708500314768677600866940227619681651782378167847146732855738626703074201239043958721009794556349646089412338723528820910467292178087148373465737521832890521759879583540887570534638119361569446315889089736081674605632980844797275383278899088448223624620290939689109918836893815277850871085043956079972763045884760979178692110919806204621301780977906786107398201121785016216205116784526258308430721232073696227018670397149184177422729290832653610642576787126068251182187562923100569258162970816136366223437968126161177366568373929643108825657463572520109138451637140224719656135580710653518871715730123308913683655642293093464169171621534004469153374693132558687750023643082299748237743920980785989274874214398113008320510608397346943385916047349103355417259105719349040646570412068501458360061996012078847900107177522371489590301720714524555272226674932893843946919361046585909677060471758354165024128998789668586823129176582184798707576664413197431548106434025996665431973204179324146801403094880343733273610843259059101421001055621940431715033150060122424740502697662033558063181313887251404763651854129157465517095742083471038133668773511082904670908248361487763751204335845415405421278618516801134667363804364018258239082693708184013625072785520346544905296036758212749919481725599181733356143165361352420614163374447994519127883931173336872301968869332447125718847381180330636414668804547010015865173126181955611692078991002508015547357564045107516525625897898562409478872405388950423222914080432479458811361156228761174592847206442245582619353321649018514244980325083264412954110244297731341476986422084281712936557341687025635279678206399602469416774478951670667689420303741602479829834904980940082334801981339211124816234240260713193202435588610094719355481475886337792240304523117052792151650295966410662036658375756261327568284827083417174121616234598445273957685226935347621544923060599084764487392849811988570198347267836304236410313721501730567583469019732385537901071344420190637560454804457168497622086395380236303783321057008881209831579514446735169497199077397471540601348933662601340240199839113375729525081262316652663776607247711783484530764549928205165081762950411064362737631451188998086373544841279762635793931722721670934611960837092863356648943000013777863868797973321987091391323990699195974883315434235365719008289398907386927480025663355277296137140990782453755433868585227832856865836391688332930781503419694472175706085940133321471812793330750442051747770002152555945390565500805101878088215680284933981741744454531331375963103696107371665022677822189877487768609358617349509201429508547245325452234968130051313385332286818575898416449446579027663001804661362303969803663585463764846424550882398391659927774260877519977055487316602596283812199840747464203156716188816399509403789447988495079907780540512463953199808669476389057303375713238549522518457305222155502086329385257600547477092219780280832782227199244103105358246466649939371190036647079704551117984097925056169745463635002136124725417123751827694959670113746310872796281575334741621834228059056257898155780376558844286084189936936751421650225201649567998091904579813979911654828995904725017664847156069435839828518202704572157164791736239113175117308777092900391686209333762473133121842234593652304430926166409011106541992280630375378906756678000854946284277406935946623200002287703541980840653258012352585905697141251535501148941396766257838545980036898102918047835560445419927251832844055071974420686130222949242428045542852396575480602029065430534091596728305066048540469112165886136728580388992949205118356835540133111449250744664378223838384419940206353428806336358661691254169281026480460016643729881228645785989747886017874268359471555233724998697408287824661520775498870482261111152934512895882322221469817028343558220409987431874142223926882159271243353218596900424749527752872118463985846659691275149825324746502023709464344663407301036500372784056912648237577427853425673843378162446461130885880324881385634753997734177177855807417546339724035021438175153663606583136320735557691620135623284834177909194649428783928480000414043763674349203392884644747708302698188614754085463859524296059438556337725345894399241862787631408353245779370720666953323108448493727496343617694401945375131071563304951512294844930487100329475907523696136722335484396448505118072551286058294952583140100932931198437052173560949453495588972203048763272540634780249899606026532308828002186576790872764367120372467269497254025113501967871839377295155080484117468584563878927646272772930542310360739226310004943130523577928257242196928120714047091570363388035364986990192596428775803164167815235047186555309177879205644527272877507152894822711652436888725005955681892396767844287887980482998758857206894809229230128188487474451292073573628541575513373230677096426773337303481932499832809621463232687517977081232315717699967483661525312011356707570250456114401855306539884464313458415237699974405260168716349687748261151248711439675446383263938884119446337692559096926272568568081127770639106218822649118174994007006062292825627991025832341963663572711195788499893306750046335984175286856805907237822028871369776425122704514437139533331597687339061253724169172247602751610365283518801439347793453740004060709062164417364043600176288604805901319750799113693813433213913616749845916849309602947488899352149133826620572634858598598553968871355919196551968738899664151940298999800688874679650836244560809628701899678255342425062640622684657956035970616978697861023303790406011529882699768444559001370321144328428688774510287387437791007659493274241823963894857528849506748097414606114413090865849922698699341723556917429727202304585644570874329943905079799151729283941920462578889586488693797716000324382850668719487446915689411443103389365446304060852630581648258518464100852478565929179555371354110533838076942456575620270505916981264374980346905467606656349247386813423457067526498074838754705308841198817899650480063968530061965296290979156324321639692710026547496606711375808171032224428205964524198525027034430874417359845409038802515330996183627552459191004807280713823443925873338240340942660663246500812501034978104318586e+642966538732114419826836467227904112096061202846758352100144836278597395647124709556976281666313184036790504976052669389657200838233823075765380758807764504509632936444012561748720408878449324727463086253547321363370237379963622220858322284433772095944833415650847879127761258659445050311197173082914900238013150667818927856174675086301122638616397302097725104714564696851844495435636521241634282641449535194639493055391766104670717892321897736253013381011470774455697978663519812340641011088623102191960311412678853156284268608019427470532991798214854480462283428185239640940783390738086225887606341208392582021017137761260240074306357525829121854532770914132794329203905919025690189173686855200320620311433915123141409207047090072005340961494700062212918617834256782978138710739150343336219844434634767730724839086319930016670153529414518191209852977270847874329480851861913018417135331028772620626814127639672417940074042204488269992657726169854973599731379226335791695301298807356259306540183875144696937747475022972827057444170561155939898520730012948684293569695100211363547560074034455723993425656703359037234737394987278730317997445368081654395003941726758769413949777035696196500872469256127413510314805616266465913859471334717941541022641489990588647702373169445547931272291441208998225553797264067184523979099018833500172828426157819326348259334896026228370105088220055892945346258891840880589623630311736582309401587785746828101165338186529569638508194786717933686417261117192174983473045950218171027131062279899156753270414441543279575895994919506045187721098635593294784397479173801575986749410931632261918848320608398984045340403622035039863923974964389015267641064579675989596184812936464340447816775484555374977361927351497378965425091620217943067992031760776440049121364260786488603782779525522654981309577415296766953105679854544894743606445223018540319294768347034304269783186131262313800636630092618706036751890221701796650679050832636221522544827118875052957152318950215489173085884380777603966972103663690191679328397268776463675144423535822757506524301949427033475940442927699444994200454357616303377861741787197747984311292845394170474764574468378801920426165595732138587145972972096258884633129332302026735935156701509264776621071295061856381953234350940514812163960047696903346773988131634050549565325937462151650485749266222198722435184519776945411530382591586921761114284178641997935306585377643077425835811200905456006753740249901716297338520385118785051285298569200934918147958948646896315382202528911757644658512191954483835187191286952317188510905555038668597618223676307468479926651510369353195665495153292307972245293428758434985711052383090226965228195169759240558806106340938471480096164018265065797543738506664986794197226742532286852614292981760192916510984124000473812003379418822495403045546785286609948801983324885199865435155015911911121673152883979632159652365557861039566965272337762649977443331756804402929382350724732678131308109649863011447521914373218548470355443964101053356785226182120275931227658775202891425253567704497612587575105305669294560531990952132889511152838757135180490707110321472609883850885305465435349491540721729207285847386049876937083285377590438932972598698281202532189030095199388857617445686031249175374885945720702458136939056283732133739203593750573188215833308832125257529894161472513006456231664381133042458817268570338171248676702226493494313480615422648636408631492961612950123685061924775750821237399786990279785998387054268482323412113131231842870707325484828189390934259553732922867407081890759064682537823035531273171373350476136389083308951291630968495452065695725255263614797783554090428908602147976437826616191811065875847072061606318191700902000797491221629982533542614905327398068480562452827171554045779401337377543908190809184581270231384213987279288481519179296331680203594431352410562481520376434655224688745189257697960997553220763143137955890551347558434756844378691406185452708756501178972309190530360928308496066385175315444519758062892853470208037580237908093899171586126156150020143835865264374452386911748940077570168605234601039740014931138886112972407987090086280773898878480809249058769087805895394383224434358376372492172884313951396931368396943382511009451978307110246098814143526728884171903634850781762109671563351760061544152322518740818964211518616992507741994089072060711862846435995689000401328756727926110976465055155417572349121135766964502227064506555901813128615311983138934504359869042555426179468793786168796882907254918525763763053879669259769486098972649017532031298145211172771788054975840043485299912049228617614123609935274715809003157039990503095988425826428351868681770743242832606488241198404263352527873257439199146475217735280635522949814724638287028791339304056263144618201221926725071123538455991373113437842414133465718676367416947410294457082538001181917681275146167722641096096125418476516220958840126425026869300440013848035830044609121819942188310716721224239991834135121532395566150273726817990303037283642190735852144927646979402243509910983681015700494383243667137048159619721313352782029615321355361424428759005595910871635780438781443210212981604684967557500498732265409617777348754400382441217755297158145071857319557711054721470107913541828771748619045439888099812186461440835698894568648547648066925071274953033409275041026022916435562958253724863379591393585348996304151723330689758889350094106736171346879857723723779788398983820974753648632116484574325323705914490976059260130789142694166987348338133182395465379551167777711765580118347085544719838725718895565676422421907478573566137128897356129461771630419866691515695350984840010393464363122393855582800205328568024770094243849509781902456502336904103747041113381402849590943653085551466799128298694666862348668314672243256207288845443979955788155599937779617404168656541042059530726413575437853931795019427392664225594247944558629352596456614037786130027592355210461106967380071904106858385026092324012742079189590305136730359881404901108138287219054827874075145837949972700624649023012412146949635643813187562684187550765359445209503013789169678535601369425145117611999026905968441879933458181843934156947443589688771016026210525150745611961040817039841564739346531204310526507220316582177221985005666618281103346016444276366089545426444576902725470897643371245987553102912497954935611948283773648171392833728343805121240749026145294699264098498110237421623457999668585106966879024786840486305263331054640248372760375415265993349644000157186382511274891510144020630867798546099127628799905528501799788544343277939021931586356657726790126663469563679047675252044615829695153201679773433170377958653514351671850929494922281979744218843932130322383986104593489831817110643677028426238889349332634357631998991753598579613568022479132451262550809979852308222689595950288633645632739969902180232747967733219772167055246654800276293968499389705403047805495614333852893931003676190091730403959454835128531810649748823065570425000643618911985059851450927279972058329310430935040487492119318516568411654768482722661885936089635498773241219682060150643443326087865301422602009034120467809620616168232592994817429596498572535342195366555146901052813870146682091537305029931059440729954522841126959463558673517802797171376780575631908995348228420439596384354129430339085900972117086824372984059082100913930341079753303513128148569850163190497584145416938863611598826355396277703464059135609978971518268017987243748674456363353606542553243177664643081637273555102577113422408873373447286731464611523977138215742018936721967539681990915756223646769333749494365774967552376861437582857006654144862738267873136097392214882516194397316113436357007420918180991420383995450387008950063091282447685274729970670497715014443607387005499686855016887319055337295296967846623346047708805538279891687383167421126816826371300302462313839573607409083830972222480612995164427297398683892334572665076502177816647627929252832318017788195086862626330476769110913801840340136510344413289192306606990947082853999330650881233894783997617003392547524824957338708207981991222696358931526271244064984073318577124219564301426844434161692659483004052484758352008434895260429721449807384330632605284702844949283164114557733993413185382096924452864449214733096504065464078614922566600073392145573231948729331680460468919426903426532317460821897036057090600144998441187182481296091712792926425469590428677918619981282495357895066218295998959960280459985886503144073782689776996951171652232747166764142311932728135212467934870448872304419711727440816600207243322555128019201168141023043997421879391414334760706009325836578878719050606092284984038511260278061998258860280779392454592819648737572550781870920165744027181177824392372679763770476098708945629278417674760130377976978762245182135915391427454364951729063771986798239591258986391665561030150020865936063053602960417512749743949433251556018204367238604609995161486762565318764408460840940756816482831664452012850135151326909867272538975396781816523665477376003258277906586887650018755705305842689392942842507508505375807303783912128502764435415944626576844337761512980345086792174723520155822095486640341020258952205442025446905589825129165170402166361807708276378082029556798127863166838675525535839905796809505811425284057710413405994574647150512063688351392634344723488105176472730797929312849421989991428187373652364295792656954845099028877132590932721907794188809721509534983009291502471801983856236182772392213393732942252658273001280510953582088372719074092302442415630081289038419337038260625188651959090123986041944062044755640737956160679573697395511297773746651487556405964815577696583879437775640202891492041732500017170050614865146486602897068369006303385971607347128329356384484037685384464390003065210840481104865595051681713231952036004317893365862931224647735050880511212749445760004468364881969933374551417285486944980380799612140697968887447032432582752625959930628618353176319788963327815728001874921238889070076508512006807116708824624822849601452875555498260254637131538498765244719470517544029953208068044580974131185069681679199926922502699022363889959336247151954124385400966464569494218146343775334896882649395436979795329619442841452936868513301490952133079475720136032803135295280693113070854067680962407026575736070397474081841038388202959625442401469869163379129149356518064424560679585114046173038880608062711908878680006716039819091027390682490258451322948051951263914172433678444778085080197415726135690950024693611119358199693506288305507989240584619420519862680432084992839187540603876852042208526928221352026009596372598038883607649877079890779408889682681961637814533412619552530410798894179852425799150315560533702503111118373142057080739902472642285318365671096017002195554729149890848516637539261473138620766667652405298242368427762625893759434697346260698652338610391666539211955571752517960821053231894016121870967338024329634958159770304681899522356009962589316484646005396241606308216666529160734456197914084816657313167194199554383177587168955806312123534409047475343071066566198502878538444203937234332288810860160113969609994937382802813899128131657639720213972474655065179103360223207249838297662280917839366580822676772791459697981894842402687164731902367259247328903165353062635958104929063798888317852178561158178783989471259103888027073109218016506743891901200222021552695426278845424546868890214681853515242249783157746527778336733085521957026461357932629664557857520835649287533536798866231118892076530770453708590676211622423731506776941433394351192256620013366155749083534969098436208529877682266166620016148201853805702473899427019013959979074656147604985049740974289198297754398270688304370567907016048735186115193135583631552355181154795508127632210776821278816924615375109865386355967285186900382011641747478215723554282074032435519694651684357924362561294430011992370758195080616885224879890282449435466074237847360969958178334507044663288192020047134963026476493071312121643677582181403142903400631075139616677807157681894144328625150311170881596466665281635409134166503583663401087807971731674103953413891342462345164237516947232705105231697924632077728645388560190813902617270470362228757733062045635818545802841283171864362776439032016619015335762860417686431554757638569295761160121000645790497353229348837245258580545246405230774618611357995953927653395039308781853180990485709664216741872762847388479638120206740524601097384212271236060090885839491701759172502825444463641354215497762892042246002448924081603162930319545989509745539257330876262215371860940017592730463450398720259465659863734007273530860654801747523621904527244897096281661867711294314066990591491029407705788808469087678847287591651544112924782890679483202173430784196510088299557415037264709707119990190239106878573210882754566685896011034831618051249614182962642475790176467262308480810327583940529559105043303343357609550854128276116612964409056716663878500320161944241601708390188567519874880184700883163015233009051950358566068249565188601123049344392450276311299707789993498354003240479103222314282191642499810456605815359502923354610882083021613214941113525852513513712334427760376687969646819373766990554340577258944100902941217809074429688604610243243657790792600262332414876090336721610980162318843084783394548232503612840081088408077428082028290651055075483426243188196690449407704222080524178787528389323485355890090053482250102152384654289969168285744999122647098555193112220069855264307783782559279702926023100647389057525793630710902826159345273191045837110313524908534678297736032637548771144734598177998891697870727826931304075093904795155862037719434584181700293892409905321202167536144537776067407419962094522207831587284082032975984313987127831101049560963262972305895628521833247113100646063595006668630925241974217471209559279057810004848936687326458425553670584586281004864797654416083541719199818930526017972344164519600729602616680401191645061414594888960231012062194450176249810598315650951159681056064910891163924681676093153278195788797806118708885606123562592262031043677657457148852328688826250656133890738542347580560562287444067568863610864534700766207141869518694977955438008106926652038112973561286749742852676331537658867325463347434639808452627504581243989535481846836873058028479513011267905299992772109902741623146562264705696174506496882074589137355946515124794533144663211127174669430074463928452018349573400879714933300814779183217386727916089585035046415643965803676387197167663397158612021501070628549555234563298252754827134118172129864442981037204809534165074408615051379472394096979385005577338056183352501202819840550229052088818143326646120026001325223731512559101797509524234586101476749106037308070032677225058117904926529489486401968683498422122514189059197068356237778710952405846961800806633477146928235675481078388360245703429133157624362582512568504284728752069741489637808057027645328195512596836d811721846558235867888359700695297461745410446942642698678659478335411973219833019388347322362115858255599674975023879614862094889826495552962466046907313832232324063730226482287809750236779911619102226865115017993218886709982892335923454258967480561363251452686180547162980829975221748886274004059997185270389022496297836546962063091530560594935574480034742150450725804073566033781786351768805087589906454088676964612980963483341353129829606224805293382640976224566640701345945476026280499134580374346602196863465085246459820057691273495271847567111759951959610937598016112878709894789176057052703627438835605885483693298015487869522505197876516175426447085784956119948645408038770314034815220033949736496301198131737110852967452457296828138161236970955163919374295898903710055872880626939088609288070363581170578552455353225164263412070309359114671107741287825466685817043986543775640798672118999780487995549018675664623857876746084785450563323801284861568162883453098266598080228806975091299736057173754872897999597098339434050969266744145035216137970015421637665459866499912726433636290364240887973534745919752017737783337337024609293004981403198099522485289661892193801143683582664002523611092223704840408779135735000591692134417811951941854338150109480694245146454858934399304416374456072716554959044403533996553118718981838254150510166477322855936926022847474555763500354749332127849246993568054317344738663187881906517165980631567951039367167467230168686949217224520486413151106313201897038750405453214541851595035136039035277734055630817988401135730933662355881346529340300544239223881026804151713669692966309234732036918546617285364553103358721157840695486106835510823358242567243525073805790261446773518074710364883394065001447046318317918947447776374074131037798722443439393190747456882195866931195430370801875730529758346131260925074254334807971057801616764756253998323713722827527881657042660159914207779083735745800536912130323773463561866530033286897232465954310869965530853193994837185890243221337892097506895579289068203657781792991753352101052150171638436705997282547750075480517883626416207926390265284934985983447008820512341399010413823431977777572653080441542515010573871740518993203467532093716774171457428418950306079290774463890135807640646678277427616074574689369356312181920782676493851439688715376706801991378930335480548512071941733044273276400960136099296503688002641098630838862461402255743565920129112497404642903450924400915927068320260656169424618378370884812866885072788641204032191391972268067576964820142768177206406844762629437019045242059902844440036210454157354008223423809266289001166504451851684248728746384486515485832917307921793789339980551090773996726418680158304292247479646947539470250497327748175032996802577515762001935920759262653553710582278698094588754600067513816184501583582160037429646509800638080459719125121085069841744019818173266179903214732816201804715725341979061602297480323603094778204612740801320280334616116813635118582592846167390872495296772285354515099625567844205736604054580933632527373057679472053450108121487841598896775714949484417429867573622633401092416657028963861618193686928028399156070177473557478736529353304411149158097643500395249304654308434549570334687836353485972502565922879802582465293543250502989571780663031478109473820093381438526705020268000149741752001346219081794832852069935312532878519610711394891297101954139416487441642793172203135421864827668622988358687029545089395797754536927852831755709230169768655209913619094390962007036122997719620102033762970382186708119803787900103791989027257029131233522312354824912836781585418743195349794176799275853023585669990745616046825744441763322800911985666562164860205601135537529619306154481069109661904557231315355182520836968147237904659081538246401604402216939820317235589303265328968101706801052705355417753587395305477058365555283926621191840372139856894460910403297506610869072167048485606768297940731917845251155026786352373188171462168684901703374121571909919055492350972242691205373463657574025473780904483505342801168036740209577577116688114695733557323553621300311181913674149625377834219559580810922489916088535520162039989280292641654272238902218641551671620086363801226026247203579638912033879450594106942674023116909223530677646378963442844275078212565722616445351816022660469200456240403379827208820086245165133957010567579291275395120638273568282440117256573025647802649096046480523268928440924807171091897547791138922998001693302501811767438641664855875944576747928096969724882489987781338003717739325499009267485155280283774768612164284110050785304544042510572900328951258226878433039400579771725720945787465420955898845934027501595285224976161653657453875737808557171568377754021968266041743808535603732400022120266882987269114874447800824268285163571299320930396377561907855563010462316419448098946146041699191239690233290219234860766847066102261486827878793309578172870700128477271958940300459476976946271210137342348598754603592109926050065910376225002682133464388105134725962587207495901269617738263835621071714463253372463256293588041440522980425074222547287735551897971380532030652928646311076358165215460785952345329183282849858579128318923179804012332536421279403444258865975378501876438888748282827606103852612711554434428268741603415911172565622388720869653724187809918395877125929105081485015995099928437140852784412772273083512406469495472863424801140448929381037176935333696076302379461509724631546081440070800067106276268633088806042261262590202839676431851863480806055404444639716562669945303304129661225700882530928814664996539617740330310784778581948559212394070023374355942722916994835364963995225872376668072781174822418809521201440128126516643227698798662093139161905757443988757726602803319447767355219519304078859349693747515461982065095425320256348612685132422738238092724762626489868381525818643663837524786546423263537139125583896560139985628176449175297947228894117007782591355593014918852761374195065245570121643036021217344073782226785018194610412835589289759101791394333714765140819059957867146398723314712548530637822529435084068311082457310595277529684193711752870316069218768612591120493588767019837759745708077191350610708400583371275948747678704977967700980318457143130917980399205077095026081997332523411472592012031563263584537789143412763997190246785263718408632983352661300646247963436286040550087263325500444140484232858005213931595045080496754179585505036522871407106377943672542093898660840100922779495954228659950716021251245635684371815882897091795010357110698258351831333042113634961674654779704019243769982265851111506174066667803170280406902235595204830417497927945988898044793335938002941654358969748764144699283203499664211028114291627296236757226304928140162583667398131829541391085899825285742503316710886925225907809657124594857629607211955545248103127577182046916959054620344375889658586791584199226800834494174052900599840279491271377928335061273443437477516946273967723521868102667625388192711330002576654696953815365284656809031489276635241734381801596377492530659533059334883185234061922185460313841876276784320738141361927151745042660440895060974012124030106600988144333830847540772286498061071806339644849695873111752750879079605791395275062373668035122029202773804352058207783788492826046435716363590532210700850034738371964702071035278478453659022882178540868183800667502078972480697673771789071237000437446786766753220610517933655828563453050847169320403398676268214572107381029952194633610236080739169898990807237892183409237222439310320520376257495958071723268311353527654472111736535837355107234716492131345638401986931463309770449852908662422833426895125203269164574442884087532431963495913859427863263692647800996465059346588497713202489169379215732896447508291713061997856978663952718480409801129310215932999486769728890970282135269972281322918812611708939262900807045470661642035226211337630630644303389765168700554689564558714364622710328319686066923498291627219680615458517133827387108280103362545012163808303131064802015463620341657159099302408880302848322367424430339389731831861268320558400966999848943228325673405773523811420527531855707486936726078571615677520617107167770644244091353840594787497325003369984303731015286674436388108656554906579892512101864412445300187878447627070312698152596249367246001065795946207212691316464198710017806300142866035388125554347679359101315794319847961418072739886016167738379276162425224627827420146032969888695837672036018761897690808916877362229644448326625586777588165893247302756500182833502450487988502235622502512027397734774682554909461831295417166031600090446856724108439990816639701902056654456066801921102775865268485360705321134326448835524362100656648490513166722805559985118395960709072310102584140230074003521793913154284643179194311914396465859194714170607719270364713389167296669298389252179438821189217936514436384219429682664792745438319975503944119097456847331007930027500914527646683298141541436441193304067721602921965139475339640983301275436650946479348871958248578627161746852690844853048084833615333627422913998575091090473755310694667058669616136237295862513705181806862745658483122800154626366466255649125165607880115500336982529294428145607517529399324114587516150984647590372203355968416189916914690550589929274962705534545148828875043937054640831486031777679658184697304960973211917006763820850210962558575898101022610193490414620878945626567869031362602875230549334098664573596824205494217281116738626273543345876537950879212886868597062306183957644644565075654623339781499904680355723220908380825094155358936063736070393121335137762499295111407226355880943758444684835346606338286766970447281972375001661426244032750796747036283983249603249753928119803516154454978050485350864887888339064621111116274711910508206031159841154285105798109151183707044928235684316888698624934324220632778258691379161143537181804899369384353403331645220139231820876907334774229313037043186570577469394783306257752588016663942808830408831478346714517104798978071023808167011685236968537357354658158976697055598387242197852519535644233030709859595737532985168825248763945040192765438859365447983972266980991189643720686122030329767555564805889354312146349503471136804414993920572788315485724859632073794208255645596036728125380707298618443107658451045087517508427389145775633590895493366136970828964431216765976437963796305390306971212881578143851131981742773390411801950994470615703077367696857969275276733996489798725406082998915634228739490599363805523914925680125108268217345855329812205983096528574595251736490571823512033888665216941135906073377929332813689120826952644261829511644928418320322247424870954025211806867691744168122529726241982174770441535164176429323269358587954118293720347202356872709578285719730332368208636213416665414905091024372305268812373131772394094108756288724527965478666097706138913754526299995434311142014640753038400329240984537863166750728043813048082072628614943618892818101505325552717598212595576968990142875440643515336705572180980996296930126678133726273794982103842638660529362835482073464804100565321575521917677174412812442408153212087378245955598800264716522073393020076761223325361934699818367681808587821353809225686787534214695463157205717939419097942393853591838779270085926947832193498949342112069267971887592903264080014428654792491792441963289717718473268837208577744030350341222362608401343491397990137282306834094856110571820522735653815699090498221290674646012589080659750921944293453937741119129306594506902343898104178299323275124505397541942964372393547864477029578434848236795126470389746641528563149073844458018366250826198275781700294631454280008212921960649819830513859309500531745134108281484457042994065020394107549567808473177586083517766179043019992731348208928479166995890113313708855887679438664253764998329891877375234109167784270790544644923883506148074954472463617191715293576482299784344710074705096648915753984175709180280682184048869337855364836956297255685002088231928674050865584421191612842666050817534530201643954028422710515718463838059133729353115506559223081585410324818955487247895029348426187232815812471195006500557311139172555258596625335187232184229156523048998570203824569090412349191415205272505809455454417861972035588205757467305862424322410815393136903849692390533965227428169593103690679009054553195058066037368839096216113778009804803626353366467088811298210492073355093549197818629740882023333688389836967948720626925329654933073979575282354536228953048552851378227875022676310328632707985012066043745025876819692884872395523127713416993686768176556907679083775328918498186193740530307228895329133182111042317492624466248992938268601905258197369028864654149965957047563374132236232728332241938732609138861096730104957491796581741884763062957198585445714384460768154483890809870314888436894963798466765947926967567312291809109245033828512220107130371762694718223805879093133069016184574945999479057158483009921741218833522599694321482782795071114017362731602254594973244963276677426899971117776183609117635324087868858181850769239463128650380266063081286253108344856644972198815345563101641697074950367788582216764306480751470886112882960182980510179446503802415826134364752805034190770353796298021467954336140551658883154094828266172817421699856664091692004943550933787067944710130499921335801106476293117580625865977132612922691231742590772351078983145349828941227499786114411501815571553540994655543465028379482139304861052417192530232082120633584290597760699842887315549505085424676562623538038769516686196738327975338791796583756325134827861659114185456127692244760142140208349079524458118334010026431583319439391938749794297410165435989122071166132234673417645380908812019447052575952416190651841642063109834303090534173150246520939469354904205551168605749304497343490192733308617687153383745691160471645995057715652980557016344581758469965858513713068781516086351198316092875446764852115734469701732653832597295671182687045215510975471722661158269647371914667954613988246381409394223334922719190791735385526475099345947110049310403142796556087112636547573527567171562118936779932719668930618427574807821698503074133926197151808401483542524021754048679684787857998264618232307901990978349024033071452375528510819926953887403900048495278021004216014514364854880622441463575017818271627205603997352490769480174113305227719200055494483421460092322074947999994733171416882883048445941850869234872915715106520376080167244377854268969571144391999217952301388726522772806256565488485636966769531800292839695454494077666252315418637032923569100528486034465238013926138786699861812737185828622914747618499306787950860362226619096979739771549257435782104888989508591680736873526315527126126278048406492389633584237171983813639472341579655003429346534017501540794063039739094130703427187453545141566631761176178710620575041556922588766093610603668717411696489659645245828088474247900269809997951608180101948584294311423632320492222542 -.659617037680954318762901156502887748444324621054020341676238616480446008780807312346623256039879844446536526557703376813526406412078822404251021578150424396139357159311938032419427699248953880797758062997138391062186091509870567474685598427745966585857937193152730282026991707377052846787092565785908699960817525729517216682362972752840824898372443296055593900276670885264293450799604175665604262550298829264464326755531092740995135919855493827624177597761972505298194843248112629370269566739478300986420241426553882730533490540530183329591368848014099538783956066509678924701632231117985281189751810802393476891222921661999976077169318878657890204372462571388216167254232111164791069437797518454171617020346738056019788462407016497119155849656258346482644346987699514118275810844584948493283163046657796297383952668428948567881658529168096311770632659607505662636543464295474650835715477035408154410841600267240742489304856664025221481437254458616759434000424256397750695040022927862464437074625390362986190302288527982809261703059269088030560334042452391773098935853978926269686131382651970065570088892518689494742030127226995295004278338487853256491415025746268815649409306922591834458143969842536698538243612907564398884080245105980004385595443892601209445076594596126695439730090132277096845414046617150243244579729628305048563346173397932581783667419125091525154413129577947424275309908053880221865733629672011741734761062304602296760849060337722320446679349789557631569894787911285865911199044907285185555467587393887996810423343971638196055704304016819052588896151170897379929520323328789768506615914861853737069514402580530124615192499072991144505773758062453985344363764071541011506504861381016762060769813136407089566614027696012308282827468176344925529408012262303585433462096609273144247493843114657205427199237743187048532143539451993622865542052767810026699736838110497161568864548762322515390112473100468244910987331503344577916347583319020010943326672229043697348891713926932564143578492951717516618102727994628977736134405178039040414123585684577210852579394398551966444104554295590749780131286593137649296638387662752865903862197073102787526304779957470758187005315785469219887974911908738438969630498349327024417807890735753936977711844548109801710985470764551444648294027927290208768054622778433274977681501643630437990197132471968828900264649893504735640898906901791729303384854439094005017737006100052582268633834456188851773585601871190183466003731518805353915223352360628420813966866322915659984242406351332741547209692159178712054809944231505425606824053824241852048683733508268162567062488593990750036606422238705401862941430417532392955100173635042236571722498749135865174467961304174348709593536214721367085437054480253332605429891020940703410178126451921663574978182155628735569317629787066473284791455228905958620710626383833422660184276782746717901830335787143173892481855649649724957445161699970249346011997861468203749900020064910813112819967707273384488694005206619093901801820189729580103643505634127437511829903873995270542235740693364468450968379818085318004065594150018014041144052503505931582908109922358685082552024627796208010114669458978126530012783523545568024181109211076097568840495173977505745669968887535549681398887559223001107986651315593642622578610011143133918059620104466835697910235540034851013033591194965677892566881268360675126255843522233401289506432611325961667222447817956918754135360878135177523224930523610033589786621151003327030215576571849928702017137661364485954701906010000213146814161621337819122923954177491294713895149020064256753161032453824325960864060406283619924362666309817093512554392676868296484116217128491868508765344395153866400414483889639638484843359957500763123404697752591295532648610698102573932829189428173369321580512869374767677739846392336604866044092668327020906835280941527333852210252974176752290385649572079293210627356943393441107055554696937912949564193457767574221600205216623509910476142091435726948489142622533780396828181763350100237699862330592294202378924956901662750005284425046375360975597854031251871243847697135123902689214339719865261121854476788147070525697705241455540187977882701773245135669926490520417297688955201915603715466438791431299087739922492764422077046100441662345439690169721920844457621888032777836964836140226871533733556945839445041855078667912506873768243107921008706564467738517886812143835158258827475168119990501717223058875878715231264255405707421726824313185830156594136806551643528169499104110099425207984269513529491603046245409940850376258502773034350904746850836065700781978573920130706311597303996964071020532645818769820572163989507619885269951729821101537925896779957474361665667979234048727504499458885173659569592118080742203348229958415371242653472758178723767853694153599767124519538323899687168783153221153607772814193273980860395617755317205486817365755753992476371824644185988614382179460728567869243853341434085492441435403180004582048301802351797052802130162813047077259604705723905228454738052961807969451124644166224899815223405303268693067495337729622355897527865925243194848530614979458112111805540851355118399706944987418599255253308831881061878268909070907623985889177495872601611711721795205704623662149421783054159448068759123481616870949256963837855621745205476274260315024507502086360801540267895826640022972391959039394532213916872876185315410535586139372764543951661113884039887490657843490805163204502136016778755649000200719269611154757557522098919939023969022337825700452963756671875181204439234714979167745322521059279822766359746975661105378673511615113740844633110432089858122413924419493058499634855730774935539990049547388563949434611325870899095070900777073137600934632631842369572849768082944959624808184542719993061179585981063443474040211123659068937727043589038432684818303201314288982433568303771373203745996515425861337189568895137614123875537046371010066047883564108587253157716117135942640998538588323631532145151647821042915773605181234448055149023157349936418236351727745279371686412508159994720894588005932390151604411520012213671493916367393653217371595916475735046874623109632589748451000673309188540871946294380426556615165376122400704323772816671254980717339590562996583785344589987251984933191500158647183552660687707390821974109964884451649800590441425834444350960508864066235479533238674039247527505923546083157670638053907959800414769689915894150157467154146307793853074553168193932857383913905210619265693613028423151574065506887715496059571316751020528201001972643241298522119521595617737827381805924088410364445106991693343433148748609836490912701882147400926713773777518509971052286148360054331621572445534752192719545840495587834398853448658929895592531319015744549993950764844495671904927492078267755851238899676778383022449367245920145135094981939233508656470972109632353863166301851648586595007982327824152782878254002881583491643627053441640666098296576817201585580826101479278020977580302470240424165202121243233193343602827971389021235450793224568049523210570572828463455907655469514955124492686422089799657225376783525967345919337506684306865634908724458171024976545977763349741533199108320718484981679206372445876998720911959369757877427663341932724725013259146023075934278584766350964481515247746330979739307243251691964488262817005178310056371662759227065546276906739044691069257379305851590193788604074492537477309006455696967859278837291250110012678347235130080983614950961164442276111825155143424149137453819059880065770284558262396133636641549547015053610756987712286840116281014710003378188960188794927675976360560819837725954755369046735491460671754448036621377492177616073052327084007682939989396079996413655375976766970868999508418259516263863659446445464516487222385024302887733699145517457199639152784973668947153635590202465300590099578372000665124364503265214535683412942920634061623169813566045598704196251670934570651909834385365076893280275642618000983332890317999239456031204204395650039092084937873676928340092767782991192705502082804950970348046537666848590019291886804830664517276180151252393472264667753104144754779015244784902598385695322797386287923603014275203884537708757587390652073612364863216119204154806071491072208784228061183898499008269566798888400428746047987099835982573571323585461267256977072762139489733091857196913721628825230309274505780612223616790774418550679039629881035417206276727794952857839729024885505355147138523700404508520901773238744657411904076626491693781304300886759141568121080351649772314492289396442587605832297394545106425574141699571256575216683403068535059130207523172815506048344127944079199842371853525129965597581918929005262440992435523202053364478580306560572035509039456983340308431007387700253376311111466508563685615505740089631744990762738027580133607915098175586874247149019244537540049188836433869595797633118862889997872436014193764647970056257358036391113534820486394491247974889630764219611859588940074981581446742185056153204018247636014151047255872600020454278243864472778624223684688945393319815574954716358748309113764295308056463034872666798620996438188085851156743929598451672238066085760877551066025083362887613432118318183499013833179550231594917049877328429003332589524803494411398042995097543791666066437079100225434145199499757364129926866800564900611670748406018902500310669089240529893665287289452515771691736980860448986824072245932023496096275219030712331775261673912733453904029011554644470557870245883195707729076640089155052198879388860653752316326531038468475306492477944295049792018976723476017286170791325295718506390947749497026206338079740613452466333292194834689687763945282740573822033736114374042346086452410794129493026654350516435080323525137088500276803876510228472844358276056075877455026040097393940768565284991738231067188017631609667108597680525831560683546719875697448337309884250219775466366025981716466674090313482940897411102205942729258481921236217959361511028290337175479613436152280633735787010758597478913638076231635303026101153810632997014830013555058660077370353572475159152627323111311268394673910647775037772205466582513180494658456951820071519387731151390967022617992029392250125250312500302785784108230475689135288640691881351981006043524449187941002301438847947644196760670474796226381368082067498274554593292816766095823121080009755136455858626238730244562892760493150835990515318555911190688837142345836810563428931270351334160394198901957491385432767812428487818808924763014567955856091039932822636223634282109884415730834016399122605345557738399992977588130342714448913708749658066824857883274610434924790755574178763664091473728110719886553993769337938096580391374472020629915060753665433495744291413477589187363941486945610031104762422551389675933557110324636002474721870959443908839883469061338903100196250742727927273170305305637768585569033925774082234776459145196652777062839449665364909144673440639666841907876322714948336872965821627818717379562077000617025807991994966605773171881064096579588679165947415754834263682551429297125830893388994612992347400521255068247795806269679805768920068764700489269008065166832636753759322390438538336942735190888173207456699475428015208029228035578343105372816820340364396319099823253980384976902049690321222134472060219608228744805837182415082280501693435409180683603065583931183264528388299487069367836149459897441279321261167305000824961060914054088324443393813807416544537143763596052381882364306970525551839380905155233599121730902758853891882627143512656029049517512811122584390864259853979022774277399747399677092197605617807424283150199059770080940623614376994510521448535655651814277824424977141407260926603904324206970387213554292406066356011433022170011688209459277815616971576705039197210177394097778377725517010951974901652283051018882535257572861373639179474585585938574243639986441578428978656249296833116204870120292001866401532336657470089391330550659599864008883832850982015383578420606028019392899888201830317151133865868707188186919212245153496772579351361191002935351997236035382439588807928411948159073808538991960742654497713849768248013802218404670239132416502658659062483524903148151514297652517635803457869383110564903670841807317954850800111460880349353656309296603983914353551785732207058189769059371026374462138488305325512449698790529986401241274738389743605774739947789023243846694560141818213320118013657133992570507680723267298390675581190549609589752108827778958436748892974123020230235122010883657456976380882937171695117117474340159787897282090381892723662118323224903843144192483875343574607929531015322053213891327784164058133234079496738117452140778383396640269108893805562796963713345109335467466849327597315807253996021777434218360132885577413802426595459872911124523092043345707576111220411525209701925451941608419751794179819081194831946028861956127554467565796171285087085170905782348106675504642252152792984452799709488138602049557946344800071171011825807333208193759239459776077181884739061172677510476343942872281854962092251002049803319608046322810219654756182062504686580124327560455041861187549109950194526484441076352460346559476685048888354451007465719367234994400481436983003971542679522133673644787397600197263532604027387961341291283214961416696198048737083232552876282325984813849913643968313612230674185586072964448036889260403762173823720948384387178214255841269743116312260821858681026523759845159992130212398356488233528602440339754797247094852878152133477622797198812711416896633946406368530569352825186077830147787536419666713917436033918043733699250416289571434039522648931420345508126395468083148504310472738489303153999917523395926986179027979204715816860119903702339233042993664177053086277559782936252561020647644962882549439822477924048022988305885039993875342256652585975035713218429729455980767235955458029562604778646154322148633108122078459838992537182598384614636035981086897342271432560952337142652953752589716071320315768674969174450928091601053007583563051998655647647039134436104753078177135719496391406059781376676703428911170910070687778805695465909722050143160340337130819565357231756762098234387210292158683628714482602757105126157384374739700141431826556061888736273866739875918292168964064838777063956853366497623411149545512240756431988829511174400467938384459214315319460590240288992022689801444995943113137487298612081081127747253564000968889671171271303177094373993991979168276515646173195544843352472688627478054664193670254611878256228967962641082569597158355383005823812096316673542289234064365077350572413090347795638136563282127476617146473154817841429948182029703617556881465141413600628822914487333033370006277550712516908378101626963165084969932313026083813176784220921439534887100708001630400842046300255953694886817972915099415157375880159758449338559270211926776256491469423558333452694718606443082441383831686221483884964528828383631117205820288598184758753581867280900614653724532207092343739657660921396868233675304858143200076061312128963433983568393923922840974106114657968214346658152638647057868323221062598374199554338065741595029326597325756803436454929090812747596351048659994740254364367832513360665520631007243791337012463011087539794917841133466189637158356019200612508931289817792617443166286370740535853757626187853362182039024299775360055665640108319632737356334062087563340362215379572220155753981959484422863493360714720217507813861225413954201474978119071873159291052359871149738569668746273123528975975089154922988985504946490488095706833236646436117823462700520292875210076840573255521993168387597330330014263509273382800638697340595519955528647976386341302156316169085757512521159986216544305113113688361513948858472348788491924583541714000115174501499450675025579861293204934696738893050762332228547999503184879678184252605037984895877386783641481028289814704104883613202768836138069960332772371834275453256970978884839028386461009544199708997787362375325983184260679761861539397526278996307943102198476532681455282191943637159589628201461527057386671064791751816636084157864712471597197382665240848386282665804156985633001725732862400868368975584047569652435813053231187176735351210295658159676901031949734281614656133249326018333540613064325882695911873776701177338654096794156849956425218545279346765666293088295869600465102238937693534842864360420588229442557246790196682038203453375432689423294414094499539076325169359492833486005456629529251968013064467907610175839911856245058376932625688627321214329145840797380863343325077399943887463634694872127759277038125635571857416803037902951874807562019216158750253956361460160028229362979964989576124470487601425552761660058108030479739699733288675031058071094332227487372721708404729838957383717558205499790852435510405354637684406966167162307058010856439199731359165893345051174379115244110257285976320847157694728452964119057546170385310071674411727150255120059299741060329991065091038661866917983289222411549248543429728329337658692035309253200544417471324301382588010235576722296933097647976146168283961733074860381045954578206225743818436814063169865234274919695976732345042380466192711223384871677821427875824755936271509907366278531218092668173900072092920567310631753911949441448667051107868124491715929073110106122234242275616099502609032244857202748965657558428688701227615535829647402179921900900225986461144228080498402512702026527183227841660711554725106608272903225131598569836228848620647167402125296045148771877639915821884096747363887974253946030512991312106863143050578882785768170423734532068564831642810508515589172747973722105569762934898566575969956259681430526820421297047563551396264620672474628768574440717857695357314564226024073518701716476103055613037859388631622895652485880573078764914797961363820279779026324292885484172408701820907829773314715253682934724026218920018341813338817020424047670564795749942297079991955650327595086761955195914014329987111890518286373012724247879988691790951072601002486020720718700899994291473696066768760753825805714445504984790368156351835438901545228636205233361916391834844011735520440175721814663779155757052504769788450753112789616182099369748836683870491661742370701638624639419707766024190327507762747320261233929743352307289277644396513758263237585037965802768127071366195618489982670470659781480717658111179060359397674542811004761573812811066927606073354654053422913117213007777694941527154496989290941542241202619861776345935175199543989009490398766392107636355401890912973112000831064937582134235428916259559534751166814347990533346971048913688716528972963917473380696508888952524523011325292622883554344150322986409634163325725171725142194614454630046390072582654160502283640304308130357715972618660088373623076081017908605888945175024586003633056757739447333040763231044627942839503477102428795010326701695979041388010482352075009909069778883013045185330737369251250327115639035765209474320255672627338123246915455594027262821003748772296109646127729468842173669566987697753485169326332569038904792474351710428472207464667489858226851022296234476412871731636688264588909822491033532826909587636204005209648863118392184163026646168688554631164094432960462036865743718473799111554060008523119603295252623546814210443395628818130655138694595929185434208001114102635496046650578034676686897409882452258016085100588156957697887042468579190620679404211900880684833882091074053106747847945904619917118437042474259935949462025136060823539097412327812880284727525537902801554987798176117589431994807187442931620439140090935244934665309894157122257458464908693279730811527251696331499809881218101394546483742305666547647760601952628266852084860436301179159475639476251782368422264591529678351300148416854716154513886945700852167928715108914485785581051366572287378888771339017587613841698128875655444578671549310894976980967424189558518692645826534142139871200355219298672266811245558455775732575697454872665709254091779462839690357755033703741360559618023185112800523006472729976138950460171483656966725097187790706954984222887405277796607306697294802257437499917708561201160001684039774733654544492542850052433836935509886440801275772779232516329871979513515742419709622976720618725689250744217388260770542525598388223210931691639907971336985935757201414573867859547892402296981913074634230915081992153474293586983368984977606717032592911461271637626025087689584733146494512895689401902780630035569310784173853894186575750753422653653062657158589246912919552739204521808725693719321724791185007779872874533807859133524852372042249446091383289214788263422927161006907065485526106943485699306736529247085750462076516086238821695540240016074202053683407381661225461484002542949239679529896930678739269614028143121293484299488252398371973999302641981603541498848695785284136392701083340401505565055775388149430538094056306954689158717723766731740266828714194129992895361955321369151244655268389688126231966222239573259777517576580223540162607587102270151920770714298227689667399719724036025219748782471659308571455079803325411499738813973721868387467890563602778679966558856814570372520800180147056703781662241399743744972988993786274333769918004398986306117705323988454367387726637479080872504024962520359033996653574751932534042204250355666321678046251616211653198335892446716532378459172467778721423867550126363129238494383255527005050285841253309140689124796609206425931258888915973897586348280933648773553644154645393129078063547336803169695059508022949747223276869475355852723725221117149487383222768445748030752896502760698111317373967781758257839228287291544481870548836751656698438367612080469433226014271051194952916144380443787598138333465060353987335571860839854689046742999289034783999172257647541138527648763142453580807761537870842839805141308866868836900799993476359073425411117193813804794233189018550093427346629229619234665766533764107833627841722877534022678944374279741627912309354776133949597944130424216658585172707203152078584726267822692309570212759158028403021904483616885027292307420260584706346827407009948100043261440832666268119831748778894120286499657484397402796573572906247896073923375235404283730250875776395999246771214962237354563031892481306203346734168115763199278418870490945728256089768177016070857818902686602522498207120028005917729987649091463505228340363854746756630632980430074828074361955743316692082037054539356014122906237096297492127872929720243453098090621583725622014007223580019118192253547039432932887355386299229744020743817222600338186905947813437424825747919264092694380082527560962439352470890279809827291047236699544783884001983097717011737506571171770372781080073775060722490707096033301609806193609973132325234857107260342982464653999423958334174093059547714391600745130975502204539485476805186282796905467787132092739431152970261051597285110632815879186303541646817758569545736533443203577843444311360344037680147467034910374918344390794772789455359860010511567997288656036991736633836807155974893878693393488363848459486993694183943594062818394159018939299907213563961362193638752745796688301880398437648901007471142700753061090963820642862700016309396892924210714770056228451383232824336759930307425259314442888290623219104354117644597034432263427878900348959835204200673011466163255409496689120842021533771307844394355113138332737900479521406867492924359384769479417589722328269451007137513452425373447699435581701427178743105735079861904584857119848632252927445643745393098701696651996390135819103644063034215072182041056558768244960295816536844040375122110045633772485138735331488101414438103593933566550015276006349815847418913280037068887408242345042703596914120046944686422986683863435046570785379950522832691907542047816984433521583068229549415712615204969222390818660816967530912434021075226218094295191866157593927224767400421841570786591542854588274114156453510708379625101789606230967505066358195378800988060983191072570305346974974194090201810947197359983572180809220543646840872517425075493693717864148954032205967466937596070876203098593933649598303152969968888188159465949090831368656772650681418657141041156484461148525885156913649866193951300436588086893496070979588874206279829828627078678985844843466003105189172091950968464859497020530261398507814803949354496218263402531511494104411346017858876136519762032544105251072957736572343519744190520278475873866645870123327738891018877664943727514529051856655979786744130423374048954231816613503377812875134739644289380143616075958256999384248666714841332131726764355493030828690396459862057833481952555569329550215124429324873188335181046193415939591743122441494205331162504229190466988244516138683920272816946902592537280805883285224607393103375848787769277797539991940452811516384253170961814835922267660811679296715922003606200449325609786917788382585075797751884466545358026956325834423310708365911648442350912697059391361417100496430688681140858809167428350399135313181296573573409143998947152694904353922272712949238143058537130567079218401995820654172027932180087930971062564531249661387897808611830939415080227303463345125908291207148956971601267721234744865186820817506898937709834428104644226519480161954844759192124598211884832060377764359370503982805106509905132820266315465773173804454367072585503344802499909389957503413781451797397556658509594464717207363754485451216176247605278220956421091656778307123003732674660334635892480232145467742009488631104886144378584231027227277031361951585214063698910655572397446541899332838329112388837269023697979012218240471601415233156435423346767511758110261705112776238785361032117149267547270569183181617023456490536282139105216544737659197738701621856886519164759546655551321686071670321269837901578323488766365754789025130821900034392189027512202125638822932137696005909982102414199971397602561272984072214477086996345025284403611211534191991782316819667009380601776315404772936619595497345338627268700308791354324865612365327163956086067395949358139366000937544143961892397344377225025140095421918019350207634377881615814376579593428560445874784965648306955104469435670369759267934864679101767601488616712958643021401511698470531592495680645279310693054092065347688366422169223282889289617443121167722958172621001922015059384592486691700982284489800305245894032821994082413973053084720231836228537958421930235755329362468182137153915200243918652500056886211926239959193485442622829409221433087094114554229401895855989024642542983530072133412917615739194440668113130445909192055849760307483296622886679508716310406448188629582790570420313164327091029991042213562536567196720449552661067410968131709418293337214672779632828733003077018341394752051137329313615132044890229627044257901032316949355735059923827464274589832627562155851975577226943511597759637865440759207159745316668365528436972268100015111643521569014157776092022035848132405853776183880401824047823666106883161999289321413038932308111011327417657581754270073503336637871714690370567185114564019983880253625852128846559925559549027242736232446232100022877743866582967681055890103135514501807676164842169759981214767439529288817201730605725946544388430670462104597560252748504952797757823255605373598783635230509407109624407954416206760295467627369441083799432282851002748502450415725115278496604704980953498450934567285026986589179194635771996362280704614262372211896665954500930921382931288631731599005577762875125320449502895147167815711019721275329291472118825628199490564912446685744055849521451592871262428086760285981943208550837185327156724962682876318474479387812549133522980289020989526654637083926478679899713001973640205206518255244325307607017571623143796733367990542214115885947483974558906895840083406204701641968315327917793922484004676953049100633456347639870492970577872784859314948603810051269426203402009932646628021227455397110470870995159913816948805455368326535724261353756552552199855688463035663811306951419648623304350675431735885581844700882322959146782057566136430812011265662676466672420233896099292539207586323010472698999719938192234982646967926387396367453294417018294180094742403359297716187180139549740135585830971652280291404470544678328023220385536875918575530197142944268599242841652600175396300724160219165340625888007758301375911935041677830538560338378426927130844923808871937183910864476102186798080887172990282460827758986758756754674965103362366332140916783379066474186424870504938932700140266023631295685857241334534740786388843083763448294329792366446294380608996241262694683811775307035017136770006287845359548298913627350047259998604451505357468732487602439540300068138775412405775436899753005204027114677818507152752859351872406217876687638565750135062272632453362940806872548663382809084220758962254851015893242424523967155173398774075684120383857366201718357146756434048188483311951353180194791334961971739062287512840052551806304491796695033716210228695975627269458219735216057391160858530369224248143684491421557654600836970496432711462724871756216222019271814117473647235320144986307325638261900565200752069479210164827763053101631826224184125341725711046659934316931671004730824516620407590923648925027412695166740902662856132924758419780498282393779156860274949913181122060411798803501730345536846180306348447429990085029794571189111067823766657676390279948086119217199587354013852091988786597639350429354977284786084875456212377531496085033622222911476210449302461292815377701192352993140072540669060528490611068277893811267255252436475638764702583884103858493838406161267838288599229514373879731567683699619478311564193790685731602281142281142490029391579063335573609127433994917166216332875344814747782092793422243899188832525919680911382844060670708501955577635846096200709788958720128675330145746686659757545347659418974988674332128095059703460602611019096640962983488579125108569692512486674085345293305047895886238498377975439078301005716414130989937626179076028321012753166176369224051270082936047212741360219153759076086490296937421779792637205114934803024649581679840233054787190670175659509996092015432002722909219796857768367568302724018418552621328294040919769144665426573747099918514626592638016878626012723734787269830223144722896698862355735452557579104708187848847272967422879649751331261145041960156108507562667792919035850168294006168817093062476501186312153764570473102628868428558309735113582749079431440204269011294927276462580725061012638761880372011859127399008221494482570827228615548399491436597235414596419372058087248392141887638009940890205225949908315723406428313594536259765765719283643485337898264999888576177296572821556435374763863623450279027221598243790187683277512739633567839655954084752299041214490978951849334952329578574817479496483889733128553522591074942883653231124658705077237556940151636951093650620148981836432567833648759235209416226500375843728083970815555799341914151835209239526729304075901313930015757880754539469068780111626640315015381734892918786799151737968591029314723914015806812117904975309230932446147637431862674292724647852307913696331428807526718395270502413774430794504358149078597760001589044215695240054173925821824074198711292816034541056548942341771764896199993347775529513760839106617426335672669111265731935957738472026515771802040715818525398357872423122202628699302154705760747902216458813694744052642248434424867422425706270878062388341885461425677467205394390520685785344688257114134683213597757445090668405218822200854303298044744720862505480810017449969983469851039210778751074728717837173251556477664741069533526209236773828597274940256121676326442311606775414029256088257809645097269838599922049877894694571300248141113005439316107588258588704638949251716958780750795544546900914041233040048215285869413035227733078595509520150856990513047912431391861945972157046090524217760811110404011226240042014465133416757799190245069366577133878412087066998244760898667671968001221929749565951151029989097019331546620778295402724824746457501775549717568220413195771338399686332306274016077386085211262120065497014437234995613356483615813362085658372073554802450931545093501088946345892472639635009508850181095829320569932917437580587605724208350529414825889739790572244786531885748141821905176145371769314614308112227417124951488554607281611635077730445150299266849767821006713407673189220367961858842165738098955395437465371587563971466265382831474332170228196485531379807312479105312366375145818958158089336449992158988422005020836954889755845080190144565089194989580577251761991207655373202892071048766064453795662119660141348662751367724094572783849854010077542670544965532720317414835165819299545954517702055708102918411540414201672555750440351564506662623245303868555509836185555113396812465741796478351161616459788571038502894433588696089844815894017869240803151942762946340051652550674666974298766952819834109354323989509948916534817710320258802192362269270833436127259496278609936374211326869583428667416377462000443875482652994072925673311743908387855230442049343822356740040871678301445672726120565139355662940772818595797500578293448904498668861621210992141972237329789847626710031240487676829753742648501102327753711691285372746123905235678543936206346883078902212766543507012632277877206296437923570040941116433343263804449331901905990213878422740220867710803993705948235099583505683354557878449955778499347809589816462371215322819970825807755756314753894526729816928608375060824499800254136030942704651370452803983929354167152544920367325525815229355781608054557703635307000522579067339355722612907637547512989806851706481642062728602455654756532612552849065569329767242829593986353639736402534503257631501019654239122963118881126001284585672297129527059937060890918589346567599443259362061260573531667435184330675501029375545818184029568113190952276225979471481005053884114321750392901078318448245545058601778907319626450426440994611491588370222286041285829831494744814852176515129468052156407193785180519263795643668196968677047556717836125801299009697654478143716721533024445365454111551595969551926238894321098421889938646722016759740293504366666570346038441037203224774123899447683508542747668992362004585640330880734100167978336556004761924922117738846756589344066634758341582377373140719855473038713540628175805439413590067380253718792529331876917479497155471744743196049348049908058783322628092514330495211421238227771135055418043194835170425347227532158821827358852569531068000975183165269207002251234552372569100618365287987434557925162511643604732482173816483477903357441724499837367840499936649274940233694600336013174089863782496422981663606429756176063353813487875252514266354071897355736274984609053471316933035070563182690270186445598483997496442772053070118955434575866715551750156455586574247996494097745040055622491060694585147866532036032726085301370020564440095328144528148678805000186520851305410074088855657450488042247399931150558335022760708724048778783099046090894290282164760659648169284995997336564792360346222249269878389033881570928053807021160147106329810187170177659482510745587339210220258287155115588563233966989133450298905636185061584802610745080209222885426122472074255520048361483663435069416835360812838964015591836655516409137230624532133685088846327169372016180753966556054039671689538040670665153728525959018396250356335511228511665170284013760997740293515388444082202613001210086225676325271899210403023344664298875607146337471641943279836487266928963518555649935285380138076679565838883567753491931264274931889584585043039370673712439822123293842578971008087678812716141480897264051173183960744137044114393030637965475781085410314745486701994982452120248900943538376176385976231445660770764040877606535032876932591768757481480150006521918723092161148886145372672224327390619046162242866593751195849571732767573919127779276586160240315801751242174964091661490724775456623768187694015371421495882620404771711572993620784055533018058458729878087541849244820323341206288188118865149295997121487528148278081088594433222157505277213230150258239992217732684324055570505552595485818701261894211760731408957416119219337718349437410752567310141062127819645788641829095926933051563244320018975077976561376802050595259253360870787556613595910992617854181380350318199460052273634511042380518561372429544981277820145373446423570724690381628520635174639471728012481731893877831560023162266267527812014591304652674182520178021004206685915593770389653880784005437215818587864994071369630050713547220398284996593749604639901277129350278887448813995488579818550687727715579372874432481594449638420193661828007660819168604579531843329401534290301430490079044340883845190742894157197416532297275559399385584909730691475694313891020150639249314396655324977386488696679595627358934478065793451412289358922859663200028890155527947982974451337869081983908672367277594131384272473581071160399048717322471120367616825131483597380342582894850813417152591042970906185566973955318243592698806098738487284699342176728907880609692551281660795924796518518598450905243321590205686437480259105117832484556806386950990928158681366706461061690305516738543501858450098294575728499172946526604659950799276941710727934806696071169140087994075269054655226023260376306315734450578933675280826875607238923489438454813361345142705640553093167002685941397833303869835346772475855351781684016514500256023583088745915294697479841066661211530514127646228265169477055179322585919693445263990839534372226676267149703239628831706333555422060094965410394377660295871315813832541282433860848877354607381894349469803101306305062722683762216354256788139769495680040326568395733533447535474252259291047088873158412367926541087906032930910447318764578333531224847032346582233012689412965309903618062633956479637691019840730313111604999738721683704980165198721081592676560828320719945676648859128487253248270273187854431518430478296730559778097974647799534593534117382569380080444433588957421864592968009107373736286291935231803199199222971444082601926569859180111246453500928311603279366296408634299571584625787237165014655630051238307969459474311834291985182325168854922981312617237435145578116993597905158529363228934494425036407107933707933476461010454189020752547847553090637830007735659835201907972271446340342117803886318628415634800434671802684183916708740405887951310620100511024694568709409294558510722903007576944836796618365138301503003750576959541322351866717069369637904791965027453741413139268343054635722224069545688111359186491074656890497563153166591409070498853752994872187614265318537596304879381978188979596259004954614093141238059066037872902590973594019432469587182180370831049328721667135283024432482667083915910398001550052417965142042354177106127592799940858365761019628350992843212328603631139531495243232646969321483748181036377911457611429351699996904127766777814597639886948157969393279848741300085983789516403552971077964214314823493354216573962361079600051733294531153920238466596458683758298643878162305344115770530827946720009035485111554023308380196969081105743467832266816667996595613826310868764102085671361210701283017113119721120617863186176426929651192266401462368879608540165140469888440706133032103979285710958138103175791214526833974545763776586096665918362265755121917484062961740251099237902447658399015223690815136279992138813974895538817091626244433678472961360013825826909733199656713922078272566268979044583440013627844861049685794899259713927481186764890051740222367238742602832609218515680802059994071453957139080031812814240339058304611525553758159352986132357189770143610195903058266982117048047251733744536833679567990607621568941435880683952829810892566833629762463421918220301581869442917005372816130072002252558425618528175579184181593730286220701565694141250690749242362184187435014658875064031085411941359295716383361187782800373667814944637595823951832112379935639333998669454969152586733926610565054113078476401651447731402670185799016063705880235900262720750331252068630131254966915289455488525931894828945534455973838579543138219722738212659368661728674187011105370293680516303677454063786006535876134208858317052570059851636114929440455287914362389286369090685521766307218646086924680709067532610541264049659261849821947891072148466080967806282384578489789113972782899709540878448516486500117597797689843842889630488150162013812790876170569442492520536930231400780319677512963415488283227599868011998740168401161989432181189182202378506366674783926166495503945174224870759137622258919681175715159659824069923150163041151924661546649345249876892218534848404578263399013991602043998502344024040399592804166390781731088680296247396806435074264337757746967513265045808327945381078044631504840347047180074814933937412784198344059089006689375690634022533368095993893672821392575979442701500091592979352603982671636016386317668877803295705965048851600261129117919438128737251048409655789800591556568431377603745600399271532607553519946816100682911051104396241515609382192480673871103532378440112161572010009606716081518573796022371573603565456274625402993795923102662130675223887347767138833163641856136658136982878782877303669974587164189799096877276906485374944880290391491190847639407936530910060219460791995859791414069263381504660639740325495536152300858909365641715868329093810360345237385069341149192021504850896631580108042378588700062548749624782914838277125918114380186249619010513532346057881429459385447350523076503130919263328376813740912249192407418536871708500886898222431893555318217387160148857891234515861522443174100126123023448010618770916445076200114646982085046813124791518149372738556757273857489060134240397760637422141547205313626062013791954916332509429170535351855144361972607877711739904450837374922019499289170343445801084033427649510658766812358969089685247924097182958732099887906186601503105813038104323413223833614974586070393103556809323829280687238035084397972752814198017397210025723484171349820459383212934968632170507963847005133476769377331540621537131033569816403650384650734817520845102005755032282657923504378572184315802525743138842394721788019642142394080693497939323703524680804055663724286299131403875444546973539023774313226588986632086893249373742173417366176949169079395442836243616363192896905922063527821657210846386665477980188660465720463559307965613623664620886350529894826543306880166521739567649728320906239017124906079038714886611801554657381781689704795173054166431899727827088150530069565993536935809711539547510738787496762557030931104250923106094953741997792905035682875115714321895994685177691471678109892424524015405114995234321333542986448069731442852377929065519709365182275411897244037155808998927655805566746672096923614425538405187663330919138930313966439479280956581592425420672080845792932949717888241985054474658149532949910819753054759318773507553947831144210535922053820392347663569673196171863098392531788644110008539166245746595960138914328558501549383869638236449552184959910286114420384327973048258973066294806370328963872306143150769388090627872690977119944389557408407789668857847880796324589442212981049954831511710463813069280608905910523697770816310818758828611324386946843846677679646528312644102799375879458245309954017273883382431920066000530658279998397627180472791391565732579490329204932102471503679344502461415637041463820292579413185332693379095343645666014985513268620057177613277766469089550096160387095976495493052152109128034062893301172811236641853798793292691023350741986741148639408820219534861955265141275238209203426679077163919425862308448398832591498235748682280420465214219669730673349120568530578201843811784963599422478323501443537030221817267131579623985040515528560843662505654717337851014766532729305557033636369267398866649133263710734007855083732739325458877360434056943443737002134879678315478074868324797617842521619562021828426468839513497662055101324428471017022993244223628130482844783087909108644087541377327722410711401533498828773132886569920292564838279283051586864442534676024417437475772051839593759436231672345282771206381233830993716875021759149561119565860859322139853030167015157305001006130343421726042766403133635735540894138403029315165490963458134113546599891943559298386844759160734395497691167288037921519425411072813592600521454368619552315432614965456400545271042019440984467084521181466985301523767788344342916055193983713896164154910544036651362680954533371988699645360955284474689034581881742607455640281848238334912392466759614171411598331386789019277164225865126378323452232253172009523231943890624980315530067560434787192473536954107680688635890290000447713538240938217072754803003069051316332345267196564964476772997028873010658567134730179779968981960581546514358923162131059067355406570454089893309835952960895638217452052163514699395703702586307274579997369948889551854302935854221342370285283440745175680368700066595513052318694124782911703019668211749990959492882276356759837951035944242181589006643438432129254769483623773873459004868270227614752236724023491391077806048822409643327920469528827529423428660634186891039111995977810452229404814715840751153640441688800942553147641716043319374632535751008522206570284717776131587262484238789338378050947672921659819554522668515332536413708073176041404962733477942593183982412216376965158525410681199409960183740639154926769948059112008219513776681395161155172284404548691990758189626033561081454008080179164175167962438536973303301320459978604510756739329971421865801910890243538101265352497873385479450687950081109764125803341180256236151259561459092592856167204047662987036393392742957865705109085595290051480857064962633165396045885812050237965572847176825431039710937183899356732540142897910084399027307452155501535016707007638560592248673125408109891511577353424640629134894606785869216143605091353298677268838644565392754453681130099925709685231070465802283526525639212390834133379061402774348101224475579102432550802099433463688235805735199346528758613969549384064559198224009974747053109058586132161105815705391096629726794410648979652444973004886750630093279166242686076578166953938167684512237695413062870688001817608279515274748244754732732146028845897516910757422025491907719515295948861857519931781893566638157874752859733726096395763346164143730145218503234064652917845479765779422575818424082393297735823511463932434278688039359344047308666151494032822825762698112044011928080503905388066247278494905290010081471120128764682451163682806914072106321317888243359949321934431874408549549366813907842935491778340196360296078460364560329419253264991140840886023791725866903232741857052052966436520227029444638936743149337072844888790757130246030344400129304904885070705020623880420464416016616233234038013591733901363986649462815410431702088670736024800759050513858158478436439253846811738919496203161926769805489092168989020872209591190190631730168976071068508659960970253349565373282308370135232341367813769529849271309332977102250164552604708637869994382114362598965256826999697809237641399558565080894585644444570454586431509218499867453018767702361926299210251160005526392262720015664588725151153806465804076379865435239844171554110892210847045519352258975020453632963160066647773910707231498762170608605581458941032777136924131303284952000094190597203995331783021619119130750721773064717808130592625539716908095313897797532804066730603405325068669339214594912707779239884592358303426097600881770623802273428470734634396496564736018457791739722288847687353928741796687762657175979869516108195366124990386015605783964594603131955364694405187878164523103639726272931593111099817469781344448086279551962263374113213467003902541616704153582993246782702094440832604129690881335005476705342425817221400401556356006896642807588412854814189737449220084487155106583984505578432557575126851691441840492969823270940784389448893197138355557077291261610856855174000165610539258606787965650389010026709952009169750756233464485409279184394202490467200858299959879987338050412450301588627512411509552579641008048396158021294546494851837138954093821935074739370785180095803222814109627190059227855066669991392904967896891726723441128039388680096976657941715162494218346306337224001928391829078719776308241986688790720912831925092652578868626526590503099301801298565543418262031112413363775096862329880608833264627984451150837281161353336772135943500645840768886931375162698382855819523599309113362888247298773257109470520532060468414333102727659796758022448487548171714906964053720744100050924732023445331736220507917034026712926480913209031003997710345016420069372695790110411103437150912040177556037268201443987694886000039994719445468622112893373194317208870816584367778960417849270191070274852208185293246120067398618635032283213034570294412242223099812062584887565586229466698097979305855266112882404453014833843905680106719128360025349754239749209539332344383305132227662766888751694141579021656078766132923798087713882997072672648251745037057828306617314591977704190813519413456317041510810602011322893945302933649912293276409531911417947153637530859377937182293536230267551424409568471381530183738077722884227395342473756766339136010298942692336775070846570613516766652031264034661847715708271947724937255781167443117809656840733246963751867724047928813499564008606192370243867689660931000400282091240396673351419702022062302712938187847192464336839065598769174293179801367910595621470267306725234446592284435927166385217909454110789009663377383121644354421132300522400948676980077622194407950104455641418328357210749191188399756420583518673314589600930869957521799353130481042922127123310062332469792932348551975687130136681830929325571448737218121137915090283437996250025066898903895616667100091636850356137957558212008718049102019065980877643666076868882724125144852841826104913610400892434261648842946777270533793875030756012818313182029002491990624691413814747288482412874283455836287769355175144387884204759355975941089718342770671011498624133840940023957146406527888742376850877099386022962536214301550148445156285017225678211844909235090725345068780449481877289305924999655352250497465744665617300711898434651612558142710292222216505448005387544479662711935376928784504335091438514785090557462230713346067102184854586631379523816160996908126704452037377229722330559140274076613837886528603056013029269876639144842494576872673297134033898712316587234031211732576199481272713581306911153438605435675712905464816409635170962505284757968536117757931640646019539105813686497195188443429320493305006695234253983727289113372634335094547184572046895908366749484186530468137541222715561365403911586743558212554028596632172783033908473216591195945620859328833246085507258377183865870905908524122682520379287566263365877820234624896056994973599047745447683145756651273660139156840585375600377132551847852967571822579031288902459533539727706081438534682574911896449334224134297252610180573782328554996501941876239368527815367334746496703880635682436339965609395955737018201869024857764256385973666379199497399777763398948655934771902072823903699220237192816205397824007599888820043754247868529221743695583585701287603401453597761241711269939159849309446016784919200339224332336466612233004517637860705468614470233688989552416204497133016653877437255321674494856779293858238173820553610171788355586863809818210276759787865910460367679551692649417495191883851980867744004588639370902080587997994870292840615844834064335024834433662869030814210946579094779333611017940123847851610719189114696727631953230135298460400532993585549636281494143081041094495043518681429561175673898127688185546526678844964423923947905734200154743628216678261765457142593708272536567146263331078994163463581954632547265519838829248604954051734181009671756539765525133760833561672539807570448112646912907453630885995643909911295019429176639739220014526419759552494321194289324447099742610767929651782402345909601775068257979837005468704294384454150277994077790546516958506973589528519947736780333248299016366449592408172860026442284385113869910371290497691255705133874152365393634973844980650165442089337087352740226734792908645965018826773977191764253465431148649443311638449728445702567681447612943006061065801391749417774537933255164480160211596457434000793038766124130354505150015615686102278891306562912649740421291821041130282838251715801954275657982097235530585759439646093551261672315080148835979935736103450519770499605710207313196729164117004264326897020871182964072405205841484385297297625031540980522237497027558599471985359349694829788601658427465783218364524138008898153918956654177134508111934733750161179734443158538441764150637865073168703020193938136741734410039566336860970485418095488051377245071989976936508529069074423347875163052877547510428347089336143859366765439481625489280133767245193069533773058596636851448374804102367856151921704391538565977508036731458560840591866615332182988763828897883052231802337766276044546428328633076158614300120846201165998773270897950301523700440576267254571582599540692274218288026752301481930884056295818958750345776134227537134983664479444500077801435300134734192560706378408108453203239812223591764301261092069489925816230609978330556875271131334015640823710755722309939262415819593775076343825176281317651352202571208935239066695748603748280647769874328426007792772058097053021901655699229010297614723648143465521282126228269050644029035371955275698312369286440964877526731479040893229167902110597452145203309308730668688090071018224975405368333319197299426527662079749575310664703525667231199326292440993251633107663509610752694830050577750062050300492589948532637896581609006169328596613566941820680761863591434403274543157332590686984436699239568232559402653833642117797812960804259221688274538961950831030130558690980709175273589664967992260249439439667186444522010930258473518571438368934506700803048887338287553581406077777959275073919939686945307904691488505123614709999505235938497758610343826407398568092805646544507651943705646413334714491075427102418099555426951343784003556488950759826388175309807408885625430417512450288030930983963427161434385522873876080378664928864907338910319698317546505117905395351164395366317082734248138789416542984632465293686002037825079643163546795214794516729404121017623978867500171522114057489790574063049991920074585912871052029745052243366665034635012119543438233659115974597950664897053316130617630129579586744354151482328389264509676727403038665716248298335805772547207632699292818859684365034510253116305424827804763421927578513027687241833815213755960617489993651596601104645022718799730829116568330660034858029920093098109877820889892479393485596017030917990170079418368718467389094085896015014265212285153081100511210831555971702123650960070151274487633132404839394302302437774422386611173576417167309563250992332915242702563279131107435646979393139519768017222333398062679820334295463296119464714732909083137756292733476513106770982082415182922327784337867546736165328059241675463008885759644272904829955215871183264731896245736118325057534762080456855681175788831346299985316473059719936426200364105094835692990861774517269215836357952611130139216780608521326162879143256569402271453216448056454680115983023363610951797824680068271969273822303310790494154381308527644246496939920189797225567539216632492287209217417159807750902787957177817761724439539326518907704431325313685040923057821721691055309032393897009506391483564981411545776286286149090130606294337601101029849685504717798519143905245568444602182655536587523036552318372734272458223883655178746979706102621886808118595002189796699409861971552693664264694764443595674991048229715354813412076525185574890845836571974515722374104653053247740319416188652989590277595029995056119827614803974194173675777494205280161663180710127506293934365105112490728700914865594000566296729161233223227903474087053872464602925267891504041561296775144704918634335785191268607474088650063829272043552700580427027104300702651856103575543586410321753724189594104664438719552814989284812761194862205298356537945183577943383761983622569114838547196800338604914487733866349113024605948921422062757263999821453014520622986185482108717622787380963927335243903146217191399028316820573097500924565474613737780362312633694608074711194770448505938122783143960331663332306158862906174480996949227551781628426816443003094808931786087369103715671182503194007377177823936337016326797118730688397300615260181826695528391659611543524371581983575227187244407551834483731942499941959695255021326974249654805919206486911536868665002169569153283944735000608564285403470587035421815515786554073743200271086748929692160915435729279496514118122283711715578043180021805536578098389760239053563786188651218230068936251186754054863620061804823918556796581006694176274584086570357146796117908417235715313081238952823457357190936607160488701718111588413154368920656614616080801979813340876890057748329220210327528064061660868552596539550702475473899975251029480033900170430177477566002324262297509728881090957806506759387626509571371770775555127792832617487356614783952600332014519972640376269857154635670073445342506866684589296650337446701467719515375923965752708664544680574455003707396881281048494174124799319881532111469665615024659038189169433776812791274998665568588614550029922112461871837405253116792996889122568676759610267799468889468572848817605876094763822600856626820813894571372850133323500283087088688037375552785029671611131960928922751228496120380661887973185289456798559181211208586495713233190981736967280420408240723268607895090886527689621746710068840720421411263942116281074290194387521684901305718358667106137875727897388630323488246257090897360361011095039397434059960049997124255455160019052488576690791504139696324526643901961740719060495584416890457067173447531449609387720509877773401055901065055983885856035722272379169298993403081587382055284533669880699141461630598794424897154334314520896079028818460861886232883236425022246027093072350093483727571295619223042572709929469843790022583637952429629514680584956150520983898251115396776934441276230248620655989438325920666706621645529716207170103915173853617793468539461198330822551856319209645429567678723717163378920150017779827784858159968295017222345232124815490437424263966818344888312913475718470818404095121729552953390082839031893424236501586973325343728742043595018881931830183617292088403872375463779854892355396706546824283721319496895253982654229113733037288329129764254631183094560985603557479567184748876297855063726093960036756243230070777203777509995900877612135234421161649399280900000963187822285413777829979061081280610504922683062944061060380710992142536905223619025441470463552968133925467921953499838095362759582087643348633192097996643838907417191645410922133045729225045988817092763055290796280205939447330239427923764945864806399464119334586299567161740140702948589412862412580506672607979183931073471724193143032412301230643743290682094520843015447673657144493551972336433964600689944689020575874229183409061220216604727706485138048308427841863655149049680413429279343027124681315519600641185025159473417095159802062038368191628796039738463345642067923734097966789654610256733939841246645333123200672817502825902326910766280601690871721923744178761958788848927137201526110727795901981787799702445717348312211023311401190260726208154196339631964324453702976616644055808784072625292662059632516923425423843115834012310405757561923667052383066760991143738486798265062210716582504938201361931067565908999740922315358684800108076586575441653094642610212222021699448104370671355538769001413894768879208297525198966187230831227305435474338867976784419614857507042800445321238019770843328099725206240994028041918104438538620142986176690604996918471426200447835555334594186e+9797360818219956713488913427825794551734675763364822725087969540915280660436984577749469176040263881078031922379263301338933179459786581973130056518841656164221499270489792010883767044782324665892830921424612900807295427016795090282425086376378298752773354073094256767516164095083250807204804231009760697218716064344085565180411489460384367083439848516347388428595843281902345441422156087851800307925025471037189614415110392553245969416710540621374805856211555352215198162325454836532165330067419928754008744347913349094303044968935555641075998222332882188704518095750857568313548926354226878899484461317468745739375917697608549105259195281755604305386046012924742653372769250880318134045457921108468836871850001035431186891103161156853950972376031149940252689906683198497644449653767894272164922262203987533418906805432769363609051560425786786367910306434817932388322011689427338560236817523971026227308252285243386189064351554306037084204720370189117544812242175075407092149360471147629073282980542461696632871117899798338528592941300183583614305494529301273677709810360642292753308248685944824927155249460866196142920715119821548162201307918732044017530633789615067117820793110821796069350433941852564536167169441349294458864949415860699425591627548213219625766575534679458510596537950033609458932691536310581134141354636872697856202855003136761008681360739434276483985401197409288516701947574232551193224166305376959143812236511842385793444971778684086421092378606188442030407297795537667196957687451656896547238982760699497377032310909855508498885064115842875207229424974836636333854358857588402344843447222966263890696454494631237571403791537019098855295970093772012503778699521606158845867156477820419489451513358134940677214127388348484757014928312699333877727771612289110605658018173650323292674894935297753556563930182634993595108729614991849152293656267616356121082603788615134622268942777501601181451443278632859963353003396404862138455518725833268580819671170393358801805588826876089047376525853855035784886466176292140804500895411981560438265886203283935944687796954117935734356806191905365165972385398063628200849239788516005465914913285027313258449490013759260653971604657972038998919287305571980272637547942852873992854403712741224180897172559071456998260664786396406135583500655445483459049789521154704054231795444801715783857172565182706997643024115705280017485995295085741373706497927949987689228728412541032773685389290250172976719194519709267805946162179588152191744835753555270988326276114343619214991367804014946794325779232175576722605236621390742429544983450142505048712043237491566156411726188803694090315376442057828093823813193704956483030255149260563844165637153793226264088106252556164850665154478125743755372747375860846551991025599086716980640148442099400503254173746337611857691010972923460178674220101488149441438753219229288930941299126270536423964097937720037388290839195759046467360155170008859133042737753329057265702005890823340525491725640469969361842844479641182454928286172028115611059933272417031079788901034795803716343707612811909809124794296777623114077278571473505076615294976389997634693750010739391112521479360046715002113308547670023160227341914625058400454231256764816761052536231294249985220809300176273748563985311409123235365594344818665175606778883406952703357738617334817794792035632023458152215168762451032556021243780825268776863030335581305459940024760849445948294764807342548563959133209715834411811577923899107232854726321764076345149448670593778252085173602437943817674845113950350079439893589860749123937242478487342321809985061193786622869809543796898986604744014877073264110711510310991475098487104540164355608839849908607475188852880435195070965075868825365341841895606304422141859632188922208307060700364579854847055049489220028210446915823407324841089901126049094987489741675179277190502327258648608582741258498137389612537521381151528675635668308369734488738044418495950627677425598258041977538377164136816568030057882191844671587002884462385593291610794183232234624280439280719872072682935371735263429567530730937317532369665103645722577761966618671827085515872554923712810671450562562213813260862135536516761937205636039376554989444195781087829584407334101590444855444744646604045070691840016611177772136716422140101407700362709476690583327631874916887945117055926194429282369973683377008824518127779690148046504953673555127951838919924858600295562030744450835626649224006226794117383858033597171295815539120761690995918269989328812465390666727739440487697521312778327585369052128266126078131408451401937965397435068867700063108241566554004749476252244450761807153900421017964500026491589861597999954255261644848507876854934825030487905389795548345121546148843803705354423099843578834468455055357902546868962220205653790496153943397294080424655332721983508014343364784936613159343632114915351808498883565072926511722126873983922832109808021874246470250568062245575688400797133090027093009525295073845816759079091902222497928626120723390399219501723283907761583775304535576446520049559245325692345900478014686782869784448227664154221224612502988979513335223631253577168318808895769014846320477947763714694686254186782416463378044325907467204632410652310847654206008764487860331518949956913363163951519418561822919034647995501018289333109401995020484303955256196231561514825527586918423950760405561934336898668460202709977138696009434335312258290662682395366986021575018236275554732973529127022199600545394840413812285317111531413789418924966459799220154407770069200214721578649581717159036154077208991048004972263108103919438180179493215624041361473787820750797738269041458706065443146313612586424520995788314850185936599957512166257946777474414929879796747185703797597234897410319208075903505076725660342083214464284986456953647313649869191739379977634231818549905081012305245154117760943918820531834165801336740748954345348393676104694947724798585939763704063894255669543934995408575067665065682169245658079530499116884583043570496951988954913024822582808157317924324310721246938308889614478380712475469594109239019902669498681928687646278113225137513574342637515271091822146870733201635190861309720823267967142462555266245497560564890889713951138854488140198345754054925412727603063109318144639236848509081763280510441487960016792573773041479443619957666897666933402937076110693689567166852748200513410243214692740487362758580851114438971430827995823299079256387920747983167876570990019134782477671581099807654764967871461829586864963945811407096895932214195973379986487727738317822243982672919829487369234287989116706163376478329275220848646779341969596144298127869044008807852950921757377101987803206296071488690976705646736637987508325586365664437991786441339212146817473259894505883649895916342036993218409879667923922626250673263796758656614536929303928008554045720586367720634764088081858562034303969853116785403433518586891242750735269967600163446495176200675860417523285491755615144796776262225177615166551215949430008644198625496124892125630873806882213006747679051493076276568346890110996673871920249067833699570504503362669753999905609170247597967496672778169271852961915866574515372749778705803011322000877248977252329311901424566866056090890837069123513875323922839430439614333575828105837250635590555729152409981914407242407156322896711274392784134070530265199579170299648117522151304320059908815066043054729154284838834936838546460768360298828402315900504580328416442494476328779282552132166127764235672426295245411824352965953596056490142866429521158576281631438070104310154226554301939212557486419860095417264694909822208148809705706467383774166370510534514404196734685152780337419464125787428013581016496420461539943634576307677999738392551804810193743393370269134193449531115144621972420656562181545698901438112431674849517937001762674927951394571167019924724092579993988049497723746638220631009990580304365067331117939114214326376617063889732145838969682045894555283761734160743749900124813361009477762409493869971196779327437596263405554152260481250183848597333606351968214474792702209078902392129248269826517709139056178327732876694798549219154252869911604091672271026979104532930822912513801020232049950635848831242725005318351877965148622537874246776529386663372896851326003648247199247105453862549892424781735646680592367645010191533032127893451421859533355394640043477176413776853939366015670896134963705184782287135856315507230849129859320740485980733493119415329414466653693101376635258399844887245100689111448033858689883284138641629753897892177267148786399175439624903885194010056846477604379331723301813226521327286947684719101431635989551985603328208871783037312820795006576920960960238553486778968570147951249255470555896585581530665570997842682637446017565840906673865779037413177998866350360928526003128862399009097722780074047667279287416448547412710739434110850988629483250203494687522136431421206344972994253913886121767029260816403894221712193925013947965166727318932113545837551055963479363014010321895300355480176425554875396320610362397857165929776165694549700938180185894518486212773447329312332360142703563194583828552405840076101373831142501805863223839859569817310426998209787031614792660642593748337457348271354023290276626292047984938957012435976113087826042731346132935198815428728600224710044688893525316050955717060633630318309871332130247940666821216268290197250766902698884769800746767778623910702984062450341535304293175468658958557912978223085404914582548655400393610635033595099667811879349571932107823172993851563842786936241463345683172470626120308214038196523291500069021635895738331162015366618834757012523318141578771427081866352255617248054422401544572851486622215139036699839015462860100893234749864434319430298404617716039625702155708754773833405178994876649856556323710396646355474873637514169021313644238886323900274147586500831398813611466756895402182932935177170432780378277910158543766595202268638795513404441298594443983229294083556819565606665001319852773473930611587270836448599787974412715798069886861625605773480924117806604582388563243920488792103003693264404473797011252041454774253670212681152183421635893470896475697087114322775050539898180949409309032565954659835014844038080112225494189757730433048543541855279848458535229484880857131319038934990755397445025101816167262378769964414378872602705342280618616604055684494854247893211495468128745316975362086785228577213047922475064702903791434283014511523792498890182681726355678341494963124133464622016651330185344733265600046628820417842081515001529201327980084255150358411233587607030750759294909934907240510291296271468387989095717431714753075712868919819810381057320915225796172284377258409824756747481980690038665382434336903779618818897813909630995348238505578371150064354319529085809651100957385593940393546646126281614839660319815865111996510159510105281233316994608927570616787997535868311920603605374435225926990678719824904466924369102696387374347422832571183521731910741498044096292641780252327430707866873272011498696613056919982688567806237379338111518100208487535216959898924745117929961030785429014123018414125039057350348981814426840801425148043700054843144898693693737442568858154560077478549808303349795500618284493351105005045392263935218057406751874394120679027613134032992579878230942929133895320826015484392237421643756157890894496256805249983047442278059258629244124651749176810159154079041987592187253262053289116716632022794902837476693211342915770994293683098957536059103524292213632913512329102900942294724165430723076438568951145494888495158322642205353358485926634493110163639872527864803507160720063379834734906902593065883877003533518182502213664970670970780253504642894235704313680897887813185549041694486848106305094097315082208377918612442274793393046876097846837610854273672224730537138832618599595114403946311584597502866625795218978464017375745697973557037770687634157894460150849317332219270135760551918223229170003226463489957102325349881919921444380840758778922778656040952018649933929798812289164960157380465370694786767917843450677327466113382771359060974312509231290821151439786694701355505650092074302565633404897242723480489808348595270710411138320860811991745616333336678781734922025125491273808441000098472066288890562689162226558659696895623525773951179512369124096995669131800126255406832767188799555690871815630192775043983773620499699790465475652379887254539790969858804562039588676393966038026923025682007975934583881705519324646216617336020508088259922074469382963898511761571499503701377207613024095364613874744214353293165689208044407787371705352781219989800606266057984076532902145243426698235830521250823225450094536197211726971298300624299219864604627719509838668943362503481051615406579464322316675825384581854414263119564717684188646297572935361994872444404034908749409892350742149695038651041126066957402676811772377132257661479286927414295574723638974852911030754495815694066431448826137231408969672331758513667761374029362178065590698641919886115537776105911783742716929839442226115725518606103376288373330772393087638421331678219246671651000518292234387446567412271558651624743188527481330091410895852146510820792651986916279278966370953137228603904697444382480019234760682475965546280949109322265732712179686340081077107039365050441750648472771808539464312017061359315184652954709845598710738063116644121516118014863666839837158035667811642573952538141326063187643547611088495661605739535943820184067475437093373048912708281221929866419330687283095465596638922811772627985623252711462245030543612094784477794185222456272226509908399736605043687054874018889979829992585281561486175598388297499581939659728196905555505434194362458523418247147694364809540976332186729574408389725328394381046474048917559388272016846296510358754776523482429622528168739065852431004664816991445252057254759194324981384193230867282909394516960650900319865843681072033606412677667811807583861970375955507866753736836785063380339925607585250744329098716046302214974634272446099010082616548789387862489655554656656047993762790496847722479035822526415893285444220915354350042216158859277731365656313768764107815620740633789467098376364084768240516771061208929976525123721565718585813035047934806311805961655433116419915838410243344832217752264927031614675991255850071068294808601782151840987693692919760340100271606782972751233626712769979219399188587773116491274561660582611842690569092951280657713063256530719987099284602687388887304977170268297137599060918026958377284213252265937133156958746593213956271697113848353268254823366751371752675979836152279681018883243318777397272109328396610498014367345396233443308137090069063519265996510074604449341347445798944636319317997433567811788277063759380233923986265048326164172447397512915225043768802638047513462224437179993292274437364017653897460197287836055428354777433042780800720605423965020499463769137219414676229537039201147633568302443810534608503523659522891841096399644024084458933187587661870620586111519176199407475143220503771584656785394256194808252204791141516304945580220802627079668775056688272933977157432351517505000880708113600347100537608368080278360371643897727973633691690647475422508888870568023402764728667101671479458734538098574166954864943010156129594324371789594993587008036848910462099389238947217119234820831897098126071065906819732336320421351165792090590372277701365527762091590099070100357249375038826225394594501733780604662367141993524184756049447609185522458557022432039633779640670122560437339594927883480346523667015078913085587487945202854430344961962361031709496216621267311907023372675945007648200638382674396923100896607383314499429688337940352564224152485044118098822646874220642279729246967788673057854278465682754781397265044349036676522000288978007923440184009979543743983790512206671681203492546832333702966486065343696255402185310601129767586142621246098226970062374262111947219554255277994110349085299513236482827377268699943863492365810759953882720589476962221770271348453943235293453071295682619966721017351882349846166646027015807909756056210194013897400403904796884489120162865144004246846236016475687823021757258602388121922692172054688753571361719621725206413619397174544670941825109629360644773612186545732834544528476761330821159905590793149814663559805887212114963954588662258605585283907348954469819906143105685303806552357993087097801114692142624202437158758477357680041475948580733460538395123091118467071022007563619650383684017065782185307053535692730210832530338748298195561230605649822298221207246267035178330914098228242594231067962579524815434366303762285313229698751134678026776052473126568628795800469462059974113655203365334836802741178366799364006435980666266760099825605853455199819876414282502494076751229730831810682002573724343231553428511894152575722216850275340693666767172621326567454693228207765353061425859436191652196926814579997042729764393671890404296645734458852820252839910171690476962329414896933116229348409666254687648239144458370406368224179530214269373830868810547389098952195841798392370361437386487304516210491441678716079000868590062893054198288179778990976938054235752462490227316106315018015450245484835877718641482903006763888558933441332418556776396163563528334708033475222129778685131485549939934292716028125006719070846759844295686381325145718837012607704353811762004510283286990170171506019386706379399617508546753825646896476223364247190044821125811590359292520244954970554689370441598417899815322920977466395561830674363464998180300148999445728708156692202112152388177113687777512173503735242400517220810589350760112415131591743697870828073071205468983152459710707701821338578224034362717800872555957082050874497926327009097564079779075074424338180883804752150259159676330785703083386973181126343220053341021622172760190433067389507831163527936134144407703453503209615189972515041681353818178610794412302873397756001485292385355708258437799464265423175303050752598531502468097751368810338333802667939275276153381184430283563921624543263180630868401421778380664138667997952958909241441279456969937848544751651598852971946735820814680288465734510919223916611814484722568063615818052365226508978540899815298981907133678420237291392475115925315240508372696327776935549051705229282239590154821616380208678111261484336661065428067309369170426567220887103848674506533462614563205485315792589139784240533180420161604496664597688212285815067296368027685054732555095777375204852854734231834301801680338850265743126862977607708068191196142819343221448128011827859968892073138452816640742854739637736155778733916880875072645730423039608671293873970607863546688114096856275564071233930286166187786492039507104429832073609227018859052222152606589088349283284090997132557739507607433582802321513446893686737519455833015467630186985345140091038731255701685815403150674695710584901471551232993500587149830819409649914360571024392007180293153219133869038161590813733972308821866142248076157430725032562557653367703700345280374898146593288716606987233963290679606365603786347065988296515703863411002572228924634674327819306949269628861755339896441352304119045209215382115217871118649070996717668418621243150463329436446319005047001146451709032275831683685309201426083373208427101371850382415557377725245117849196373524765242191965699302007928856128797241670989448670090914891423405141238547493471472673352417059773898843504141488677002463189058657644996321461538230799217335110184796338495660613784805541074382754597658115186676058822150580076437392326056833458350767945065828779903710393640696964680486980957068341590866845634124164072267265011361369263939563999318744662285311467305908876176227003669089542601561253151780522342629829975256322649076174128572864946055670424698798325957705101517322802044625616460955948450724658058274936497143350946901175552367384797348272708712325644110576206886732661031035569053487644284194968346471774223448996650001730326153910189732076867735957040084919430440313742629514011918928339472638782266540612045336130185332795684012668849245799634642275657235838214290144916879265683460183886727348482076853791371818848157921876834161748249476570554489373473056662959703862739794134383620955814211103419683554169597081076850283513966844329958839737945722962214802416968064869842556240748980362733422448034910285010386194353626160336139852871494644465090373191344080165444705380746257505846970698614171743274268805856350959911094421797316744746322157364487586148427171945539264471328078746660604641757411539999141148943709961445711752837728652889893365263428111489882564342840730266714078882050939197741948211239002739710935248379054368302627650823096092736564581139170334399301601422695363931264183337868710970244605352647764302737616417527741421959333102552947801452224190232559482014281696386443665277412897738159578737597132520260911490176981161156805831005031042482621231647774586160460985012550734868944932580216254462275420414912928311591713350919436970023634026870139202767058992791915298812610625767145063952323636257058519783270196792009451024641666617607127166957170015319905284847828742458253280294947169687092894868036973491732137863043752951630455242514787112018513990107562537254435805836049191680622599964881424136610414443504788937043431673298979923587038426212128481561192909193461164138050474234611742952063409547270078217640301695801207740806543843674350382561243384378550136611970607858104451809457204537108415477463295630733978829492204276015773292888073581465314756473277774194594321770018561166726343012444003457825848617025627251874239641206901485577271755602709123299311022192841580976638928832383416639048254622611486298073531873558475220682046394933762217497944702244224720371965251684643330722157799164211300045115799122317734403642063314328151630664018781133799115449001118291559180979294883796352462795515782800998829209798345783252716404784976770812781736334650943593183873472454634700353028032503011399838193778159304608621173475636732541039956888479533843212775369535939026626693569143464653411586070194759420996820467054415764483603070934156738877784145931579839369674099865742632058562811915173230659848334798215081462655382605691877620091012540888245874054823122884004117581792518098423107419719112745715084236137909419250341384570241759272808598541688913263730755130059550321397665457995289584099294161194343001878768216164663585211533989502889757588314892372814269589439638705575319098445736355423368251242099552673518203138672920755092491678835287039543502795782501753010993434357301851222922172567868050323959809987239623860316015110362680760981604796194327258781910278474662745116045488223291684621460036522266860320162693952336775990642068644789915406713176865355331548604294118950521140726372007171134665296081066470444391713450866244773694720367523955248593670416805365769797679267991742121382165701479371058194885282416865073763903032139959659377540428146422033338774669546786650794500374877303192558635303188370752989466318839005190642950988175663722665668671382346753761700268831299765822152308975262542580383605501185592022031677023294442715265593274498891958752291637938477156675044026141139550824539496101981705307931366212496049908830938028758551807540989595686469684406284251551425413584043801861402142787834977438989413996292445871040925315278189220739369625302426438281710548663636872956488820495414787751549004703198858633992435025710094197667989084868157523045527846467324134234620656410914698573331175508124508573316520089048593600352284835692145009027123183443781921625306710432334247875121691905387817481624970506204916197219048749700064472654374777508441347341531530199564912581453397644480533708917875386746081330205645818108191988639503323559779465966989998108191063595940840988604494396408239445795301505714774445094836760606495946026818417051573066832014656260094676617614761287992396863482601180751614002333342771359917189498463746348571805285630524552493251725359438539369022297644896331416963806780838732151846527160421020420290493488606000852780735137199321480939011611619087380896525679738031152216577478406487259828912717022563120089820690316410331703437886310518423684947781734026389369990162116494080851944357905154065172595354965062179724436242858388757284972698807789343087464424219149659818911611665986824376918134091194207370457165740299090003624946366315350086863804725957530136784615152472250750245740593728527988613071208374518294265838600310473791031980542563019514596757796185298509773121624707157932621251790862749274546218956649013359538737221160714436253037140596661644368494575131978281097267825999527399968571890818930966841360334273161931230311337523409557501130568884109151516260702857628941919917338365616455447633317103414408141197771518053818369201662202048177164245042543390422508721057084893437243418059293473248365073775038954226023244501928986403992498583937739055735840830590800351102615490598361075250201511768890252913094043140877010163431340567781280784010297991127463717775563693881484405416538497778667216797195433905446119151858914858639361004516082915843938941447412368690342972263767082078233196352111148545783279209427542052687018433289989206328391245463823545680900018959793644760426910365023036057143224588074016919968460866481398610070097410301209065341102441223252453124257599525272604840995230687999636398462981341827046580558569423374110330667761675344521577412969371524882571840494046395059255485567148597671830556187713658398864870651339724970600393879610799398453517601398550510999080252101049322282311367440659577894035339281432665022988943810899214757998241629221619425737916058555264088373397471613106899795740296616753284941004644223215789928510387907511744308822364834047898058740691885225220476862586268093089058159973617854562710539358858773808797288966332623888735720699199081909897451833113117689840760680771672637732264675335230408678767857210006222880515159321188157832565885427638881419341479587472840348083978756198044312480149424478579066861673699122382306368905974873479848329233761921657660459849106202035980277469726714959035958878204994041707892683070983790570500991517687689047567587856126178177449219990014863731436248855684639752663874370843906523538297952047413712149325835608951002790114857329655580183844641941232443848672739217245822218522767103597576042965919693836689075998267136030458941020515294321012868792397534648743004545977371587658010965440424746392119069117094915114658612316148479385418320831342909893224930778838399331316762965164488093061046895850103870298706364164582899670357498797916918544262631032199227988987778399246864347652861905804692561420567363718675873994796187536898154802184143651242611249113702519190420046321448821066187659110241406400144201293410028993106323573134348790839470493494904638107431867868962809141600002687690433742620516929055116316794555718082455428312237750383162530003124391033186501506537155520552184533669179940010975602355332540193771888795996985765993646090231800980079578189955675939561784066066263112241158625111377665274090626159475781753384633390039430692438397166231581145594720883873316377083628999105677269249636180917617189978088668394231396224215176886706506565314037199911353862643515387936497013042935260766240593221946507310634849567563180351874960740573756252109955485410617205499668043868198205973436417339091067081489291333820484247073102208228367518842144405039757089319333480151937373814319404112065110559786080939210863913346874506673764362555409607900557356818698164513970732803713080726527308334097304570872153654648490142985586337986164399774168909143551211964675291823710346159283638961359737278660954198024952236024451356295071389708700197410233890137777284633525595516379312894127896514299761211972521472883295176859499465507696060127507056766363332270942833459491443378247885318557762955210381426973899777200377064259970220364162661651593621337975074317343881049124284866911819518049785283680514262648450651514511401129789960388642609665936689749881952848878954124303826687573651948144142939371004386166033498784608032458685705335951554813891473499944704295758245521922433770340236628049734671125437772262396511193127092759093536425751903754884116037203104677422997207594274885688309831299251442384263600080540592687828943289437055515733709961129823618138092917561034627713847940301337136538306600282986460285437561476339189942962480027267700786825450688784993431455382074042847414473543164408765303703137632575942418926478445995567802786955649010925782628348896798066683140351545034496540521120227005439464740266617562714948960872516554128465038786157863680769920797221267980980598474864031145146088307025315597336032457764498016148850504153098612959656297029833738788316615508995070802624517080170914795465276886868040613523733844225962791591170104486740313699031730129370497409948744775237150525547695634586793589976691328470926785261821692160077838170938222011857951220456685389308311335649944850074219177626758509863649535930937560599451238000216770825319332280251127462274215182164796841061387411357776217725263654438554704675700609323015833308861629319976569729971284788310196580431320098973080308798720761611674007028137435465565339535998075776400214059718364027990701519186946989506580336950842932295125811622884654607594571984415127728013411976348397766885528032825858199488222073760658300105308093822973897204690857689812352373886395894526106383344247694152430289781433063801437071740255411641730895102602947644720865509665858048570762157823517513375253759755714700228 -90045343576450989576044393415896813657906741732609436085446128039514404290466646781590054989702853395944282866654015030649531727278962382780578271776851916000937026286775732559828523836447552456006774467842724779252908874011641338775659841431356868647241435588677132218371438335199944089757714447860807962715237441861738620064763745633125670514612985847065631927600014501552143333039955420734405628070426632287781778432526188840769901596936704873848112920716902895174967557157641654846839629821330948814829703068462065229301466470583967857255091517251292330209457865540367098262187326762904841827381630331277617360058448844927687942197237198936151197993506486172511335076089896107816368916746907150877475676486289018939705307034331270857625543467270350182897320640747439283742479624933144998174149912852426695778263709310128544635030275156633670040173485259824640899305168535751968228765959514593553069014709098010817502575134409926029510619413716486833348708910524697678821314953758283175187451022889883034621996846376084940054434413936401792696223034728953398750275935207466111636008995447324541054675543174238840950616368815142600356683336312327591227029743025252830163997259100223237121625340526754354299301454979601064518883678025644707942331211539990090557550126716400835979052143162339195109992643848448563789116559560290382548852796563031964529775716045491208499365669955339508299913655975826752338443196148970181447136830417640606016842941959013959832803669839553357743950882277172562941026293548425810898238145401817930751026978671670504310872283999174399108165232404838135375995804453384192835185780596355864567904563994388916686946773259935827273783421232012606475923836518358658192235637119969551864417462457368511394008106051159713659906853704035556578175410401978860765056661137984993434697784892868486262377095686231811511992178238854294913683408580861050299335130851263743085955941267408333076173291765063578184200141106405032583659188637766118445767329153503978006092888691656124088013564873805704902984351986596317765363843515226644271480031864550008502066880444073431656735300323183501389446075418575468998140470023181128925488465903994900957271789093806546382094583976993830008100510365925427885495016391313335306435947689399139852683735260702645151032191106201661954672662828555751190420062328415084260775720518647689805039092592949138602754530499579093192364658791553721394436303425934273850829995489529284835377873512897871080528402520205933842195394293393547619881123619103534093612954420281192504088928273882144661005044485635235057097485891477578384742207943658659317009146924954340862576031019040742667559966510598775570702808893189036144715965754401493875785215338944535023790130592801471192645451004508887892044254693724288943143795695577091448007599919913449930419078798052954823035928564657719638527532949341844568334791762658400353569694770336181781059234074101677838228251181259376519928658737712754581899036193045939896891885050538819835674270983065874954451724718913492011020328007622080254835828268469862816627481819055538220168926004485179030131046711533741754364703512637640976747901497673029429993356043350934746086765089153362600424759774248069637366571807189132729806342348234280859942872807070152888044987308583699806186805011291025714664435096106814616248589611484842495115025628391935984165403909378901406178909212832441101614551641702311423346849205316777134418780143485732438369110980813376354480730504967725639927921450015656749711300302087971983041042837623715857009208907098612739934896167874874905915746707192086665292001408990692188950669899657206608768770839267274252361229949721619697692731670096322664751625907998879254511642296472057331934825622749103267408065280124437011595869971299159957596700163076325823020161386473242024050567112804128355683252797991516564396598102057718053424333486354783554594791762589041486946571972449808499567935830190784554641805807869835521324536524972368649441358231004138702356076222018155300135455861951119938570793810361596031749834267350119309702938007602706609325273506446339724555417717378522250500166021996371012803763517032014221925234891995495771244040461993208723112524065764189503550641281055386839457953462312879053373478039834970767223456963081628988883796305371204561279788842930931420060510842410838738734929233377593547751992078071044469384612661938633944462469765101269742100204289503060406575007433528830070601573979939788418273727720830092359669572663416353845628823822269247104581834689983747739034460406316867170550658125990095453613354153862037214126837848384755082717205600531066849643672069899060000563838934720704283410599417539597090804488450098461610764417588297290848885094150232500963811932872886666397804027277483794109387795573212112617366107686196246925693214455916844475343954798492172495060573478835571888468529936388986165722505264663439281196034045651143595043502045995224827521289513865591961367878511913988208350758419527875774625739227078903191132106083680044837752489471001114525335613839212900378417637748313046609102326546593547200977808113995826250814584060780087789712203806621634385901989909899960292592357510160850940150239258479748983856885070187114460505344218236713622129339271737787423865698561823256191310403392236532203272476702531764925356590373795144582172335622314062613660242956404633096770904600094370414611273857158025248620929357518271318913638633157149233188030179213304687742270994039367372500543875263259478687080137086348512092538075942900730943851607478979325342858049034050535827684673607131516431356951927739497177439245308242397185379042113021766901643489838848577474905417705496752022105189937806217750650490267689890300216116049736701760986746625857990512318201893089087973535342232583916956035653563570846490845093506191916672250507883643839358810441742300725707687042547472455490586916199889559355709646881622690283024103268113605769547621002222854267795526016582448321651076373909670353954712178031318627475787974901227690119932284048815585272673017786919824352979770420940439930620411414841330228462687622537699632093400535578534894788931892788187649814483246848316121521711721705696136652336389923075366640711492225992147076988507263149122484616327553352170143861375519778141095750308515641127277728705731831338560313097121948841633306702057805068360082199975258500472697399895822842153272717779719998848949522916344663834701894703807891766177801489784176565957557438837446147487376995561077924878851517222182030821477594409988963246980318813805144013485573381807417478250752268669127886116526460217052237475263475365099861519730458881728274514242063970243118473251326363036472871188322663400027171909422061549689612808360562281593446864911099052452489435875925289067569660586923262307885699128224992059127922248691471151283207727144077089235294353589617130024740268168001731386657738741956340388395297382613508272068355100340290731690151423241667525235271591584663871213560846810346883034384972550673131136017041850173704311868848381596318042229466958510696793521892424238772638526387366255509689853478465758703353091637389368263712659146226771282365205251298769926061685474894241893318737523618244524271772196475938703655219053435054141361120923915380823921284081416664996988580030134636956376729305794505453668891274072829493523014675130618497635232414676940542929644925794579292465044638704126282697176745666022528112102516137616325119697491966797907450085946698101380231429098710675895390951984012247509601492659130669876265668002872734093458383661578294752554031436955202350817274013780157671946831371827838757178648886665979554814298191178906972050618126371782123033340252879277550383912390724127662809006023970939420771954488146526546369958971816183200848974538403039127244327156786782879254194690734458003848618207686531060622695342162446307140008783889161353089295460310225257325625852187405526194325540095029503189509260922731265710949663513142094930122607945519735691174489800214338798582056121600717267367399744613683119923094265203930771865248717248330751378090494683789424217133198263310312471031321463014949268006357699856172404563876462398410076037134941183859358195346489416019922318658933168179624464415236230682777582190119191768329944789878265113545568499585539644124021067791347895836706560424038560868867191890475266914986382250448524253434693420213621452897863717132798187721764226684873751322068557387251627079938315802235463238286922186013028059752977645168906829059852474291467686562189971853970086325765901889646976083161770788512101691992168955553082179459422933014316522339086684022969121317818351925388288867461687799941834889074722642649385473344559834222449813297463313180617162268690856959279117650988042970197158353968985016973971898085215932760086095518406915316136669154633651262933073674306139795833316673919133432911343176346021372131522455990281347774500113462686930296917036182979330663119397992234025740368578721787290130141584986461619578362651572607834992301157418587333690957138111502753860713884727309394327130480987283466765139189040472386546754473731617342253357314564310086623929000936472709431809461461046648560783342512577859715053268824872842376557924601592308624408807381510267979631701231225867677327678696613578760006328006785617395386947496485405250052941404256984598539170842468693888120866454816869799983241000508523609465046624813711235337608462724780484056437920143898679447819207247662427329455937814978652774691379832576733446128835813080742809783152727091906909691991268468348873258977189770861152399137193971408417326515721859088112943250502364108752446621722543950295557984516403857419503757374394861869213873358011991489436867474550793091328420731179213821560125196595849601806916939431508620351020706797077790505440610694832954147718647336586242206585960157862745521264134769281030556864562938781039542938079274239038406900790893767083080108823956716608689661247165484504589076877638716674910736475047717616495160931711212205165879741424264872097260503953762269333497913592921840810207795911054313227598880166177410109723020781204963864070719650681873385375496014490019080257236533863610180981342543774799514398676058296286541997584963037466445141172910594886654242847513350084393507686266042778955726273272933484364112817286201795312761174435071404706624254543087475504249776039529304729495993852512959148943816846241300892407850375289276567364288318519759747974512651209265683636608505779468831206549585065628208268837976879991648516223707728776651548147168424296930420194161748005039747511030625687826235431431945131892016270851733678111267673386477998717992077557468706666994863572444155664539277378136738434783227862520094123970984589322912255133697816420817028688730153499912493194747040943733508743383296637046630536833126608492022541134050614979554887669528921277502007299888833243109071176213166488117217093547859967376917443204147088890164879767616209976596122831612848225414185028125796609802165379293936376999903482264144562299331634383194085545971307985207340425174493912678365428316958694837446817329708636178902717676262106809753633696305326519597325537439314977266919463244294126689545476865611404361695336748528672132710391443990281716500554413836209539805216434727377542984499039185295938671065094748259618733644373066825151672046963044017303730249823340627852660965568498894018122558743528994100888727728150164431415788779101399162136951168521792262241172311427852557666440819258504613864939814161030894997022092676064477589297310302713635146504102871729860602834037490106067499898173159319725128089122720681881690905969831575376588782760048117120918021178838488456643849682695806600938021881638514000988260760543646460741824877277278114383337811579743846423263192923653908690067934520185601940132619900899815500154283775869105566567748849519537057324823053511189055839781954851505217513066394301886084191779849382255753313943243843472641548676102699052548893379949303578557369759974120029577661503172947876871760372394343210560079283190777065295444099432680600740069256284705270979033293274248566492132722359369464784323778726467890073420656712192524913985544343542816091865076458941451028652139410049425154799505850973730243107133295900572542027336839056668591830542699843277223808023681432817091352259896710002004383648822731868105004886808010468932837010118148649049829642819624109020054068023959034228401594106101326745849364260602772843463395449245920956574567934438706335090236738743512290983349129074575798373367821160358785817934593083022458362478403593097980551850384521677826789030650360316723751135493277865771858085036800296521170499396895170090795508627472509768699488117336308168922869032908988138949785535343357565788908797522526516062728154012600490582264418269188380117718170249498614375114124174115889928942181174703415049757188998080896127454924475972147886895895176901656069408227434132931632149040107935877899634079482756982088211914613403588007966453261662513626298530080100828663909167338811530593713724916774294102856937003072545038621218837469754340260588954558322466451498565211267415410985939396933192951474710454927115828857652982399458129166778409983989866154515450282320997849957358234062613170119541540426312249082701164672603758004366999346246737863223613009011460259313930605502836319730833199136377881863614029850844029361294823812918292894701086680536658150433845794176576696456509396321467773462172921700375947096638977866232649053125372886888641750448081447372684121629429293361325243589316597221305558479015169803361494165089140895634557284166612963592290226405191566395923515003582703047689498575326010681184662054359047189058780513571902568963311235045142930983260572720518149292999425619827465612914987894913224386849751799252563182963557899228814909070108576984392840529564367957157387146054406780745811468153161809735350902591887380438443872954049875097348646574547384861279603881502236011860434283871911001481733977790097132771050471571839104493394495309586604661030134346918547906539699271868963277821422479189035916043129147585269521078107202714330974080858596471870802723026670867297595546403502792965489146323274923679311682151377016942877194718075929099425574585392579201872691404335277954504156525456555927167510050975327052604151927541459122447434987882043660054928085109363008717497812390397082880612548150923884687027076975185247611548762342721525444042772596289554620056551825362766165315155320704910767849495663409932677102372883051767826305845058247257416894492568342992696193247985746325064242298409678488904702496020747163502362229288080672811616780619989136350571501588891154744007915048805154206555554671266668370004884591931889354913050818766768366038153534469073478660458247075999734087625642981769914858788279362780654319527996817314382321369558825258130121704655013568894879851379312546618196817285275654559908839285068877469309926603058968961101608595453595509169767575482794965734479050700736804763322711129694264469431724515003537708141202738396452526989600153836940082477506142514214394310913509727977727554735478800363354827799608392350923482572508855437128389148693688146395765642395129158094155633649379847622083695521552167642116165261926334615487762970867078804342667292883343319709005704707331517269449903356428348010500235596332489391846490245258229242993547007156231092016731655799181567488113939238450335693284395463421232757872747970631959491159492537932612006795860178319444586731744928328100806933767621280075242844697719791504871753183101825031791684555826415503113643756359420701378151902474906270645493567558695703893252653272556298744729700272751279566005271002897461431689956086152752590692083722887257343963700195446625035528738555281798290209964548341804697764294485434657573148074366946812263824467024791318135781486269615297635549939362177675035852735554418264187214623500303880284751293231879512906557589190330915156690777920140816766697851844371032239143179270047838615900557673896902249287283166240752907987286079225363083629266431632642361188222758287541767332617871329467409785503487755480962671806942782872555893770530526713193707978365610322811886841432843113121969642996378456032378574898222510494805532397122652619218030303365057501052784262425376472622289706478773053670034561201693813903741548865424437806248307818408785059145889344247061912603745535261397077221655354565937203979525654583206383020697402124713685163711033881113274114358922280017300604992025663276921713943244194177588080567016709072696932643070958779047958548648927722288505620697512509365241234116336108680952823276112858072485210840829116528046689066963303846020034166710614404301119442946541774180983946606059360527711568655285483799459284132284155213090729367868824944667806313036666650506494396983349059880205863639689530989878122027137350856429380455553450264786611648644288418684131476624012895059033482425383998058830251650178281529993721232139914159217424442617736100443958069774817581027408103913170485212389963641743406546839458417960390518872178419263878715677583724795595802663792091172651529093562213715902573904011478550451027251842362730220743082957113317062349675070292466776081992444270606585292212660459057179613250223091542884252297225152015633675176332531178599331057270934223933888061198159185282129235867372651467796711741481603747245972260508287050446585767241167884322373113030377957644388406386018267598004351068734363333063867793665797122420313752085503192883349818522974008593703474883081547649701918430490762211612130486241113214378519705128319524792419520063412475567380133387776237101300771130797427650980787303333464633856045987655863833893128485050357251772759245721100634582209264082371566400285317591141563511111349427368586039088115471722935092154980941566667498935339745366701192388656333074090645719267837248488463098516227201792829524349109045577440264984076458510067177294973817936346064621682800538559166459344978896259319801874821857612658068147985846928008412718779156085819700294186118971252222339057558659670200821931076510755651628603593713827113232084079866140900589851355376891022441329933154202107453902783195330692608925547777744255653964718779159173627327213738495701474464309416801733484759890380720166796960540815163558459498782719590286450444172537593544532903854194930296633888738204877279874206701941504004999922329258136558140534606236828730964189992760604650332975859642848278289666646323556773350214590517656524100952400087532775244425483237677885237455130508042694454770457337872628333613430809566933990825832014060321986998044659978153638861367302692281187565772589045821179909360790120896563741947450767670826807111111879363550215481471453255066380687615181134693032377622221071049902513836415731168850394614728830001506350945064069398959323329359702547553379796627645799332287359713680017107961747247172510266449709023743632026762609852901747839932238693896674954042552648341237660449821600215749196550304640316570574856888372583138460044087855002400388145593826884898418426926379307331882385163764628660272131083926126566094672255033083596616220853711510099224728356607480002118609952952104598325185826858169141037224454014968687281096824038131876541944551421361662564969004382956372928082310708954663563003419066460489642614429186444766000126764033999382824955599287819823529922434362566262733852543625997011574931309125591996342827316329499902232167926036862167898642811723166375289102710126027904385779085944463375766700502413873543463957416945434126378622129485921347288875638261000862297155659883703510096132232230769497182282652925256869282528796955665013270683428026056428290005864385904994257259876428560570277607398799434181269933781750877748499498534142380273773848946632601662625231480507096483297053245621883419777740759399638646180642732395265969934185079935563720195524162668573204711826392964195648076432312832225319968376785340369913466841273824743870479025252165621405534939503882159051798127619750313906878369674791962904667643696108995721800289598788454130611222011605996036195963920645806058251514033838449166750914507122249393916429385201077160732654098049543185213763982891894159588683539067581977465767056483651631196092872982820517214062649903124925422830033196830268642532866261823209312843427463227672989707809431382566920896330200498580473318746912824005959979140918265718584106580103798618522545561153101631281492763624677043501736046309547898265647207103485558175925090781807384214127577024161655365553635684037649518243859936582240525084607373545399676791469883058676249196442103281862928108613492338248004226845951365375168609832776779121807512849378004987082350149081361134518647549157866313328256684917490454428346342173427452213806765711373209054263736473926406005678915457453099582122634276106686477934691190178582976595207085624338927039066046333195815614308834656551680484137668379933563368723501969939363221168273740276171643931844090545653592876095922219524619330384041311500121916137289772807855560611793726119755473562044752308581860453264139699275692167319387475713031645836753232441394443490983406662347914568924064728069287527306730534900792420893811039704734508553173164606807198591481876527304611150530211152003341551105055539846899132457877104451593118861977578484949628638006375606695984661422016981744866494974735426802066278088184860401018703257037453192121939317587880870127823778200512825959629507587719511880822873275862924876744425376776759248766562777454051793452329914030919765953610345417972106227823936804509083337870587998532524810610082191444124302114177321922985204415769493835267896840954452992535211173778296105789976331732106739066333384996494584227592815688506340898499158517151922325885856502781750666739656768193703281851022297283058913709811181631719141563201736549121002333698099903071394687451363495928490291383900061429374521070684625866996487413577414187486464038636255196869316087797436292817871428137733667585456211830231011353178061659507045868964997219544073892157009025704510921752828235815052955879362743058143627470052779166844092296792526089838853242158864463682573736554639444968104900348926373768344909953342464054210004654120276697782138574972595597972517834413183597466054405177894345020671200761608325978487196823545624945141303337026097826620986768355879129675479288983745945533661150284171630850878143949612078305326743828003190927431304722852585371875678089203947207771176356085372939950800196046936043898629156361557557798314017813125207124971048916887728349323657197021519845637425119245177665394109250336110884595711259217776386223588190390761235480523290840795045976135303459917969500506895301811644376631534440592775454106309463092676031495757924681103735793214771596646313027696926291780231600870456289511372974716816039301308563394265494803595378991923283350691217979461931460450664112540729850748606009367314593004478440347624604206335298647969319375430394754297040561326242495335898027404143849025279005445098799521463897394408925045681382374226564964813455269873552982310754301819423968517416063271614681141425587893946817436753036605731095543252869442405072595255920029786023409373715212481026710834904727079926407940399611285480903375204299061075016177528268470730570999007105926565517556595670648637769791286062515580331018192958856025166982155803058260291789784388026614859552069987106296165715729381798943151269092611550241723774053067594710811203650674768356773079958621825055512591187015602922047001183680133502621422905317511211522110126508760004316857708959004235559329116428070777447334467800377329243885702971625571019709959781835135826215377956258140257128531244837650310305942978193936781005400386627659145562371664454555325356118093129675803291857314846594117117439619301840026959355234647381226207347423546333299734390348471013747782056682003196557581620943219088415094216528393073437421062963924535977731581090335097193612104779287962130449494926857318741418347255468704864376951815789021867702459321728355963174642765863543800934037084683910596762478924525510225924502815064642809904356828142656019410949503815925350063079435068101205178651153708906403649175185227055812959440232905461390001643549242757891047357015176476552819955221912338065987424061817210135750061494593083945343746678603378396646317816112769033792773232062858489480293480315907194619936313183221440809842552281952865698906220384667763928168255641320142086025701470964770716392424550979601373630628017388919383730848908057522586319047051189474478461486138509152078095103242612678929652615720158157680126407665669544025500735752512754396172830716119961934631085270809438813104745633929402702249249303106519193776270332504938054294724398417704523566939352159770363004845545190576361208636835862364848314154123959201167740258405081143570182477699928614869720230346893811070032136998404376519863455056383409812433273822503680247742582024926369718292762030075949499693115942035084253578785299430321752449864364089357137656712754849383471827327473386063935122538468925000952820150967372887250098800622630812057345274452197398180362625629054788506963403334274200762447342940812608960404921363650006753157350510609679263311977187774099924907268147073526616324223922847537255281908451344999521813119083730451571439763372226317941849314670729884771210553194108402545002296177774817165406036896242944183911890591200942545144080277905207386557908994151885284433124766426272962971488587227672284653215852271468829677300189307085308816253301484363203434386305857858484736176522074617058608384169139523332107414075092872612221434316862382045444143443834158411874671801325081508062365993734111509881934442814630899688962375745636729395678234333491289448013796380529208121577016147301122401239303433366633535261991014476729852215561354709445535858415087274418964201692536202789551351278931948560721196726116191249388472566543717829413034945069118077236080563365416731325153267284007838086332075869023730357085408203201857274873997272309207949981223608357735224963193315030220373735760755289896235569184326583056842018658549182950081433291618495908984950890385304647068140211721511127106156916370278115138400673995625463054601821932667419496987470116423803295301767400561152199122974277596246332194340587796828037755426263006436862030701383316183827664964807485889971002653283667533949321281879988208465994472127644776827926014854821412081495469857649351964569051315533674132118084139255802909330005362908219239645580360573406609155577310533497165193261503386293070721876147154875212564013664263256633479287864307775286762180736311858098777339007545313654847470875677746679572228982367941610897575269929086421329575461742723671307510410262316463909195587945207950191319670216838969537424144869890233112454039137000043469065157390621968592407127341689806513242234541490852586411501584335662805289520725173016386654080648048796640842371874423190791975792661447521971150523032323421190379423276563891973278620964286513485722591182279719571788218869129791171489728899748916957735877869198246338117093004790685262160280026669670501801592560289717745960536615977070429895125019903501774348835854897706510031122694861495208986465157908031344535112353083993731269069064491074587732142652225364480698039338989682916391515372710979704859958838049980232861054242434849836810834922978356472916352766869762745350847682241652388776382458644199173053400565016085635072836276305811251437131759515212516155985566604967880977128651822637157703586972650870582549641837762454012629096193171527794099995331734916027757284458349951860603799192916701431097823040147109678707001891234353258652666599466339251340565910547523701561407332480514582203459103694860132888226277848288823735104702717915757386382110994488910582975776261221070503714252264234642111967001400670951378796131896029115037478457742099198921102904837661300366132344553545976166872558808946570726173437227855654819810806575557187452376273839442423614261738669304753380783627082345981176142094679929919394292639129457093294663856777929368733668815534084462849648550487552848621297695253638814679719664870832071762408773775332425384081076596682924713210746190741369678427007491985216300121118244223267278939320851401635846872214651370393328305647920504183636012341580132964420113385924389100546714729015679703031533181014078749314335005075379644064385792786938383093512161226842280971271065015414997223346942382670917125826389088700136952380660661595278008926006232947377436412761300302125027640054993937598987037280402104880016605090761751655693665077488489251951947235400182668265103962099204500443905213489425937536937877427694984726266408921996580289942903391984712355167376926164188570821130513048566414026865493442446559530857803546960766405741185733718913605171989075627291311106499491973490788685377099342452092253340609670650187108033478800225572632712977008918834173183107966149512739730743727156574085093627680873068033517243190500202564444552058174625379881051383551108673870809261900108214542097329186686676515917947868432833766706565132005796412118253636225095673106529190931272297652475976663076838968051178409387826344102729334120926345307335238882404697622054377903433288902710152621505721158060335876768149355619989551877893838315902036973457345413692571074938440646443808744286765915124737772066602103977527194997621094874090852163472326268859611912611010225453990445061076959240504625749414805061590697292116489851548789181998047216937371039136480271119308123856661408523656397524635687692199765927991356906868343022093203101893884931632430484797118530860169640063148582520211132987983292156372786566938250585893711130567104674440364181330839310443690322901477603033299492335679960193315652412746187026479039155466927402746122950672339235370818502443737551766935169204941944814261556503690583211153659946647093348010301559092318993809664493929843003270389610421934890439954930252770718691934227608772867472719987150129534958820617014981353361289413566153957948762380417965305267733341856652649.8790329597812209933406254027768757019960664104019559395807596363264182260670203178310092961597916544880860180429550771967028931586186473403665512889196190913381100749001667131631771382573822234438558616551617004162311904149502558531386479170506737149555425990945076745652834429434389954463758257021519992364308758865231806842576929829077607494501044426002489372256373036907457772136947105134389116429219276946379065988691049151715868086890430436126985301218582288108797950115837427257508478609639428116437930995830692652734697559682227942252735916201674035700861205009446612405045404829410698749341405376538033875288249421225171411960713649148868802047179806959266549825959056846143070952567604250464971976762596895080358219866802490507275634333843178112208988359300347012566060699610830621666618865576844460622593798881149722701280086642705976445243550644125265493057227936790545092067791417976272116032603857567885554897504443856659832229177858523105087622927885998130348055808448146810022021520353487412995759885478593795869005365126538015194953722204002914640274038851492887372722124635022361766752813013042214658014836262340017420741267481966799372991345648382477793544650441588999034718649808780336711977125117120593577688558783374671305116820092359237285075503962222755638659886020950678238747171566041018016830835993938922639988712015839622707219702527800901972205989853325067169631332334443863482369611129055211544989344932270629500834840581636136280675124186068342726704969792341500332753679403608278886858202562616083342215675622403000851209780598845276753237770290205328296447542071848391180109321166905752728145222273301531473801414181373287921148499742811491734145202741435570639516917376651187639003379948901074898525302613496508937024834164643627157621980732746760166584168420358132220415712580797365783845082816050212083433412168868143843156773724143688941360266282768293881163897387371519756596774594902230712640587650825695464833225769750915965950954713451854389975841064773288483076313618148255732068737086026333184455281307892028092092694449778315053185894316147548729463330363881391000552366142114170415743251302714789136962183591734220577608171571504301539018183736085775785834984614768679609902703290070773194557226205367277759099096065594979993533069707774873793511371780779042460560438037437900237518587602068044309313076966002963933703102138868799218014937143446938441674452333474387992807163056092181727972449199008390226743553983067775941150052101144010365854162951675980988398533136163950388794851441659411564097605990241010628984042213369988640160486500772582098219567655610846006756935304525348514291074268069656441272646383134776895231230317084301786416741310910755079032030460760501177400521798216321644882170130569210384675516350436034444587533576706393045692937550295663528095788319913494809584505282736535325386279730111289831369734317062590137202333651756082168591429670613535780067332050468410762649610166644663326524880654620816077296870548870654033198582783383314991145925092415926994283523074466672387088259944863282756363921588048747794600286636022850352423427213184775895658371578703966420372900387087644674941814132975034224252282167524921304717917630052799117423106790820313236999124396527262692473678629172884908659201938319576936918827326946903824939972949754347451304990700182597416621798353010140761731941390151733025952475419487781875917144310842530777218479149248039945397303856855778835951895610804346296573378856651348428909182848467247576483268502466287397771510554433091418480726564204293357502965564627676668317947588933695001650242001877829535493306867468745979490579371236995245033892866385324573403748357192807206604432084632294761508438618350110665884569909577829772554519523781299645838705498467812263438708827913698489048004797933598568362155424564481283854570049896824050624272911051537086080981765461445092285502755675295213509047104803051723990678399830181295228818135438949917746752980211054837660423210101807794183116511116892036657697997866377618281592391797352031721739369042080359788959687000475740608722932969067054234954193668850622845254160087402897439815802867051896214433385587450331111398295374217671101971646699700961783440864843986275339099181477568802118794002629272193212451328130541510012404424853486641996739883166269409163579019795084687568074610882991368489358068446404224615895286334173220226173915457818519338993421953998827120685388439382381746031322305019097555390249787073676928261964874749200244312249528121267373952327469483947361325139475102709953809740354092344870827530002927529606831452786164148121124338280272057302690209845857289613653690998630199339245822740723289758068843852717831636810905423310418413790981697050633843397949980824393504993690873450799703694898220800491972979417418388969569393593834921439372223073089036997468843245680737961589817013624560345691371344252403314217799345692353400736351694147778469505284611151346971333967636695547295656973007624950246222081558497974561864546033287821041406447164510928372997237129244586122858432424253665508330277627452757792934371759209234561243918183152577006391532667115230643683018467288827291457160713999457758705545349268504242435944980677747493948974727373818314804881555517011808593450933766366747024596419601470735920317943810734385956018175470962213937430603054759470299036043366871844806432809966197012719267075251651596997805614647831759756291587638540240722488191468455075423318362306498859698736772201766099025487226304283078846068244065999437361193531030914743589185876930768879452555648234502410219012000080945102889722103646688691011141136658036920460725505586690904137794510312350444115875754756369250722955102466899586154749695512804091733970779659566952811595975397660979146321479167560739428977855872986631988117065051295013098587076859979800727224344955474424224011100100372227771188847490934337668790930472141470574225410965622611916974380440417149802910405666059666296341502218409890930429226403032988039472532623819173015877382690695555808262855984286983623902163941423462769257775585057667096680744210489324014782399277097857842273413357079457808027747622429646119666364221211235220994337413044201839482525860482691056799125745021079441937198357772552584050862981826131040097864221679297295785887412528747424976235486106876385246420295169576392030962742370894758798414683442668854329568760135037090658902389196629777563779594213299281741650432501287857908322661792066241205767005001791746934103531157498184996497586953776108751868608628037678558464733363138326106160085965820668253589093847487395515333817093840118220524294146817540923625229252184139788212823770062537079195403038938770174761760923640861304829622799738305471465950138380762644116209139608964761796544732929430273188268085653022697160572417555085802920415719170808165509374073585970911602711922758508456055513100323405807991378128286881544977101561061953212026964744820517229597803291542746353929311482327376058690744938564878811979401350188247212827874483384491654789027843786168948518846505663061265169539155062015819469136452890316561696414815319255390156337598166326169843574410051066822691637381110096556097294323907186459307719738315915936360673311278118181077008629314140239582800721731158870832985302525693976960243570357353861391565226834442468915162827123574852475070615971765573785717265750919637700218504254632305142819030113805946927344927369994397292404916721315269982610809458179631234806159606894277270315153218333833671633434053791724539052817291770033399994394688034239622463731744296315844425248864058214687773315956752314858947344165545434077782379712390384230648193668065836283474806836260424366822650455093550242025673818544148515552272527761166653234281615666433650825811120715038557630317052328422104428499924871754788603947900130774626518217302082865359141184351035617638369789165603539869417610193056185273392052337513466140479707617135484681024998236170139029982797265844958447492001034137137527343847434291130432555270105857703017053682798951339058388885868389384674044861094101939738434274325882288894094406611704540199821329559358859421282352939960844177244289287429547094289308304824548186036978824745274326168660037047960567642026865498036814137031927285940364240981904517940844956976492629065266658039845031447334903288314052810743829422599224936475226933315309893837206150666203956761192633514819549456432283678454565928292893767705370898176111787281322711087070739718628259528268590761092999982853917952004043892981200401619826218923424038310820951113474366909911554169110393408711059605327438884492315345807879096969613376177716149706488198299107260598125009715805646787506416234203245047931441206074746510135576020724530694736536100051086556350332007066450235868965284141979934154052819032641437978504993886211618001907481546443214625004847229221423164238874308980701195838950294822265063705513586615428435685169506122692146626488942985773201153786247672264904921331808448786174791468806419101234547401471289958026007978881926572432600728816730362259139221099344524517600474420657680504903057419981863800444631319581974379220431717018284669820979196526468703876577597086988277186950507577857426486386994733744369419398095968606436057621997553517646567263045681406260372037680344112840464952094810968193871807431837973578090483570581888180043126836495294234683851131161175680493032551005685083316723832410459964212332022822153925430671736824368701923307535037770769054839387357462014788283250448663257307135093415913934271448324641503516038389070666285549371068118561384342569527367922051457491267318954200373131843241408147285217234656605118322667709644582326049626296720852048931917395520346209840732710126119203952716940592696661153167988021326719326575766523750067777789013714866446112876342360258946959242929793506705631077094099604828012191642342828027928659539912945156323779171993617574628639025553407974811903494361823606700587848537918221560918010573173323107170861903061275086236573127459266272664160308008643202515470399946304832082084058478651399630744306900100539934773868918073169799409612665758158536527557063035195379567033070843497452178674113943099712231225587524751821452966267140663795566218816910057464090926985386032676759362399235664957755285888377144071222145831349014744524551365984028253048372293687232799846436869704200247488977992163077811519609240366226123015241660551825785722958783317918454730895199679462657647998681627222303013002968345109028909071913245779071287241753855966895106743220329479393690098784585006990412677536677036258038787219028361728494051056882607575426328176250399725022602093740584339446081113007701091212518866499355064197610390491835016994735991499028899828099473974785160659910823624608627664954524050247239223705367259916623298695939653707097736453464248767558141209709420403240509123102077801133205378430956027951463663563898221958793998612527863251707216158244245536597969656173265986791836470945695301566175613122803107746931512273521459912325727047931636700127471618739983676370295558248452322405278388655405634209225382514774313362439991466087101630113501254711956047213813536711722205520091316113856467712304798128672792025938446082953216805617787976399084920548746287887660538257987095600754740380298157200057066767447434110368497404147472178946880556169115254127851518755749358523141072610234919183958524679422966285767992303411738582041915321952720411662103406476873994426643017070236669129066646937571455778585720488590496282097955112800770454792543805643974661372863852097488842344801318806934412917138997773217897959939644088491115124814335046031136213613673806518129755469364679310673160460034866041789617286237415823899192508124493476196831584289568697849971322869771576736154033092809996340536726873648386909210710821456511385182749599191234327500955726876396761612553997329100197661568319085379546135870982111099165208128955020635332352565895721443485392095258802249515206799165403252461988069415386008780818370796164572571412160072060043871962708156505879085204512716126434824739502299119960511804638491985558521740881797740043736596904461535629609998995991286148758396661123205207216907356962957808465677110932683275920748935617783262196189549889481675779452242768200838993973033121990057272578590574683172478810901906846013172141509039388161351463240871380797079273121157384642298295335627334453766891722318537657302984617264550142534997740727668056430458803149313902798963749546311356358784635157549637902078839184722710294919983068771178073982674077016629718234114241241661029628349911905938561906322408702864691514904499447667492852725913675956346907943629480875068759138625459051968422681660296083197171719834042896257315556155586406597473077278123857332040718350939997206146058555498915986934237146088993710796237340830653078902832642115284020954150147646766141405828368081078686810594162086347121959857174964747726453653317221536434143769336018873331682504677511147435669282279524893065653606913878437375794877258766341801614104047795486163009087611814175897291182820536859757628829438137958276751726612507279271337140158107072167728990739856009946951783480997691681674662482696483582142154033293581169329888628008413648052593941259312412475497338624641000416734985126385025758732429529682267675389139741239232574629507955632392406392417360839494364351015364706536997755938997333980183639219884484451944853708108137712635814282829915511193123058929112796314728611193404838335228361650483055839148610093047661609784744041644551522543857734196086750176352929073248535320959567354361117311239663638363378446371920231184338216791820377132881176199510143984773957986829227436055108112432020337248832754697214056860335757991715720996587421926734787253054347019121779611726309879704221655678780877941133975073945597774231112311117441930537043592480815148570703447562517411882021204038895068324080453106404726058454453161993423661001643335932097433959240502171271555889504824587072199269696715883683743127795524933872061655463924298822503175561178376652118702131115365694473500539294636406811142691452819169324266929589362576935092584412674090884752810087873504054416695304585082463593493955452813693125805325762133602999436647209523223955524957227639684268281155477092546134958811791248268394833732116821436220511955781732146511934639772616880975765041355128221906895276177174861665792207251461242882699328834191862005720886112612874916819420706026521729542923121514415589651473345418584078310683247905882920554018096694447635050972450674822343174733300063880877035224608834461067697625106185109823203019477873733497127767379471993214373171444906628314263120411862492829974584156200636249212498850052041620057977962789820181976992298552588275263453546554643563904752030079797162416291978226716411836834905613887506813668239092475078661222732403284870896927265764851975360630159756037839557046541830576659867732558533698414089384341128104000475229590551270108534948771473620163244491618848803517307446700047581930014898890143004760643667317602923324324630950357413779630592886130872437442787640930093264643488467802567935991104125441126664400202478392083114538093205062414657814653053695240079390118551138830517824403120127068299346479362515217877481494322161097644790143687664523764116325644300799005593250724293604557211664945068617962154676958324247634220728589207612371989921566321943947798848809059467361410262559863852848629746603631902941406303888264148225805361483977019840340479883907608346604994915802836173083593554500170860251963167076596975422873002388326644270170739446188695996126171965384692687541461220030864694990420101361226564606721927396987152162419633401863436728689490215443896771211397751345305345386020531100251382059303143690348143416528863194419572988467601517070852830449802969179936808171899874277213314812929942524543642551199842294875099185558004580845177061302700409339984906564560378006338528780613721332980646895895620474252436738164582548347836690660107550143252600074920833795771703668773290473480095378849326617085072314681941970608484548220140659000668055172432402858791925902015273379818053495673564857567860590847928925384044310098774653924908620714464970522723510207599182964155702191165538911131900010227652442853189665456881973206228915279656064122699478787007632645382259857581750719790490485660108525430101296589678620768444476529084316437206173057245099658300438069625367176792616237323255418516698346184955137072734259812683572509237632367085588905108397944396210995353172822622335184878419133334089397579753286907306377203538236188845031379261912541591844869407283009148267678023192278877927667268194920607701211630438320208225234658638528641906079803054876392079052107181382189181486885746943868270999147557687735633309095592429410544490158833519149041600064926280620867962443350574856854577197371587376530997944542447094903643011740503712428192357066559045346631613086430341777475342278722598659177920956123093727966839280075903905912646145437433038159188978280982368975548481006022930749888878204123677437838442655832030818860472731795670446622417610613699936321513280244937190073056327330164518856882595424621147771424662014891699160602386690568822488719310400616699949519687690830921853923186745850833913692896980096508016602290493786065554365364944947737258217707524071607343759354047864687677329747819563161096622509189847509774487553969091873035143150820999359215823944222547063678871062120161843169883067985264141460884810197623523829838366893159339742853726078583766794393638884768065539159207793564006561669245263716751694383850472030397333051424219690040526793916057900207360713973197240829330057947280938139526855570774817133049868883616660466045233626551055054054325002240864488962729826342967301121548556295003475550106323153467813698419939376023254996223762645924877980939743189778512888245067464455448424953820874072929627383020577331026338517926438592241745712477572325376090933984229395887356223665112023236826248399900857471969491895248020745706916191851147108288724536522212925534931255165986978323995427619285898015723521110152562206999117819830435787110145694024633566440353696186819854615019693041608643204034936813496019188684864650192595908712051873793751159616645997697588714093574840185149723535206974865467926420440176269814336155551398002644800947564667313128703854874259931945924302254578348845252977063167951302529106032027662059878194001233607527443665323751938769369604965849685941606971264150286247855541429916196983032447668404310966018229858448941307366118549756389103201267174414443276042220058170412548575918372891426748965774916190147630588979333929915602196725931626694683837149131821133725419771350740324050984278401793236325650846978576594113955244799341816993700650439040668184663798901710083160303210476206764246256327655984914537576327113639264019794482805558227979880146382985075445847394348155034360999317017581365225759584399745735688689369416130625704335221894584562698659465457149702424526194540811898036773408488822387196573776075070647217077050400111088575173892869700609624665808907054784283561651833795174854774671049679045302787077804292689246562431355085455182065584964800656011266787524252760230828208283086202000954670068181163085025653296596713272479287526846541006535104977414952892744540295317972484002865453632939505625376265724156552198483878949501259087652289844275033612437509725825702122026653276530885755627321824256561326763547727212777611015461239361130514488319508479893359672538944997555388469208207742621886871482138768524647487353716114721869384372124818559294688291673970000457691072028949607447506913116151832959461278338073935547178786081397233672406433948524431401021473108686828483088850393635867105437397171129527322571847543475148077706810884737086380036506010029799602683156875615939591112326218178668975573236821900034478191931917704273726501711936573305598689571920412072365478136686138118268370411840178846771539375188237084048334661647414580727257270979495458834111962331305240078267329986961602798142204921040098723831430590081895245938034233036311586757755865589192116531144796066731427023783613824690806295004699032756226507099779971501223612817203827598229498586658770063444284788438480541491256055271627045514579349593652970575102466480153713747826204601659381839497703084370052973365422581866705575805432468957205968148224024774574019375362204891815659081650209832860518859230513299219504827710018269064910063593434506089982983709806427445896361912632520718000183935691490028220683858949962270595257316529463643120934132351520368099863921205728733366513777923744721225466940933372143712434800493727365171175624838402675175117699547356483167571413670107849528604339099535584645925035741894686211130213864448031756452634222045189302700354379447382567989184792834225470807971621078898727318713237994177094176485286171032026461351068769397167887514619042608834932921950866757420082008278251867159267443310072082405442269655382429163797714244606170599456104476384876579293676313584652262821670167734655245098546931150642700938901597331030886499837813005229011280115438618288463144664116239470681227288136174400089490323481441884514527456898998858802370636015488042087886777554557914197891559565765444233911586289699698766812680326760173231059241322319910171315002239574600826158381202530873375711768140342179910250523702041732800745791219322357500172398582774868558891933180940179300479656054929929222532646875036073130737341334276631816713416043658852886932379134347139672306882769149763190336782595654806514981897783225350948197854447118506807897129876861890798234945707509488302301117298579513907699560408450983004043092043355214280422298508800205736033568182520865216066146189852775033843216394025643257095993380885399713562966721068079761009308049030587795460776793762894946740865913893551540219706907501275282073374821085229219012762001559956585990310032973196385585660855606227278273693102851521207383055879516534113425820972102853358165036711322886569786198393651669162955207607354422033194479745674199612602358992318827394260058469522982247258690472123870877833787088422467228278700087294997278298030496320267030068089409448267262402264280286202202272117953892034450078118931163300833540029244799919040834162502505151153389770782886870486638018725851301380378557436604260393387974205553592367202864513762290909342897348507447936309695016309453665691673338343103082713545400078550637072829339639020576227426391356273677500685607655379223872109727384067325886873323245742954826776482137817696048384058265850447287710404365060818516552139194024816058484003014066831147276688389986757357678396980216936626654844439164133163873014837419074450123030765083582883288239337804016432608338606896335278313015718372534689440141906444475808579429604263209236536192741441290453315741263207872603889925377312864350688000907167667650109860166721781781793629597355585471608270560731020483532369837576736775953948040100686814918667551340135459576786866447050849696921956703851441328984990194073967283875452526651461952992599008928435970324289358445954126226219082779031451686442939661215839767154057304582329634791912627595231958890368792676177461843704327613424550521811428366440730265946490865818219373311957930277783532630344165213744831546883572037512546182725209604981661139534287541351646368348946022435391739405743127756500506420664415588441245557224095367901298831300366480135089580217137258251483630208314822092034949964719159414434586970391514910806497504655111569378507669272284143024501012391348101189236456863377747061302436468579492357156495389195247400269328280435351912452563307069306430258294839142517785317243296039077006401538809777321057678291390010982255035115167282141980241245533760584007715753180370514931484982933553456923331580561254395905298755090812368418684721352052592569180181617670631323459766137395425553636693888910377445269910662137693274762753901647265177155588449787275440033127046675581251096196034590896128034611461786807618321971172985998371417787377338382592819008727754828596455101239409602634606584986965602122266408599952332282673499159483639492341438681009388627744805268337583828808909859934808398836861749043033824939943323354357134300424827112525739263519246980510553237970343816935516433241204579895792826330143696559084326773873354758483498989657557109777154411088846208208163030770747674237436222143165991406473660329953718550966294706046905264416433926792080632322959549288639592086775174367591086950099862033431128638294163363978289185508054186162991509856175195124896993321930359401617246985519198709131456401374735659249910022802718053625072445122269250253453946743235733099502840786713071585152577250571723127116719318697102572409476740053876667711770412980330277874079578255928006267555588728605034082007522444270948698581543056675877851216635849600558624129898596293614299783843811893218219260800363703893177751850383124242355581882361601678774902346960217966076422892959748359505303445133952505004211487242393833299924249791293844905649008383824719163352674050462926826987469963891126595190356550434244991107608931782223458033279893314624506399660802349262781883234898548109167157581427907087321930787717825552203575267188922035215107091647897144992601615918661292101287988905514876168651419859069317225117698298004861224100028179004835516655655263588910145252184569330115773419089080214732270648691813602946064964996681008293074155635922728137858416537658155580156868253166063804689564371822159767782010917219987835572877082150839050164095905901470767486803188014220621433924271269028828138039681645009323942178090075808724682076797849245452571780281175566785554468502169319719737867433203780126906415566437333319073515883898718571027773606959159420109510503550663550012638845908110283353609787242443638634226230288616196087901147732515239855803984595324016333108379195080582870442004605260792542551081232549706906588336305860017335551727827630498321972758971616463556450123162016336701799870618085822864373896439021402502773774258434182663418431771241418985322297826082643409588603846857699838612240405045905987283979638733894018380085797385034643528511891404532532003754589943417268568600375738250738186092553271327319367830875850880491666115240973929804084789077038427038664853165067667045164968900633611299705224100816442051053038629968840464885088924150457080864851845103583202296931997695881366660170450893244837027786464512379406653953477870872562300054411372259746005992970348799896267514750836437936445689478350296959645838493316153613770616857642529004055406223586864147942608171203600161093561279883579951969201663600929277694572141237435376634926918046825295709835790527301793496492074624396291990964794084545196496078409158449545936435001510172701542679523699284829549793912102367746890389500904969858341682810704606634886006492599434792995175637210811411080531494875265782467100482545643617768465994684030760800254710392290038649018413611892839401452871886961862625186367560623968278576262350732452188056138636673423249696680037465462095850747280536798386501257994105901997927990762520270307197739241553245254233687604966898561607082329044697956648356935793074994226121792507393328032533930530974707878248077331235688991166375855755589509352495955747165993590265915975023482188674502122693610313922644983293272653965346827850464630148689107392800556138143382845871950862721103388994908566742240557544838158706728110966732079234180584321411283205313117436579980040694755804426177490153000919115276662274816426385422724015939676235672053997555299681005598675520088215727672111171492943931683783704276935166495864051554612100572121036752614190817972556796966198491098252883067874241810728558399698743144450150774988152228059939825339784019299607634956953878971406606208429301294682499796593856516168100032171831272162013528172900740945282587704130333617724147111317857205997511766257022456389612417330949892189006908375103176337162378287797897418445967476029938185133805506467202718757379365393006606178714764957924661519240642204131935403018801289650786842265778891553854954282168336932168638739014419805525953986792910093088991333435188603194873266288786777920296706796306703021960730310304543134815445038552949114177309853197770234067834229132879501709028917160568462986022209471542476467105453429630354574611778135903933491845708933302964363198898184523807308313676062410920801849213696328359938535988091273389400789541398581355055956294524764755719040199254951648367941319985676702814959574751507391642663140920323919866553614565722108414726768151260035318764359599533925803831277272703801437308571084786171418335527807950802679070658487528551006906711924201329586446318265587187050344785127098832494410989627524778279981602686945588596670544112059949239499283953912899875386704618753623543069552733840371161525610972249665712988282531647901482571925881572062802255339031399569661361628046426644177292642518676723887681223109538459713194153835135025149679542599483792329604338830566426590961809190523705139132381223895081274303686176602545074198690308747170438247117381801432502554328335301327038989199433605072435460290345040139268323896593866524545899325551477420811462948893277857901556625567748807123105422429329496258705401584216556010455309248163955425876217064696833374418227542306883624423002617066418432118649249832476777168164727761002888924907176766602610384080182582305097924613283644874282412973123644646007547824401941383692114699053885739521163277637117320989005505278142451708681494346336268938466572740830908269793548286080146915199195305333224778816426453244855997427182604002883727594018716217179117370080288772731335206059789890639839070867252498938735906805060965964963898139944939721302800927613122401416402025090120323415188610850194756968769771734277907788973085680276342232415052954742741162820869596929182600095681965+e2914756528234275370270495378254667333117950578335375334063809277223536431401436263798395607726568012677727881607199020710405371175332216015107017111202475902310873296910640371285625072564896895326018294221570032831010591371025646665109468483969290261410712297083714852720239158384445418757457928504776001936976512265030995787748137959065952723041564685174140183079205713985482668226855460498907829690901661847999775333393383097258268524711420499122471909430155991956629761720655002115268575074489243112206462184695141911410078293504947613822483919300464491213783480141445886497520668227358627267493747447086041029042099883722661957692502408520646848958540718003892244406550725421446291464464965382852608772436570211579918524163360720717951810052229133185613169142115031334431673716226000316322756461514159237530352273216061356194276683517480447965488284331260889668021989955861521342985022302299093181398894256381581305735964885325776576293833181434907705306148637584304617947313723695258064847595928501427458741022869665060711436286558395361684960849665857902542427456084353761068944422322798050907806233731137942506740110235435217053536641335705401415658403124940495059304884546900475435849453492117040440124916975518213260520041946912944335052706627163148342738531725281906278032969583337502555730278568307103409359803555901576525591532264506553433900521870444994249685148713379671723002266777393462998989516685759371797686538976395185037897694541710691554342171809323204983347431790865291620700962485883219182274370010284475561701419833743292629620860318886179220425911230694569745878876406358512003249408956843322402272827888000644596583488730973122604514617691362922380154363685046517170842078282510747184562078841759045262202574758588935362346423349865208555152101094740977711275253903771586716837503790483510258540147297068872722094044517642619623564260249431933557910796150034581929046919303650561530457472832124149940892359405771016975268671105291480837799479572360906775006647985281950197076203295092894678378196201213230862302911312870809710330784227425686879120427617581536726148183851450572535498268311104840659936201250535276292045186760827942564890963402124520158754939643091572580050284638766751246120431788059274312907894469786398551631658575129329328784855406352617094853466320452442047599244607508913252006063409603562608089931822369771379849720188540478581883321418658552734764731790568657181422309385570148831923979954684929251309056092077489776683151766603844949870077017986875182578149423839018026049730417957304130074588789503327501564479301934064612482462997747015654606929645209459815205991893360941553717439394375828517709257253528812767797346158922812939666119022418100046751764965381367980082346356362057325744592828548748072818464781625419081263217194911494253841933475673710253064487728464740053492179642878496856640686072307669176053542381188862833752182178287803359509827626929416637964984786224174068942537698363079689258870409107902477147193512690618617868778780940654375846205588341049828999103161720224076725751976060971881329493648065747434721557746845199360626433129882277652526232961899882527049949198853206821237619527991695782611526048851974958830721810680871945740535844552555729810871078184778943430005251925926105204232621736071201848142654586038751146319939081365191356707530327433264450358486117342135800034807124861019059871507933623827227061668789607686958661933518242160226096286946533310433086022238352184002818583834897395017462318728140331101404113845668514865830654809949200611127806757153958935316320440624968948533271766550101954920183709595549188254021053449853091381242896904741354679916011322551807388999665710378561173425792002732521609280417286495947437837100354745665908657418904967862774932526282774861722524032939406811063694083769852116731024966777175464865233329750323647036833540188795230684761714288104797061371172895174542935353396967893923350541351925111668227014703017342528755860571850792695267571427909776572541837828288014983058848937604050245147998911401916712708488014150666677478739822723995744647272440227086859934126427013690337573727425320446858622644903157126498252987031836808162574091903664600900623727509437804515607284656846920292143208919660342181778352246297723254047925961270547372719340012337934836344581757487878704925280196581435086251112809992396134346924287088605947149330791304039653291199972576400556525967382447767878096263025071843331099335211111012858352869165501820873326750073459484692509271363363915700700145086665935865911259760231531568288847530316808155021076141517535540293325127134639948872925790254496828563476940856633038527564214818864122018015671196968944367968866409802624403515131125753579558490380764124777200314912469434475405604016606526660271419372930572252676556111999116469399894062409977542373484306162323404820261250126383921383992344786178496734746504899147768193583100162737322072673709677507057389615018740147534007076747642493354955950066921642341947623962420835422649243409834120812301565540304569613175178782983115481948190647530049576564954377035451260225170376244890498047740305642796404463008699958764439681456845487043444435322418874932399973423347982547009262369784116103667092782137859907133201912544810812082228103203938388672146549820221473205837341279268472346221565612155630474794830687031856122705111606663154538718631918531021535607563898563354117410465587941623371883839165598459698276182467794194477585056111073812732978677388725773200911230722115324111069833301853064307481614357760196271632939245877735119744642651491656069983683388110084450837087344941851412940771771436640640394900085446652632921085959915166556586021888261456674361474182730308922220158415292929088797962915937170307150690982093882791212707625877594654862283591881902374348026705282661001460549851209735739331851339430796872979009195860003100335491470277485507728224426047092834903122190640514357729625344720332854065040393741613695149824077264860496647911285564079273690518027286940653083539169086568811613341157335755000026146922704987223658594069582806410312584173927282351969838218880113381801393033288676582503413626975275306801130219069222883145054572032813958199397249629953650120523726243254306130214211799821076378192720150785917350741624723370412684891192885540714979543003144322913242423107178885951463997322735359721031771571267625924978371808770886253532670532056664491771660868686139328372809467836125283399370995027987367405110923473724872071695583431172985979438820218417596177610838246956809782925978648577268243287173755843247756621690516352780617185689115983565846197734224285225784825615982698208193517065589178750213723182004814397093763770746989462792293696225044521910987777915105544836758275957240458157148670125838405425910856001818542511844347387051565770370784758019196740491396574063021311786507748314565617466182414747816588452504182763412040481167848619566719127513956170349757451525491062906878265095139206961215754083495182121820355497084437125633172602034129476926946501224709018599714436574188794645779369272343434879548169158533212168217643187686551667594358871217158022432111796855724251261382019923369890161978440188404534966950206187493592459689430085583390311151811382647716651889659988030347448576951944711899774774577703667627534629290371379948417119775469313895915944291397159882751327258759340057488837554633830282900085932237997771758313826944357357170315026094189942224118754401110341873775105219654165142705926973380659189920885294030400994812360527465557555207820860982385511765401158824466358334524962433539171498390957584337990488833206336507356642510964875833828261096666321287450666246759333379409187949169026182937522777017077187801017919640043717185198815724424627340525521022931442243815487042996168830932458514949240908824036642656741186158664580772886289075330927267973959500509987528635388471117026312564734822697450998957288181844211686169548206215210138256552973231960024045696339553370225432067174176872563197352601845518716623062860316627352733837588471044662878009863621816300178116342928305137214778089731749782536740871304147717727810007175350224223565199982676357359069724948581849558648925770738656538144003109064021035533706581246251771081109504827470972721067794064382695667070917224499795686302732901680407490332083974645595769271541581442476876383879328016134218568612971561311890844876781132181154561639961142147654424757286393749022020154589466808503221052328240644671130276889839371488810644801598603841721606533891695879451520612996260542117516877374422694875397915092403255844892246425103632555376517034740420664216928404889638201907401445423064658501181244074186826192854260846918028343762100705626821369354167982816383713983447232488515151949140990461960326271419583008494321610669857009856019168698639161424610518218413215453212285312476839190933775308043387627150517490301615994444540070954679640582844906697161715034030519603752136558317025308822527598488976381136970792234136581252010117765081770761114848698936237460257965234423654258229132757624769675300764022677491525712504170058880056781140019264965315844069047275965271472311907740244960077096702241388842932608854261468169950374435519704987062400546585590530173824996416134574550300850925962447848609212882237467775989495832538698731219454312289777936421894655638771816448786886879633823200875862053619688596175258630181180766963555635686415961844054382379297764220098652258552959697847986962504505691838683090951846554142523273934237015517622718584220472712317731762416198671442064313705938931027461200169404632063656171166288247377583745118536112749855785529276926411024887719983081759231178872634738348319429728095918246245718302148279313307316829975790263215651478521074707511428298436750245684466864446399461382347115159619285982548379315665199832360451471981335372326802614529075020360778812461895487969333230952290268061427717477263316652657196114913285078928646978735912941762476726423515391908973797181359719581335708437647666257967295496345480172935691589304111050591228988195308080330370703808168202011042573691827856036338146998219523992451654531134980904815637809108646721397522111133814390270312277061301273507840143772720051298196356475748442676955247465594524151018715579947754398237706450898119180668854739189124825662761574603979976341471306018576764133523010107033170531132101778303685986228921351506619021218241701321143035381463225159293317680732876471122498812557496749700795102961074245226591433137220211823219439083507176521856778729123446400300870518362467356138342687547590577728756924850585511801756625675667645557944192846946311183662348114860774115591196727837314558681289259860339750324239083660620868993891854029054779697953127124935226321043170540629447951975568212847061588834827981896185654775961688836831333251331151937304802980986779923448893128412142844263353952844100101514587794298626174769965405616869447119750844471847944404067866900943819093540645449009627304126110594493969936492512675425049650921363859874633814073536332229532680168167520101731184930384237695933940614647020130744772115086579185149723445450534123345063842050586650025762035460016512806221479267289757053729721374874416656774612597515889781030519160047636207478129800700003055173179052872610642655825837153872301236515978162627102887514823254389150660486940872252903415933593408596534340337572775036821180423492067792927774163678473803847307703593997865293882829109415465148697186964604902296329390836640421141059412022463106255238014358494899732965201733358094025651510999974360803288534665067534886097106845045385261827523598988788528104609469185487159701709699443483164200140780605898968829984354880403617605877656443447338985373413786467174939575039064063592855343102829412581014112618180387812422634777156457870253161399092236511109936771670805111442564999563773887476734034747103359748926214714474347763347058585480592315986453889776000025075535584947436073571570190192899352123547300130489736746977177214648114865178336220196786613536100012428158981624835624217861481504966783771956551026667443793063470360647055800904791457028524983110384009789091472717531393002335565985083985322725579820242607173773471099544716285379516978605192562663817200041588651250030852208486967809903273041366391576718767355266358776290328179328920818755491058127768902919142966167934774801735601511705719137743466936538601193244616108213087335240094076185629083813845165110654755152982567687979355071784060457285683932690317463180450958924642122715997958714232479467279845177361152077869484821980607513221277305524520468062160122103427767799252824863889297230642206983852099271679157179812098218136433832851148355084195397348251815498696010847466885616350397798438229020204063671354101230100245297119242848327472982228340587006039973169213960479693629797429223110758670088225114579648480302846111970198923654121296034387791302611651763030463782307037718068432517885308466744175090783880643006985527564250889389679950944444165817785100398348225121137881217710689121152187929763097775808899067979315545468634933603303104010020951635271236839311654184697610627990730073756888055483044835018919084001578486403942266941663664584104454292132448896781849135783125861412828082073643948163651295794035519337756332637665920161860283936889884418773641133362570598194792972523513077102751928907918300897051624931843019121111914945926953016721805429561875286682397204735507607241317405923703265985378038999835967717221703129639387280071155741634377659983966094714943150646900457314212528340721337665829442487419852106150144570456931175343086161393138462031086971080514042651912445282695715505603677173558849184624085657109882259187432449657210628406138227462492357591476490682624259171029288613385552192152514169198492430291822377716143306732841710953092377524405010572247632823010639099761413137394530393797221404305202645978817282312803645785348188344061842893024227683372938746791399473952266809789127530524195424581999335247136060933185726280640050985621337163177697161710974099089764127835175034072163163762881859481167904409006245851157337634673719629062284008586811556410977270132360508101281863148781971998933489459562680988292291480570595833098144505503445874932202253956275090642324789268681003440735555376552994484521301601175160825374929210878320472753862578562219613755832867124392898248116537598893579075700341541677409052704813382281072016182449201107509100639869067280098445685718468608861759977615635671159730598558545832821702387856162255424292346059454524955650268406148890026841986339046502720591305284408082280035939601076055187928368279417710436616716513251046874813784678911592195946273697497878278855849998337824771030879758797603187209132046413716715883984644175105010234085457250031349933442152655699129664509805951054519726002763695583256336044249612594414682172940487021727344435604247808045451690404796423886646281063889534814854425199697251089307705650332749384815774412742872542239362758889480970431805085459694540915025963960125305025562722196400122710238540092804372866005648870044397141463645304581281967954271600546882167697175415701428046128392972219970807348011175281813852341562472554201304642162263748175453991148791841327755971468597032344670759855107972481839600504850248213490101918389784644796393337388829952065003991377769390754602596681088680109336213364451822293051361321331485338864200602041348404738874034567346996979373620580153232836204251850649506160318353878352194530615801771588511566875702112585579079458527500759568138561711598616753537487555631466414717866940517060719786249505369730438322393019192280806078704699635687819340551779071870750311307085777821978277274554641882034733222114424241188845200388703496928131703320448442064215285545339344544079045989305828548213946883537136040551681386130062378986439345071246316745380588936824499625344479022816366624437212881745590939051235191753217160348644293488393639148325846774019893534072903477303335841719112221597914425974824260964137271493754465900627001647644059876938405851564526448603579974173966728205481055801682131050668156959871539737439607032147105123818717073268922882705931972486989773780008810011481095182552341548816018899020160582020495632906807400501423742990112454139339939891843215781970213650064909812923208749527616939204523123026448761765619593406358003315837691560646329388629474576827500271647623478306380459029621574713877851398141909146150032399783270958087924214350067081532610957054875787300945063783037400795612112610543767365853289141310884397578545011949456094909030230869638412914210155854466589615893077828339782790595144892975465062766792860161131845226746284980478048456464697794448212853253491317362900681371915868063518957001937457618865967645461722810530646583354130846722269653834019393952209834810792110295589102031448888961375364777707277397591957756642991427095867714463325632408084404668570078949486910485947748108784643660666626410688174060890679355631997571235215224630631800935410622581725466901386369441746280562722814552442590346401677227274766949624860119363005363215952328124086682695753074822143639093025435394785550889461775251352754497049627372650506795410555742282108060907285437326877144628967379106498138801534333347739847797609460484286469094349242428117079926066614272172728662004825745749347908525852226013335929794288112824988465909500056658549960991194784732222294420087051277268507196571795134606626554673519381201858157663343125070439782831061366183040394817414650848044160296124631680373234811895902538588112875164313736139349059204352383581197750223056902817957484633291323298210717528811708569952471623964907170843846126095900157539045735444748233845664154191864960433109594619195672297808214603978288469820931419650650671364651499537431546899974952241379736076021975149740740355579936821539353440176351347372152247149294329796703630794644059205939171515784375830129784191233936144415985434140172343784029442058610300864390537961251854890227388520529178121829264550151173804658930848680084901486691710311708591778558856279337196289531621692079846824451306227965011193463680584269806966580299900012460728906544424032903922832146504598580334708301691995399825475024894929519450739940672574212716326930982849022238295675196590144947037412344569300077509458682086901645079445595614394439218738528904413377038599240693836829603694235562467238353444927602782161584232670615443709301383553969037670049002768069991229796085980668864986362288300422502302823989996304142561411453825258560870961512248496557694206923791778096149583335900692032826406595694231489924415506909111753523182517876868411181774807092354883356043649682802199581481638326851475949000300521799849123957734991687898848092184398200728493003473172156078406835868130901222761188395214084868676681671916392402454177595204081849928311950312868277959771199475367318405767945964979048177214963614667433149865254471208240838190878713247125872439579493686617615488723737236789637696176048709470362838581251137016734358340597546729799116252953848403430489435037126330165372977717352323468161896629847597884786633885341259559133129079779267020338964089244378680699789605600845951352398925796977165048728914429657006809570399005821694497139014935637794723655337699258963897580264935509184637408524542823794010424184015578430385939343713116379789490969903053547601994428155036177183073579945625926568394199928636963213329902696354304935828683479823377288657204957350053841281385812641408350045972978482822971662846109954170769966906308696774960870995503591417220960922599107107198948490553585771765144377099729535677852100879068502231130015188746443855944062832275409612142019873381897295408728488551766289189417596437987870838695084602711684354107997696870969467040511881237657668328235221387291265643768453331286009743971802240904283040603923544418928138574665205721901205859223237040029507247720812062760784227954078140964638842360736726340345963979966551657883069851498442258747636481646345961846187953398382147796072629315610550247808636163854671143097768913050932827434731309415034702703321516718483059219352875447747271343216074682523658858514208257301824532910182449546399730875517910365586594960034865850038711402439999768386389977673778549881055146024152913902899168234112319054858285786079458596319740193198796524294911059820453549579000170944573086383285422778745868895082449949777025789968954550550260424540410322890918705172428456410174136170571874665484629684245354998527784963540008792650286932423405175583948960939115335930394634444914300317322354089502751126680272604738690826446696062496054393564159918212886667365705532162430047060003581347196886559867210437333363633069991501457555398552287733206525714094152027677432853636158830524925650862540405990275883968930334011099563716207444042531354509110219288779591267881137482052063207445245194442120453193328826167803627157711043091620962046673565940675549863492555763269836384190187834740189536003529434385794002718182410575497770815363065467938779130307849516729276872510223112027258232116988835632085020631854881627838448423118336149104402882064959713767178932868990332723949334228796525548926715769043359294938737582036938721307423779810205098946352967939081823112294236858674501709495523708239581106982771421513575027519344312625213612956307674399250386839291745308503235113674799938831751137867639154698175646559532730045723606814293210796461527090216700060663292533714371743464687257275442783966539998263521180827745301779285051270098570780992668198287205933050259236407416872894632575370695640565417378966367730208937998452631294121039666541781777466524909028442865741597865044700554155079045221915396273899289547154683687331545274923423341417333911371234481120512874321592427749078411051164237447179248693487516577975293839693302429310870741598208939312293744998049028112464504309233472947358482586419665015767680949435193131589143219732408298482427156489530764087171323342103567285943829095514423575101534880808595007926599141690222585985087039749453223157426461619337856871755691125451103069132085990570745426730386498914829048847016000772447495257040523459433337969136573342060974049504459004700616373829226225949891438559929212061343368112606707062918820961167523870883063855551842646833279123520718036521077173558143480694969230255907227136502528886147764609825417360075726190988715481851835599235452225056044817366663946598441906121826521134962739025877633923668740315638344539652231125419775562823588334919974318622363363039413864817518426959932370626140393692093044816603619846820764795274404800481373634530315301092529261641812041304087030591812064201387778172225825558729010339759018007816358033500574505551626659659350985980450410980655729606583539529338385648636824398458336689553588548003188760312159982750828378242054582458419827847014327156991428096333304587261194648374185229039884234685523644308155766518413523247605368744176213989532606158572264712789126769058231413021070296978148082978886621082594612743330367477664564356475626297663016275912870346771638393942808201038549957983871154286592702745860944839759139466085856046310829813416691706865563251875709701604175856148034583000107770672955574259983788436748971848825331880235325614579363451547540175454497121614282238774040804032579139043324854078045650652175542467583125722249046713990107671029998202886200226099319321219333532555753385529120171026347292565013500030504626655879405337503305655871921305270977910463335766243931245696133430343301844411257762896658281746900451545108443219420385106292902148214926770291453483215064274580531124721962209878199717334083058460834143575452463654318818336172358082331806345802343344378985433233669879405186432986445455198434802989841582147536370815537690090280487545779732362575240900221250590266764639087234871891014251402420316799607322002111414039392566690469649374896027371794836202181157013262642266215385990532743058989205562900522172673847041347345267015425480897176453177533267916819352810009018675112867404117998923104336439297938316176799488290702355298130823866674465305145337683302426420916575141673297942621961405268251920464822163157322638870596323437593978314622676841849890632197847266099683041645821920985415191037939827223597291303593154875999904816759000921071520836415936829520195017209326478774517000814786997428140284021198541464577945864508443681195405571610287903489132998286595135882976994894252388509347006732312721341822469708770634454227650953207301758740717772137880747852385235310104395165390198375070520046779811440258717749898395567881460561606623416310299041799698936082144927368921240354446415401001448830569681707052609260020321665440729807979874366284206258526063355235944034660300723648420349674390006409077029311678440574452003004766873897729186930109566966578965542141826934849859027644593309873280692207881898992776327667565095076299177476297567399157026727534175092032681657388415447219964502003228696773624465129843059409802154015692256623137344669700792107529190515299705659035037208431483314377016089546650373215178418760499120840714371520043771712619850782988979538780917386480863740038427334287378579209167143449442486139868797564616622559113079519353531502288749301888799216188225570622860735897295086000838872331315602897398317025747722730265326108389049970894660555858074728330469395404503162227724521196249208349089451098230104876107723774500430578899632874251063948537987140310191085284819137553506216122475697717265848762739009920534091552434172768556929851763919338714959576944810414611717301264235841700614097260942033085321756531833094414342458671192624029675778279730366523581810083585464963982857185958306498618968614220749144855450203044825844605359345460147684804318711525987634779537541222914367461713423307896949894146339086722895359799498203184790653754346738485354415335875247322809453158197652396841640197029229377702533218740534619748652576735407850182078023604599554913686346124334751675945415570163443387191527104282776537084293667915926201111669858402322054332243037687799057152015457874227442947737407534240761208995637302798761434307853820142051537577766735100530435717953251524273962867577543586370275692944594102308055029309137154835021702313543469163313236142757450640073357913022373726333738575750767212903408647219865348197963951872383825819630537073002890305694842326919872148077397779721482096421232221657454104193068328647282305749014851493002420472236066217791714392561863327364890416357228512051229528050919590551388100164361705859675968837092321151397745035522581279073974106414653549153825395435452742184926303869096399020576031508736128981487488017112499014164959793881952892616539798890228824713193408887161746615724766550142473826806633707390064451026342780082874550840791997454577101371500789436410601000947494125472534723686240430532726487919659014588877491666939114074786941054423200161337143156753154940147709029248493307632420845451485465369513354607390733939474743281939980437118869844358227993423539447593424201387842864774118681538507849291541245724301933793158900807948002147711171266746373165265951771186879286533229056594012727894224032152807320447296699081992515938343645378532554133134423776479223780247291748182615250547386429099043965251169350878052803655557571069595703830938945345600287954253132802407612408142725943758395638830273164425241513208595535290303543869301845918239280053785717061359209684197231381307977660368625665725364180410560459115163057514308844574515762739843589804677208014561134900195292540722101924935301616008237888032204447759144694958770594492297430194879785274881680739381720474403082973412000188154304476645205815023396596835862295854540263064778227907580266718295861918216883618608376524397337915206047928211073022674303068770592127111132261583950403901808057289192508944112419759242342349097227479274807368455472826051982804562791391029195652837732840222601892121446455940323218514736208307529866421135170611463068708759503601254687106388756254044929091372409067099630625542947651750107579677577562744290614390487698465522382250626268221880828610476129577794956694616704709760729651719600008687049811501670874750823983085063789862932392571146358666286782360268782113383619254233051632080226194517867159196721249634832064694347245080190984038991377595254608534032163354757556905884301762735130466911388063676354784152325050019810941757334179567974328823045128232517263870948856288283587220043596434731927802640660931963989438303776998870154330433541852797727207816895820463408952159549213035736518010056518603030084137450025898899914767648153454867622826435416427025800815152760442827480133796498098291939105359553204439838479499438521652189244886232115174016979024399728874552395528235738555470801883860217456220053847694431441541028361228141176552431876930206430466589495732587723822438778311479230399982132106608843631794052077016124659889749735111480895012915549105013188253086125136857250024945668086023522156889465392394808577397199462877588624385514017064713424672851729514242723445163745207866064166339774158412148714257135034460295283890661095068703448943389521349849825144853623167173431304430615719424029303911828283324989043714859261312605790818162761987271858706138520219292331527817836943715641493624666091175057952746140806968222908710049576462966790972678611823696811790458664443751910091374665347648683460906471595514942300054930798346359196277948434887892486587513468370117913977477178517187168424553564477774631648412352060802457726463162825981033480696998364136995411793404809367358948774309299742033375976 -8048596636412934353097042637715830699453316531966497311595378851832878309182271140871031768765878177100230577683871996282250757764796729797675254363991316314380752444335222047495084138069419695031485919333274872217035197176881949662795025424867590101811691717693175699161847526859950212385144673143279555339114009350788415082418766813346387900937925069779910006888134084985170885681570673675555589107605334523003471630219786334277159982556066625788902000636273988898153951813304416616879426917726753141222685246820509471365267834440595973497379341418647165068405676173434381236687643371097150619436772130474232108655766771752697585910957501913780476045330621399080298058341841809515269341480608657454401685965838465511679832627584234314802518676327486660042910335986389740527159099777773164110900559435607324425313002319050243298163824588122764284426341667188924509987991187506050804182890814367475366495455272475005205488936675323992437276613113733492407085519818071010681294789349789488951152982383361703183118288329344552940198736807317740788722658325520559524334068954943925282015889834909642060066570872593716495590013997395323171278629112884535758067999551860907991802102756253150051926005225914207537905742177184476109821342064937839504711549199829703857254767652603286551762644734039867433198471999556622809474878074919230390489556140540499997914306431662622897401576725736628278833191383762504672476161823842657086146712185654011839931418695313139823231716230513508869848570915019334538351325897604788848051772617080017472951823414598395664845575877534721135477826878536031710397261865970538242022005709092041969065864838872376586278370574863899577270287437287124161118626125294014234297925657265389361175714316769181895570596046192201993436202342421908959873492935234797410844198488505483024437962431392387918876828476771134030396445903696494288125914028543774348138610379917749540144111418044979940997981675829866577648645152258347255323107003673437403131656402258702214224504067919342600252677468899213984390003258418655922889870093303934265780742637341620717918469784402992177552586648631544683561103412629584733319405559218586628989343323918450410187001851633441588932223370331540462550733280658643897126479525782049032572558514813657294448127323448795151924416991930374498342896668393695158967053210851706985863614183810907824165242532352038312020323615509915559715260475526720962244794687353256972931404076084528999578405950747263303733451806915865837424601427959232798198780498171936506660555590979901079238058461213809854526845735834077004840262562569134918413119716546122260426894728329380704695469184300644443938970000392752228436886042516000817019149316568603202928399001002936060994870852274486426628740253851073470655074433305169155390977006363551058724074782817347536446175630755829446034217162015769599052259054910614257064477963114042487584985066601329766564098512772621241767527850758626245098285560884970824529706888403214055621622219494876768646419932439112476618859238837791554457811822262855831856851520988343136430858253848145721183373100635278265180684598093101730272236965701232302952073313688625871467269383733230457988448423000176092943248763728716772614137146967481727505197960847021734661257995288260779588764798863249366378018034013282270649647991049678400505138558998174139840244104274224937004813630145249263606025467972875366849175692818300904470380667115900917699890930123690828804838338541302212425737096001001685420474526869011785406306629787459499071958871061501353235115870042949256245541613741284797505721937053607151444830969550302084197005367004348944050115368668297297736656012129524757493271090810705380113626590188927476675879871300621185756066878747325004191344528848533331931705537267878225677473229754848948414352339154831871113281777581534189313350734033375795062713176586548093068684221910437900219070644643161251675766729612955854848402721846003591463557942548952894296372994473732109803279064466195944264803208418310837964620231736372754294057100186904366502977504901541278189299089437217404177769135252270110110076897549256152265703222243476793372256194729167857371527884454703020851245371069996370059524195419707841489707628555553425136808970674014117879826403766491071898056579180860954514903742842053050828046245242715325891307722040052858773229610165856986650175170587456990851088565453230347076034999780885985961408922158858773184362360150876018831248356125654082448675654576561605752384040460806865451020878969534985489658858547204306695481356056515672457521251604463111369184857544781656873155512035483394979623214389189416078493131462872034558916126097616656189426733959506307132733714301919983756063114876709904475807909899264080403002873793130822632743669280442962241710046250433907285424460857091365681206279561501043681769480747205428265433583918498867727701643407233977247730700688571263639170913200146112112370249585860789970210454168399738954802309697594617682398340413408880032191850414292643597530070050085295502665286451920696695813031552022481929886970131912593896173396846959037945180374723105934373177965888875513740115747441898125113621621172668781456112291223936218600939306194231044293517031774534640770309954050409953788055629105183313418836006293781506079101739061504407229841119360179289452578630292214191222471690530496855838869280811946403564538599374158954194175591131609174143282797504113753422657917146570100371344775342686061783699267279316462831665045744012571519447390156569648344839442692963907858884430594520036972363550962840728182363918113722168516704119183214640951965269575549331852760201667862051709678423368663952172569447962034121966494370665004370217903329031157998345534036563704417071975202103958611236085365029926035755987375366609230768580495200798496446974754877856626966608697438192781156746741535123903762737549037345031607950694904403876542645401104487194275666306685459626386498038969486972724304849023853414439236394903385735141245822183629564193805133927631877551879333201622104937221194493349448583003395527911863974545172046094307856418320436045609219633254786462225067222047619750815330820688801339353788469536747270475443326689736024090146720447715251705385258183582826498645516253326964402512890274834998641278700318061232431658153542509846848070998011454641656021493390974073283086334918095697948397596913434952687090890371277227178789224629189808189136475299906996011483393495203338185726836525328486937477919445255949532306030908791548451505242949814074879889681757712884519005916535923003291588289688149061574328930432971322140138944060317869872818235660874889693319372159238732575231210911800234361696741536983427770864964109547629495768388920827005412024108982853320188992174176647062582370675120150169676285971878028487564278415441300131748027050898566193134609931056340165070051038669284864968165911027744952077063903680006014725829613200430336736296216049412106260600873809494225166970932374192152469940819251960867872229839056512407618855152130837389264191842205976951566981985813961370576927414031209099200981279529676290132747887088928916355217197036051425335036828840677118139053870924757282887971138879904821309311888736017724039828918612752684984887681373779971784845040501129707567826313202501907701774886068934738380930100200073162771379164837697682993145444970157204323728687677889193639028365006740034804881761681166271107827611817229727093283590129251135907280934808728168617839776010600540563265048074838623710421403670826244970777463425718952314691886620119117173417100998429811091683896829536099909929763944066124635419483202295387483877474008681324364814035786434711770300168502959632255835478871149179107159374457673356915992106235346073012677445792584085318931768385808176812501850270901726994942425332145395472619810104713309851307511042702973856097668129006436109423895082680219177299319154984826317837196349278199141256745329252946775529467478405530327871099295864616572419552007261968368217793156933194242442370487313154026353148478004261700748492007602457864621633172444448280600473610519101366896030476525507744228309419568459275224198669553088038979146103020774285061917537530337461072396673011617939602556581429656007664095379164254609489723600421299810667796113505643726088151472375451321934404081353183298357587242305610363761819337758703773490642113449737049974861861338979133376630806520649028136469476381710583885438602726741388237086477437815371353525421552507305965818611360605179711097447179986477450506576286177308243162071610555725474215824874611127436517794266905656130530021134079840519158778435041294216642069946119327114157773822446322521635259403115522490792148971225389036196509073213404618715859500425244094993536886467330037297250784103724077675412367471390135305738220847526367794453794927759244088262136784573141612014981827455293418287654188242663253337294716277197853473318584000565485188706415111668019089480658496104977530372430451559529784545158857521550913951216188259803419496160428419017130978013903264306932286048161876895697987225965778998613639739520109809741257927748800363458500531633509945839533433461928781034328670765250225568124437337432064044110867080658481136869722920434868064062029078381089953445600188114511935852892910027364134365276649934519928239444490805463982766889233225268434874076812112401099212556285040727144927448681700823091919645617521134870960052245766878932493367570160376391515202999985136663330568517146329060479689194773206585536373907125173251363852185933486333835560077514940445655170439362867613642515922966654483456585081745301772567773560109464324022319861169617305853995051405009243349565648378076365080441943197424590156993090659157392618027982331567188687944870701194016904168536254032926423626955456078704758375890295157411207944571662057007706837342205436122501969184015905880534087520354626914145556248047002702454691274185592277093918820210557138377986667884516107101122379292120810676467838460490502850909413614603541247213253205603623766049629275310233658190863147623249211139780916293223201747429956897022112303944366819185857842653356787930534981684792277974439786556359502912290669189006440338196743715106456612623733399554465241532045600271756021572637096610965269742791066680957210139792998436603892990788775616939801102165027306515585555046831934064480103035607455123629302615022682722227917854466958880261775136528960681568927512512758937663447234522870773646000275280277511266818296385669261201051070722060751772523089238578675082076403498767220540665643522020550190469437459626694258721955000230288343081243834250124211733057297041352478051498600344449847788483538907804963836060626602370130614406388704109727990652002135106749509371001974993170370783523110270209300729118645675875127759988128051025256032899378010806996708723858375199390540553653444036808115164904055220285740086681281314833343940463611387317197245676071327833902263503456378212991720153868258495967422351193584656684170017078764428755884334891480099010727795349137835299890058260161165035771606399138029245161179405021790072631747861785213542512214505722087371259330071358509742324096596253679514513978720827079488230877134217661278240344242102125302048769457575599646260493637388812680745422974138787928213062043423497049457862950855698014411773045961906815020305085806440539933631744327849171671372228472387940236678375482572909141181349156379048098548015208334553809714571597597373294917960437918891468717599426765388094338029020269042811756544292022657452664801707008375949460862037095273883173896833348484573798799239747056568141787726395674646681555471247063351126955444000688055592827745182496081647240338134905199084792943563947873806931522063261661077333848725037940095291719995293948222216721415734286359249080375129543345508073791547493592621353408734404432803950819470854909349344985358530147358297494884731885475110985112047988827307971071529332550184398287089932639939111246413642091911839943116321232558310784984097191295508331576924865855446845677996476502671476054659393907784475032883262439036411553845733370895186622865889640897392865395504014677173654740020771178909659052541259736330454641780790755853129266369094059714092161156943478314950052577649050488796500949970385612062928055093173723930829888669887271186688017589875879869845943873981841663513623100308202017394692998175626980223353176677337718119146808798740077607264119003036950532503607806669307929949253060025298578568127059841958893399513155132988992629626911993252424939642152954436318919320657010425612027532978519522655612625887368592346733506759936410874354393162618293563430535396384711242589940781258791966406036439874044930228343335721561167930917511936178124689151507645330521495580317321799824977861416471810591522467558740358046387244348597641107085859084010640485811671557768666161271992969027701898965932700339668757265187850969977561933186044049868596394310427176289720446052250009631262224244084166123828245345231579702446844250194497413940495542724960564902231870731128397861235723799492635935118443274170396088460529704597220064513920272880848890992563585504065557697875089160381637985766162619599298926033163226047713329702974825817540057391995698920022512114697441468198519098993115688899488325761503574773584028788588426570266348895265845447225175149917933787879317091648582311825836721200207158060246294428530314188320340276084208849584337388908030067304122554538486812770582505833563176441896737548917298468243519938592873467143256197164080334547516895164098535475181509844211162964402023807646154435511152260559111523825789317870323648084051164216821391335232287741541167483807709040393818356020394423161763454558597190125827076520038104462019890720734239146918912744481614515699685238144865658052593854225086967690726102970797046343977696304075248050569749465010507268018735271289335209165786738675488452299329254896912700393273911978197331478978591063092639942249071926173963932038369725631057255349976474968393149323006311138883790639058087621555976709934712211576671402164531028800714307558805785035261634749741024454339231700433951245931035339797122345448481908124838931666855579704460218520653038844132918467459095248211378884680023516384249161687708838818208520874524148154442312318199141094291844260096450881314153267468818194722841618696920355881820623454936133594373288213913297469725210053302751399312803253991173697812154541671724917252741878459131348912072144637382579686722835182973473697273023470358242635163560900489128640199446481746282830842882925709940887525892420825902312624127211329273953117399901344509231954206323640151813925359701644930472007691608019521058051335831098219970260183236631456590395494235355571601954519977558787248861426176458573146234919789633411873683420377602537928829782055353713266415296649533435526943488971597330870654518171846630998915166092191167730549933798717620336067497523496673786257040003068784425397649528806423357450956746418149915088860622959614820406267272285783781743250144626898614444862553031128443667042741502246644810315747582050056240300527483885046513581988106742972156896497921772042432443237527942643484196496890056322646590294471919451290881187919195955076645758913045245373267308995613289976788104820388806548650111651741439440842870863739794735192278331578572970288551423828537976711888635943161918272774529517300598573367894907935322087950681632619948927338223777277972151246407421215168182480207116422778310372615231242510552263127594358387861304730183158597809751406246142295868998403554255352493239843172871880633180528273544067953482860148421731905753227623530978174190032327710215557441894883920531654816880801386220322930422678855266146149477211564759993452458984810424583206652047148405641651232206854304962186092032618984209459055697283421340555036046469404521200921275309574099903569621285425428767229276808818386359679411985954606525427428267012991033433140510184947681527430840973418723886016523493566521507594167932432265918479727379639600216032475603314153026985860721874699837619942669983783380564661340233196201667587957406462140274529050781849729435477023450497041277247543515678118110477416441768604360731490534347505278814102173721796065110766417154037477986289550166899165728443049906796534402518329335027173499592181037687851885730462471731790920223113110401994942189555644836881394705945055541789936411096894124516111816583683778439730339051603216527276744213076141306201564085647685271892112946278818286617393353890171504710639442560123853380680819172543709673021333640971261243360536119096508633197317653879125301934033605680212145810319321073386791371861982199600631585812242021259357745974856030300891236530877912609396884687640941074849047740220161969320316300429033130036258464652715968518670595109332957725482675391142129408931864251145685173622048251491414590147551040679131337383424785367571248474631565810648992581327276523360045111892156967426770697441797713234534749466300999958994075067512067462528350379486497826643596994650812860027165715517191642232927900217219137628390239596841033946289100235900059082154930153479298120444156151371597182118685606448482097615042111052383151634498256667320824168465893420703144160728782787413281961205386812539723593774415953142484934748091165635024477184790158574248069397860582141070441477556970999028724704130348584852727334625549311003617763533948110053617181032434928896160554597612185915029584996785491669220901411103737685096974636814936126488600173851571160835436849773312394403788157496671116910089340772132433460209086117709909853033266719077017017848630740848251599362580211235911095089174991262199449670995407606315242853199420585444745207188031767162483525574230806359187183259967325679158792884439560578814922675454379261669032281230014608176631260207565478817130254644453016435475324983994609924508955576312081636246545128230883708457101511894631387019835113403450383454535228558279364897258715845390965487234272310799436437931662659497133850003273338981694960247186021508628945471569840338573381115565347241908056160496263514955603238974374392018259097679084744269087434165386333433190210884431431304712461114659169112393846189219800048379744953894023529139150232349376372960261885448351387512868998747245263571017845095958354246210934473720031037757264109745368674211506721026892740370246904781304586379483283479508744634024467835562622940417389353816441987680358710016257215143546390480369394188389036759586830499759795646365115218015064869828894795579107839472483201889782863462930862856715975595875074452798003200485278895345144661208587507920968616495941657344664532492406415276835541637463041495746186027566179825918876171512006646240199706880371288897149461225169398260068108248349066122367875015053160172118962970502759668261967293410823620917189655743569757497968942236247157313089345432391089074317161198820340276739178396205859765076961915145818737887429234102812400711325809804684546489092293665636060563673053609548649889155830439717074509061915981980827500776647464834033146944255457127496062708301026361177892349071930656848981203931268148574493597572457267397982028933982542891768205132083771185978488732933219250785183471789296244219622945960150678935035975709342214708216521580606309926498555796368192964015395937829681736227854885071794426119813081156970677275784075718341225723050669838575055672165199532006504780865613330919136967831233104574771534070081196783596612122792299545944962173954223106319790119363079495823118560070723892815863361302886117193392564944157735261313703314153683141538163056584636118449976465779124960466224807420265454002799624230376190581443599257879158231664894703773810389304091906920216997389866469408338959061974107918647745381221076163091289811502588452903125453361880200301473833878078503168616924047277637930319338490929780574198847800515746600761753641990302416198469936816882187443752914155986722945529127535492769150795384188474146050025784150188157907327386810647949437954164970662616374078052848991708314834012276113732537734733925978451073422033506762757132644334191519863066648436802637893528940091199418292165748121031305411412751995726132629641866126667821096407179784279155431143939711033873583583102018571988281474597075625995417738516606626765144161824533186850901781555244788294379722350967957248595119597538967062397583300224084515766631520256487455987010430811689442616861421167867660824035395459631417879188894672874279928466641783682703502161578297119257831921480782252471528549280308001314464652878137209276196246066197755222421434176313134750376907883405869033642374809574503213121483162167651001481551913455869117743152819129289645756003709612507114396230350234702514804077228151683426451605197550931550284010470733370642372147152208428959999962412778917121856308140137046144405875676500615445270483200044784284761513594158877835478482052690098349708133012907565505900161390125297010531923699341833860091223743466419821193327413819031163450926560462881136079352558686131143802040240653281318586544189594094490545502920272040607315266698239383863057194599789612151020063992390805636007197268596690896116545527202832844570649221202813699244194477872231495419739932501448057516404847996659522635987251079720670077976751633818509534653556815832721399654955028973568833616129693952019436239028396170741575555850373426149243292920916273029726973225951097418601812469063958545069876985929709813351459064838546724334128000101459706603208252926580992914927192062834374200694364375766459168584899427947138764211787644551311910175861794570113282146514867260477976345712023364790662250996135854488051473031420687004113926533971099146761804162895408791566983285111087199707206746738004612042754874713685307291896897368782050659020601153973282163819817314379493555691900448857230321174521763010699911976061907931368720116630611602922528930643970774905760922102504778761948335524134810823035515105081398123998521024017532183804324773518829874076409153683975509177740752839239909836395914466604570565949874986080721412071631280356040959647256440803000366496642446563628465231211531779538204649415889847560603777044107247604545245129977157544261683507569923640284374189036772050310069153637657116527640230535766884791065940951525292535581089968359577082279652373546397425333360539259409464893378909861514053228146316272853382192100472189601647278817014644864396353761844110937920741107615246892390775196101093280502283829421850929450260382900952102704866952146102340679881097519709485002418148382542440640513415553273547351409853029386557090565085459116278455767915560261319010777608457293881572320576909822802682637478977034489456048150352711006965853558116253870685930114414222807174915730047007710033496029201919500075299102893096438050970183233452971903185694350355375503849384594884415986531568317869343473143743307817690748891797753292808172615318087272273353048589760599062596324161591026352300389558654926580116485580345597847795582295865078638298422104888858328547243742715554499809287182114971695190363848587469319028459048128737985269219956009901766972704599407225169374177079166955137707657592028958665362491086719580447116528634490949498519390369503237899672214320481253194242392817516475928551711959470014465648309268770627928234193316752436268105202287099014653984789922870683125653374495062371951043440611145602159511317564879996532723038620838099123091601810466868283245451270404905065167425011030576313460602092711357290711136383914550712033417562583776089637151508870295648314764054852736643703602842306257846563949312187459731015478015990766151012422170263385122943444411128449694121159608312527071734069005096609736698630902631905521624243803798587462653036248902266601993485245201469962509599927688907447991413871778940822914974786631322795072241256468671261939512877068767003348996974300496369856752751473708729418060009866863630905262533525688585517795591866858494649102882731414105755051758519003915304899132562059766032083903527077656661037563439364562085637356022800904650125053422940405330952332445030244951313500760296211747101806921526779220296538151245186568173237024048297840857994712568376821523927948652857857448696645237380804699486981688522503178711671653135285893154238689028899156242857397896302745615717598626540927678457099484165736607579125330097833764602029712575224356181100806372742266169517041497207318428278454872508450386525476109163281028637887744782355092624843181406269949813303550261644120468708334440334964410548622237293275220695940336909175938463103632154443158183995832626684996279417153668698087580845603225844015742000879899548844527049755256922243442421597374846753628163067201745909068898292067342368684324601111227129960369323551549294866997121055961090924499655777153754588883409521713175330819524021791770112294567904630631515137506686817058615327080045316840892662265071052716414630263867047515931550668059802265483799614587080458616431311758218789763321041206079634895162113283152604800131850743244951494912540710111126203407843459790111467638641974726168064410581522888541607725399225034577547899197943324028757670405874728429638534967581368028268965359301285230728678904739577396041183321075269229011704664313947157402609345269192362928572076001942124079727638884308176305105391734153235211021753781541053704979515830671705890261545842143732703207466536345562636312648111303744682268192640033866320153596080441989718184107696240456925733099189071081691672216252874547067977195213585662984521910687593483212954204970280852175234905455797202823442460665872617220775266186480924162120838319232221967588346639247772757708933175473343107860984651839501396824583927237035224799094177528113761075009922547938067794667488976304806710266172900691358218215865447249287197387366413434257863508532670381039967539872500206876621081221345443116026578518195970378412547203624228097841850450489441717448700344454138246581541487778512304569106531685235509660347311663211321907165600252318564597873124359659567247282645713364142486131296374091949105877135740980713934561281375407207930414624808193660780030702723438499082664483861032265257729262024042418856352658886621394312747161522420255711521385415068544270332894811385657985556273249768723202886034502292969787213180274514004607279411707676509939156530130792619680950639419325430303338307581469656841782946481633066898867923081865963459090253570481480192793079585022053299768708156187576875026750055394461563378209958846540135232991430786043165050036692926461960004094898324842155716221097183205634216158553968761386605413933516148755820129195445015576862433259246721053984430953610419674201326000108696059265628889757499521321453214839065749528605564418653918332737955629692664310983748251384580497050939397741939335350581151100125131270067360495941191417549751584611838566807311441694568444512975358316916849914295641587138547193126837613634273749817842899628943746600965682178169863345207211585468686347554482598923465387567204082918685044303115671201177829429830691205855186653996203205370373543685260790657166708121860817463733459648625443234348656657394789024280273037372907864649489877792332589884732054953317457356346591759959555750465718454411068817004110175662620391168709107918811324553212694624760552764475568813288800061446012289478125693796034816014288881012159983772241945528450070158279487405972296502287322549554383341003700042812162894041196746073393775791173481882388699263983222791382600160249497459387798030409859029235380249197225216019089187081234764909130862504107027155876199677287392398860272196931439258137858799049027365586299353488511428299214346073721462527065017369280122578485779016298994708436556599966706274277016816486241899568664435184522223106766590699766524097707179513125792461452629483802794501663295767923290553613995484856024543030934553520883302863268162536962155502165365707103450368514420655138544092864585122378131796751384130760968618343570515684461819245513729702637984937728184367491964258129682371996960799125076182717540420750079867936861368078461216460656673559442128286285021262020097674150296621649289791830334335123558789662738857758031264729233701501567952738425228357949184664736804899074038561618332442808404104586715318296550303767949009430010681135074821871167083085149340430743263855935271179699235162125301640935740279507778891420832364641664350499340239128460445993357445070139296219341199355046384348857181200853888129374889739163170888901918318322252860735862279257359660611666901399384870219155002260244410221552500109430366896215539992116491643974819957756587033244658307683070662779444394029563021051749269245614770201813889304409795931885548926966049648788141322836214780694280007081869876900413036624603143355056232331954997490072633147682409024488573192833060325862720262165603682913309805059555738976283965445837287369885940535552173661226701640578577273446091420798130921097045112831385906349540453647946773204680838348074158195679376045565125128162982697428085112938684109833859169528470298922425286726801116343295334575688820350142745176700051886435013896051065561078849076154719211512337444112239113212849411552826169025666889712355539792877072808810396087170426901973350177368341590410338392182399656864712768817179304343653805080868461637440458588924402702421419455521485542592306046247601972118892932407658111737653334453964945361501499520693350905372668275003175424396578025216043221378078387841580357180703500052181188118813063220258429791796224354467279797219335199079460285740387126225948974693510659987473423336970674582943214502692531973219026095743159491061222685774317240041637942901210552720419041885091157041252595560834096000309800135831279448125120820442672774799292611575387029104348726905594446807955685697729155248030509243843530211870774701225240200426920595528626895285518052284248030080764626437976439454984528434652658233876685448516904658613081566519898676230281083461522832981732643623266395695061335718238304798250509258919637760464589339700748008945956012800046494357549726748554049942342358010675629713399164570687813248162359811982543670159317020646675800703023597855882725647604573056058350629615315517072064411939554401684847590041871297650045120780848445394401500649524720252220417571011673925919081466781934077924047114609102020476247350977660374007778600832071997645842509758468137118311810101985661844739775610341382684896907765859443422103250598878467278946751618150492917166166902759766333724532791914622549131528695458720496685978351727852225096531635676254043891183071393894470833512247663064182681930512981186437853529046676156270523931059613500974088667473320574887284366636923333410189611880268288626200014459991121194472708549603255457112013345474824216380440795453164577802471075406035291360008544291904361560030955484532835611030420086355378663123806282963086140340275735791224624474660170705059079864333667240887275482584280107204639125941130079547815233466296872794508613811787568211879498098479829902295583452285562524543392294387736206852092758102556115355015780531118537722734992625350053842897118963965338859211769776371550273262778413298411708897524699838457644685936879969959801281486422108867362261177192274504863507948724672890918947166836424777581553940420443439367040892581259307821885029592449145256607022175857157789830305411958848542979484392080295425167374178224442680041462481053561418136170614075209347518813189451566175356056578634585378607852100937483280050833393022913810022237175416723727076380691172396519428192964356056804083290649592454573761396113714324666820972147614103554168749373769344443679330072527954720959235282628905161188632347720937952671055876682710773917601824630099127726386777747230102504967179301273824411386021061514920749892911496057288010138589982178357560621436274097201159269486433181366411058759499707735693548876215858983970819992687246712600443120938425609690080726598870044356371413185066284278928927921377136277787215853580395389394441376993984807402972231761612066413034642022785102425794975303067362026240731251693464073513139888282817002147208767164547050051079272972416159235964518543740849866285526154297885467231707713691431985823242143681524894785046400500382629035314476878556273913193123607702244803710565385696027561121812138740211289010589304150284675000094015453377345587914153512234233966601259993663374702055499812328990316207765312982119758861094115346988656107507918806882213844378196974714484188280891214510049878788159797405226425748109123302190905084026761323800630772004234256956350238381873856035455109544341099012960279577382149651728364583487895032202962376254436484832193094600020236463309764502288629149821835870548090167739270044158051336023099018154020947163581406760364693616421126342251611771349378759230103237061387440737873020827961973426222372219282991214418404514066688036269180401524195937608004664668404422682737178861543363041419259613191587214292367805300463598772081462183713969851403670921918149587715088597704844421416707541611382102182054650192433203289560720153461896253283458971491457641756015314939470735824996031997182706437841090084768157772074702093648523842940517354322551921440924789063470523468893268382427719389418855828386297513571733406667700587180920769433780175646522294473183397463528016026810462803440958399255607611333914172572828914965990672635789292902159643455041552729285773893385503489024530806308428917506857509867969334627277211212964761431348036290854571412735243811065199124863048427768143767249467988010418013875843869257174210928842013915412999405420159583675672803494935347287921966116496963365604219853774498784598257853302972594599088647518179995792222431991362481455427236335026268714823159419754296132797499045138510857998866507121392041147950904209110008878582842068404390402025146168145116402808660001262766470208314846606888965997133521168410243927518398305026739202310151305690461412243957520550983921353824880141667182837004294516844128538762020858232932354835619033008887209385110504861246928853353463184214937000686722614411977413023645040860021615077630827570072559055251553634154027300279398743870396463949484086738967816881170201078562620121904092703682921963082859121356448969149720114202700017149474041857883955166788981182998035769844743360077957765885296092888964661197196883880380111732931739415524256066444693606981175270233987622240884546026616956695838138892336335081886467384944437462251406050758959707455142505443768020746723739801866370742496884606772566861763842409676827605087875143931108414674864668330030748474067190141820226883618613717754153192126401653532003887178965501832144905060613815316235022694987113523051015618340973597956566279552077308069995914464371128847712130882898989590958587799795498903192371391242557515306478037027458888917263438181831688402106142940734672915845941319359591408692898455679355160211158209349321612457146071680821156999955088141306320940320503810730645343380612364581733884367550514279827090249919092392948794777216391290444535436665861931520461391432486031704463171366638675706042502307507144473529104261764580731973743659207571692030426875070189553049061928089412554354051399267661767879600661018573990229157834102900062048352321830955062875487677805220187311404699117394055724624259487138278859771622338822496931079702541629716090323326775380587659123487368167212564331099067744657105853872895064407608734729116828634111592118560443336900021724589920272483551507051641953046696598836286532904619795982418278139132750625018481570281732571384409794977778518688836901379519171161568456509580363283530683623759005970722890839177622993275540752269533713028937809290537014289527672273595501203324487100538683360589150820140483843853836916275443671683798948442729314906845389849917306392347531664166960499595698348298424397554982870831910571315236298859725133513708899967000845486561433977540020802818720904462010266773649741934135229211778171417017571466861476990121210247681582251408204343155169410656315675013253275629156683526703647324835373892377482151625226782414019858137576235542604348926367079156089938662136519143065694693710318423581714565682008767149410443415866157606396796564509440497958436271053882481230680746805793768385400981249564753729420199467396058157493362747239272213370121937764603231425179218659087219324220600125560097140005923867009443734966515726630653177654376542815402373847623788295983530386699352589186058329468176452782561509757886491545401428383574730180058958507874334678527094677707922918870579112671646375834724546938917196007487873402108600256160963892405465342805145905142859867166638177823304810322146542648355238267951381985917143907161229964981808958046759784076012336222713095800606201371778399834678149640142325965202371331534991828984291423930650809044317929201020761826329387597513964959879103199592126286937908224911811923562433865683309299131744145260518973269949599420336722137975126133471578427689814489722610144758217664628386570930802385591186937715378226075079371520371490305096855697495224151426675826059578155834506020455899667149846715741526976788743445401327423094780832759329426760221575217738316312589743885474506676107093834687068932312889239117749640945504310305538946881092788874068641092224990784664766254051560524643887576564120529144862118192756266915583998260184782994915100936529287696413443041252853384689251289961802369685920137766324271311507609037917600743611246883016388349452264136120683837615139777524461907522356425728781495584536904015967412076758748907665211021424930873381958832622600321423767181368796894697071231375617215923260131912391299534681355076680116329532993112276854091718597510442317816148687464883277026909946399170916774611111639561273397949976179868439763946804122773477565492378243319624504948315674432172321345909061634250081870435764917243053962027652673972225791402148644032464121619928140841183518572996354898951064990196506877627148974353370598907126098675667393381738267417227161962720488437775868716458302318614909957993682178161729769012075566673362822059187280158279586055612161555871701739765794642469952461728205596781657348802271266624796548190968056980863290338193674448550766563382660989124954233787755721670938396484598004657147812594974169928768139039614528332503290808710786522425309051086267708709672663515779429324755393275145224690963450512457144893320857399750958213275632366767391376205293488301640314562349190428350092330163557588165411540794521822066294541322338091366345017191617249813067201222369113614556719655537153895938296107671248819086551467058562581311190425226326902240145022292536865909422256166581507129549714590180242499307155227259105206658886813272324041883509741261159939740080422846925305471590925010996215269443366016753924939430651573091957203004681176869725900159658965616018606033631723224459337323106928790493977141473030293927458140121182679584753256375880655682894022409680055570120938195673054478849007004573706799800397994364248368060437737529609860752200626653471435338000973151358578553230778833566387686113248027094337604619965824504315651553475918891552448220890223918085623116125270416531710055346274756280892541502458539737283002407325537983063401276441179472742696441350678118245881998158344713379506763574528226327455489852309459047397769881645480120225556613618549236314788248552574341912493449495026696742799067493804075610771275167951222120090472099673870990626323467870901160381569846857820674120927139245204350457054868026460452366582022679924842248342908163529379693081073679814848151967329456636946263742753138145242096951817631257751928232246872293809182845183050442297431310539932050257075573539760604735011126323649368017561757739115936260802288115138895182058079584300382700533267178886293090160510861253309655562541382793901082260385737622398654903194614734152113606360690677367699050645150363643581563540279250378342878024611969137493631778806652831663324432566427790060960526911099343007273818719815004076869081145548465979740643444873452670714460209096992159415092460629810356508400019544486917455437310668228360393267827638475938992158992921952278180943903506517742842234350579317522114484267052238661196376407289692033779674020806237064637577656971268338752742586582177024799307443578364560910568085780261111087636482058042208108897815956274139789284211433565354256773610234424364815951427964302189660705340986367175417325856076132122977967505534077909584103717151549435107670099790640373644571725890503590790791755904270927011890071520891860158850297282113215332696875174489466406426659170824205802421889927689421006025200650331595873997855790010814447422665735244733420091203286742407875340894568830151271792686849726260361730743958175476637511496232260666630955964601496160521144583569324339847500879587531645295572606162266219206354020306028587949875022643585312834064687437153131655011499922225823511256193428503215376260403117468706415959839150819438508011787657410916091928219173923046124902843956757860683620115619251963149654321028296570802365200698103170523945776545625071522803616123207791280135619217579779330975497188206331003924691770624913654582324178270594073352634245522972325734564733150517773297960459682375853229744797764005921168128366061683557148937539351667572528136414881797801586611898545900933586184273076324917196163865858318928376993528119040656142640581575432241795527623601527981959239092216687161045435789490597530631882643579685148818058029974258358612181241777688485408317033878652060187556236304866828821300387503833781316048645557339681911691274763896712508053708886190269308874385157309336926716646672704501131646599434026819594171543114227494265338732444513941297629043902551184969223894398639491518810365476894736337966852911365366314954755158981679574795043572303819486991901071120699315972103406567258549766000061212729032584351078933821621649763165369539164294189683967321210726374447565904514692910642085060697252908610192753254218517235216231643414425811436069933856508121286749303914078674787084936940280054997280707766155063677363382499080930100078704222789435075434355658660779561983153227746389934691460659705825352786670220344905151338211993430820588702856447974307140232795809877849144780688010045070242942839735840240500313338035181376581654341585657680243049757806676732478728204194218715680581258024283257398917550621191369604719159685336347212275506642823294329389044670602841502166640190542693899288540725805233090129195565066904058043553276688690720298924636032946493721501362656895897451074280120414774822209888469304614352367338905518938829787838301938367020912495481575465348398483520224415886445792258794544694166181724524169650878869343904330258342995413571568567411803446563518027768236314460112212578326707500498312175511724967435469159021270324731282376092735493429533770902375695853652847598131206573874023893590065461140275396945224859258709737474590837568352997584421491486324995998854601190070412783841575177688495056167384448816222599308069008603232960405416238409339455367329662051313054879910875833561395471906050557037140137932488539289391116163188803836849089153273324465293502484777552672588017342718437098456825592950408431166567322121166940529936979012158706649973280196348342951853278368954041481411257103519626143972077493631993028850101283908415614364847039541546558688090832505051445341215569336396215419679276530386417965020652573027904043728956697506320305555169879486778763344304138168644150057297886855189711324153929336561580288163693765999505099954500850800816397783494556258173643831911924855523183540267084569042135257833307918292430130606703928463458781692431876199371242554390937728817371680399448662817459444439240979237388433399793738694239353572598446399620719084064699627104455490049003204403839490675315972411616738060703006157415148655816189953081051571108969675430932772689187214363704590778213529918176097018476846417684437081172902521244293999751519182982091583756080401012997049257667178248613411674075274298336202931755536099267866305845870692985271846656892770322927636696986436730617298667800214977637447010603965606783465496905880545356338945615204742413226706861518361156639469055426848641247398126552347205301863549523657586520278622342994270747629004965819858610054265682779431551259731636400407053513900063129566639912674837532805316524058124799680969342097499041893208311792750967123325396291392612766065252441353717246065104488876472117664999262906615347007015674116872263400892575232952675353864673099351540810535740229764263620921057133414689185307295821185307505448981541479909841443563315288922912288425337543687155687235220623842886542296776483062907629681288486230471248898217607362252673431257524641732753435463800069322750402086151558811557130166119386546976604969860128933949771831488085765153250272287693781074212242918646083020450139408517158472885941549862109112382335270039517204478585997829077522041374226248606666377161289133540777111957818606233961080113779748472577271231876485583527194260129398235380487327808370081637841892615273412466146984904077953232406243586923669257878397212638080606174879355292289239950313123305925424579218438451569502034677361825472313469426873743946623562644112543001973852126633495841028639805418725300514497749245668423534077069592555195989005561323976305202381558377087188636791280930653803288017015725589470598503878350678689682174934891841811190146125095155483878377673754186190913534241889179926884181710321642195712810929831712342623677851282056257452457741175349627404553850496333570375482128181843428705864690179126665999909004456448026605614636214924826827484038033615387842683388980582423846941422960866047677465644086393987042338526440120868322931862182086239213858160349193498797905125971892207233469378719708418923730821061984240180973944995000393377493883228538555861450053204552303804446492269957014112632018460040404244662759681112378591367363524060659826814125554324680338990598573658359763528972340594385556433990926824178188424693254721384884976780397238290671106591759137747415656699410678700661756682666320807668809868868846013894252986186853635732720724447956572782393090573066430413079784442810272591541067931194603671035439566737013139924244604983219854900596429732647161743334665760253422066130414143417943331029144418836551792309662657912214121782597362431863751017920341976044495241484863368589473427514340081525793379627475514856730364364447916465637395978574259207866200923569042084591348985028804436428707821321790055043678658091656748622955126141858435290211498262044242976801996951490611972791115861078659770565636817135424548024441207306354047621666108752576110363293850274269525135922401215341662169117833705210924364416942221757660543013756769497868674108293170236750337924065871859361302729964530783587904403898747077269157831809359262612193289987605831516816064190373614132122004580841425343764994377990402602173169421158744343991602642014541879732057842278879159324547191498483690394744723638862237166208246507667233615190098213149869606466242968439960160113428326407255979385120237545558011065726653160290932257123690701007591356682804807244157436408729688836424907319053670333206078968042804496129045514569189719525449829271083010583141052243195850754871902505773009306542854639825434626096765285428272580965060503287807775204846865015223039000320231908540944723456079372592547770862936941615960580637889353030237422247508116166150158084309442305531201312130865871691234198641116466518723909589878193534690724560111103496666563585130519803251474584055814580058564747848163202873498081631636715109093821471650909907082148031561670953290385575497295632455502969976498446295954996669024606094183754710339956346922034694215824111592528633379981396955608102724895159933482390621329081991373775482495934385378702622933072660118370085614261033417601930298229278478069488703247127212451395442582388546536872594537785134670149389156709589968533403936606610768775365436544597957271933716792861319972758109094721036508397775818727112923842536841513353022733527248552066410116467894317582134880756954897828475376828778984592669474855738595234116985794345501460066631413156769379878402965223330115458784552400587357845570825056893691248518766623508377371886685944091864852614086015763843401117816114599960489282859155618749623354906924182200507632195969952287890682022242215178398806891231141101513950201919750550452597911044325710750042149116454833526943375068034360774816453056600214544240176702999470237542425446123549556348549706722798150626538803950615669631433804612804557357844927614799852344728118585432326011794363348774267280058723955758857283719896235155170162558245152891474355290715244260737752489798035682202473017665930826266155050749069209522418023205034749267341449561436997719341844211467113457305670260151087492815171902247278747083008327366579087299644463457178698430369936134074940306763691650415753666272871497429215606961935700066904183452297120902599982474680272802467887729839000198556936185367623332006109239241328112930488143406826647580716068870265423330890402068947130836835083725170351313740636579574159889354881019362746922779828255333369967081137623215682764501166414502520866528962430709361599150612885163737723996289315686621884182810304088397217149639291591002403536156195117823908947297499862137943552185079569475306068244477373620059576634794224952796335082357354432297796110725914749268515472815047916549814325092918980427710434357101384748447659777932805870325246676262108896963976159656600434293839340131747036961846639672393696621866950886474779554411862131016194909107746233308752058273594125717727623366899764181908559191762457449775654542170272347258427894558427903579987936360307142053508352163620731654282412259654904761978452727892431684029985577263350325790599732012516636185901469591292241336669012997518128466338667003146922045535218042180744522434760482889432165989390376948391868826316272688296328575179000307399122869027068802650379591522463697873895712624889048199362710099779070752134534748579508999190287305402815278864912084894905956786428620169155848049458041646236071953180295971797862769023866475580918139629910826393217594353033224259133226308939452221879392616231354898428524481906005135316950207686459503163256886692155761993672529691107445055716121690999378522681793648163834546837028956820081450746575860435030042858652781828092970478421124140636691889981013422489243568292275837027136539081249393741583710596418151907807941090667735238508141156256158872272230136959729735940797603410939373318105098173680959611184377305856678397136794700693901440392070859688623295765944457893852351346206288617105691357038323759883425044107037608753657509096976438254667570252047514266365182747763249198115430391839477287482258793802726281430514683601369707676169553171344518186468694777454380235555609270290036818597254882125672354402721936838689526917149607164524917010795774628431145128036418902633824391975018334966962525515790292851148662607013901373847546688873289276438169651980584230019026346363139165032342390935067169923571184091516962194107625534446903133734807693924334219892459059584857469128612065698599035950000407343256239436197176171686806048792139952017826555184242042668449872969180874720268705111698644641049077066559795567208488444828134032938605774453173011057450263788183164653018326849145980139627437945520941906780727435640502367053815800210890062705569521077793174886027006122524371445644343873271083885419991320665321787366614912490164073405693126526472155547708914331694365799543110525371041854590879415105171482556083209515086063136746453723271891432595213831444031978470099191434695138621888481591448647676712303936900108949220384140009973133446238360375409537171272381694150084830968638783492532970350975075478487460438077253442577776475033893540585583530874044911880383882248419999442442966350650698176592436355291545731588744723752404847474124278963231137701206446841810222671667993226198218874761062004371650671993714757864432538759208573730842315780488131386262302179654958119800070983012750182319586992025105102490724119120371521140542054695856128549673611865191457655336021653709867230538247682370823627782352261186151175936395397761659987333663208317121962691387675763418985405448271567728079036504875983454190937085977884989539938427082413617537035935523478583448346700081734759242794233293558304277295591166181570214535902962309040899925555614737382893081221347328510296859442272452972016361025879118795660087245644166724046855767758216236271967373147672457243910953606243539266883562707623936153433077432579459935105070383900443871734081149032544243294806852239524945259373747274713314929464516003548608972919393644246102755477942712701093924418154774242909714115387687901344250659395588659060719587497534279256185856623640623773513488807042673460222507791168631189982886174612654107886912976016124513422805260670570181471292834485929121648837987905365404809248062175561346257979705267647683609829577923769488358074758636219121290184562600447444842807629561800021679959995932338710593651733965224119338023476277329804179485210621876888228055009989398456279244321229044059559669598353273397751175090427574640511576196425322631151323292668832199020884516891907241760256050491313393846625845781860887504753806345640204900479857847717104785331915157740087985861554274942497508233117137126624770199705144815650173086910772269491561078679335464784486453992831100309177002749147605263752968378509438148435351231077343769518469502328364011154451407705856612763215073474711179419401907690869102819379752989853993386045253184677506603812019328856673108738195078630243646598396165697461392091087221587338287015587343695006226958226961709621479123683195839446361177369241580613081512217383031148074121479443763134578506809035055767806952240573232003683709214781463358705852377697958420351049117645715212652611327361428723954638301823318571623561725517004498428833164113295753847619329088033016544175496081385349201129224527381798469069210944886108340715745016172070212218817559383674140653260787709142033988818396900987233404174299414002005935747736779019448179210610042737201096863796853860803887181366106207906475372669641120850996507349350929457635719123119120002936864076233126617521052195197382289618432944505470595014745485624707640836408947916719184722496866742727587383094986804499838446011215984824145854446087992936840983601085622407863664383576452463933253845085763120578027665921216744048846534968935937806318752546962946701118121617619272247413239424226437279552213350506440793737369925662719961418578315394889617729485879887928997039560150031803953732810722742547695802825128625118392366730184865447820452216927956304088216905469244409843535233165585317209767803244438904447955734287129015908344709799164071646295907831521357040949155765849768251154208566582576602470986052199224876844492762332772980587798810417302763230695884282432132935087919105721782490818084299612232123264738027268341369901872315549985550362288034472363472625371589036394535668207556003285944093118749223709721596198639323742255130274564638908617691525820245070207675049859813602957469405203223200706812095575963839791314848189371282404153962255344498874902861989441058365782236986985396772872016113060740984794584114901190313124443637727327777381771100153766332618502334222960050280428894629093863197531959057295269268743864150782655750778619357383379656093361528215504565601459986173794020394148998367927084102919289703933667458296100829431722862932557815753794314318483575953179524427014503936380138405102631515179890240635484699459181457728345225359535193765620741908672626351806051780078531817127906169096106923092219375478382292820921553145766118247704752973375370745082850463489181556973201060054754159227768786853552095193318095401643321319995562771403764565326482946079299967136407775251783544038855876982698548435970050524947935734323804650694101428401997812585237510177259679732692903814164608659879594473648020430721430092878057118775131136179471534736243269972949673918526565648333957275382599778279024892388314709649209679746665790379617468030027149226303281750790771639743767693515457775041342331694560066727009866553159485618778356452237057133790205346127997944609832558481972912766370279166526531988958365566033680709828670345646751587145940228519623482737223898147953679713787651111487339638454362829910599276397658381246203749944047096136785542580626456842757353152995565239487662217991386043350769426961930896027938269093328424368187370579303196125024388320079017766733963293117631279003323236904507093433966849966199423966579929640205592376295104248564211335219230701131880592938784126251972818010244522593786576209046136527320465019489979557379274907559414752476314404679508455865632793360807460822481354101807582061310690338641081247879989658056197179404280591935614702688485016033196514695788469031319387889504033696177667723828072920910083606977786564256849848051044364624211211860385989073999205652014458879987915526653062184649042708587605398061638154462048254424495275926843138943509913730192743280972677180996247130625734118556756233144133970685868353074042937550864299896076582518937543736602680230331930788062075929224084275590533846826742969654696296743493468742326110428593954796480729067051585109461210837207865040166872122954890924009941658452470277691987568870292397474219678706665875733510852001948372559321190897362635910122437496641894915994950135727951214163749021624135520744338246387995580692756190762968591438266156724795163802898284165408246954726115954236435455981633757365737671366981546083892165532469964941299097343972271689332601799303522423458767114372218798889912286659096085706353596565363557995580601500092627198857303971662120200552553917857734464954230554595840228811506499838545979126695371523307777326521595082124784433607967635589133483011425103548029845700488314762065328930406519413185135187555071535549789432593024759577225744007571452617889401879926860535057934379552440380780672471436152845374440716946034013470545450647396751944548344767225509044120051647941317453849574024140672879043939093838134383915322509717613108127422465816407151324395278508312377515328968895937568007857801350232766754533248126946833734881904392167732279181795470776376787118647310840958240789086834402346200954130327441442360045606840660977301545202346794910570384342531284530350514303707754904431804045428456409039529216906361653150812677437332304437147994161698679856509434884439165155583654611526398464042495621139807384746890749785182651135549659388862664658739569726069516691621629886461366413505201174943008260161919365928478018356842152190228541479283033954989764901312356402771790015322020199511844200142331702934488600822795089529755999361556117097299499999143219030968215136857576745635769093996902945458035913687362859058379989383821954447727665940068015905053348453199092858364661462975670036091303432639468946285492160463082415750143281096914484690838346809376500821150744282861057883663712362666783979399596993693970443602060658246187359960440739774354552527663493129217352557425070628802768107430563511766420138490200478208174122573861413448280500749680607031401787028493413484460641603536679777772731284623291455735080968865734908036518039194679379486464149531366917012142609736775533949803131854577881061946716469874974489564941620946032723371270867238286800062266081374823272250203022822920168079326709226671791015498802921940872772617484555978627600114238237404888726181890652625658073097759438210840159117671156155554451396119214429652312627465912577608221462026182333518554067414496240488881591945206274690534193829087967038123875792181336776378278266180024301871009344933760718536245469899097397443067433616669306042934053785749247981552110363987372789377863998708855279225714563963993891282053850477321092661067558037255473968026950179546662519322260807305127714722986564925879225208230762763158548314728508450292017093489795571503005058013032456177715816583746066761594010567195868379928394910798067479425236933760954704115186183952096531144622817300931662370867269032177751964814809285412611459355782679967378970899352626981819307777965622510501657931529812762749438990463443701414567670866130295217253617180451920897875609950471328789610865077258158610505875907897968946663680495469539218739438326443009660839677543676561634669303613792777934601170826989646596879350728433124233435055211881680815810653285821164899512610978052743920369061178877720091208126302616843779109186069080102137967140835324434343241361573797405322425159515959476502652243913445609316388003942724201427718083863907655457962366786021714632119631396153869295885787870254767630781516822961771241249484853836826078872398685821945094791075889407406637705288494105797994674534485360030888840252051740329892442199294294378326521897849920194605747196826678240521227312441003678317191778504776000851017320607650561849811218018016337169151036315491382405317310976984019235066515645116649592819409802026552105890401287166547587660964539962551713033769533301270468932828095366861259113563802058941146175722510736869337747944038365982574927912709834528543948875395764356160360445900754240149898384721558784950542537164190272120712967748333309672580119448670641150046079532419980903149128203310345944109560659871207319251793749465997064121210550484309470977015624532164505552811443303622345828483611261028209565997471628120160642798092034190802649922754073039438337761272262448632837256752725570346664810076031234981657821588532411892011617750460546440598373814995316699366623607262321370971362113782911575065802056315403751063341852922630210636487947424621177252666839872137796600552936044969128033930445134994261466180788813618931178603223741009738908891373178487457891365498461472453500039888545524653402260327765217521401265938695955373535221953707847195600460077705350802099581288197969926145946673655077045186105011006820334191779278993731343054477059284903292111031526670077614339460852371514737089646866637281439416873946339337412300983822167028607212875809542974084577783418578292409289155355073422121762531583743663790557054597819107553821127604183258153625506636583877109992300847762244717570341830642731982178866202983652897192156452542969867698988443744664891636011309405276084020395073672746649971822561289681933432710194970860044410538626911277568779176372378710985949760989657427456293541544535351227518493448105744091375040575808671431975987571103250954024516593736844544414524079267961344993268063619350732331488176520910558375848774949494532371223234481549225022618557232489803137897941066598751739652910893218197804212861867950827218518851680370913290378283495118262269328587778119378196465277215432486454134145074804460289933696057792327931730112589709912294009791223947310524804774865304716605720144075227627297605336009681486410019731626645337060862751999750751646900565310026305500619786951037927906637659582062043123718041755667250018188584901215508504899666381604445495996239712562274130968221985434143767950126545968177209318871285863778700575193102844075852101809378168317048581865263060290590429255299215093172710019268310582520071192711230422545663497675927946267459874826290058310087791705323188066670299416459477158228072381209066008169914854899633730191413432034861052659038124619728071514939445542908833945318401320491996830606899892288931083137177486079359130049460575675208938676405350466670638885375197981978610175412001084863510021849936918037790990098776028252356462373398077066197164889626051917144694793409330246746828435727653033602974129146030613778260127550013430964098692785253099214989182625833243124312039539752160000262058394806358561717884093215243668610000938784077956677919435721802812025896415231890702647331632933345146999432713803299923198302838564355228791092411313842774158126552176967197530683997484811823570900526255100261770510121523872185137782592530817861095147657165871569910394377085384829606332011187271320959687118522684238631970799044239119123905383738791990182286600833746058586889851240270400362345840447206904019136355525554700384531273085496629467139794364512287317835306081129832721170731252103888618236550436730848841268498988741885462507370367161409248258052433979341079117843994030868783148637784991004709010613911982426202180591991363484475089377531472682843034382730199999838701148329713238666851071082987850166219102425483269478798106101120743854216977395454423266096300594901324123073610073611210862923513968590907480409960003211403076382142354294234151373804064364022458893412868393652932439097419957966309797727282577731842805790498249418112832209083389769269420374217228634874994423391339482619252996059659048591042396354717634053650615731502827166912585269864121104897958230968779129965843478580980685620919706949837632179120230418180193086972885748177199334375485696025812010786506235388935673264888569882053925560098003761209617763641176668114135137423744625391888995753784399022766160722262540361056336987899287893866104560516644477077776805586995505953125809248167855737485274746553875555691527222915676403878743030687358520465986444086693460983263100074211709675294855313331858260487910003180601209960295600429687370593823096236132354934178236286447720331976589037440880805446290284419706386582246444627283014053696869697347781355019957250775264842902658549884507495432402248854146534388478828899333575712707111064415262366145178658329501234632294742170885514499434506751317636230447448101663728378963106882607761606648824196935942554352524210672466268890403199567902376727787243861960900431398000547139139855353649651815974974940786899096543908865267754353768058647768534844852478345772269084060938702196771138964731960088715708601030619023841337625653526097077170363568862117889364938538267195453709707119809857441306344284921213393106298394058300035485077100439962601432067998993661169001166283465521937748730026454366675293761333436302176190935681240772268391954786003835838599933932359110526194816390895774667172610543795316018649631108786793976941222755656641504844814405003617949237794458531937528181601192988002903461414529293322484723134036256592655237278520961653976371016887173896833616924082509338659367294576359940753373523679434382311781348552729276630917863511744145299044548465120122120471578282721628292068793027239279556376748922944160159651375514699448024016422830866951101854433678492113767242258043276573927586548759257974119125763310622592247032179986310432920271535915231957384373126181583520876477192407157607129758138480798357268408343024738925938909978925661603459071656661174266175177653925482480567223362988695304162674414655611336882072051893221408049735298553151580786087511673600673314161487555755554217596968947270807047912487145786667553367306386282973434170840636483939989520440668203632829882740045234308344430450934218118583719254884641184149432075806657120075453127257863929326809694309336871405340329613766648537180025622085749072155432098963872086568089563482899452883899279407055074922492891838236625765605522120744985195470294178874356018342516127736293434042839484297241514126891630184680095956587301652194796961179750051746326077354565265071180386381458210939874243089586826854604842663876955300600551333238808304582060875405677642707223025055423721918478237914416338662168832125418255390293634260256584577709450478127356731360307975442343380557382127992328361078733277727774633845756000038156251778640510073589254857860978515602768929948216132817515705776267655449543484027420494986466304099533599058752624965553301932353426897922990172768213655768125468369281570518986738215803625484432360530701791464485186470210856282557537806964604313180121408046492167847666046470990922284088920356031999513460471476814445237265988278159497657816697031576524032052089220105806467492541413836363761685626306153814280322737563152232014645452953371406899777182527728202979184621983585452382536219251640579133421809546785158701828212269384649929093763291271655476725855549434343832453590858527419917661506150743180452539501242454312693220394804151326297431879420781214263946353587336079479323592715351847485955888617875907278661196481449946446319096788406292522272316402267818029697769308761180313275491393397288154307173413644983452681143881806338065536893493738919243541833468287030839370746757694978351629767462475524698275157554409581558496953616177116924681041999167938744107916837721109203595603318292823736331225355595045517161902286759304529064834330893820910151746889451379052496697099082010104004979209204665237158259770713335822965807574219134071148331674256665175922564609206333366533970837374068336996018661998663180265114510565174877665877853171119822396544152751727225902539842844273859565752824858540713909184823138186852056731788089379509184627755332759443723523772843853245110665043907271853123407905249052218812314052257791253244788884017811344769107008123549137936539340696082105825647114027831616762721522734246922743347043324290482836019453056542876893155575733137730697224070279051386955620134009091013612751857997503285391903822923496881067988630188937029302624185875194082067005898812743927665364973583702612211292578083769405914264855016257589958956445385096524921422260238145932788238948712324496914957963478878612418201443082876281170419516370543583659250449268605669510458624982467483457375157914897852817227563224761420256949528533916648397939518672897414488431033617778483334312593566907742947239106146491954303871761468854697529335995002454942138494471932886831321041289703138997644958456030494519869751264054730455290016255728834909155573178113834136983656459941078636165906501916704181736823140005832334184298870589672376680803486831241881690948007454234425785669905186477461463321944388866644534265022780048470564122000866332988403683688647614236558737482682623991371368029652427313251439702013362698423480834685101266456850106578430770963343855192839417447326160159145791276898273137001835643870806395723522361794406709363852933584158430868158798490346923116677384147426251023062008990222111041455499044366673095804138569665721462388925504013514129075153745084434328881284765370499115409200863496396636012562711724294316515954706569362841012386825488331847417084222606728158851521674779412441085245129134932214373040913159457994608533257498037351342879846736128172519458453108432942826591333143514472517848793107381153386802174841095979960580431676925707944540949639755005041320032702428092106282169969685920943116670491722550988894963757951484043292485850070970598063770019445964204702919926175983350584648244867339540652270868315473838872460315389344863060001760166143501542070124503929121409535341612066285397940252487737782418899095843572288236774467337580360481185454875828697153087857005045455110819311182817137034944460107640823855965468393107711267490486468845561209238560242580541589336130608928044812146596541619844477637541547159463014981064149608572548615430378899289507022104953329291736783764605765489899387629660955543011694162720811869743801916680081352968153344442636119320199219564863870134770953677509730853830436735878446763020792986173578513317814950726050141550179746517948849237201936943118337221874780665700633846652183018950350730817589574058636054478463599594595445412829903510177915567436815571032544435908915836485320121891994140813505309802660194226505696333314964496399755777119960659384635223894543421190811829894924408142521996550679852135036738370184658778523500786191815488447457015912784246336167258919963820634347535151704513268259377850935561414921112765001039266951167833975569791199610043161776014797196845734045039033541638559159180766250964469384838913081906014282937923581521926020528638269880073865343797800704788541697796705204958529439622090866227107999549936701654718949145860700491345431121206880694710219289458803358681801601681252575423360361606764866136314661818352801937029898494009853419510567859962684663404027002366419666561459647323885389001457090078825962038780260991891169860088860577872862108198299605504504313662542958169970900182833485146423679864992880802030315685399031510606395596598901134612243168530500451902781571816379794132986958193415683863144871753386896611421992450056573170447707387948102491659874721038285075915621453914099987471797817334037512887171590690557748622355770544722659708079046011895023800075469625727826741644954456758885521416908782586663158795371271923166787777127993228098827164266594482379082093325444428137555334794021141340604349783819584019608022349695665311491792640363424546770832418161302481967993545999788073215221372642738540894605783682903628077433818683884247925505717301308062445425713458152824595245377103567200783148175577127641471301787607807111240717529483742885975657667390714795767808274664373849825556648249015995934422070486568213890644565256952414611671427241832898274990597958331729061896171370299681852757700992001100919066387475572759622731133253466593123880540035909173506053610279703113367381001030382917379518698129478236538832082483432304365179116959723608827277612862498107038746848309203120003419650673398383977809949453774015292471701669178059963011380902423991263549757554661064304396761170296573740496064381713362040177399966450511129759852109605632663781327578800088983203366841228598642512402622411753189985008057844195557729261348677767468275271603358150077123280178814843483763099906913645965172985661129405827917530017535045463929134286088772645946699116672986111541169138312806767880467868699865991104966268035825881899658556155488974710524208708189065142779517305796778390391401328054331282035706593455686746180106531681004574225780451045675986531611721170713213550667144933788840032361435986231517242637906012036462508296841292118572394997310957427257053192515582713424165272115832739069432990482726462100413117592411564753094498054566727031700271329925526967782439001017107326679673325113901145275678509433191070524247537862311178148083694912164588253942395424448466728239648296332658007550916762657492577308032419429196318106661323780412535977831750403424000333623994148957831928160502922167642951495480165277286358741089945341402140358805825451435753660406766982119921404961206883360302178766190182242868280888227477897685525555790188126127261908889570324899388598300233159242252409433834992763623867374399716956112617108585967243180631722310141515545395881738068241335886803174620489980365181118461960762001686624842078509812658067233443702396970297249142317433359613285624413552408433896639186067585169713180520484973558686212183691894122177437826393174715125495696008535271975607114506048889368990946485593375097449273354202311507145725272771638665190732063143959643360647901989428693892116623608144220131431593563962105769040084728751024274732020550049045073647413545262837269216510437154718471755473779695816469523260832871976713002171655413666104187566785359979118375847105916324283151608597718768342274795549079586867646539405451699078722641811498174057199737816935700286568719749364285150051954646664521514488535955482497502167755409550910993688337598378584481021998202211809834794521571241345754576928228201800474734978202877257969991733013381754161993173190806915088312740815432743080591592283984837201204969334662613092230720325048388805730326500809242446679205034034739863624626751197864706202805488685949533200520228898530742400360085138670742964775741715977224242957945019408175669952669404858246140861001810506693069100505441057063164467417297595607667323720446072618371110069522218162434680307560697728826990131168303991921679859731536325461777730149441820916881264816574674647671747840033841969361210607084741117813017323719855178250968354785678092954245322049087193938427186207412856581807915624939093934756498993744824525289903002495880421410895499871692502814355053315469760209108560720101558065399055923165305172144276522640391296911227779596702349923307338660351405393344916241365797650518566828567012425162408179856008976779557250622231691400307200017807972607881124485547707420443426123505494608247813503545719054686236775337283166416883554789169782561397035641294193460838945833291323046701852563029003119613134386612283590966268280793874199749500841320316944982974451892966826123255488074684891439630828522334879319438896385628501715868013701852896685335090170263049853323420900790443244251408802909253726836007061586923175175587535807600302008257079388917668611321082032465202129377160157930064383708044764986914842979864882340810636303903894490888066475929900284816336617057337156703295307647251884757472307313915456998873798878443113563597000545356153634434380811190741442416144879342806256269678844900363289687533833651407584661073310630690343647124286944602920253426607633210942573289869153389623495170491607184405301437767841382890861122932592024468366241309681877901397576991639485002142322421312473340240305264084420652094228687921247279715314858033562184964856070919911644242057303513139637234538449705432837579142467441186751725896459832511626064828158754926617273358829901508102918013405288917444326246499419621624984702525562996640400543527892200873237083295871941197661340581868313013533030124436192359527826957270835358571236858003977960557495498923982028905725244930107947406411901433225717251666986672532475786829143816551947535414679138607289316897465779554295974887959697750331300877742191801309296276151406738718504915305456377015832192968849810203835390130151656085272278259489965514559766141749387716552410508251738604330616865558305566736564939711465436112889819397160728333227463938741141023174880074117450198701597901005512912040451418450220690302513266760984921284129173335585856385953141765084518447802551036764481716894394746812512868963552290363142504290871252538547812032290605085604704029594548259775104186604394086609550935952849551971654293913573649732449644709918274623116463837902146220692804633015536193698588714546827028491012597429998769740316991623484788247189070167233466176450728417233171090308223591108945939891714043373505320699929945450452525120577827371332246332088345598022070774632987332065295229890893022292785173818037856300309580882332520039512445143973923081081316768961845189613902497995013447013902216726807129660361082547270661804686268100269217517782611777079437274206324465118086277366285448187707331797408419156014952496534204240339102945050883279430283634350385495610137425744898918401036085846339563305009500594364769399073726685115617888039495064913022414292715599277283242950361693056596977546486316650047086267772441030904565306983297197936635879294207973415224543484278061560481031928389002678936456454520781894988736968327140008845218486765156141737762406508302823883569296810206184344116946358839105034835176796140862478115191031556240757548153459808639241576641367562436354619791574711068654901759112849420311779160287262754029942147301533702640868794161584670906836991264648646427035213870061666465503179134808521344642940227865645952178550322679343758770677331958365332387644770045042122065372100743191878347354950384500339550646177565519466874014585738795971709477128376974587055749530349611589491428148518433109283217371551410565691662406916844187125492533701280366808490206734448187552133253310192052274847214344000313830383324649067443386911443694199120764148144000550454798079688790988302138750926061432459537318509469692779781380645001156007160008987376455505592392430032048240051708445126695826389513719836851124080592382086735686189164769081602771111510283974502418804934014482605976197786156510510105617057437957866537362934985208989606452367045911649063673413211394139397212025182218597939472801227376029422052273253148006286600358162004209748283709620478231366394595147014032432397534479705556005531434860103552217876767414017880936432444929162051647511014713718571738120358775950811934426919778061883030907492605710454066135941041554565406878660605322137623948195761221130997977700115898494426992247550669588459682282223665274718475652500347415753176454984375412977349396067754163908318965526925951811439314920212165981534348135246582443837060498986359994909443304560053771742553208399901956408074079649933288529560571688430257764840733271326482459718783708676060256503938576733836824325484012338998483230025320033465105636062071011346540182307644186741567776078114980918450117755641797794392335723845800913618172464133692025500004584797170989446861140543115135715387214535479255489435968492183913665018575702242407124083402715073794572244660820844263705176793072749193552566740288558077647166332541019465141389234051837746591768179036542600525142345211882269098991748928192806051584883101000021195919948130056336914427549743885596612627743576199732618685993464255710404954583566929900429967412106146842210788573593555654517847463249481759529070445102763668526942810187359487421954452930794588781921659697551866203607698078146440625586253342182774636463299035118888706250490767343981400425959947030655806892628946288441166072877853535224608514335279587395894590063507197048693130381042721292400951970696755279329423827967307314603692468087139093675381233195657946484205118240529378603012798414152593006142394244214637007068475754274800339766187760772678628113532133166264895791960148002015380795022940351820248252272675123102726111378452776522841219823163658289516374843425600843927263840680743491077349901106418166740929095336656490302513376102098090190845511152102375802544944863004088839966179536019483889487787318291308037180782822322270261904725175178886986360502841060380954481191181999548590096123351378919158468569713795994526084111234349306274365736227802700343686012242880228912856558929973531142468869001914391976861988232568904792692983515632330620465612602091283673037512965929277758920241599059474325532254373041045281330366203638301528255750076594929975717392132404341026225804497606388117342803257661286896457317077088734015560426667268015749666466269783431475333270273749816474010208743893548866003390583120753094068469713791303953101635810131537473566966298605936299792015189948407113954917420242441644455569531262758261926152596770338886069185682608713528889478722532338369827389380634614583456821056182095745675849202780245027143753054748426002954144468972987462788474217017224968305412600348648685207910955361203944127361445225846769976403745031763421767509086874971613198813102444820590791588977059580363974140542713903053160868928175584190166638958256582891805624393024231996711739319618999453814116839921712197048921010958469890475588661072897801023210078158397976932041342222345878198913945752347751807220674383213226520016442237537351511951592814688619455798653608952067318511279060228797884344239668319373410536859650558084420688639568829105780847192113685866629578682592282396228731019795357537597968298449361335458638185150029928769725751807552417448973078180156238726906883226081870398338364199263873673007805905056091848469585885442764556268786607711579439237974370847466364127898975930074863400604463219621502501315312911353523089303485546918141804096343607125377618164975900080511346818640377338176583084284255680293057007950769518048686114674813130153848035088084853686045536069174450263783801208568193868464592139165455955385354293571547997312540218803533179790269313223186430653454017326415633666981429284541817218262813698954854918046693774627643046506321728410234993282854530845797331625568791102643028771777447490762339300532916218287686321082260513645810013855685543198406924997552055356634312988429469154775523948474369793101153012249826398685522150040352769291415697246316861296393558747766839390334185883912764031105891674735789397996489785188210990079744232174183722690320362553583759393632040332714968295642120417449902128381772178019775187230195007432260337776797666275110451951604842085074653611259992137245527131339139524907045166679325877790926031915325322868427579087956060676767521055431495245163050857936732686701256695139875371468372967325095312074517794434790649035787408961461832723278667821946617559375633719181520307301616379227176749032950325377208679429541251047950165499157897656818774010126811150611828508295197186687829423838821903855896527245804688740026820942449220073827327907781086898802276190190492334027925343924725242053184134567191805339921325049446775288856777858611504958462408006526502471176139319907763105135709681020150975928038727239042745923027352541055968952607602078560894549093311127124404184594342553929848480592406067587136793260582567527798230047917740321860818386269938974980871545809985199929645531540938928292074195704806980555809024938968385896387769567532234336742838876575226992860715930586452658437214936547023216021279816192157878293067961212014134247877282262003429316559950485009706434952372634777542437497097998833440777151630586831791512431417753723768043094879958220763016701386672676297675762594762263866214073250079956422803291720228849448785705600465957496680813699746714297779047734476254335695789352083971875760207835488060738894094403783479492395865781754755374914304644505747423111208983430134766241811397050371414402775080656292574915630879233683072570838687937320893072298556055333338196182034215543064812619144607537365569282766282785149075545211967746866234182350166064738561677561367093401958986604088036113062208129661957777358076871402900142084143360037794791398630023167587294720745744115374339644970820649012018502214961626780197372338352773553096485767545674513969814004569088628117061740321710611232680780574685393660602093057390769939916397048606688887304064132257140809725587146026787483818233970252344993607422120060562385994119355744227079403609675825615026253759474393453815782584068772618905964596841125813263890669940942659008684016590036317386290484941863853554125328050710559609015491796143785319335538583645776237407233633367312075846330909532395210793331083282086611822085234975067590718268466249422622377784402162353371117951196358587276828054491028161977286814984824606533172377395502241054643345718583890340281751997212788013786734035362380477796617985908408093607455686843532196084807647756038993553357622132762342007974809699264792784990186410842532114103022691869560598352546911133763367548655803874900376967202578006751648320827239466074004272384172456200284938076686188725175693830661609002022710520314032691194152233455667858002254759110249866109646132037949384752685600718548603336539525664351540022203077147470226398966594668862114632446303627289295144520518741405661402966604523237802055951291778910308988462988978176883934001014266066022533322351932425857171507325057201755981104349834743823658153905270798000555650024518974901211731930932007564588149058441782978061056279127798514739795863352178495213147139992385474160698825865588825838749979637045206088886534546021115224287103643473251825479383416238658468942389826028776806167782778536521971164786875657284154341396269556664262961426264891445886402350236664150214950559704484126583506262879123538686776326958506868705904118471452049803498551359229949551410775909981251308635578464521882851551760805157910568526980088496543731941657350527379269280349195481595850705867516634864018920660730235516294265849347740852840815068819630056563699584581965979495578431739315896856425523310482939995260121803408140622976214409518035157439700516898285826488541445152025197378079090602461525881319511342089186088260536800580821794829157267185914187789037011211813748676385998508296111022265547841900740451201043674778214961675087053308440874153733674283352070897127294471106471730469716923124857876225535392578734625219741227126960415955324197589302206640353161205710444885753886036892147655797278414822490708503114328286975604448150511501664995459497096856223238201681747359894963882560112657487767951897798394973341364720490468173582274215704239597261232471208556094627199534603320543902022900729381092967458980157457852162144094405613478297404159137363799329761224584423373788914642112344232556935377626017008683926353996142737494478079702680174929238944340009648456548706036438652668114115299056811883507350117576607011750788369479820755988867448469547735563630634621312390064820876769246701066448699020038410619586422202301965945849142906297148900132484501295902938329960986796711270640781581794549645835425398435601699049338093979664426977921481770697620621939027461079861921290259932206310422360597475787808145069489132304733782641119821837353203339689252543707819913296021573928086931387867860961200805162774575288538344023111431532260437096714789613245778811086403468197980569442086765647967600148979968116080388156731637510544634540364984112259845928971955510965223831255670756278285390043162884167284761939568386145341777975503233929043191951785412609519169614007101642759939691853015941822342265541926131091308701417510064482957251964085327297350102108777064799807426168989614746959936634125205268874864955542157242837569081807807403898562707724937983803284166807208265555427842530011451070650573409176639543816029367584569729081190853727201013141819485469367608685978918231548859998656604564622141954877142949150916596975637043240649475879984998567476939846482448405104392913769729512506344501363084515926505497341813467119266794147959701472409500057780809478012727910267527698695583865714517919823869511592561239515206850663757053117486634758621262049206783408821569132609693719134184954205207453388869748141256684372914444381911718694628744634062473827277361542521915002665093430824742700876049452952119848383485082254531137272490723837868126934371726040789930123506204017920559742348536751763215045769453619503930713688975326042811756019199785786244153805610191287800049918408024659050521752972852856079031846221149103498885082590397390496011445587847637356505564495756589823493378053888651137798483041945484843648948904039708567163477228602288295187791883660576816838620068889517308487973942855431415411411373205164873377772237578031195344866374971428497640699604033589166725135289329005386256752220239023538276220333881428395747762866331269881116416779828394370776410538636849602309484413962940883056821626708950098442830224204500304568338144453417612745387840090649474219876219101495125829041105265698775316356695300804019141668347126870525384136126529653831676500399342892406230914099472759500749795986149974985385244720690876946636362489877638352726916213819674422760878633668853556397870760322591688663921926493222022290242502862840132224096618033462489959337531544988517171294540909896720475540150211948260714734814518776252468581605722715398792343232067404274346911302031121387821029861419063776808011445773675779878039145613215238592061638328515339445908449264014532617552305030174686450578291846218283435958977557324593333619240060525031040917749391724006922250404017331532206257521921745180123746499742174910664759833463607172721918335026292669572839319138320634477191710179136531672785630813282111392522455230399899574576906337568943188831183062029696208044812826147042350689003962815811212724330255492550682999372885127399054070741298476766815023538479396016090119958644427929503342401104723756844628263987137482824154546111717372410738643481886293648459753600844137901341629460844602779059366779669715009945149709908004232829785979479485990172282115730915803593640701390529958489174187687239523795844117034072189517285200172644138762665094402383223745052437842948306835278616158555052596202416447022669642258223738089821082726620806960208050525545427855049904904893035830185639204981705697097798292707818373413013104885514405327717410469811334754354815555009771642689662707394720301976687874140509687879608090033340020908512674733442423242575001004314178537920466720055422224345778205250972119803020572916443122963700797001101414583984640154362632731632764925596896470487915109492757135647399998535795488028169557472936887786751450991813841816555768557247024369581684161462330826993838532180348428067105639643235618684092028181997629485569892373451852055185286161021778669016351656983692112040163240028932769055643222655051067513816839007012798230616313442193596181282905296012393125461802172800120313052986315620386478705105129371608196947601662509391102634871153984678549907179219321707106513812599365458185108262535275047440691739375115826764919666262127388683531264846634055913832264995053338654038812237038534750472999422210615627840765820498637846000421405277173170954193979665486528891330049656663084592680228892881936140108784304756924968748248361275287087717185707395299015861989719639402343833774215316915025116382442778082551982535328850484232488957955103411866529306664090458263160792243542104236893514559396812803227774984517419960316465048448862749150531574661614451287022128324550533882260523098316231445507953128606042006325458272348110025549321136558210977096450261566222274399945768985684321567916540787316331029827507131318201877865697442544546417232585307714612292148313789631576926588259731152586418916891148733581438321639997731724623749834395458480773682657751114600505936691452439017494261592975127741302578733836706144394713426292554701797072942576928529961703158530909638842391906988896287592545758633627078180780769487158525390174638535553741820780796540070307781756401788182350341105225257148413176456284611666788500048972746153910560123290888630956753147954566512826177156949155722356054700374758575383907834516743660030280675534065357250613407866881110199842378025751734186085883016246152489404079364994524003406223048306448865913403865587040672978720575373077437935686380359867861918678175830843502162219196002295254264777752304720962993725964681130707404854528516906578084774007070932347099062785354373762372371396740441558728473902499646075126711057122126965455996873670305006304038370189754446145423655375207813660978863419243885163820463344602819796249483763599083229575148329519365203592861969313461087831785813533184361689610179497372571272556066415773756973835772041361536334075772048857360859373409762317937404920905643829856127395756540292685697351736631255105672526567927406443519392539259739181838752713559932861236261335273659646817373286464708444589226883948551480718556039073443396276581536794977043868767321682209959214004611437926912645933275380303725117450464078234947485923276568389046284981736141919403940529657573492802077612903165452734691568809210719490690108966159710886879712983934915257246871945143022994112607219054780389785299791002633015847942532591689100092394778381865751207478536646767117584514720417837786551125913624595078662724429497045257940514165682550743387347271719623676095675022326857501230421594871702480984238016976199354503910202540739174006693222468810321541895861900400080304760563815970171850170232450602179155737226253660679612869049257194967881637995154336534738654595901601864775482815490065943302094184480177617911682980474726128556926133016029117506543128832898400245746341472242896330334615677691368114252478878733766127884663711532057427224299776300291859341424841605548197164925946233289331917097644683399001798343861716100829806264525625096840128419121114214833405167688562796647770903326939291719698446646202279281733338478571632687363113332473546071911988061231188499922469735532925015833186316185277435528282696390895303037865484348112130591220429962587266724161172486647882024232480309971417726967753531735358619859749900872571246711004542523408685595575922268832152608082543603152809324540636061244344508069394777719383368165519946518344295972865994440569010126977723373860366857411767680624213196743051087884535602660842386617281786806705378960348522052643384662565167695603837619817071621089438974953626909672573202564763808625011675267324694124490086578452183242980734314738397396175210428874264538991364305157994417651558187632441580232947656299985350160023588668803218203025045570506811161147159571593005701278229122240376313481752052854971826938374524157725892227504192596189138880228990671895765207656287390199113922101382881621388906637967070373583634844906234046631647344373844407801423048653238592246805489821521965480347882634878680129023398606255489360525125283217331960721366804032016728268799622718802949741347560142169940024206288492567793442476804910913653271232598487923182984405498773292547716554468908199739280278709953934501270260309273123340120138623103440489419436968225239564559889325693535490289321056925370278300869215976927059156068597544395583725214026731768564416362811371643386881686072821584323504653837397298356153367636168610095490339178104711267950586549549200363290102775894809887731817950086335665034635215123099170075096621307012495919541042979198909582644547798401375681898018000070434889870610078536747748740947000410597571670655429113090086807078327206586541185216617848448145990822770356466987761545599325145349516741509110898963614766392047998785135247258164637005855159061869375119846873438150656383582670729230436013578583671429970337311237390904551312999031141184017463112302770113324449773893315273584826214427959395472853107834103507258811518460119314747452862345080161414273484317003748155581019247680027377900821297024785806932690614573466558870792272773578759942319766333312301620898367132228580478221554994159150997820175123180112489888515441462346453977408621061979842307663007765274216270399486662022788290086723144763812783569963164183283075482080482872148336662071511029669069027434660693589709060462340449473116803864412313211559904050917221121639073524057125015612925878982065064337934666397151365952942378197542236612451269515020337774883539782565012350202026270959539004992351972107459853491696761673362729816047984061430511398677905187160795685094159400559519209817746845505034661501886939889883757333084619275458756441539537023988387948897534509364529692696104933849848823274430884965324957450957841923263606906592127722489777471765113494084666098762232309069335066406826404013100545805903846665407280152555968142622335621407948798903179967791975429983253969758648186074066355918828143642537414434253979516008802937293668400075690908051683683978829185148165826939936204585074878709423252946850763385036735133023165691807582558016811406919431849510811569937760563603414380686639841919113001067349692240418392278399302803921875736971044875292253485685199276041631955364883310670238977194710106291957338881958991000930613623265450383182279290692686649233559014054684032953112382169082367461098456151367870028447367503560871636443679558772848575257623800964720008175155539408143005507615288200238065720880694297949721261212357374046026015636320315643786932961366160781476001252916317920319565374564921524671965716418760638166724437581178385876449416479508182745615832662340204145912164992188850353839075297623344752263692579504007916637522856531777338505457058961644396704359446371122889687603760311091628593340483663644304892033254519480714752241807258657862307058916907505029101846821809069867878561411115048152955357265261168136280391128155370006024562998914632693927933480792514963372195559930542265723994145854383522399214469607309891317013643015247468826988638820973694168589024962755345419293202581107957970576761426069108630808928935645692390652278189144126040034618380739796044052179703427632014944117208802230569649902767990506917837910145311277269658577527148043934170601050999954703478304308694011193498597404096455485815677090329971942902503268726509098917950969255465827166938709610621328534652198872688294064147100352335812231230598319945451193140573257492725795728642380499733882330079251840525389649880983484637666683988232992076957945585168034615205021430637324040790426421102825349483676509123114156090120603149000397047181694039830843025339542571277105467860963169672225371529868899335234222749706148886030149128274007622806798523401226452374412814778960759613176498236595956358727645611894121960815666171718703587270352784883084842679062843111038395566176494090289485689122326357125742504135173211782914148906638404675288015339709990337147730872259787788533403315368004997174500690390343606257704734123963315586535591153798689052696282734292867626954323182019498138302743131115700132753976827931783988413626106232609196900795064582345808448381542483275366083443897480244272528988318046745211510450495034497587538364231952025063132858227177943709424511913431766242096925819319473824937471679216635229721764801215808657934855640362367633235358041826531238.90e+20   -31.4871406654112173191922151275216995067943364791112206731051702493111906254633946388971279359710341434059634040671568818745828872216641707221419587468465949756179753126868119289046084790687204291706504447566580311980959991530731383747706374527616923812978161491886756305067740332836145161402580188918636311564058684190251421669653726377636351311742887929205273567396361916247313591405336175621372900191735767018271714541205354845876070746660707800456586231618307024090889859839875545388760702404125303290273370046504673863005637377998935375571451810116619192029811634463131278489412385214428602785323736086824985135657221003491926411119713304837695539649980204846279161793187068512678788708215032961250660396167536304207240765253309565616443206858578402498136488364127761003619568520082097836672286954385866914096094213006865215823271967571170701342862741284886114422189299499543030406545943856299639570629794197349113838215057110087171241672526440025068773406616643960037500374378095864334115891398313163100759568247602113813054885312644939015932802033515032432264650044945558750173435158324840205421818583471688053769723107249981194143600799694162256578214325454160433602583101626485326789224833196668037379433273828626540256585341147094939556831603479514184818054953378224029111459402031524549037584408800943189241455729275398256698690984295111586250198657672463422413162696946681613698655013456829135615201880171431498220567349382043766164193469700642808535583997585193722170043027307361831322271902485914910233085723026281600721261752355378897471793431704796812908335894974813912478848419021411477156665047350727501364386620997604481087933917869125573257246939397618421914611725284709445350400173136329701073711183249074035274687211113432813143797697392049408341474748921455746615567861723759918302396452246809487183457734645497936573797600748576013008482222937894186966942991512014962306790479999706590701852256664824493641552544393365460807686088447813180554983411977189847655492493901079467801990908815872543783075493349220331422435932188568088547071005259593748251792560468233942364800951557393762948906921437765375583730499968174164978121810469127411450676485823210024315572486237594551312816157372815582930575427994226627255282485944359516170889211095020560709315940893421429372672396342544675161442907069218476827672826495121287789685526695477144346197602950848709271830370296640561444641725507624830087018673941095659944604388061072973842337658143338700358157574973279604562396941913169906874461088960628859664955564484261837137123107183169587233693010323236950561201710988603972395557071876844166367555318827076741549828634240998843694479198973349224207623835721083720852641175117559211725297417701906372480991867780982603567257558187355547953624832314661306153184849515400885478800288529256787361232085083520622641405540238976299699127571733018360836059866686577581459634156184389985983544311389455530045865413313003479830961026789705483925476988225100416519319489937521098888830542685259300248363038357437210565925773623870608231066721672740455924486865056879997582849215250973513490917596687655839953400417779110322283064729205312854908677708032250579141184825201993780453456694971888116718561852140308665347936234078761717094300562328175860614213009403104855011365373871932586088948461966667916455753948116917831679967626539186772268200191094384572237010028616034984996215945393546247562333139647238089875325679525472827242327260070177601399243002294130364081300337399438574075216929187687719772603568446045799383491350243132594171917531310260730967112647907314607380733770845031742139929872244194367944949444731254166245689011747633147203807944352196756877943919243086566460817256843640567950874372950596700627231797053768946375790760640804557849546932726375164161347527094999845459633481017633767421440039926581676917038023390364620723847618075668594496747995569552158829628304465826613332180065471255349199837319073336744860519835371480664327547890466062325209968008367909675574512339863313409232368070157614287623521852425548796693628601220292564671133680469221703784918939308765078438694738801489092087017806505561320806806946167375198078641497542744334241057894525442438779524998353978073874436073436513487898923210040647000929295846386275069600836890891085004708337176684564747436636736557929875582142518193938711596242156034584819082101416408769305710414094498596028161822898738421484083752524326265367747532574813343810365797533299265148315909453034062553517056074788630332277792309576129835652021104149389268418578200183668183293829078996747816636856232241780375272082878679433120763008386515054382762549495909995517347128726174640017986478397041895509694231818011709359308314495167127560841852024181032063404120955621808113337947151359820234229701183994449364379426508524168069379781345371720882442314933739698866912649032010366718201796665463255419515946274845687957635373798231393809726112993898752281571516757258122963153454539959037308075913927233550016489576581432451053347061648649418587237591746141698314670467408466102953257863224076643789642408240655072958592910786174231691635620447635704106376905658719802664820896386998738548005099909467040121771390265240042852962800716921218347486102336833020422693297338475335148303286508740201742586523076892624942522518730815385939466245620116388832827108858342400026898001659754966678774700961185784786854741357136003685891930508109086680715758351931412835008010938598772447592887958351151155178148027261932313028863290325834969761609915146469477998940755141030390582098665702603497462108301360318738696196558800768088839267218191152783539411609409312438172181418686069122482325358513620051192183709811059403939912277592622030320403720680004195544213597990152394698656878208984505074785792144723500498410238881590169760175577840989930975084333371467577234918909094113633289516962611334946068160593086406387175358413100926734986214056606615163024356341144835486083875738246760326070394770238038515080037603747565596285418433296017220902598446925766207242783407131341793647259035677523912352087132411797733858417389703138559384527826890377331099269574541479144856557786412531759806362420656043898788349523890791549893079675276044990072553633907088385474993517129236483848139039990459170441264309147444579685574531648695031661577432881869328992266345848906255109309706650569997522126139854366427617273449330314746559456115759612659196251302976624771682370443621730557907106089678758205241723826174066808626786573514150235817644051753515415264526151294778644069354618379817361906248735791198353936775876605915841634323554581085772269142633319494036582952350820278382567191250753303718044048267025293202339524956438354979907709459871226278886531586973083856901000422269158903071860178776388418470899924916233511550649478231098279162765301864039295232277376325252630482578992113859176806750205668829178997320708835646233253042824754573407799575249882439735938415882355244114630748183156670613413648164897261257275602289470711197115815533878597277528467768099822303886365247964916963659658550813111059573280791589866922989260572877936376546606803425813059027426121959605287080352955451483326140355417957768793100656914366172328861787655446977034637283812347343431398864551457830750063417143786847925391738434629647198822393107091623718754136111022924354884795959441218632563666078436014693300344486459627085803848679350890946385142014934534010889735816000960674805490843447425620121942938195595337331978642306338425838840611345000498454604337371886960141288980249286676221150268877001349360384405282004131277076776921069097769289699004121158947659967889755693554675019326111098904985850332807367088112845145165656153387567516416230436963671456063521299261004827882508868923742004343482582295975445444236621843297746916435955499234689444720060856659293000561486064018680698894471410912960031637150131402281638799983371494770407721861001176165285534773343513385683984013749469243632269542870630928349635881927480729873082267251015179679991739904083301729445546375235154427530940391673630314944689314956900906135414070001617005056651341553388830559552835567083848992269897600857822228774592078888224304096373075597376945144144986619218847175624553347873487805666580584393875442878775116098856636684335632286685552283814891454245678132572340897036547928195519286112579925916630494386115799617540719602495088029688591080172826190070410920844712762982109301212240281485680173359769079132575719738108668895132020040163330903006018877666471606720758291404704515414302142322996181022362955318079521735168579190512761266997726878062780750799742130276968852569587757053022118521559447445693771468463787198943220164120880177213252840572666990126750738745689216493640827738740618691786454597256513727491465729518688445904841593065736892667710508544154548799218983792179842012067592976047988799260577483886194844051957657746874821789280899475000318093969746140310439630708200541360889755670823187252242275221577857723402494804741166613157216111905446695297663879630166809420730296855574452752917124924888051280987646382587771583186586492732040916645815712880490269820225420733397090591979030257349561135109630562511910034179015962397027982230492705700119112639068781681125186556226440473656784873143277785540162038077335233810326643542098036539536382025318540236782912915680565413816549315530139442845504570033514360211065000144348990560783035493435531241277713502870848144883246992248465356738115211225635151863287045583476289020352115652030359073721068819711766270965460497314788015196279365283401147386049617430160989847668128232960784647503629810924602436459667955511581865969151543906553631326009159556062180454756323897941751888833462670625292157456152549838711259439421262679345172426311102529695559675145279796151084124698557233112926656747582682094655533256597882669235983351673248893319990890276309917454632958957380491602640282393230715121146097256418873811042687879403517316261102901292518777766627978722558760170301773872748320019904381179386338738015281313546737187494342178041862512645119784612353787227023320791177688677268516816838552804075182862742678429022927774084683203600974151125220532210910378798061270706038852826277460417389317454546359156351178826867818751416061618725580697601200281276510338410402962122992232273490244289141111529842253676004365682030946279642548965224156582243466682501487862850385090668105451011464532218624774275263273710132270845189951528166602921522555994288796603965873663076128503292630631292610319777295809859371856019451632893782701213310559654457492576975475645766298245120777439808496133697485226043775744709889650283774414136862159855527606663611288651367965490505379039898181501586715433173143772685887625977027711454763207797957555239926631322480058508577295940684676451583851879839788607113291850605856353550643733595536876253215813658926180575044697484221845346601715335502007686656278455119772163698260483151038856713224304510192110269796819704598030762145375786024996707699248241338542301899692103773652688403658633065164226636024399679432917872398026659212917558435698810719069063728670061718773435316519615733105982990383361704258029992685996696105156592884222244335594303164797312983363905139864545975584153806316842245970158532321091437019861557973461498351706907070994170227926585634681871664393602211234258806381841949327786047468504941933861967364296984680526579993088567683611052640128372252141671720418771996152285224749976255527560569878486726470866075691365044390207367132791007606287533057489639585591982082954594447743711676734485574894209770114181452739424074643222672841872581648844906603088402899375475723000004404366885827136265005599090022662210901483318264987436638660048370562622276294792655210298203350528712959771162327071192944491646617824803130374271503829468834495309701015262781842346202287629359349472198566772108759177962899946013222081878388173283279470585186628946233083090641960028098517399204029627958214320324344207136077689744659772104466890212928855535619275144387723502856060847611182101848296990442727554550312632064168108927963238103788810295493829969951678113924404307546285589495583960781293845297941761230491140436426776150801695973118377491437109978504794875564098827576912644741612293892550250042719603089463547966467612730956157310618756320028884558041259864717790877409503502259075390298870561548210460732158255717956845014170211279553788716509204008620259272420397867968519451851935150288422671369355128283581874300420474653919846650408857146579731970356747851718758656562341235634660256941014102187756112335898487602308621352570466287412214052924276259486833880628571092619031470196256830240402481502966889226435071964908161501773969567601257874162772888140237525602584819519045213793707840715597965358301205957448811515899548435180030173970614495777378444289797911258547529980669516552970072063180154126235201472237526553752382398022846378635058903888375503864887261820803639621909947419917415142246356819974196002974967809415869416297217826448745352034178674837468409181946712367790100999593259191009213097243114347366515842972074916435151762108854606302699018402075703891233139501354715637787906487786119443515950324817587598136036947803365050384787647416442257841841109604834523217270814039733010450310026478719638629144240841806860062621702886758884308385667563791956046236023001554502091847316724348163795198443804123429382254680616207917783165798232390515195178999792660999568504933004715542342433799981859720323844217782948381650850936820072658290988302133228405511315323880600818958384618758221554196696658860757785358126168424955514491287472363928932570414009582124442211649151955324465086054468812255330355660323781380105754537964517564233365863193324199762450822790423772458989223654720287460659711288645636560045449467205490384724799552130137881749461922160555026971306410310484543637175320845454895458602860515090707342528094575232222408751270451207651460039575917169157294531671537605900887578216243192546725879731223231101234070489655427034120254799130275872032007562567979116698501748247441863849096985807788550834850524803187106796208176122127702774467777488077627556370782464952598265026043735781330418876362523362064669262952287240338964336783181570696081431258281089734522032219470201544689410730803286681922860182236825988983966514372467773984129901412410808471009257924534948830202663845603805950644117723619851017594174675160436860832315400523584912399006261177172306176120798181340363119226155386913737809837073022353575180930534007909892891315550009739923298610531610811272749051125149661422497759932079574491605319495539008773879198247896957500440225325415902831958647354204270412044788208603090866512152771742067637467428949027698803373459775658526569383488247058607162031517391049197635452289249957451524453757788452217657571678315687355822691468889845514791744335262744026192172058711200576229975140764373701918909041229963850487653213683906799923047153540700686007565877757641147983437729799319268045730696713721086950851902838655428618301875173981986176369444909972922202731120418046604860471568782202487519752679439035082330338559799660547024989083703148171056127014268180570698960476396411145866485413663642461708339180216812682123791256422792648568889682950183772899661832397173973034421569039438304700931668177591145213318252304974970156196145479990523550981370099027836442289108470727827177176398003660888720567752736463103732732119119181457145510167597090265798629747984818372408177076225794777643333924973116943961783474141805351645242676272789059507911014869946462849488968864746639042440534370777925733610206099195559702141339023606989121740779426497823056169641431353649736880521403728556430776803397261061035377662727581668461720468776090539316500468546685957913912514779700373319395053760473964236613585734085116633109366762108969439922550163959381228914344142087101356585180018152943508114542452618268996997035249601633099456917766555475370894076150671726410108773510279259658394571655496428226879096012179920378733204146998575794397705927977940492827518597166718590282192816157349213282910891660600130321158104255574975956134314420672919721246904591198921452017074465569704396757088070138669367935783653213800610437773539487390961258679180363326293768638668656901881919947499311899972739526216596617703472626927814190262885767328120489941554247878895275041786718976963218854641442190796886657445353685660144491720999707464330066426904139880972964034992335533377988401581598986382991224990339248000470529429259458692201256283285223405369487334195515861589009544884630578421852306982250152018498071050192409739349565792103965772097009459344471349019321839506828728883939476722655709082044846630748233290065350822850276772568632655095203938131338665252720503971490132557361606462109692642031302538883549601579782941318733985339117693674921901318641414022567699460947330642873649902325783642700704550524724200192345033399872844599563135557786042545885984168530586002679558452606486196515388557269446591336726666476149697453391255904040914572429055114879338453164890083453695712223632665633249648846184443135359842321886302387381200666982639623057358990241179299456376539611248976775811148068035882458319733533120823937045060568003857920505830042338254950218038615300550353359703520946169982965717775720256226701795533443860333102694639474164265918485761906336597072122558996508548034336989738458990145166036080815248948012989978905631234034017562678479887076868342685281904680047807815713611478836687777135441124827628981248034792481394930275679331329554579168528667353392069013157324992830883659506835263265772626317790771058918713349887557739561532710817838800256344191096943016599593206386524168797096603936887759299827772108179890760273853658578682552782792671669987492879649607952132501790177067718215179061957382534633941669542663193329416354509292588865831299638162024861433352832838514643526434857235590948141634488854406061556491950944779034702509942770847687994988587683275525632821125885574984964945472945400813925606185796292608145439190381675445273953594956890355584514804540087674133541322387035608188534752632147491724972875565475440937391505277441069248904663309312252324971838956090182560191042569724133516501110320698627953409571904477028331573754537432774943243981615469748035798653832227763053324983067082551519912356022358782390816517082146257405217762753914196879778904531591024713280771103702979971544896910611139108538839026115282961555536649761734719631544262458826371956024397990973229775133215065150975506425413937824460983680317415187739572878552218428718740503211116364543510054896977744914438679205879332438837644621032688465305092127482268152816932390346896507012950299216497300559795595157178566705828499141317386035762491548140825776600841791394072332688492785272052058327677086231690561731278676191924781601444534782955204361990094684046102875453661383711021232810236056233090356687170373498671815412057556611491118445906783064527722490051320433497189779085639531071008130306765686853781567420829129955207093783369739085737931945052773494072308292322917810026522021561968220260604995876190775977125214256282442853443252349046770294839459904181747074229423210351744689891232506303747689110366632012292535715447931720853199952185305750251917601895000319427655307084109420283584084037279954695395927999110488989302342259918660364073086234044995429875768845073490818633147559211218996992491951952028534509433576685276725831936450203654799256916653327011326261201667266383176742096099132770091179897746055741150972907394393601812589304999206303795624073563846314255864787539000564981469043677112800498152254233641097914573205605656481819334828129110560802563220998291147529641552821021280724713845179832916063565867917180683187695600091829196874785706766294065747749041972759247919705335953727613517824001147131031886583875738219194524838543676055805284779890922394779746333138610330737718900169758952585090084039012905798934001816284886004407420812604497019393021622222875837811371733654794018272404603386190229515872543154994136716155984128391088254861270885477104824438487587332918155345983815497053891742595796821555166669101926206582752423027484111779700892635415700154677315758025015217602343814841308252937751275998688913426003353499684571819310290202576478714255336983185226267508985524315932595185494138966736724478809605054682344967955748410057960020527107661079977541505630548742727637515913812586939412676542744420481175476634549681848614890355515832371166530598895856435583234727157275940911090595140999412806814733449463564734468459392802603098535591869234890638599979151680735404502657036222071090105593587129790275998810040161173842202134025242761863069295324709941476808425803009507438162534659798398451143463515470487632009190032097103669112779719673195216531730670036159446539528038771324599566880617673436608403293325997975755736614989849881430784484193860363045663549447782971321950248474899555001965856143485593747586086151854160656480820592866736437062368776063801005186582366901620176156752134435063831369981263471388985390755474967394202448998226234765751528916645295450561315138636321675787353972449616747272237890259728665074438401297125360359397281259756290250471183642777828566991888508555795825411600502381970350103178749233994156107455762997910247012157576183895750426638531755589916863683183670615498443549199200809469777256337076042496525647857795664599142862466927590356041012509050976472640435184110846147499515734373757992403944940554416489152501098899230526230287759517425997297396229472095226011982846555384036678525947779392600086662392995572326143812941101321987136327084519123604890922274474107869767231175438029032269608239937815839946601405409847929842936637310226016458998094796670985568492426247883604606005884072548507741668366848509121829229473454140509365162032967049964823468003255101910113520446663045304224571201492626108343029525068602279390651114736762285137965725154104179203898466795228114709426956365485996933604146160830794589137908697390673007813818108756792682461192279799483084095872761921398407947816086385904693981094425285172885783333024795003224868386006204874337731302832375773702324954552985870201404933420790154561026437146169229815179379386062186022758364216410957884943549057851246002645587592280796270196073328920394943894012204921130959381394335749220743184576692887838167512296138304743192981162167186057388912054428958268504711741346074998313757674690440823119444163752505081740329463667208142571156527157423485321607429444911048803718452710244525567433827223003586323624648121879714306028541901755117504636913086516330297509674308188763354874448383522274354884614680937535189939301738465864445904919983403516566841980488823635237127489751527413703941854137672586556442724767059454731346123583430095277945860827400736369849184283932848545529581557283389407848333639683358306662302953893879824187275702533401851246535034916547264954210572857974737430853607333748481658835723118051256529454958097172278962204009457229174561462309726533863485522275182848907257121004502841595822351737739474386408158352614416663937822779129090005951344785541966648847950879881696720308855143727721519528406765358680685112406489732884747515163123312025296154227437103856582817248652193708323296928423074565482249678051085316128990598166604020997814115678500321471487060672663566298767537769928268167144602189808896769458660607525250812052154253029287063034908723727142469804406526223856266230522246604584145709422909545369343787559220644334399781856384438827704728704168819780887618181186056440332978959949147831661079886443696095980096223136292511691558837648239450173496237699770126909875998856063324160129228231041220711817425970496421543368672816088261903601662526690146915396197133344816194346927131042593415128673266875432024760166338791403291717526369594180396259029181600904876502473812063688802930221333920591950361768058931346468712006257572628997912827161707679091819576750849742945851923802921104253058035101315892106409801932479774879389612323553326208601060957434584747979345887427289505501466015481201355835700740601471529340091433568273843018000149413368677910268005502905915141092429208199317139990180693400529063104113265188077007388820803721352765082792811723771554666958085451281672853157426774150945976433753031238843705485010017726579967270594690971731232255940709715652614295384677992147952134025580063692143622512848735940562040349820354836099493269085032366512494649025834975321229945171954115780902415005539671875305602033511724065765419398677408980105668030456934497537494137947178746549687472111894736449164893867441621388592803576112240650038902364495564966216029254331556376602243711408249844879424772309289635027189914190579631200461581664267105218828977851083049309766102014866640630645965280240316949450856633708762258099033074868725012896168236483584408725303306129328165180920270730702255797309251177887080129313685821522254309736617437449503863666928165507470353097753813311778560596066815061462358851292382130380086889695953100188229567990958178057938725265375328296985990717515420415143890424243831541814785459511237536778214519773076446111065380053621644006195412056987085725720113479809410981308096907771473586024106377385726747457127274744466078607566138902667692531115573390351107732742939810064395864113440752628892207318436877573114459646801602123886929506374887542606208398820328912894741341095457000051833065959360834168380027847043128625132298273881939941847641175930663914931542635841125901010833892303828172337113438248362645126389861778133167402226182547251819797087800438178301131305222603703501213476286238561613345625997240683140080615461752088540240286265701700761429514935809045264902672762950094265668368383811422901198695615333021959908411853245384345927672984192084055131657107863356233523152581088523888820526971706279686864163915225209371969359986066742180672326966815212169279085872180179501110901544950898098575705722795036028492809918919767467931423956570610000011822891757642885172959911933236548029114078279906393396600143709523634052091112041392255269731703088703135246442882207746711802232003616130705905327101974055490720081696686396839761858575227299217378958819692590877625467188009956973954816395374169605534356262059566049890550186068811248084201357173153128146962945261079419574484891334360186571009128270149797199324972980530632864683810781720654061259504599795355766756828085401738601252141678144730312413973348128245459717643237270734241598610655220394278802741736350530393550092334971953328621259522751038258503190416840832158020298511446419928989766049286089330182448209193211300906034753888818055005117458890801416901482465293713536272253253506116574713434735088928145681943854401194649012742634660149233530183212878892066541109443368842052303880661897664996830187263498620909177278146756449478396835718700839877813588144212061955426419524424305675780133339524298032104878208996466699935909548464606283004093651320435947901960340060582983478722866580392688842840090211578452650408757928022416717760818855040300378192994157921807108916630660800639820557260362072183747925115198202459277434653062638321044673603160280023608917370225521908490807047040320423150392065157226208103939164326753795211959671513535048257609275776299604581835198694511491311018859819287663174165739878922033030132280269578904697576489614117153571897766578047994654515149064313493381149963874450903438544977349877913009319054047310164784738637548951002909404167395895468243198203313706668274116715453397808629970562139978619202949278161943063219544454215455849869697911317840794250673139823702681382736610701346305931813315595955320983174218061656930271942657499480807440257532226465751937776826028065000783027863530623593305209207719907201907472465816156899919692783735846693839533460249150331512885461242756901248494302535796196853979274087323162813068759469044564703101033471872398266122259705395817932471780919938770095188837510224683851863088855877685461112457025321729227023830791457581028720284557571294579868913661966838088533482512181068059547954539567433991244685703539685470046924987276512272955228396056352964552490271411926460201026851168515857076347451297337450147454405003920566421552205261497142584305699865508855105621961697857500261168710706418190498777482434470587370462203015266053703248605954813870310614352957549085955461042441672665210637481500197665761125285473914189847090209995484708249916427147021043085174933325351262817841745142460180875328855983486180465171330668845377374072433061109818171158934682549048481917129223152477482972126243191482416360876033983170603227558909340096285889387716976420496206142461289890920811411255296849673811241342555538991217738544422933259405660315424545231395739952577610206459092658292341046951409372312170199566388532856562804743096414643619469244721598980476798469025308554498183244234374173939032582539001019555089618047440545724277399600656174247161807182656093053915292812456364675483840472979460982485640477846504080327534683871012576614520370788912785363643056226809471409699692880616182489322902052212304465673834664834866277674817347784263748104617295914692283930920547833844225256949428668171363439312699241968574618794714960424457849765163130622611384771923581585463991407489650888478562142490956465608346411411478257661802917753513369900363413558426726919694148476387613186452416088892771487446076958598155506306495682922686495003052097569302943421816094835456783184861093299551662483976413201812218317638504870218527190710093225278262012421645707438500711155683409822394651341394167330545025597490949516661792218141116640499169355206173264607414525399639565602242051598058910372923088167847063591840668769918303913749634332903098256044236098581976849494985284211136551380438546350299708258871905580910956030665817907942822912490784991596655156858844246449900990590749327062649644078814807026197164026922419393900084686398000916330055296345747766326065087070914931470214880776311239737746759342410633331310263386282158943987320594829170419749487814639949871952556474717602562546109295102599945604277957334808619760290661665346785491154554617503545801987713501043188753116968442922133004455781019095528135981395628931598286490599273187807936411424785603464426563971653569320473861523992334912200687936868117414778287413034356534459057960622211141802135783336773889695870201317490933601144033323204082012163134147408744347671221622825053566072733709133920244626818534890790963464377681915398071044623714913259816697980549568662256828219556447327017083939918143727540625581213135153449650664948815807555799012748384260428932916496171940863249090716759562066807644958157771602673360439857439413800925693953140678831717482624926210779087591770565758626080693316396514474741909495277195364816567138775362552613142871507298867770548186554735251458731550536225371301958542169224307474449271729079287241450392024961426345539668586422679629043540804651326282062905362346271747947414547195411822360597434500224167534263826111547628561113155583536983487298353035081194721499044634192924751286784025699758853348770262867907506108899764552006193132510420272805884750337539361974126398518818397764917971029117641470453454383279881690902816790130105540990317427787997490070083013760789733695695384243242270892370348343623182832277703040022469595541104634810257139534756924896640773338032267972147523337046602890153257495184691363808522184466401928867397059115697479989548108400408369167278959716807061894864006842758497482454066984164542142746033002841208816504932506732038852254658989862434150300206629504941339327425871306558778362235829274127099778820476555301634138257980881760843012669210595000058846025113319820108240409102229205829532894878088135375497639752254310619216247250789220915100358789742686500237205359442953208086173343994139871506543960281209116662963596485636202528668990821688176655595079621193170261263451460025797306488790317336452919255270079921580659682537195606524353570484632810790276987468340777024382968241441668278047871060882232739775819197127241940246226470663730333472406120236451075632620195141698930743088644941527919048765844859935235219615067770895873357945838373094985483471650337675669174123432042690959234370239717644257512026207514448175198272956484357551301155519328859978374134561539669096577602417327254889445510678598145927160024761360206977146016032745673775173329571181805628221717274564383835884113215979803974911380938223003434967654536053466895898830352626214901575282528429900706031493237649806524999933044146940001435311211865575680995529215215370022245554121880071533654397147159596163575873080155642071086923894600970487987205769296317101400871160138847869367288019959090109417620725423559497321236447477530214389041399348292316152919864195544668090946995426044257336747423009900117716250876491447013977288398300073890997566900623932770709551788269251937729983496783955130228357274597261369601299797200344379029578426654725866045787912351573443495072546255871669551908357812151880354971478756711024851543970260295902072147710115710896384612633223652887870004575864415076261786161571278571938416178687403503110469516663756719447205147507830889752518905788723665370042037035131384397077969447976193596329834193844751469503210052301135349770274741087039573808038174700897025691810535793073898825217417219980063237806325826618450301045133351706407231914595332572996411969231891534725194830009598351748663753826411140745758827755021808275779533647924419203298793083823592746030924388438759840148452723018813835563338325409416583777199172485154487531072215885363094902262977337280499812511169660082408615570299250353616922880808050032599710668893374968368469266369738632818609237853782728875423699672855625641548016211190862341408815479955200011954066244488720711251268791714109526142700575848973291182264674549183656633310109430868084443118056511194737748893871699145656473244664257041022501661597284821475833470374778128587858576981228923390548017852900688437345489274725789703588798956921757415654027797677947717724328695536291713685372068969631393174930551945205732151977052481929414681776228814231348274514626769128527369161796922779322805603638680316553624438615869040510993954905752235678541228244425634121512309553232186430477919692304467899864398528461438321200431089760766195159098351495535809109087074805620521379410973773684784403083647809257100117684262832282783069871997829930811537911251621158155246158043144498191439511736741488003809135595516971852927813152154656762331094802987391194419846211187330631113521463792135220863971825090424796134423857471679969261982024625230992277136493401337628940524179168606529261521974869675948355393173927166428538214301895843574011425152796859672222501218785198433268448045124346898119910729594010956970402058639453664636717118125014274770555522009464055069891695244714989653953891226022924205739422811996384683035639144564267209602792622011516399205873301243403603085508659289331019361597039411749499357297340544690761676518702843070729455701182379738311101587885877922695723071146107437598498906898369853372609519452223273083674600508055346499337771190429988378620657101942976845977039129986961126856052269045853556681771689991788583721657333800789078137026394164739816659931121028134858680306970071638744886909014410488430129137412399777597411952192965270305246595685544285592803021868090527196957401841503903427603625777618203145241611903466248711408369101625369520832281025818968096137311857002285525627311227048983815910832062815399320445371389762456439665868599542708457695581028684540346107374544592551021425283867893625652009688835159292742248937512077390468243988820226540565517716466402448736821843617673426398936509945029603709263040584233238008925727609109025341502945488381303875755665588242494610158207349646323889469483643326341282138212046327283321718240896134367388884417155690081807888592158109187651368057055337037109324334465220578383300043869579423088725267415275805801280369202812604123186603185876016264105588758482990572183692413331741420297255647824333614865310486558590447002716149620208759990645626680483874410594526611710996650349309687240499843427500719486612562552476645722194066048108769047412772336900139758652464260364025592737340575741506765101339061711006930907771824610121486384555875470481178471042177427275722420269209537604900138092729414756993825799651141385104588549117706000802967094134864324399302275005385592493806295747378228547079709358797000941437374119963882862717689581597831560071980498776167147208377061319339549718507414328140998826959115089152024768322239248222840871379404708307139454508522818895924085655415129086436491792573387785243004728849514355444821171849695918382378249797263747084289340131981328144134060356176715851885195329334869487622252143630938459281117715754618965379652748713733064948733397103832927213206571808414289618541846240181402151251295643527671758572680740175300621195567424711570750747764494659870546581174333508883579940405504580330448991253351601795757408976119275285312667029398886528538159296017768126848979977531605442581382058082687476574449609143392632830868027974643098978805456811017293115034499010807607362043154095308901370473473156892217744353886998037376643259860081967592103792717547111536634655951622134425807651384459212798205577903445127802033698622811634103193459171954377667721922297629950216135522972848732824243118005157960434641037800014539072074689398533928221233434100037456817066010322176419875485400366059776579524961804701252014071898885434596904285687004428835936714277838721159839630294087773374912705579804890973995623392859343533212192891898300862123600537800323563042343474480812175438131393769265629069427608136671606765332470032138090760896453716312947384389605424722701568132783197025686548002774974322137326635530398174194362889413949681267042074001410849247310706666915619938338671877702635807585186667750505362650442835318268708485362413971438675858509328208266792056553818776473226388120146028243010391480229562302214458152978409559697912898228462017142351491347236220621453310723439864925362205049003158700972235113728254674181201626618605040771346183751381433697258148862961295026493723076355173909017423664376937202601436265766689323989328231181363407025891679534824978892112568838733334692647249668568971127110906439101387202180156943278289409245475503245673691205835653713840387050374042621751436913385861829826883489862939304195543251353436034304581706636048514039365700506166514604569386157853789472722330113793449589194199490539724277280660124372294723862818892230158236478806327799287780789922160005842922757446596287275488804024600812380026877517244903983395957959407602211283909419917468165871913976127265757618529566374981275784398044512405358424284872211980321445029269816889207816037427471716320266360948890571304246004377901948896091872859209635555183885092091690990107127202877386896417837998218228152002380030849482285175998732748970200425419679897405106990176183125168731898890530262952191721344872865156056001258545976249395902281906621443768734541168229719238350114478766840494823855748764799922369367961102805182886853244357585611409540820531739316862397275738170054256521696740556707424118927954499243424019066836678001894811270497739261387173732733844445562824529665714721096269745299768240612580371943062810985506604421702172200396915196294967727191481918151390004513354960635576634927843974194567193591875534197792496705117773505854951606216207458248989658208706121404155978833659447535457428052494809518391858895758213057082421824875817092094571514031759993385985668387899468729123208410760578046897796832606619161102171348142044743529999673509611050185021446812484375232702886993003525871474812360015388776585888452941309792021222770579448936994208338417911036225202447252071491245398089484028560006924131490746275295135757834834729154213487034854399967860275749854275513336914553769448475969864483136489303750226160129637733173607277407795719548760946829459729668428319002059837041825061145003966927128545420154539235361094480094927981546783438354810219679871393283558136691528929943120010149769015050819983875992204525549417539046249348647258600053609762535661486342108143903018590468632398538392525339832255204342326757723652024570765900620076418003086343766325311821086003846877275001597321962266674294509288925427706438826255914333003142936491161934917634347782282697002844972065558434068758986367087563960188934799398263073919839886194432228817059897315726839810649204456430457336099562167368344465930775911666475443880516561909412610201578137771079222198491352643664933946836263188617458596870358961287161789229281226007804831638976782073925845189019999685768567138637149846364487477537033089824809513790346986743609322632834234287758702521115777600085260993313301183635976445425646162351614145275630127093757511140375558164692357482301788639043072547463044281240472740535431931105063570098132379646891654747879696153154188325502301489063763842467774413247919169520428914201769648309626539456520565358000397253003287830797559825363383412159650998674673640543391639972307262474531910477551881144033285103370923336374029427533158496108465457980748162207152480429052990457468642678921638007061077468426162938318400585397094211179911550065006869817448170513821714199118810606589545362533927011422653634624475349807151663664739914470832571208188915202560133244781986133455296207827293228852222611246802553173975694248023567740894577922241759430854888235909018667372718983026022700525045248226283654464766570941115641467200948405944330299285507361429251268208915578697738590446781806144984808355334319180124993295802400100958481014942076697116727987199484222546042462141064758667576435879036850198324630205163033676356579164373326781001739132421276823759388910710811186012454701386881010803176177488189347919067857079251581208147177324235144821648765024164090930664088814216593389893201821114102502305726696924033456560872404674015509489093626264032029461858371034172294876494097229368453300425854383961722154876032879121393179529117289616004609186219468777832745684845457037967690737726619005673050717722619698683575268369928445646318672733722079797634746703277008987371645042244907373243580283293941215712236638587803371411931255378172595370129821359410706031880619860697621723959010091696974268164226190363670572883964782300116659470406964041421730128558571457316356174770132407419477444889732389126595628070032181847228391522534315998917012432517461291675841272783784606941312050200569043162551851311125266683723979883391559656987092730508971468468998345430021952126306295531599418444107302499733563104650919870816248078420513869292877880867060986704868819107246423411419435623326922704834570144685748802596840632902387955169549313114563269432722172987495549472713381807752944353741600157096499928030005221977253414659571220114927020744151888142707784006030454458644050358292464352754658623280046464499218677302788265249769763501951994962612182900644610788169256565083264673185150831802938885634332778366874401684997380188944379567503302862121840578718802251100072312719023107375356136551883892043324429759789234047614992401606250692797767800206189570930313138120391287167387915064089312626630889900636567470179597628902795775877850716675892763438448617307884791782562041427882638619679370951029587701055756231094271329314446596289686371914225763895739193054892952599603235803182885717032641039298470703485716996797413887982013051143683454065654596896514017324438916253852637299898659171805370361217514970901800877804105632670911865582574677656456866542921022300850307784652217014970383485827825957856513766467076105665147052567342196482030958880547071086234989490051476471450704422722647066907205362109276448101575732448258290746958107743853103696842880809876693703698075508897573982964174953223692610360159129639055562958272553714953280394467382130527567832314821369521967825351305362065298693729971080994629779307703453512817906327316778855908790235589082982516467054831623612648298317525908544259854038390884825659301091866483568984845823405962824225331979458346940444886503007421064174329373960204605385885728846383735862378391081539237702788336729405945994094467582562753798481543339839450997675123319880728002336511458660357169490508573393848691738525550486337589468997492451547329096045878838794606565703157809919535044027118790556346653554547600326758762531696223108456022704037612780953014968498434068339752643813829442858997743369294392556149443507815804870137276805071687753004885375954089926508316694571072470129846544456327370939606716175418392048413365213238391282021562392518581019851194125265667823255636504817894923536084561563890555426817898200655453822978487535077888589301586143636845913687386176144305455380655451042330261190734286942472667103509762001110395933628087253284736634935266497000562581318856422185590018989689758136489264116347096220038998885628368415928772493117310302302894941782476255694225978228650849353622071818380704412234292208233717114598326518051495016236071372103754798561366507238054983030561048539396742315338165753157303419583434008360095821508914846319389825435283402007357240846689837710275095345865590437411289264157104804330036587821584812030468288688243247007080350731236403223003837472104824059144468110652964469209419023420354903716991307846766620724266214714207826156930739311596934868251673375181994169021472095671498575924633742451363422641200571440132627991337475939423763810175290672484717686392254530133341082159519102172722157522555992290427508411640922359214589278410554406368632646894015483313454622072721786140049442181442989462681053343987103248578832032998377494931249961307354157452871720690285319427558405821888067252211469910163830881483763779517750806998006319599658146423676362562253256809988146180742321979135553178771869875485560992300243890109196492582320898819340364865098939599757981281072028256653354149119206904044341763580267704118141262874488834211581808790213248466664004887400589981951974208246904524922865943833928016656682274646238734228723045868634494641027650623368150754453326965359654349503039874141788030629474531967018323422058139252247384938356050094456862797812266916612647242453819597986860096907760944891338829990689567588399277382971226008107267335286135064995104436156176995848669272998699122577302919820536593432742703935104834058230403152407892082578308704439254294609061852073432463333976813245825924329746091357883192074510012816269133964190070500029683604887403539935366565647842702062561423087192648406180866236464732075375004268220958166880638121328058588127251467373151146958202130108122069205135450786601624957987921327348073510811491655243953865008754552115198237515339647135757742320731342397341876951876463157689664719168894192899178916251112178561679679198579407590115526753731018988017966026797018562450725946934745653256035758706241445959563049724179974679762386722439496912004431321018986335009473434027227681035136156780202459912516250938032647452153193530541994611835730115862377607152229528202385870984690029089996331215135565273483862884784896739850383032571021607897586997560566794310787819972853501322178146947678847748957132405767074001725484388252247952314890599290564034462407844739183572643582731154512954758323431790975243727054636023419463917088107821115033596390654790183012042726050683933782948529850151355729424604917207704776653678925607561224615666558925701090884354222666050738383185955066265622366545460443293533229947665329556332879833372927269353039864731574873788235629475303938017400869467057870433590352845668331619555450147402974109385171104267143600846788276686537244366005729201395965884644210936594295787819968777475132765771450871361242250048915549917696731710076292610946739403515484159250579199682878462404786424831786034965043322198531229871477575470088593147376451576655712681320529400936863528897454955414778823965178766239318086591054631734042550348163096104756071466831455600854863192802499099455250495967264852161463812033971626666174890207416872185689198250938746147387121720148728837684997763597345250544660452338216705603072926754920388453808620492984282694581974134079379444483603343513961171784103342406847429753124622959240670106476252115092625209514648827948707442864385869399260824819523515259767318894745881864567441912660736767547133712010487343634910195961637542933347305260525237246034127193307931673399572197034839271183433127404845992323127522469879123455328722513758182055211491323690422224678145173478129461513084147581068092512871683721803403837797813614165562640215327667961862563056582030514737279157956234410917585918962535284490305120581895545136144398148589530254305604369994709268272022906123675366792803383429448961151995275801692883133675811607944253880382642840373832533606312047347697851037294770933515179573227288973398027797792263070949462300109631453424395541040154213443755618774236768412628855376840317990779313209053435412161745988878067928249466729480697983791590599281337473067905186074445724073923276915431141679489845537937241768471116320607847741295080925003061174729991876662984604999619917246739820939715023496085949050705690773768849361822622248344326005372660646592896161305439883613140328584253635341401946846207733085835350824370412728504246129547023678862491564956819253967011846123109659927412015960577278672204547722814557969575522271359799443135519164862932686033280359496029571609197500771496914061113715985055186937136275889405628919628125963758661210099161825739891834340817785026148254368131012125751963653255082807265298392604381577062300008291239768617077637787783135135266380258039759612412302815358874704742747635796959381585010929591285459334813529669818541553622742487521902276362566310687049434774428711150896044897055771726193757658764965699270087755147758335012909597076106324011526423458059269339158988512924398942287105253287312331284608238344564597022562214749087457392326783354076224555142040987717169839374791624091825049039821549623672041405836118612736630904978435852994797300283657240353940805580902471302442710654909206406977977314566901102189790910552369066919366078390729608612867014242033092819660735697688866897433839358531707990471139148727582065993976068777926150276040918126935234852930644359588103306110704429134327504951921752282995986530445999850247450535974185904757723512419664401476174502192580462935376342904044773333765033291484914760070486873128794419938396780388386546155567358010915845635893721308933401349160171977461940514864678118364282210607343460633310707711847467919179826494657988980972276145938847949708166064174182301025718514209181218824433942384408299242783893934718361978308760689713201582096699545834664663641534054122624293367141519077343617122557019450796601754973829291925370292237428398686073586707819568598931774725683403761531234300259054344716495835133408733183101326962353005580213854829437960012818044644114165760342487385307898894251882420996141581211072751732180488930941667935289486853146356325410604082796524482269573320062723786384686438876294361695811185674234912555554375701083564975464087798945710347919237796403941570541558129184197011012652168315569645459689098922223608834987436620385443465267401771776385130712741405942470132431701469974965431572286635869112284542559975510689828791279300751405653670323401513304624686651994761048292555616146810298876275863967087254715542325664671298874182182017400285419996363484581129458851813831595584130401851183248235517912074524038290597725060195648539866418833684855529156365821607503246222812497050985711215675345689434615856671691362613372907685828211999576955084365802112072774815907864750270607319540949137818519217984131114057901927932834697710609234655270973285190394963656749862249767056396006067653941815713938926624473076804669183466937542535117555184766143263809624498644355133841437162600980854413297635460766009937397388685028677552010006809704654414473997776634935166848940306967406917805578183691496302564151093805695364174454625456622049369751432168677235617474256482319406841087946861553412838776929090876974680499644197390369981902999589277236113744483412330722931902821756668942302854289253556868263338096802253540168016383181117442462342590044052175925254565219456882363387994323915450807540585396722170061713006673873539508359941370506777270159448013975920837166136903953988022844243757040978511404991209123518154649365573334596186218141494231895854501046615326147971212867967744124420391825639348690178874741173635666078533770559768757421560024700427481870025122999733009323726968928025220732153049449574966564576479993189304728684744350928375214135646508990971447882094151875308064624433750897597916323630182181675238603884755447391664792113272795676186852308038496885306825025784312090430455296007659233055525187608663801552152039984589054664524500982239475970898346441028492055063589446135224070717029889396812362238042666293564268177226027456809725904553001427556400002950732806417882182254109041262779972155718697827062604820948138025552234215100928398072289302125890035667277481240369588418742424457215955813949275126997984428863507394896392339043644652094873453185784315568675051616938527884492962524190169685746630494192633041305935141111607463624043429923175668383616778535809423797882419988818189778743243488987765907007880810900974329869657526336248948139249447899977962837460384391214158394293393001404173203833176593644263894196437876316711239880164710099700545442083675098978107598797889845581891378877886918687659359433914015444254254846904662717753064695139856272686279957139806123594227204044212931046751641554835259192506947353657333419866269907818090785642908753226105741934835644735491611609921853347652037601296936217689591878122098491173524139961821790070802323363692044688696788879006288730066535852210279869669779399183399944721953192089265144076914445660054441951179215029649262908466691135222552403228182230621589158383027583725247287720794065090040472320615359089054045751252457416650931498518513920415732179011698683942804675289240913142053315185790970569107221314848145607337906106374284138281865891461315005817665085690438535024482516016810788207078012995699257710331115395235152986375156272045098412161686312830469194723140669722939019853236494304996332598461956078983208057507928771923981279978996219246998880677069370607515406249163952830819837965957708468292120525720001907703490181147968381335027029340030671602916905753008700625671884061121342234701233003277754834430565829242814937250777674177520898300424817422477467334743415697447509182155394330263859191972639301222757486839877452393680145096110305245829936674023391527126959910434949032921325686958662250161306820924318640128814892110156409281393927703926829401834069700830982496367779573615729225318593601070608377425718580605146198478795966795560251009162606437287356874644212237368476658492440177974441084200156195862621867094092658976618623444942105411231852049038699473917423834307742028452557347284788540826486352654611069795633303177182740587764445741832325957285213619667365709495581933428376897350337283075136704890352189970827970800329032622321356585574786596776800923288610868626396964813492294286724598894658217806489920141562144815894452303203052046281439675277856294444774371796326669648365042994338937567756588176250189895304730743591266036943778809908438923909478517330947526528418452466958817960614838700354125283659247158047120523503851273093378493328434368310782068317618045806349384910761031260291182988688344474875844167295235353763553607047524220637658103650139604264970844266559216228514849719138745931379924865600583167038963750445772767165926994200105221516780257725443955747187398812193763919881547852638366008081220819112012478153638465375175427709612045282010573420979408140912094490938231419953140200136128447089082026189274510732945680644365283587315244815899205783947483123691325069442043164662057917521881235732888005611077495396069249583056256366847147906447263180138666201139733759460224040581516672215328302899835877493651922689003565617096991679338805098478401977450251061220354366967905767856722967164408434090608490187094686882819451215826006047177876467167348405656358981785495394240957603654131966074145804336872869749126751857654380862428205402388511388583240978175427249719149090338186723732850394238309426447690720515898173324767798932598469533785294323657323012007477423398786215849324058580982650394833623544240275692540531996955538820276890119888052127219014569671818518749929734266180083659618901873869972155791621631996070970279777785992673955218500109118347436205716195400941093214347203947689371982725749169482036056373251289599982468474334547345292729869918907355314947313269781153061972064911442038781318408524042149568259316811602053805679284410678493546329711917499976106568745506080615706899730657569118904655275538029808904969835078068455172647569461451860753270079014533990666703958255432059286109764376362135442597230638566396294924570783230409222406254003942536983962507579411853688000614878568086237104065342612633694303372190825755361817280566037687016226420995623925655923528206207842684674458741438122576316037943102891437221574508757319034940461640805727086757534387480895943229429991621399242670431642138671515605087336252422785049284161444906605540366630808504544971315737698172100983985947612021355058819848279279868382345747805300303587306433412460696382072525765234184839192531712341668820318143552137376521804138216208452586853077926770880296217959997345931350252841859170923838048782497745960366571601993278194162534308807033602892181421430869322974756470032433741006361678520917584251476812286519147304176387246663920501922883797440959708522300894874169349830605812783555988167566285131027007788078334042881837477181305235905922757164642747695625778491903696873809286670341806493235545005604206125902248540109524290700283803548258692557567732353455496988354190159606585250608243712502437866084264814551622466757918273170080426027782846082770481428847065229042710106006493461704700526240244636876478030586678259201028062526303162965915703628770074881355186694801524196479448475075102912793174238969527663420220960254623033488494346034696838836971535039399338974797179962045654008513463328317817724640947602125188426988812513497151345038540078813433516788057764991624670977970233786475292178787861258447134480750690339568348225470236279819805166190048992727484629246437338046956182974268116770625380013048735343732171184753825573577883876622197635745143647294761641958710942907671107671312708995282385399780449880549982172283912142891772716996973063290639222456837934128017624122462755670035611304048840722247603870659652335698292178140386259656834899253814643872886837762649423824059553919216494299965341516818415480971814473023931778841622566224314617177479992381185257626240974545273932033363492039991745035409148661966492063286178472977419523399708369865103013070477330212763933772678409702020269994135432925594771512494917945057472035227978646927388870766483132637172969746340378176364113546901728936021867816924762173640440734547460778659263839179653609774350117384341488773780848338507954285915561600687277473206058074692206972135323042909231157956527869656081513039420375780476250156013834995519663810380448085210011514915589647930281227246767781042735403360285323448192981989083479229776726458814845244332552012936115907552555150776131588909105718300277522239427050100120130833685604478824066772904926952037515397757669065834027539326541204953921607503218912685727394624039523684356807691059723773137730883153709699378685857324659322602929210379216296974618294356717021162100243192982375294651424146263775729038427884305080125869485955447462416394756556789265235723299156399238825572353491914719230175926849954403750200311082928967659246431893388408640740255261928062607907445306362536873319623439910612556106962118917249321894788961228039745158160986839110808624746561635372288478073196177139825491867516854894721052791606788250558409005596180486775837506543528360371042850910588293966710294221578694081272243082690293412967016096696715959269648867201417330059810481906044938916939000956971053093305902615638524446651269466966298001282975929363120356414000841764084291093149764711472894188477077517638054120593650060490539268919875690114365751959928173019822010799702361836143245074687780001270363611704530864684262042245382511072164718826484821227563091472792018400404252756081957279316717910871041468854472567304257038741821147283389738905855493316410715821562190265076753513854415686378547756975504372623900661150089053741640312760924545503938939066553819960146350824586090185203859142059285022125795494624344731865090111645957628169742186571650479692756263146154121559328595752611019935270887512667700571066429640536265265237495187134252026081236852501144884392138755087887902618060174674213648634452342154315324551931372948723361705130664128773999046452435983085598857499268777692537792493891370478119235023014460359800180239476407342976477835863043073218188928865272931834642949266790528340428977382686240456592463448272436345273532158324193332976715161915535808236360979435644416244335880393436263472527001574198742222481747465923377187256765751976234530478080517227172860535754398941910710981606435831996481910927218201299571336820139877180272195137276335689273406305224463673308026671459598049699323969358888692271316588382261405792949947018456619468296643883374781685608444027073814600908458136216976821423142646016326191106848635339472988263896620259579275031764724124961460222347216433959257940354762038050486437273860717601636225438455424267206784755525800753218263725373294884372026636603127943537276897405853057610500814730284001882624139635428670774357477897188542075969621780777114052751561517737553435705985616323598846019995660923694404985717067073897786454466057697085557575494773464239677292953853430387028517086429596336753159494542456329227870721476253589648095460014236923198455190470335466902135559363704742253520556014724139706845335909127599756550942668758454187679714463550436422600485542150910001459024067802192352106323436437504406003095224650962704169725697057759270794280498680398490959884552799761409440438780529646526201470569609766731609653717592232591649712808683743829292163386745822895095063439723864371639505299490990716251255551281354404043194205277804149715835180532059568000520422946019715333506003980900975949133936130663113836126318637341284670403489902588310974959683801281433792892342175382979857430788023423622858287725034129985153967529882289008990413037147653141915893213235024286709723408924216717261786201949712604156168791583531609251345518799326954025104657719854910683574606413818458015918893516574141523465778533357848649210898504657295792747102006073914013065451372961338168368267588180708265502018344170919057725835027874446849905313534639423106701618052859769310675238393613404565392879756607866402431794356915666843930592508148503904530423989786299571723659619009474616926996726673945222193315453946739448010609194646977408256760333298321581503187794767584170323975907057229538439805755192127714204911854807642742348059391085625038313795771958282289138258730533575164632059877297123260064119666175868263162083915232568971059979475293821221612366514521626815754205707821905341194578850734201941413416728262574931916082632729980444226162322737038959112586496741185791253629354349272620272948256748883467392938855048267671498384195431183676473097016785045875484929167626283784708578092770320935963625563064536304305583737822519801578074449191721281774679920802159189523655747197285954867049577695569135621532581278674390547216783698372758908027884445490233001583542017829651552908649682114362848049044929174584341439640099275309205897726294840983140369419941083574447088693783210256417313632999355286145635187104045796370561628146773438076987383885712961243057955290017708638946617925249567454175207177153067630642368534470899339048083380063049405258695896829756654984900427387002083872456421206606018280938860069568933697918890691531535631649718531812803604873928393857143234097390571053430952884181897111840771851158424739919559730473557747122259001677588645739778155829552979909268949025508695402917982382294412438331803872615836546894235699842777087364728233087788301981877266984613307150651321364672971699387960411246401556784353540939869657609943586961750187433626532690572478046654729957813277040501569926740506000916927245149292360272049301923135727763489501757785201333445869531228768628793793434569924600555998984776548039674252164527582194982559426441509946362734414923531906140785057142790975436848493594420691196113502501265961901382924985026739200472698186289537921511043938850097257287935808702856980575550669507237240743833210828095573551703456372466761292477388055512883240879335122363512462368049329845854988492829302668896620753859354042804298328507598270477952919313814235099140821648905603194047648083792829003187279969270897551370941333435775693601530819595622839972217916575036111194243728211120554265932638469598024518339542799147651116983054878430263430831945632966654959557412458914117303096382969576433376534625267999218149555705578107780164980671513649525297764777477683173352513870942483469057924684194459602209495664102027929500241606596018978736168360284435471531410213120195701550700245703876119240755864557904174110680180801945212718375087797128489607609813537828867487176818959811583784230914000941778589676758028398921115635831928076155020823872694908463156260360105700704204563173120555381430442134334854422749073241989344500734177774117581600235345479821814421118641599682807351899993075529651735887065257902211300719263349434245941488199310652843781118263687193531562416673157645058894184113468824085874189066763643281794253137565364784901587064384675100636304030530121491297837217947902732166239243592631536570264177352568301258507992165932958685512791821176949848076760987966719900005422018102121800010936509711922484807929132534555558320212316774184178004257805670404746907776314721842279172639882378980850481175259678696859969396286281229559284262223820046175095643888943863300734039033752474038316332731081254778803370517931974809093121549936916565729532831414433955002915839405277121326577930427029243926886605518872441354496311555859657410991978224359819672928605580524515832756304305494686658106450022515902634085724412097130997090463153336757459892312227246045283510846631586585937361085601321872978564814782406132562243485565074842256824166900358592030819318915460042670380517397592893926748486400860198142171852032626212260020319348153362667992374198444668791625661119688397824255291668559632490531691440324970799085050033475428717971936623612720547741308863844733046629902486651427558554830405830494515853438572348305709051534596057734097077201253824929204973578463865782412659131546678085635691278768911397202587346174739218337303296345268526452079464586339072513268794768304603761219864981334751550128088660938079177575928596663887687643657474504271783845621119099865122091741179469963446659768946679908074401540438803680556562232342349789155100100468536302847071228308434964974222097629124823266018851267884208607592504109427229034353041783573324796307259094107734068339686230620360207327739614130175256871164112332167060943577894311929337968193521227534891570124348471169998243397341922001335789728054943980249093387707833321594399806306542443971764647900151703803445310564954240617609816186477033584562270814085968849650329224793359698699299015811789911055524051110991843044525713816131605201434646850154706297890604864597652317912927319141840101509168025357268453304210324437707633748295114059580123285848518572048097808225173317735439310360786795496410948489274919960128317098557308494464501195003347179070855705747205675086517041858988963663430152840348911815113021019385829856130386397501014517618668352257182112054704825589260249186321330773078460875523441766696258584753172138235797231500189924004472989125948539473825866958658018208410136909946429127742800821674515528438345209324018490482869412196032086709731354306366762706127842060843738084716344911101925629846142627445016842353476788352458282446311834621876415004051208047213944250612929662164760802728649154691884076132578946136528405312994072599105652678381165205757156576945186643000851277999584499279863671235758063380291169529758654912157833659089200417389476232755181866351251391434394252987372880987724061100466095530940677967176070476596654265939943003919958755703374239877460586007390405573063500146125084352962813984633950432746570089416802096404089384549734581619772363864426044904559554903264451699196730335845292367878306942223262837072576217554451283199312830233942119941618253603912963347580876108014395122404795103559407614326147789491643132855222163944578402172212508833310832250565112175694836298071402408935901444952413826645455515078861383627233476988865510083800609937211045504304481954964445605511234638109741281396902348800661905380293399619968558082094172265993235584465353338136537964410922447918374000353368213932493687022043871203459997911306565055757151751003548649450583351876374281657777233099235205731930787116573461384603829371047352431162939577605295790847041987122258472521484903792788482770604832999371411033302790550049210715124073345640900171458472695669191711145809819059196153312991002304410991174299300116469979271411054173402823865878645654792835262871411694072789645100599985621900041430850028182915174184858149165200405420468752461899574300219051002666812807046145195735079974286463344546552166898571190208628396822276043250849618929069052083865204009444420514628525540960266788390254998169522406953141188978709934345352536976583099427214205290644271424213993214256997627148102742886530029462808727689695426990191944978016317189057218770361692999506317140859776699478627986297148799615692799559606588289008013804965627826771643492330430233733249703485263449790143188324609146036607125669560576014149539645258938841339487767368072947012759562446791860638386386790513789667802691899052801431213564855911793174453451851127340898403914285512988525603725679659499710331814302376839131890887928021255566098426121064346344238230468914733787591797344198512637673487070558209490354763824080969538235492535494539926500120126171115876329899464676229441453282415123757856994352294158296846200012509204105751992408459253995118360411843310610972719846256967816857151402595782976952799517398195812172543111530148319270921931634843398621084218050099211424597193424417637058185387228360911641193556419347255905627654947024135700354588425125607574168162587077202673615149802789197105575292025404778502413883922655414934458108577348611199493879512035493203252017098107268846707122861101429740669491347223815727005145380476433594638572853647548162812050715265628775972556211029422937120646128117816062905019171364278262877898791509790413342591118056454355224576777910454623756851426051575255844837874536832519851787036671167760449993508979976244950617945731978969441258166990687668564157447253499517443262423209257962639556116079734152514856881790273330942541544171542930738807024559853028394723077480455466380868945369399783083921079717357653447993824992510835932005762529886895398899243546031463939403313912542543479923548684070110773084331705074168642420140161330759384455274600566919023059384470310978495886134725849244383040293281050858663068842789449943164582617813971499276774818722230681862873162221271868441513936095193570088231570676430781086785414964062007356345989967287875518016434834872406226114063840524425080783182553175888406783865209929997438783220920960661967689593405368138672666865141257117066328054090157344242756893504422284089690606452076242041514956174793862944789909545740191507136806194588959049914510522892726406235885690506718161133324818479294093564834626434578022603561692012560065438291770793965434793296474671136965354324832695074515152539845441098440055216735386913386571017336102307838621261872221898191845655107800975293470894104115320007718408715234594705115759301301295035128661313903446011141293522048752529970463907528935274858253258522439677968842758495070928443297751620639625810879479661425957924008082146659636893962024741635138956371158021821419631205698103191850165979251514477620389211732037044853790152791553713855920133959536835040212489970355040283790844447143476637544892316336825909565480949524478178319163855568514254248310780697420557832698661006532565863824786834547928786807672030516110588464830722812612570795078689957916399392795957214404903791888770331582961459192832445734814813868217405872782967304079473084460202154631920338261670638946304545762447539762810979953949791455143308263152533740768254154491907558576803057323619437862401703578527307634568940803790950232501573206969327212412793909234604863103701853696830231641586157735065367443024800855919388995668166914679193684661382212203779707490867977357933061414635914004946152061799604021364847550973567194501992863465714198144353612421081191477935416828934570851015425534693387858752548997102224066521003561268234588300012464861435855111450383734786907143851995692103559507072662264098573985646887254324243619837439218807563163080432059310513259300202150686097250768699643190022062499468389004070850016555750088428494422524944059253028695893648407069213907522669173953734090860766817120172331558865338869867944727769776121498285930718905811205171060883242072786089879352605232549649183592881681578725997431987063172653931290547339030095106002332507012251207153256377800400964316027462782697914762574535741374998634004293187865234608172432921917439868497375098568597740155548201319259106628676425121236901721882809931514573116940085776060158650743916573806691601299895822787963375924524194456695796288577465814538980519987746416056925871575928738789707693246042654133582076069840930991235942327743391511217113308599743259481455786067180111654505471926884022792408336660935387127229929322723065819775978628331265157102584882485573262124980206943973321721182651180514222275869178602096305590720981304641329457237639279740033023265849173010953717636730034556092576605916901292178771876441041510371964576916335122221065291542779067644336161683126234073327617723587932749839443068685029901675245161435548682901861563585863589225389153911421529688256752223247785890303645718906743338760204994685618184776568352685483605205983476286956504530710458031563051518467252025570762929825901228509445182594241337722824336459211477985454880013908180824681714871581127715838328168460821124601789112883586540578316691733193283194595865619987928600773084522954513292885774668548717217699004457087467956524399380004783883550270118804688139077299697177622979982895453466385215194811596083183682140406237858387968238858396956362322247924772460594591350245073335750544934492463013278414013546123397902342818132479420041498202651551808089802062114310579522789834115935045362585118188250628623045730564091461994023848813875191897943344612721225729722001821120816370733936270745937168542674866495690203830026530576322709107949428548043178741990522714934640713589686113917309583875468954925403462295516469317716463250644414752172745501462354090517591932639848232715851316735988659965428534478871378409272982749966400455815802959800949440834822482620431931157239245489473077336790753947252187223884743250203874070484302742666965369606826124831899421817076782448329013846249548692093702392856689702198733817696898398549724694587918703084846647476441523184855746537847544108878732894324001577341237001433432206507169862939964099911274519042612540428641858459362489030956337684858732819854902160086101935715300174677565275494592122426917547756136194611370722054206019883761694203666704098294846547646042301744300192592633227894758372704188538740021485707708173133423833986781903143635505334859392795086784076500865538281696827099527317937587786331150439113815797740663511511164271416548931422199385636987015662706362355790921059535423147703195943200971183390245987523213744241881898016545680180152473060684784875676522003243378737333323992309086730163487934737463795186338437220268729422097843332062617751475621594468867643197495887652992476845403290176506465953818129587181822263282852419204597621579288482801129336777619270134281431490670785838607399516551091334573760930645408447310165265320090366671845608444175181920682601859416622383127557087272450640925879653181405372280220465641834333418728080748986200246900185740001006824900919739776398507293215515118820811987954703575416957518040024036426334906564227923676590705128980634036884407211788359349074874158773351803747815840796903300917784022322996697373544134485786477189333744323252706112882350118028973448890338528240628875106111120477456712564308562579000911223282950841297648726173103316630171476470791477249169491042607914051610889137073081152476856548945329327532442762197336012866871403368211577745174919730918628960418231408393912323598792674662603538891720211475025896073659849312491566789936630112741027931162321798578481146360554788691700162252209149473111187777536927933180520654502935265933608593288726771946318703439044537588829711580676528520963080555415297168448507371133242742918459980817663635363588022216518373493475361626282732536788331388947287743027645138584252217367351181075588264878858476617543271509906476403102107956537413031113206063933445676683466427723054496022515951630219567409394601241063316021494438514256485875911227759373612368119564304803695747714671135661474542192582164638501188422980248794104474880445418628670088114103713171781748599374133441474984258897167262011068493939086576114195901639830158118501419388110539242405510646469430693723644617743904657733509444624106462146012432099765235401864204142358161324724712236976064484011458286428090461907594302961694959780642643710002772424612991489587543929392522711173547056317275141463695849130450824541383002528884243959885020004679819331515594030527525058250848941074245797310675347962900984908207943622374633197003593703123146050324752317648558809170704238854188773117191956838977949582477007895318027212018917823881240262962693425448862853567047261289505987259995991189657461189520692280105216916224399055185338307748770592103727366563202037889755742893013308264132452657657554129508121674402015372760727472907089892251821024572778740589992690809246320725172369363514525715797831665737256602648191764337028921097561488040426566634260182975096862102128171827602059067567266843273486405509469784813789405102641100742424360550151439591123587807892246694860985020280312983663672018680086274009049272562850319711891899649149243372741948179162241322496320467916282596305413838982333285433124962111962605081899254673316750147680997369988089104663105970906686786612502520540127537226418007795556909163137161834758592424113660450568993800013601560904335693650818707280281653721913646327703784676506545822216539995527519899479241805588729584493948899790957872964414419667038444254145231118504978619577400247682216850193944661444594234370038461067276682040304955388735751799915844402829151547107172979048951635095487594761691510929826631917536274055644723076368240825216989519234998390999547471675298007080103512553565619356646387188008018361818184666693477205046046878806900840207088456378172777376358059253275104249878686175813460285300650480806905776583386843883446621861862452051821171857368622284573779127544926056451189171310099386290946350268823154171424423551402419354592394720159401864421761023970531860232468300516178246641158311410435802834807514569425551384725780280676178822308442999247619309437694422316568522913848721662527486939362130002415891886942314054767815230450891592770576709317705707242587588938325674447690392864708158036949992679126087236434817624659245155512746546269123726600165281826398782439087212784575581302406335114579697618809256936368729374087466446309480537320178943070781447101942802055800017902431409566496882292499299400113576718896458136377849760722933212086885752588335111219201595026326936621879623456577507657371905718672769942487247017974813924725785071985346372093980573888450230757848502339558849118696444469454450202665812628759511485023198553795053735029816079117832343118689304780404505104235010444775756616286446899621065888825312080661391935846720046525639181301578607912418200415369024934295462434127599439680339533949470136371906855710900133286681740753300512197891881114445105471466998161390299309611355887546602493222553583735826153854508361702145592860356068875260832898960494945153409215294732718107915955561208541482103879260072986593240560416784114413349648066615051207260830442015369424252833558678517510655058584729364567815872844505683308379743670226220727114584364696625720109334958921934312969540325807017040657471767118426390322802715531797554632565307156118610091846935883478824387292835817136412115616963947405127532133046690003584100697437169044278772651653102542821587423529076863028405918194576945889351350937561322115954323939617555980996842006219906659944936801311630215617258150015129534147498751875536272019212726892316277053452128745168289453133386105830397609695111031108512062673378417397356889283323296694073500363002959858778230779550957410746076583489488301500775793734700539288746694747819188687173545898738533494060771800780607953754530603144773742832820880708073748709215802179364746856046873448230374154372428804601306913579312559986413888668050280093340492659767500988967792932931388527984871723034820719902125575327027724829324729802915457906538452247849783455357759296906571648065949047385130807938541320604700225129969474674499246500660052174817705864241800057807865871200781473151596876191874750457789877134541690470389689076124012291934688769838069149077901322744847205273376174291218908030425801541260610439150272284000252733019338419682590639050450475971474317171139588761766713972769809242179284162131427290598086167003230361797212355284355153771693147273574295443963690328925206622360819258094312892846630363245471674599510963242659412770096735002474335544988365217706905670172630265931320466989859451938267420648342594532331318465678615469646782931505850103151731792430425295400552257288805998067313375016556723959797779298095948407908783357752844711730752466416129107654421605006471668815556370200176810993523162528331007836986113996096548076240203403399909710312931707706323463903354444326559764044716670916229754291643400576182774353364206184725802352329249419074323943873455956193545781635752414701008445961792056827100687048711811878494763998792405673697460743151990388679768131690179046012427716944733922935006214228841084857642347859044774698032018149744501957862788367029042244270174626932818206034036932378906915397000481401236730545873873666126828087127440115399877154620332146944888643856405394022696741175062470336834474033656827411620328595748444883406072674525809834693269223623074873050604384388949267310894191700207597927475462300051231752044175826830798536789794118405811348022626805851549430044804595729744026808595669803809210789453639051851902498470953804892930415332427837078937923235814319351014258931869754469912693046094395712628714801567480662176096627319573376978045085061200921785617786145735649348066396408798351232846631197043040981741810667080296050181908432422598872068867008703913223078530992891007885705597081513932988087486588588089858567610225624444382252002910016864757992576120570995328531632430017706954788957967791756839292295266883452459266155422007946375114794261626665270715217922889390981309574350078161885507787836056487356911010046127689659362267008965556850876799679756612059859855323210418009988054735940047042795218371382292000693389515339529252200430679899860499370903075122442685644754952913850060588302746025781258644045342470449479655377047184069665301640805754631188085723240328058134425992385514524098632664660505947459607478032634517796464616122997070717730206657547183846488799697688452694259213944420078069048718776135581604018653672598414507304930518870291258527998930402142856827806046393165066852092318516318011915564871697294404937708341462555021730019938300795686642788136658943944038170161931717915920518602927440459696781054865550631693807762009968758065561219272553143030232251246154620062991167693906122467591328000009498826786006810057726168968281152135905525309416109937955775000335027589312275087971866565165310912892826263782481580146674306319808002820219659919943532285048920040234555431324220893234738650654977524189432086087601286061046636690229282402220901221929043739398512432994316437751046950243194146511901334097963267874908437972725825970490388617494006970889051755253512743516477970787977892277714267734217074783964851560989971329393736433022520907263551441503754227882384736757575020477549014438336596169066714436675320443089032801428626217652510074239669563955197151704661835042567643592017628556746322528032400165736947629676260802355170310348031727409677215505932661692849874047989968810382175561742938035531452568669617827583857262296861106374230312316066361200531337449386702053285083730060035368023953853058599097463699614252254572077394443354293552633270408175584433897342773040434053023853503948248072461898831436860345805191025044281660475719515651131773097691039318357948002769874261570251557418446150270666556974141368714477241879118175022829255681474013749147258096790972017578645249823759477596375364877525511355239534671341990636235088761896312585942309698683406007093172715983479929001069639232131669052550819824924053916151576632747114308300995320613428595161557378900750842504587832881429795424224512598940519512702066036590934586965872033987177673298847950331927724137447366024565352267512637301736791637331917444692644009731924513886732843889478952352457542913221996180681548435880327073265617908836896961906415747467895576486261172969061922416363264833473310427725643738299857373956205857091985460065887782521837769244165554092298078757121204992048654209831252352149051183893227184727900235463697503633234566495089770995563024704280505251812521510712468982352083053771982336408779937925360880108477765029881651764477115293405462241763841037105773684325897333659757034157089668947589060904261436150565496652466136353343981126763931780347783528253707226330126440530884574126963336278021135991174352909414210666483296521013450885387441862140988407251483720928458302401835826776694854348530398430672766540137929526173926276211408696443578490544261573313134274364100458509773291561922456805331962939981859490757861106986431828043151368228295101211921785969985201539571590010153467648354245887132209360581827363129954508208933154282350632571105011583513606941381716082451561174442713276070320402222667724833297580008627659911153520494009528296308380075168393845805415369111963711918624473869360013741784070371464359996372231232738908328655993448348197410766139941805660371836782701464730546652952430668771340732898381557112428883942929075258459408583497759768054246364811678829697148836002029475101714892874733657750352755604116407907184760045010068533213646496206935503507201537303624209840760373055505558623553835575461658607132683330312679152802368525505238519072004491308791949912484210281180401042394363460453822445483803045361590028594552136392060560866504653878637302717568964910217089566066839781175843732325467377444040655725164648931196954881547162237921737114239568353833197924369263359360905862999493014706353471026954145953364204505107052329621239865550888339701421129571435770856414694547438572904851194691678419801357211088279876186747024978850105958056006103824690303990997930625442344985487048198409609512706440796306874778689640620583973720799520239806985851814084491763954929162054645320533133594670287679708103899341516020599968107886967799270125578193342330340249967856786018768507834187144460376052852473342392007438442008038955362709053485815658614835860656402674690940441129980666152139979348027233208410339595302536655501503347677430563432174440217787940274151006172438947301524203019258673075602175162892175897118233022342122359165367784265997912336780995250367913883411922825378949248783911622221784108582131158074162455840082351981041257682499827284968976424742046383042283385003500519251645041700004235763296866819957211028118118663132683269862058799093016820906431609127035350122241852657649213695717532287511746841106073914495976940368110486072304203717386873587726757916545975417700438348618682279971745444108098164198159039456475560216826635761190118031179916582525118973461870803828036959700972705795051331321904727532504721993564080313467650052908458040449715233266713578793106943858894085700346949218389890416891692293795922716747777778729328700121410002274860749416280432202424685887125723917858608744984458819699322096408385477463872517520481434865626456213969347790652812978556128985507125279141228609997954588377049973400616758748830747295044948166408561357221216282921657063979742518646568891632836111020439523774651439410604009620024087949518194239280262863945049668482533445078916154440957471540588751317816827763129216174228488273525508111987499532149591531389751204047355296360596475821961038471095730471019268935610926051990019704742045993986769764589670691781275671180480379245615775754825962622030200537453144613190895311594799029072030546229540820373422022226145648824446592694623176390712358013015479320580264573333306761664195852985963180859192443321407918494982490938116127591045185198967357819802925559400534343052958805686777981638590643098503010093671260158433292379690672073275554981118064583032101160487937602192414430800304536952913926696828381724936167742337840133912726554646259968842097071087398770325711636545521730438858598367629392556130885988043028879838590729197730010510535037037240011003125018219382357070886502723844178689603651019816016668830414054832704080483584398054860121728104396804064333964761477489753873223825423876392781928888065362787289724021680059363172170706196814088402580818944281690883602204804867127328133871142241513753346042956698521009125569612108564188396057009422536012195417263893642468170333588181311072798399663120149392840970023121392342230842878907193380302626758012435431618709430860010382170991236970163936079078089339747748082971189682202411239384369255063470801761011454598726154270708065345623744809358343168688660686133897163873700855163141129380015597233512004009718052485325547398031584805205409406646308974803608866466909749801678228137518180988824645731812071895829700730820823399082375774075670740723007080531659018787114971946130452382536623824605436025431046202440695487860442905730473598210454616184162108321014061410453410171719327550302403031173330892801292326191151514027256719790983322557488513967599416007179199621998837618227998031631660779663973758631773682485770856026002519806971069647808677874578398551651240576430410499186554383358436750807470734975905570100755710385668337600219709386518685366494153116098019102032613692120781427730569582602808299678092083125010066115385887618796595915428931258091721202283054823524188983029028402545785211893357966876178202244711419930040677373150789719255827968963187345084511719782828412109117435260990341442513897858081192847486695641985258750435544655069809688142432278063239885460968160028154320847866399299755063072104912466460368909040945462061273894053891848968064188824241460759474965060878884392177601960957194702311598506137647329635850562052485557407220286939812507555971421999651383523218112562519239573762838988540063994140513646593882167165111339628055226592444932161897600953918735478347583988416525407694185980727552412722884438278157676364638304747241440003823668645274839892288104378379863349203943548757976718445293391737870486743738547338174903233528415453349612686330457869405957710487713997355089226134374869752890581970617336470203630038113414663872053898655686261275308869337835050651419207025162895681734519235490644564468994486166249912835575651229667688046675291302515362048360249109935892543694855303700736873985098590746005602332732705502092694663830460223486751142914326605284579535850108995329712156736555924807603835846378440667330187891281263766441090035013968107088238574940586805908632920760669584541057205917627780995983259320774091743254916806197816133065054656722169752653262045670186803298060496373631977374151161042391419469316891988948373402808069301269110900010106935206688506636775816108330540436978748610273172673484319595738327301184104611998447090941414479221569091465774530449735809346468524646782251924978164644590337401065645082376875881466027171013320084512942549159497009039330664665236740995022971693898741919497122796988682899271572467760929833322932902201329606163851065150582797219450604776382880106613663043866701981450010518538310788204582383493831862935900832022872343583022608794109699794919126570848173433204834796885279301968062009342784387079677397259547364674700290630657714665310567223880473692887862735392955103845435693962242938403965370882496951511817251566509905652662001696848941896962815725482668860250056063142958231724464823731776973809133339374447003588873170069341375808955401103673471990998125272785770210543810450759760592222510097231595896034001199179691062083917066867481813143162041348766159887665326437043379775829805713613679101776671028198770882653936213354621310632641430528985391134589144295278644788752850501814362278618357111800807082254348974114987915758859039859296920719343953756441248351458397281274418704291835289036483235255303864836476551271485023668184644920525272027377515039595326990304586225440477128841713475064007677309063002735511985232738460328070186487860332722265441487531531549109887143335552318458301454500622622538881666899855685743303587960125204362263168628412764233029263786312751077852895182515030276566107695902807099807078783900557199158840041970852879849269417356283369583690885064241187330065815363211781061799215324059075858504946226544813934589184012719662076800474986271920830451834811018820960378125310515551946347660742731998700553704280596340216300776895985933323753924569702352631430929644997584888356437882045381695769378029637584127806322873132700648762655525939949773971496987943931416168784670849358609397004527669597585174158204174005827299157229287714231252689299993732669694514205748876256185296769936117568900477584101741561147352963811802851509132326494530566774156238633895720155924697645422959792568149831979461020017559866957413249123232198403704471558373016432545080222162654011169196729582838546760999354776114246018996391145914035963360193638231240879105799392888146255538573797796916408537718834471245002674563276026879871876213359089548997234948548745022665121029275064910424490267969328950264382800403465007353042186992138668068220678399026442860451676652450573752693798352538886165850217364842221590328691691210795916665141363622876637027348347830507033180644821617339065009903073998226280884047900027539529049538361909198714524729472546741696422515746729171843712187951033785159843415534631122632528651141779883347902585627082336311637027125659369520002932185818193117829395441605626829059730771183067016573833497279195060267577095898666959411230360088104073883364221028969004140348370887385633178470298311745979717917845430948785924058142830723616590053179147641366370555747030880917444459335581110477161996975166112577602351694651568977596023836015775033394781139127088600194797296019541939244159079841950552293894860153270617715809016261601982589596136127898300421169239540008970703335227379341757692877879888851414138886740017896275152042140281606505309502201039646070587525607450900050291606580307657309080037048075295577127489145977096291097014566233978816820539268080309103581104521302907152288009049250720040612045455181601421557592785781942448993623983057402173641339456892603168488983646165442675710511071380148238515321997154847108205655899814685320439366740472424182681762142786949887654821363703961249654942558756414026254744343687654041416282155557392797423981666282324274481139960359213504980719063680240683771729952225633716833113250218887189276799264555230741289230031969996765803358093180418353666775886464144599501139192138716503082628054404686799828133926586884058074746104975877883275843734351288852484173871851399805470008146143693220629904034146703705532366647971134024720166936208963199084793916330904130723366364695693295588331344967250718544916597016766511766154091272127740319332910861957784114533747643694728921907015995426070356230600274096188112801343063010843923143572402413616950359870856168775252612856449034281168244882972497858255099095423632678286593734639657386586048503771611460055418695333983708750159431777775246208951561841618943806974943489201026375459742639939657263702744078905473347722627602548030225934724563818780974636100904256769153709180171368053683775390988114414645852901708096565117327239802486963465756567333066728564644084600146612480135632234180564184544558431881014580703333301919483840905283405055037361821935873389579119651387880648922046725183232444311769458634428942527055678815478644589544906893245972439331888642212476888568014503756802900984305544333201202873260042264272814689044386708987423639877225608186290848610431175648748590270081820126180425552038115984101322426659377512089403536044656798132808955828048288734338794393308500397089003842917343132563096176108938030425836563096575874603524337350394897775275022531292546171826168767754274906351571955565877405472267817229164214529175874534384502403356262905367296973648076648919446092484110851668125054839720896415865496503862906401007999190052530389959558748500910622761867032062989135929972983147323509225621931864558748956473105577619183578675332329116053386033925835382371006338471098627240732438968315527373410539493137312875693624296133476440581815758935416779410233872449697881576371032731873896293647529509656405719104281562102778640513498359822932360636159548302586847973085291639812627573306884460150658299552436628676918518155282250299147602264222045116933473918939065745284618012744349806297202210905525196910296840733552275616636309110903942629812169608162955705816018423807719125008916121804387190155435236341851865597699248259284737572307604892543422476493511914883115806407651915152911265378066399999739496708235727045593391950169032093885608292108657119224230145566844316156566343166089612848306183546171739563179790651135187096340967250119446616603939647449093281109412386147929312479115235673994057205011033984224355881368779384006818113721145790388616484432064745778041387857005168717172378044732636984882792401394231480387760926836435616158287800179107893197992536007834673455662594504015024277809784251718476956308909601050052131878169008893653466538853979194493209309291578124779565154085634975035156224238725801318837592001504211166781574064215210179371723366772343490828462183102059343682359704245557393714124351506074221211847512364845259806077604228561665528875259906008706486020079155919716234346946819679472691517300271926550156758637897056137067287399944151858831512230173871801551477085480265649882899309489656913614152301165065257407357432023406024274382008633376221964368628422872422633518067689997523308442859092587838856726635599049803390210668343348112796447353234863014091057582623895649594940328829451576536718210784755349393476523692247938980950545102033471235596943756546542798308734093316088774249003777159901074673916814804228130600437547646103606300982307210492435109076608268098298548261431676317414204142144275029968201380011975507911345764278284004342365753405118442129666484904530876363805338175487365134726370679415817570489947896329993850010953634311352266168910830115416421787318765903539332435676319971269112980670956009364821774663019921441429744366493807295673074199435677743390931241062740067786649329295627620966182359365335910142264946628727535081947672283419855250912986869460556413653997802527739259835071048680147659359811507624637337551530766542407380651525908933600963131886046776861113613509089177491891496285881995566838736945616995156995693005553e+36                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                -61.51946439320857566235535203539366551316448434100925690320695751428550316159781073535867038623967834065680870977552059754736335018515075352372329526411085938441214933469926350402073391087041194787156268e+8930552745048145198502282338516521576963477503234104533788560334412308677329643173738029185310781112271923109437912034942696674807224346856712623826313772561142886432019902375677201508056172570425646659888545398468465184352694160046144901652498255085420602230334960552827088934632376346782715124409683412225888117761642813558910178631863541574371657850427228256211427974133780845750893537474295357377982270364839130693530972409436326554502107331590945132304368192849211442195257461977337863894278411555797532288595258936436855897152943619859618333458011827428145532193099970905542374776610444029430759846039685842410273330752997972976781642246699838461467858567755553819053844728586924809678463930422329813308366171653711559163107539522073821738013396644650171846990209701097898359116591620925526868751150852807010672734027791597474589784184085144547961853102041411319920550367731549834364671714977062227355028392207634213594203900134889583315857530172453173485400008188519296979107352861129991994812685807616626581969202111500903391093754339087395317558801011440741147570691330164039939232396672786656925078206811724840099878156934528345398279353037068146073896441295854672709022940767584883530651356833026948335633383771346524659335659464529084333622958600075121808855209127652134522582501225326401923867742975549798268382945787090578264671325206022170586256075224040407732482086415676393991513930292188326746588377908218581907126555599186046073785507567777401257918946742349939490348135895222915720596853946987944757459171564159310997481172086471238346624030163472122352752320665492254779995234648895263515771240465052943488143154771022592826884590786355181696164488858232012581762519027496025683569394718966354515418379981449097148530538284655418246356400522438304567307782425369194736908353206654584482627173283658559306946501971519794421860357104055649412501955856219617642562080774816098284961512674458806125112703522462059112591136228853384776339795091124393419233230578267890779390604034397410733712739510519768928423072725711294767630893889871735235529210541910893174472662957773245397543764765294742120515384629378034302999638104548792422805742767429638704814288358592773479945687671641024772507558045394281961728893115584964831638387807923098999420199687260644472355047578367209310498126180749075791448286108252291225865039138607064002714732973396894617533615512942336009207758538919792054707121454275117094149941830355727449807226958887293409582519004978150894411491140782631904005412429428079231557827082192824365718670489623770654364596778324897875145009596754182653441275877664178890779544184369903222700466195976063120638294484908298247056766382906962903543943964708405394922332240431987291787189221770365628043108497118389297219519645129133463504235265115858001986690635991543187713426911032120982047566933241932587198511735943360248931257573823734506891595042078881128975477743115915064890099007111921768655198782210899819019922135203299908878099078289102294620142791882881681810650860002764901190370759839112487685905174566805852149022964202182772482060640155569484792114552920188396451698446594183317782076084043701060804685093336224641262976266362365023544199922486733922568126654376850281273634219701967791579906581711159412053936222023171071940243450311726139764186615744931155612645729553741179930616129457118575069034500639742735669504417566064988530714680083849919662338237647691784365383769880848091136800581859587046532412616528851533702919060084639070332106911366656069095093656555781121712040636534453272757625105217611015180936391911196159881334395497127232891185216143021384715377289903302442183990214644025854573485918372790382333798210997444914425282653784917416257469123716189607174463876517344183025599417399208674153835761291713275318067200087722007794833205734267095017037909331121514055720378297710616426361574847262746795625516880422270449023750146947509071851893322387381858083877649746854953407765693790820108082169966381922618499990272205223739826486778952993012131551005478353111788805217528053300710257104447536538059933758289352389319955729592318413808838764114045042736687938971474467255876473197370150843950290656583060930241100316322630851847697005298433843074608183381495354076625488764271951781310489916346008766863282477776109149233887489487363804041940550786609900870718746027443847814182772983970963038662527901812323510008315514837815178088161595877079921674057048577375402753360269171268686382469118750157483702811067026886022154121156906498872098902500434660284610402373150572372844887574512173346775000368515999300157528938492269771827871560690627399485254470579873650728988252902962487047216403780874662689982398737753475215795792158549557706771446805529098789916770647537305479272024946914808497783438278937084208992583185947615960707813713263054504012616590016008089562808323993307780539530353351209701556145677365520595751088431501979503073029783855540658713863153023652955025600164141112511038351916101635196304830944415520378489202585124756359555919763910781901169871469014169882758062340430568667005926335513710816062005273349061653488932233416113335173609815992530556779222153488115686569250623780578622839399101699445392355945914976371422435524468129577283707416074416652104562696754674274918535196062294873232929599916629474914712953650975388559452234193786177574951169799745602027436936663522037143215401162364220825401955258195738279585734458650190218835844318257338021469344556807602186840887512515781838285065747986862042913276766049080698183901707123314853641557456437357867959881135710395442219053900688695773908609650317758755266456236905218078143396072867686221866656298017021573100308366980296871610613437784004255081692833430702965209989401037737929304878048446087187247460346258300887684638258186802669815640490778458813868778569047149615874842819811229216184280917070557054457548862783412030152851819734392066154324766999106502705878219435240605173782892554744424467330057327854122423870364728365018123877552186541838987559498919921428495806550663671549780591486858898670248404893147238407858453454211356108707014969700707542097431786596486300906998961835056992090742500261453262071154952773972069229267503829349484092269666085909145827309555415844081169079581415107850907449053473790899767829631516507363460938229218306118271342104050619602444397320131970024446043124296451010862088175308964670103822467788985485212942941328638912380058159897331745241395351364592520557436481575291641178205774148103868606776505662999842319944866162235822472260450536789703301938353865325741808064654524076280027323056732033951536981608229423275503398803318461251311444588828500839839160926054305561110112972178161270372199532300432445962370306733782114377529564938526976118901391703152024180595667487090990249631959351791943509477379380534697004932221435908875804965918309209714938291782799491987471421363454069881981350401619578612969226823001191239599652839612118250862362793838788873076158361388394720191505375184701527573814765167479549208836409681350843412948987862902907850738063069432627617315726126903976974491454618592333808620530827516155211884934189691453628610583199942240656284155313885768926358442668954772319943243939853489445622739306747753290583668038174669832985651546167135602725734490303793279533362075657041724166218709137002548747504429693211052024039950114108071623505846151555071966999520447711261776583840460556378320385256404773552838196141988711869507347746191585514121411392690760497383092162813547699740101397546494716032436882761655887917893434116931394195473759567251160603136941081692159737883528864047472267667938164359037311397004961308266971810445349290341343751092810538839875421540794841416527929094087164626792961578819783488587987694278068254623414503141901819680209015052736099759084396477537778801508792501578496045605670348348490580732081132956726285231275034182375586611806698418964081514143570020803904683627735133206830187401493883461935828333975550698531990290859174756711328875956939021242528465832623755765272185097334608644349502177845592001522587148924459329759765234736099267173967622586674742375769660708415933698066825400639225381553314027308324117759744686337684938532583325838706890270003983476459609151737729309546759047307142032247533217260144919846676393518952618131977903307581140971445230521537644537997645770989134657629075939595284960559747650236228348831080530926191088775099813857652852005110929340147846940227112390612144348373309285889021744293257491025974424345855977253793210971106693358704401999734005538645757346973965315506470002555310017841650247788350198110465119310116482508496223444475433054108331989331291035471021664981692625745970219542100402568289360723319028150024354504773791839901454387194316944314083583866758096444365916611044665913491289180935583084665982440954405724652967416914580370534721183968323710773385945194148732071469211705974305011540956949458714637928625358859124131936093964527311183830615649253366165453035968196479542226243599338093308094805553629141987338481203833632325890174200309254395645929204738249477807059984616190694736400226263163079089642271440034776929547874471379466603959073642256320139777026962743130257534081614947814718434600133169134552844238932513358931954382498863157772798949506591696347706585912809380197267028107033713584095286436647364288198092685943365193756512270818647579937623180691186939178360124193286949569548866451578626649278699405553428204069148201887724885955403855698204338250548431031526297774555375921066012978071346095964319048660767560078877914733229673779555843720727707710193617706075253757129313213985116677349177794089913144477085726385240259148768860196735554226156680828732709687816481057689495275367152532412393953179859990627173001256627858373783888770764471001348910618675165443312308768060394107281048764220571923099018049680408725791315383695917810815803845639100433281742254135229929405980020085303677022437271363225914938136689966870216153582824618221037815724601642280838231694617032724496859943481666480779233158320792497393852218879858091507331432692521128361350255054426360625904178480419754791329981837091501919777919886487611521804626776160059771851609682757939512119028025992208660520025718860003205207716046025277499982971191411953634550372812851960459598632737212689928329526942180239094289221681693438602416944969090410452723882447220671368974173117274646936471315572920747354788625090705562805472867931678366129840810599771218705610777725339424427786674925717278568430066938572362940534335052128971179782742090485440073591923710059220426825983639838210502806121245217811520985070111164364998223866577720730269472608037656490979756520716952999179294951721818715567750347539676796203575679760218213447203380969501958648514558399843685914120200317371154620681567045638043263416153360743901177884647664982424039687662974282272636314914256861942600007746165320181574910718002274496261077700730089591782795132503220547210403604673964333848228662616559729182761258693170002060543390392403679095086393315723997229358700089280988548079673162115062032243181172226025104523934452755191409836058853573047532907394803075959874652129525470780619122621236113500712887556625688810284308931481685083748402181184202632647806986696280242553871214779144946535306924261618117548918824418383033657274357279125038810484214510175012679416520023827065606369398899288149092216811519200038969760888712631064745097919114122098196969253559045546469592914115924743780235352838496356747168873479747782510993752409074702781228124092563554051493410000290323257686135600105466807009349383828508413183315172752765619749051124985395838446813201792769874288677326119975759179458947844464221986897704581418375461346782137445226926576819767423650440653520242864731324511255731975063515561047433895446781375474170444120324280769213083430177516653095047665664787017551660531297518232100886267188943221274416387103333323241982778210339991721754007569886074463284237149423899291947945564100428843788640029140264258925457690596086871895902948585487142003074782369678280487435993627030537925184363381449385876459374329114832288719975006715451500943074459807779886597168725075081318056948937836487325318817638779696402297170741693234037990799878511750768764023548162863154041114209278254676233049457865489692032280007494219714969667305485610930151812453436024102845383056361376679835398210620126685182838177056949491412607911599000203222928712783027419300551481602054248021419834775635882940011416052866009102772235933229250593329805427660839085778211246417859752496352568586065809925776573468600357713562380160085754301777739786567035295422742417860157032923571586225899283426303518411724293363998797635277829182025317938365886655518037949059274915821759247024786501425523570963656743989682150922264819188396763357645633068270498192220060658085762547843982131063485481668688287431338626061187425265554412230995349103909347209028583124460661496328831867797790760084640626067619625701492481650658224206105888050542612952238295217650560251278522705110465484937915981928255009390813179610325216707929944754606807436309551093975687574069631231175917882291780248218634729843980473382501971917038014606682900160508770067380086007468028338577727714713641761381237252107184056739420996084133258105316144551446309698498921468288731548125389932091063857114034027282216764889089495792415038432272694460058959090789950653429966346702009015126197112379943839665265785809521230963301215690778306896677531876883415536217494226127705670757465906471295134778682363022028766476233474987574535793297509597144969226636584139638150900871885474418092942588461588571778879626068089276724590860839927004986704515732307778974069971891580362833507759629448064954063414640845298193278142268665281824201497937968385121348324854239879910705601650362518360967382499400673255310378721557865514865705065382046073075322208789365857656104300928247771114992120635693203856950995694706125539512373695101998089568931575228281611292702001001077081340882802095114307617939158866112101683802415076759642778566297637798198552169934820098056695450351381236462558152181988757515560708823682157165373491368211978148142502737643172441898819018844860213406161600864043037150054630753013642902008625020745960325492993387579979942466450148373834034384251141137303968284213527022680005329454106613653086458353531733277332974636121449007132406791230086483968770835055761123913346345185491560553270047171473707651171633989166403609517784076933240526836844405075929617234020446609284189531038643534458860827789619228173308362637373171383253116330170620656049898305453988211945974956113729808630296506649754473889600294386269400062847812469748830959587226376494608580846912905912163887624386766626620431633446853363127757354118792755138495380616141948693216087282896857385669485799659900620558859655313190230719796886069026123000531162388361450058757851485995960197527375410425512498558049736767622459903267918259224040013812594731953290983929843478491992162747154693804298395652613802048434241810290831660357518099425568103396337611799034706637779226066597340123403328010893563585313182929951393845849828285555288617009924155659436318158805653437137259886341586138155056713366091746924581939565572197979207028192085465750906485697384426348259450126691603441000760304148964021045627717154454542775289097621027590483418866430700228350212536395556819695268551575520764917668316197187823998047521899410199240862572256746762644944887116030016475613519188372866454167761982651333886894853050897423111201586840120722407922903647168200671265499594754647849326042884042190859828295870756988504905311540538730770359355945996686119494767550539764711425936794628579167013268146817951764366028097933836363179752679745473077099002595223763658845939479098728628877612980267361057226126198962869723143380116424166890609407806798234663694468096675856018790591614073354020020719297098098247400030565089294465606336157981824947905624645011773328134852036620332004481904271823648023429083337747407507944228792715167288533219170040754379268431969988963286223427422051179143331242258806440085947442582596021378513393267285979616196565160497270802128176865057686232960901858931165172961468146989395597992987014823211589313113263944733144975550873251183726044548913540937404693018149611245999912369552215886107013905249730931389236778278888701011736631744074029618635436428640925700994504028109094559301287479152241813237050159524466704542459895086520555562426084764310776665185058005751115726212843922508248044064552865637270467951121247063669316502068005241938060487313770803575703503347642561729462050032380980452806572041135281508702952160118598465661995525895767172391622483241028329873572060778237599959293316350539896113112955806091933564329375456087520015527226539808530489946575547740302046912802858018913682156031281507398500085099002560798413741811741523641362265421793554820121298552836264610152544019614726876843058874257575749143304779388182617416162811585521051441591331692364090493551225522686946271450898417679924168610198712532697908741718802438221233204789941851755826929162284327640218224310405109091919137689575797731282442163062355468149226995671019254762288635273208122911700801746334552525062682626810180262368092677941477938390071200428664686845859128911962981202444322990797292414227614802025279824113194034397929700382704223215629150763313027919947328842385167095073506018920846870875015622543260533346258442222309022584960588562098633577921153356526244293369578352821623950307162986427755824870262646934284912110955842447824050516322760464697912698052764261414177343501191804263069465183245772608181590800228536672182537224607617788968901966845264539451033996695783504892496022677534837159718406868240499011570243949654547598476210251474543697181248823694633484629868443802530966960240805165538636570052438626212567769486059022899917350134777025992840467561940153890023401303995191367015231449020022482714205735063996639893797901169433855639157656219219708590616859355810745502354377448417500385333016093765290647504357327357100402223501120307377714468494106267619981215457185176732673216832515724845682320837621080401016487259665324676661623954994317976913079633291879133448869592400091621784125422538892780859192323685955387049394384574651780914302090650555504934513971069383933434499675125839410009137285770214775642376950023225350278858891461057484192314638183210217017463588229638060645464707828759697045080163072236784174877852813739367373892218998525033910311617565412994245256001524017041422390831230674491092164798794057486462595752493522750459221646585243692180521805291236470544394838499629894274715069808872404099031913123562154662742659099400605729233709214690077232331203566030173455378857056799125367813648655122651656483052276923626990958670957025963288727311874585790767975977485733708759869419909007994483342835217202188231444544265624960344887707047060427871499972598624233903629356690398639827006060483994576421282333128001923529889108757419740275507429721293174214281942846065637390384403033654092389593491956716946309622180501030911250568159745677560970151356569606853660565244010000247594440302007575541097798911935894230482602351116237226027132823448497877115448263986518423715272123020733487226626277242535352766089064604357119858792945691969768696378723646743612839698987083064691796250134415718670660398995584753391506957648708786725615363750309670267151123913605188617112165122361276500003383914985618134646094113984986214825425987092478387790198706359954696206108355105097226098823938309940850607339159871691475089021035012294259164043402561269391495918330755693099539707856805154667702770469788644716423004711307079367303271255829781013686726725671501040295979068191659351926703866262401229147186242479793363941780932176281929663003182438924113318545285399476778206440444978401455195844882681402378512129981029758243921109442879722145353468353289793823068477340756281859885325394606004061717983513918097729251841643349430238701014123898945049315641505748630942456957963598621415567264247333790395084453447588257983327352642771201869103151996686149076331508850136078385694365991008733806883918725855325073582892867167947259133830464981252631919855841777802185241632077441552639334413193333858233451397462927871224753016613659914254912107914258636157010378299914518748459177950575479508559461114900976185871858595667714680993506693201700885867525319987298550339652942253959613447357276053086171568005300481927673392217536255523524074134457236596917781528002355784310855778349140131483403631331882067557513529752810450926271379578523206751726938275467295342302374814581656479418056787432984311702470738397448245935609017441533770055804750574088650771625778258473955640698316393361455142979916433017076020951480745259576480133434253068253494470198065915148483029555572913572584310003617676090965643056306676037259612301102219973478320987502538411941061302491940773983856109172266464794256340639927432065172398056638173928983096741147684813831526353845856255029156826229713865410714501146640855637472343631394595147251837832617554791076335784500447633336890575246374909607159114177432034081827654267137944875285120653073156841568281177776425159114612049853920960279166800526459123549424038234271119910264829953207259873798337568651677272277718555462753586352329509436875649694162537816661095966811798474354060235036692914730313405452808406632235017328993947587044435475368581284937026341011016471920756506925340265919220543380404779321036772798209343507836108575729823612891834878340136966715487392853044448827861996582356894545731337771776484893661998599163748094763041609080356665434540136935324750010141198784449005219904669234257563695463007927440531229164799647026584086798732718832968339215117785385964730201016404269480924992451249644686989740188026340732997211387765685559798512446439631372710409267744915977133077162219582755893567279768403022738180250527036583320209269561736864891046869419962202128297590379078172750623610830265284955292191929306360842847164694202823232446576125419616522903636818134578126068501683235756231812947397121929091161605472025308792443185570499617778415837580351706034883853934723577272231286368182562969262837384203528867625533990308344747475028690477339804293455201795645267046295120211752217837927793231156977491634709232938940811154461059910183576719914728000137874901095225684476367961761994791311413165645184733629797098488711174490154982355637729420588369676037163751099774757811860818777580318884905002599471557739526496649520142642013050117002986828692667871037551856189810308902771259936251107294905806038059348665650497618539141653457384418495952102885838763038475323766706213745133618415910959502078751392687292755826330535406625792842230172367941797740592374846120575584741755025721970100884419666446810907530202329651839293389943827049812035287364440591029045328242225620168097553532635851313337772244251362030305868366407950838254789037432482161217879585798515905108071332558672659508077050661193000354521618875925954651730859371426009180987471178756149146085428028138146003432428034049877411415450286816351693627221128061323860088689224506988602944043105684692751605377965947161788218088469837129656343059885153905905843929641726482989867484994496192507473765503994882542132603414784423710262852452606941301845433078449698895231413227479776219629485544345190252786744631463447505071737246582752548911359815565275348282132529784595822804372191647696009254142591296576136565742401201448852233372140855631125587619953750975203527725488510298151076541560181455349889652891909026972258389644179269345534947049639086116072609747774229833537713621432051233317104748622905877131476871916447179543408618305030387986207943861815378159991615655543193080486789227252273535002558197695656424476394531194816072801662350994631463846975457056458736271281646095371978733650425299818056343142671780555031273894908923579083250641626220559059461253820738375530602546593498556601104197224788960316085356403093223845787157174305926681423842187761231178905568050648980367705492737866757205032116117243935686859846413356881114925661275745440526399927715846230007326010575859488693364860693895547259408183154113462068027608185120260001418841397593427389497901920130493277506288720478419322534759798047990840812881845977141618709825725721902302586074990272262245749431531061411130751770107443137203556872146259426614636592125045393172486223367049632283615321970499859773009806969309661305412471556425756856445575554686327584951714301986550229876256880760355426056146723946845681281257202955552397261565362930279306147544019558297345001296334466092956370525544290922141994353182477235289756385679806205853371630553283279819598591131828375430716234871774833605938032170833926550937227700282787600839823417082277219981110580262456458911649988809810941191318865420414778886879772987026470258710973340341020127317049987102996183640674997901842666574486995526882079781681787946823464155808618835004164432259031577985597558342142759194539432710700279945001215602713287352623896833030530671351554894729284565179774749928073348927320540119638727111205024478460494668670765539272594006463229560929016282748885044466014557623848749489855654350096619185849323129287464159584585458388882017359597255970841529266196904408355404350069143215341073683343190633288494300744270697987414723907225074626992342321219950544954689306078880116568681898054569947870699707930586546847654200114124185075968936703589264986120852282980798584474925861552174159597887078036495107683951190525686586484209078588468854195147835483253674581551507404013520203063588958526683953893216868810316867774526306692273725423424557356043416346138377949681953600356982344170915762557617032394622440694004195671149002905464849083262774303882118219511059753681100597929429741582635060958336646616520663639917191999194927503494246214590481410502621015995454891614293253594665029140851398097371702227589165860794072121241970260405273191899878575709024343462414932463542431408179173717054417932378654099269276306779606249952180165696534552392180242876884004231992875240491919134341149541295386763219479660595121465632751401378611868747996631877332538878028099197961653516613557720519612613742530625978750107071252335518082438420139014226145262797278377740582726647261075693882819669335495867651399606388688169037161622438195537417357335144377085170313442197849776401236663573082245580891705874446660448795014540018219499179823409645534257803815636895913897159245718333126409194894585076983037508544176738659058627154944357020186593368345362135060686311234244813361207733068795953506939556969496536411739828516066659705313352126969064946897493271243907252665253379765366027654971261906462119446624351083948457575895454865929503949269855810689360105503096166562600588279250386499969361107955236406225440471232159307617304947797519175315448773623384327731522476403947403572855413047712186534176780451900108649253146475038667535792882103989824341908623410363135343675166060796006071432670183619296922530629222149484641881345366969434618860094135591979024752470336997775974507068457370955494447237206796246174019949964703167192012683429146769956852242750681882253717623529417094418605964042589851735187258979322102998324772779043573500398552782074806585972978426976237284473870283033540959891611456176633113163688942158039492737374157661197485271597312454729478103891903851478749693948513472583892202599657621811127970437788097419668643508889991810855824845786674538000889900281299871478946703158188187287307656555992706379904714843571403160845536806655565248643990230868842607209165621447201522547744830092032949413857799151308182767788002406369866546751803833101880902142909985761538839222755955145351651760238611494338813309013569626092047800140703686936839406560162586488514794054967572712381519760528390861296784651122370631629884613890141939416529088243626504197579713008149704802726081861290240131651466548920392223301450777702068324198913942466999066035725041875494305600068950056651155879176615066848874861866643950437346220728503502118296862459424458272276149609830862660827779137174303938010093271658630429534262994209210439878143928280345081272824745990090806328369395093133535921510711714368494345845370624128390563965391351787282921204828679645233783810109159543684268037911737027511641756803291618643354440372145222519400721002868396050099224046218158322434930771578699531937879894829094489678937716980005083962566667227405210083891801429917183971795437188389668070132325254863952728458396274093118562189586801275231082809531062110320399199448083112312487595907151283314460469792943404183795612953204760708879073616044515298495715401603501630093897461980849323185447898961180481327437711875103948629437747905249903876063793188172216012903537647937653124555562995516809172048933618133608177366849721659073868250263543470128932806983080369404432987226459242544162582740681224534459014151507943314508676910383920851568621335998348127911969262469715579635324170203196205243689553220295729366388817549083341498711050544770510492368386612083876972158646899930397325109309896406821705586490641375185216197769343633304045210367896519121027073347997394837865865426351463382738628577163061648102969227765059813681609905062094410433111936019307487398116526989022565658252384052801812466267189637312459680285485769117055793878609864024043701470593318889466229435858554847104165696596435369204709776470191729398169023551473955023760991076125153155621790285980278578695219924252814103123924161918900641565081282815239741150543563520686204545926441445752707163617805447191604470814502802730294986740451631208481932332505826446011058132472522637061433116050853970004271625808734878411037214734734351535236101510551774416081454191264087819970925392953783829250386906888877881433830428713658818608396375074339622787558045926799848477296620794282957763476147041090919791762380596564831647362483496565763194273022625791629899158716402014451955117808173052997980650052417705246249066383784795750867028700246161097847327897362340065065009738059933675476103559878376896982987893262909631106285214813514724614950142027137986407891464856417814049273907907567476512919651544048197408390066833686107083339755684557388317210578200918444329100555415546287247287390165799901988649196014750600430466147030340404536139837097150308114049073215971504609339064296328724753277066138709734860409133115700048746370250325723764897120890907991531776700592880260294294386295370647249210698946167587137757316570526667739545451101825692543123175031706880327438842503758380899312695593737592376528825853035986467917490149399263065872197617554245986112343289598377506597242668468279506044225054725574308784622652824429043668030790342110895280464106223509315506740973053781947359173424677157723941266736021958066430890707491805121726428725524387688850529621235507262254838489167943117289322894833068663602538325856774608888463789845117580434139706466267215684780501272315749729366204935616004156484837402594450270785248079504164557390549104133323168175027753318169115226951405811658352048389417348162979029703888935130980041705713101023295795588203413448538231641775296965436478729265049062128415136744309147939865669576900752367164694529212118977824636911160096457939070291309003679262690619487190297238588689268116377558498127348382132221349370127874813757681511957199245272484281864259120373668379423960100748035570682611007035087393635600513280448932052857577417990450623143110203620827775538247214477893324346809801601354199010459350713349032934094149858751929056147484387772294638816803095113727765123812234627508108409230515281895399612084756787729643896324725456339839424112087961453007691346990175020531950666013534223359179386180155270457358623265811930888798706553518246238675176471470469362919460417032119859498867804950143209352078489566438214016602848169296713574630373326947508904810952525073466515049933685687088176540060516387903096466146954983539856839467377689447051746366931819692558488266302037124050643057916192132971703906940346522829511422845253333944738864416821892155331866311706309386729523623938684992525918548476260442725230391700984476220280818874147870002192180849491612605702136015147556996271112575767438661475009776465204547717503248206665387264023845229290960494436093823569073570092013020361906838310669688135346740362511813496229588466400956732760212393854788656615355560335531554705283873648529056722975520805577028305691644541134523376386135857810499563139372924254814627224115375423748895288705316790613054881555821632450443994885847174754009804187424461980569163002477809089490352901091159265765025727925086032554655982800588300895589290095440828616899159989288757676897442444208117024134054849518318154528161974998501027611684626653005132231843695718689067621496818322767941402904764882656797679433620334677979567956311902780635917171850749696301954256525700213150436502484216332957601393336853916788136570413620583832366173564353288065208561831115563370628165404420950828103434992529594622184726911114944290809053234896024408290413820479659587120509221883705966460637595773487439571881273782528591561058318271121439756046298369418715767504919052129953594542794587086936428545950847396951122792510116978723530515464051365744216227836938481454190817973569180934638421489756165346043610520643007071112297823588284745929203526435866095790058898283907127679442921620391398309248768490359205717899030182224148136175303345816896911059473809822531273528229921724849986587461934083457280392686160070928897982580948686847305933062275154042212507395999822527845082799313745097928438630084760389780712216917901764527827425575443637868671561649214198860319974439127905261527579980776029916560594214932197864952041864867435605058741952868255772888466220992417402627005931600808756591582833576958760475737828815764842047517112100249725727520098472698650383723069951425378597437626583712004502407860327177112884454847248898030737771708610810587181905906901095994066820021099917029719321721430858462464896987991882026319454630696864545134025133537168233718980786130965368091346364109771561559375363910919266892434402770856985643056249167767122664031236857531836652590388220407002128035788094651030081803863765299292783504969184382684990468108129390870289417856316735092814827878885804765772306171790983587287165877464231681200570880130989617314063406567819166346581579452284880150028719848674222571746984385502724617791758290640816416164824016479278343484459632495022506127077916860301876951300923375118817700306667766551683896325936947830892458344199370859414029613699878033999300557744885207490971850654165025293967667118159346553518157679400716472315140275820303410108240231091222866083798928361591317530739884280800389174122382635491684884204285235452087217680241301989609249793250758690380504956065047972941298283244492444039768462179566807647171632886502498456773822434399018191591244613651228712975617510559800045626181226029538299143110202327081890144746812761878319331685503685809595389575774535681841312902682752492341030503272378700912370668017263577547966323196307537813616553800766772326937597263164526393684872441903598349286502277006396976320632981037988550079791550448002265565861851636636725870917937365011519897972855427136440153089582956067955150695538474409707977384990788203485168107547439326267776946988557083005779442397125812609507374273795264328678502013295345104741042780222201072275714359081557881152196628945392865390428776476883023605411950357888140919787367781043705012147046852174244100978294684387513217803332958378387328788319060392294747934063813846836760686837069433359055557933747315396279105261826723298104778631182729961688760554803714303168207491587758744920302895426832874734912809676368518710262868345721132612781319162233259665410284327788176219145580828894335575907697707328554003395196720407990989850504550082513022917957868058263436891011362886177882799596614958767160216526334132503673536954940858882456389714174553009606290486586951581653082657958040661911780375623780000466251285444557925152816316316582109327064639342059231084617475605859567943987383238537920769250837905700010968483349233409636831522114137133171527441713876751806217841554093446102293892467870413108475086420232483063421400462904941779331657815433785028386776193260495750463107697411241018747095255922990422391035371475569480025718929271402837386434902141163735757874137412340015625830978342039718441383549540103888005951156249004134408662694195207792129743744359720688069508228917129223519145119379107077891903637851102146878707837534335625918993006530139109182067792255078887409255498309239645316534233041901949488218352518269934368684986290158971038481207192540521139760975994097035176087354518622720719218937642259089935586450824826769654528066164177637472677359125001483581319726609368857582497119277727059943624782887537896729677661579465028428806671572244131098265313836870672459517731266397334867440039216462313218636285028624361386427065229760525273777852280539173172624790775292881766916069186495879271548299497566387903813674364301477496357224854764147624162715872514449162779146772465973366843314750898065202071227936482078500997176005725124368263902139081200939639133865492340832067166288401667592978630084277573492232002460139548312332969839478603025361597541304758056139078050663111563239379865880405523350618129478711750657137399942499650564412203670667590339245685542791262404962230989232366946623892910371899232423366804491373654876125226149602148720489516874283095838464425839833971043942560899374131675151264553657163419490639043320938074621198005346418771697132247265827956979425366335425330574310894701608560298924686341319960962542602479690505975501863759078242414971040291700572658136355179532920046275567514809814641378522716731360016998390571168395160543437775798399348598716765494478011900490421685437420016865224025117276441701266119110998711115957896530600747388491711702836623512187249433381353526696009884137345081936584829173955577765178032551676224806045352810708237030506865407809705441744724769472544322062762835481575149738675041493699085471931088814987744441580862960707800120901309295849999285493464466678961011252946136056895164720588476700045239945772374000482752790562586311206975222622692088259408686417659456978353534032877929707658334371188013568981380084175932975324432453921732060188706219608342708175668061260298178911002158358165954952070210129132344550305341136723940972186212546113163607032804211408848569936759066558551733454506300357262037056611466751297649499527475679674255313189220105256421168845725260912522675687312054182169863300611064221911742169679088174524585684236549734150330230059602072833286032006641674619744806013519837650873439706189173764687938813778886341221852789365744439241510510345569644045093767300346698869904650537143642130870926787583773358522446722145124336936605074520482848443657391847640322840404444949783060919394260414619859325719689117208350778919480587419190271392014040049851911969723834971000403810036021333639722007415615858469664266392857039451105886684440508925886064767822144644503947118112690517985688094768111625457460651702692170179567688742407364339429880017256423183279420458011975083087732576805122396554357564262883576925515240771346981657375753022814397112101266056321258726258452091824037373198722849934579534735037752491722504800715184249715428494835007279950151960396387841682277799737644669056207837731900349128093958444361181087950162327431250777513969209409107335687322668635598104236499321254832584842825584317932673515632238696091275943676360747010776119970671918432091640814616805617614894007040561855836519301863746255875571840935518380312400977512299978353346819858001263563234486575300856658865865911369685243010563550436212990411749929463776923408743385776917103297234721445705779027714417348969683267501192661684565006952749739277137368724003469081878175240187992848733343881909099126642650361858641975566658689791377533781066850040796583463332761436925123918015206064320753149394906619030053573471803991415666059742645860147686067376629485283177453939263151850587379517238555211726743288665615562533469416067331928476232915563737303246862798812859404895344727679194772262043258498888434028785994393511916451312302366068857648097678781539880330578194072938760747515998898822189198817003009073746537517429659761744467777876170024797639894763057506293182719713313196078776292144783091365468899301138927847053632953300858657880913935911638191309739916701601693906619992813163057060630022181404285185568874400126382604824286635345023820562594333593177818471135659962218468993472901983732847533529740718709068279667132319172644531702784600757616329873702966531621091484659612264363634840604788198438803966102539924329599187018082884182792177269712883903825725903311701918666859037529801573083636708012008883708750832092510174976878008088388173358579951080677257277275023832388267354452730487105832637140491437372830003051084577952668908061900184304731030409314600613439821859492185408650501183454997899207346574024081062492737429138358005864286897215674858612747574695373711620344801406469734613193822116270524926076915800271602186518337302796503217797946328538209245175577227560459455087932773999438185800786722989497202490981846765447427312500659371531731936502278012744914279108584659762345782683880491919051121589477831300580190132445572984052112995237408517742999766956463894083718759522407818784500348647278669636509061954745325559543562349412285381478165627174250707051994313853213029783693338318013424857342786088189548874815838390705431909500528494592975450200470933146216270211760977614656893819445067814135204511495962562155219737418844676228369075354789202395068165522166104104831221341772208335889216058680286318463742282017717731556326544107064340788282983779826670227647443099067088286873957514636312278777976884624403998671256188325295182772455007419486601431273012523902467169801759531875924245719221467176386473538818332976469681728767395953508581344532308267451429150975445296330005245281127581407516250099644847381911246194364237852851936412171482708328874497292470885629856914314248227676397754953517405298659294318077926614319881543264329268899908610574905005189605159005105297168317720440168029556466297716644607399344472286352020841532299859688744382720485809083146587462343229859033291093992528178126571015900825274595986338178182959063555867386035546271200038234252717213943867323961383397410055228949366864596114443774637635459456602488869790136606099055510487049480468437672532163261732070706944993758615881219647730137439024735020883682723889575598433455020522732290483083131682747082807851344575835153676956121051552259584063748574033958583890065402351977273120725010099590596258593881530062056750871930902757506087352350575442449534547732702312249684653199354509986879040401627715171612648210118796722962257928567828203024147119901299634339305107920452186890992234497830782492497432640559760913553358536878217952149396564575930486431030064771215346994552167325160284592989022857468125551285921962511909134319078180637077569986157250363716943752917615393581199014062543157524916679328776087918317793308070561350482352160953915886116944912267406953179387790480014818421777619205634772663603725106170247109051537926392954446978785821554669034756305713169957955750025493519904656328854861558243256017378260845589564162217364609200949986192640719327561397967808024034853039310442301450148941965588965599440706138283519523610180289750694886701521993055439677697582772170942105414711575452123991170508822054797491548284698109528591375800491230514532924936188140499999941184337883205818549563504504618948481181401115269115698068441446286514986017733747426232296462202884274895671145888433854790931211638247904018829862159521634956031055777271273359766720804211035232929769816142228192394717120665850826927552786817046749453719497491384069439030965531796067238990020636870905091774846644387377309464044244865954650217645473333471998324920617392313009668993430740594986177809230740806917273347507917556456382678860771490744796608555220058438226293532539220801858390408461293834390845767777054914156912341845306582051748675066493015541647377145442539596024983214960045884799353527678200899230858972470852789352029869150296471288426731101038250469576815454773715388691926844000969742207774247708889181988588506672822719336126124054452201283162374667702335149665022344694121350036738061787666368515296608945949832650020918547428140700504010196581886897953615621614786387629279359968873236990381759500262301249357244787498426813766912365711646562942802866540046639196667741590086286662539563348359135821100300928717060118443498404108348378493464380493459709841254008147908265803865300380466504124130930777467063505533871441864577582660528424974457836171387936885163315158567212115825173066656183416244210933474159686183940688121965388402941456346154470438463559098958362409255073430405341608729536383745981480745917462744618574422709219558754345011485069946388750891859844470003364170084632629919016990530852118527825208761854985596871059280262246786874162750231038333274412638236016542719932057980439071266009910584977860387098361460516437348696283091249041897145116852596558398897921028329033647422693540390179183215249272757491781257387516425078592539914856046371229172835532393767978563188737059976279943194462179137545548446365104218529187525758404270037865395726790630484150122742865554083787579742702438442616812467088378325299691834890054665124824872606228307792391406884396700208678213063934176236116568460400269302619102821464277856812852100030313424808066686693274489899014065608210237895454794352333436963425466789461138828263619954562036872640609922906744305413881314994250433345747613065828336469950596761096790453972454207153261312188290069236845013653668114247778597525660245866331610521177944715699356600107932293447784470062843778338668571703269147804812296584629488535827164178878561702681245105978762470809897965057515831374881857207207398086502555251688088364106048987087668015651719710558189983891592388381866158321306136036616785933964270188110242186781442242956572991122933260498268323749044691003415631959118146091577493054474718493798629645547616555972511283252523318494240921788295667787204759200059496480778599156046777242163390259009196157382988555471700239484386296033761179944794884008946696438231527636540239847249265846789514668553128163347292418922892743402479883810144975317329700904566903803184301010563295368370928710011559081304360609347395317381414561680032468529685416177008169817908101468232300064791493210313103925282005567765134404047088310922640873621519133795399019070184549856310681516898549551678706182267010279620431286253522513341599590549401746097834188651986257108362222519428101741606796531264190534806748770074136927700046457632113909979976609413283288155818141631540469229160700239264067894259534690724750923056194790400827070452434829014331140510880082781029484866999323469731719937136458597995784949287170444339162937986805496080120868104560678983674564223022046142153729798806165531185588914540876340441221030513923494405081188912958190296267859321781499727510005836185722409563852023195176198992500372535613098490932449250069420659123884105965250414539546400677689169792288926967311587339396276184053404396193846195040091619527955315964575062993408609761615432184670228036225585547514607342670257272295839619363116796632919136976105809980828350921806099212022654236325529354548948570511915380725457129056632427494445766296278735667765348602341998466215934739395293727707934325381932628311262891386166072626175568752785002303643279999163791449444612223675131460670588077124188759093570084222209479486210649624525974192516967824774416490352926613055408304209886347108143655449044516368089989713443489765401305958614614523496931379465125268873856327799268953002150663391198776320329445353853388367606937826669613559305692121257949733435013174452402181395613427592858689199664026254483177431383878658760846440075435844797846125200088063837036789586957751594214434263566579369537134020199712255873150929177021854458697760905714241245353177275822681580792263898234779288226700980358328766147981380400442012230387339305011920278210267488833061716657170563592514762402515013495052999045516780356728079791330867256152823503539133152121475671398204498048314427752966326083123963524448401045741157082680914430803467337634230345266446540985085534487240863810346181857857378043481327606907141872177074701537096138191701627025254152644727729344375665829741468983168550522458817373078072311221757512787222225075572571035357423306796418962489956416519066800352122775761121027868411547349494608095683996110898861115059118770501369678489681487818315546516676702989750918089760714368920509191589586778798686957386300570491560738307386344931982522579740817080041771515121319583951827138859063332495008359200695900835810736272713235061213295705988461566303577820429562001501291249315048507209544610843193224540401026098728795358552864386832874096898890661318463659089864353775656435613774711096926005430719296131614001674774588288724917066671952354741318998716600213919598884231625769758531113336627898698213676362257202533886440321310133592338573425770268123167518534905330208740537565470908659534144679719796949617454447232107811279462531127319076711456886667716855128463294313906041851410381098520568809431733350645086046145117386296130433888874373177703516446065781926426403950467367818475281871186728361956995921604761491798926598547652552046329715056235047918965630107303136029827642276187275960170922237069064928167905825331448650905601827212248238712275312399389172256290414430331770333763821030475016250723958226371667951374312113741733320364194260077104865099583868312348088406403446824643511009832299097037690236040604157459655876995600689605429481016763720409008588747829564404506302896038938809895578736399771521910515410412391971966597484647930213756017279668974545293977883806303004941009896243792181089560310612136437628465764194212470603895020665527476142761102561724003725713368225831209532808171583056757105940655978931332141429027604534228203893686931355519614396969393413914295098123997068410016167429922442971985397203246279186858962227636734486108644571402089107340203898536378153502752172002766908597361090827378565772095491301152990211413151107607128689710055566507749076198158060829812047595245119249878983702094998312363807441565472263853054665608837137173252919347842460026896691335344681893949633199193972844999625313694918893302434831217627511262724145244785020605756731614930214628363743467520015908289683804488317881359003024537455533035485536217562664978542207063366134607340216673062836067065511126896740081640148342270996649774473259557831957703140159915995352897944858145837352487589390847046033618622127154313093122126840765038810234141695114438860674843368149384790079581946742909685911745673165392343669254454435928313892421160396872898235898512445944187415456153532575087038472966407348015641996176894507367765625572575139440257857219267163647494643376212447425376214922586425100437371527561098831243512366979132062126872093078214788124813946345587166587014055524346949433267745654434137742317963779612930834692265678454805711088941355650219437925082464045363489514291223468182680047463909249191742964401421709935872192338279543850412786879962551782136963839437680878565472829117421039544688348627493051435357019313289747701765407822168895526759207171861139870574801892366932072781887210309579059350787492890260571212444502429655643385884823070113477039291258723273752454764975233148367603577024592737425013558092821681151875434820684188643542956017424724287871030568354821316949803375713692725974021603954770650107890452654463865957243820987928907145310758055740586068279991901716459424459925173891811930020411256111766678198697999094016058473007373930861640342441872790537068797211399474700976273645690426418149490637229238856420902966807843702968680724611273284670273059541838618813276413951520848365222325309480739390605967964992536780440581754603683471369988233022166144211883361928066054099403812446097377616908726544275317718975776623606298283137774217008017784368728569497723690333233366036773567614575367656881205731666233501565924471158938078774032755235482176535840655475552155342077735964717423608256923150805024899515086950311338120457539261640511032837988214056294967885949113336529237051456377784682279300634388421458795344034622961891085435278533504031664028234336744209738702062788856470326979545166261131367758755394446264130957595600958953728460826542176163032515612407090838012786195714237799270432233426249410239922356147264427661125949803848040477001729364140453149252536350600320725651288343858983158016076228592088308153738558064085614436306724564690965932031469120774326999575236423136432598600779331923800523287590354723596865918103613667187858894466847645136047320886795492283840526400023640572571262922342756921561765039208565803215440817709055342957877743425856511722495392927332021716370077731003454985299923347640477595460580037628347552806770719689337306639313350105506175466325468210073935462492242881327151609641740053792941368566818725917071167292762988316194775779480280506345514932963572962659697835817541215610806285673060929805616382703474477215704200204307068606898237875796486127149899506368177912719490030942888987837686695506777818044058438246241919790471040052858283328372296309501548654779157105459486827668618964759328356266923863766624485493968022979795387885171744104854462484791662490391910204645342980138828104446687998011405159540773875695252032833836996633889887366047762996391674395158559437383087965254093353902429575430399617503241762299780952901666695576547061158509570795187443024683439135573525492661191037540920465300177622181550989095049063229761798750981236424455950078390468857624932068800467072291020098974858342768740017716256350471468074920397193394265900747705943950562894523852580291365257761188354633005313763982230967656884629185605456722033466652340928500530000745439833171858282206157322442428061146465760689831766499635107123330988774734847915675730262284738748715391875776355048287505188172154785084583310834873545263071598186887255608603300885303730001831611538018800131419961254456859940396129029264307414659217194010342954876004656607084126037760796982581403899551471903719685774374722185474549686796369239727356750169606260340920876991983831406432524342587691898499889182424087449196354035315154254192534144900010875278039566994323706112723836013763766834623078348079442947660138606409971470214033078494171386277819806174297800229280897948665576479306747639671799870795573040907030824587564845845014771197387383365744790176972486875184825755082656227264174514111640344819329706521469176559960256200801755835509656565330249464014094399174627802470103247185706326765872357037497619954884355287875554902625687540435833390018917562175347128072038521072073086754172626650459652626023242843418955110995133028483105632116470285018228733057128438113346284234936978944571203248370614355978383190296843985319149320055564524033072858457908134076274940392998415993730450463860789173324635476168463428674272240477911674132060036399468885322389382441974373576235371171804062292456844493753396145452655281620965762313780249853390758296368576343704092118293843010860498475101673092423354850154440601458188247669001658263379735995030948994970893150086534627119932929040437536044062727109042935440544519284088487851781815020865811462500930999804975366088167660729299204504484003539130048727729641881431872484857972979861755849940183493833218935424322410006190128779253506519354988250470089022011038388150187588523560560764185288038154382052804360536804213031867972322727037465749321843148456145577762665433107039236760515441928717983648158184209896149883007079789363178286618517324214834731611547075195778850782135638204695761570280777852833268041873232929278316513291796014839148483785825656407956245869562676417705409987827544468174220789523213976974659523281028760730914237735342009973494526692688979394177623023133492054813394181243650432935340800017790029650874141306599245525558220244310597123253825971424299213257788769671208703220464003134471141037925347317649808220533173207423325879520596678620773212533595859538411682561353443964249711416481444704971118672960506777840608942625012343110329609279273453349701235561002357217364483728274257590068278626369295865130989604374382129203069981777202420482010660994014430331620340614852355321531934378633795731912419647491544857397170649114205769653393449855886513577600142619784135601506284857104074001582662078758808539114957356086334590019884667430553048796514149528821709467121388602793345951823825927063778008888259603310494097709507804806616632594026097799469530240822613277638151962633591745789981342762637442758113494660158066390889042718983006567025250178918018133306314836613437153280283006119469093698551014932270598028739695816397165386981128470284359438211042869317125368307547192048089184482515257005057914743159957996354708245165980683058465560351106798535263752042347305861118220199974691098492649581067470222534643134433294779627725785719262828151796125794676561339832958133968338962743120806132235522557863998997163697897400835587754461950061799259938791984534431997212210609544639529829494057169980333493369032905887928423330220283522079974494992894858181316454938457557916305706181990253810403469416127757429157268413996069525469071969813749487358840768620369296485578842710765542518390639578338887674065131897061122185255088197876282918219045359567394813644353191494218332867845774458714379689040683417625321918555549076166063221675557291402478032952768596818297943874936173198485874635236258262541134774283344821404948875692068272861209636048301805802561969888274317492096139231731087305386125856596727632757820941883331163660531313296761446750030383602988152285636204640235230368828239144575258070654678303352134260394763400428485943995440655393322920560512572188477941109630065487535788246654514220630796792262135724760537088620683854456972195789356519237219470977322130341039084837770611550768522735991015133819586848125212264669378400113795675452264005244822959829033304061816055655192794992174297748256359257712444643352561910885802567684355811285731289390671381759417874556696289309260549677942904803358119957008956100087873083675920933849641636266264144652131633828112296471097934560925431514998901250899290903561673318491080993218327468559837294546695795004338180026893988627172953454157780510714514114996905191658083963914115668279699281913278099595808229908827786824015564564425905859949921721525247995453097518215209324598842467368823145996939471513164149407335119753444058115286624031191125848033379896807528200833163377081884431530212175917910537866586986520903125434137848191099679568132322746480895799501900097045879211585145346016086397308124621544912638282093614543475207679746437602741942533989228849728912558240514800053541695491363355600654625028243690979710878204786943405129953334541613602422013909262084971326771132412686087570526744334786386499953331059919183857402873713374469704829012150437370787050388946826428622859112041041046206091905567622037941367671898610341631100082285291328097498259205368791709120969014025784709740498568650574761782196684266350390448426403871141672251979516867004866606916222680837125098676499005666589103384577381090870439339126976806137514442543843006962174963543378059615991477778484811429795052059221730179856616210352424949244368463473350121044209641047981610666023588510817239103429127489467069319281464380290634566516453361415453520958988163632483140678720285637645665671256407731991885813598372038508623465150541820323882639032984966424041218490423723186001411907751475596355699181491212363476341488269095856967328440898455001372398219997693348384594331052481812653755416060890279804231679752938423976574575612723448507594989721248897474036228764526495883987121931778373107194578117627117120243530560002811298022994825630686139117317591730752963558313391907038771743818096402067890141533257226510814715385781782716969204149902204697345825293487393446970072293874609303922492122766373592043320902843157598812201030300806158451855370341124644747708900516671766495420544229695487407671238524464928104626787448208175211375932346466848539473216033874123626073719305478315849464763496968885159219758709485334720160988766494337402494432197580898806874643096748189745084732914814614188607503514590018604807409960370361011684035056119529269377625653984242768285199241199249901699989513001849579495726941861942041914416510778839332228304619925238880453622606669881633396408124922187550732398496789031771706390519566739991852630655942244874937083678569845118393900324811426126683650666177128618671054418020780067023752665758515842483207477404406794282757721315775307245015657449887172854907677327153876533278368076471171050795600087852299035034602711016395077297982102225820290681715464961981691921143845896955238794302792061175209586265972607496037408604713453501140857119079792632694387622084118104137037126302773302066286608730365098703663852394591449221297223754845301806147519873005327071646043773866792443353853687314691515895391182356983298759402163216915657967122013332429389797239852619316248541886228176266981066320273007052152796703421239545270417729444861050632196230384123164038083661896071592137176780017712512081180007358674301181204195359679797997623702142472795104869729618509583874280447917449855029910982833130759725717653558353266554730073161265936693260096522170845872301447930729245367129358534111553617333525451287991047800234681952707260725063774198070223684799261989972670178507607629299688707827017284413273255118059117100812815535197524869472490323234425608273782634242309660812136580260009307663299529605788921591520740800667108072943613425705179175355433346143557830495995604731369002459085541346586207787460718631976097571807576308096934117991000902669941818460460155768588688891079983077933182117986954734826923022321234652883774579965667279773138251738937536185202760608895110936301125898528248446708588229312165289960932866620593361195027533273170365543138487914255879522069498625371914754468083562435863023805533724191867885164527033435935491765397693573309764487042535384472134893371701877238932116944303816208535825014937751282878438711631607399812428123443821684677832112843044289001565959017604580793188582121033389074998878528797017087510845173283994902954744667475328522050670981371788252629588212074371558749808097814396446268675224370346228348059481325962921643170306150285280348492018200376803855680608128365304527348597179674232425337195828380235296926015631173628567142990925646569362837144609775681891015679247394509213985872533622923483619349929840330837101475887256719665587664709903913272761408279157937896286208792039507869698724419228049689650883833719770543106048143023999977472755842998230837941446757664504971485876619913609744541208988378626105996987468554118331141178932765266876832887228354668778793080718317912192044979557527398716989931822054468177042096935727317321603021489496320529114906859583665297556427259233364056832012379910865607425368924340225446686797996586421979963427660304084865557125099306205669325557275851439163682715345023155632352939294321701173839531878531098204345888178208591446733689980020464164971094073137912593481486644260777098497901924173413874458076066775735535627256509006463563369958524097771796368370936504842957802201109470207336359202608993874016446383534267812034424234533965801452005433334850294739192600380555758493748324355921850330371626311152646579136820937980237591134469633403516198113001145096429868843393664405336849053775317504300651948588011727822112843695225201497465479561545776160540064807148805344222578065683759975556282165829261420247917302219067815244726944088323016766117035718352934720140292596182993606399245430104340460839440731011963887551583917055248382377500897177152402724741267198555505504444259691983557805635480152732376911082291768748223764909172422243643884160037059458848967429645920510948243971836632428362349041294309125712825680853981136242463813956529701562747055471295453765252004006374540276013134890366803014636263829966589014415653254685240096370469337431982447095473119118768006930883193458359818129132138150866864185522550661496509744751737334952626991159299061235623898752169331940355296302527201500487894757863098749571945876926186968353239551525494889366950871689415750906070710310257064363431374879961768752983218937563906264743859027822230853869525938554140436530234488765244106791768103366921264632608443865654722752089603929402894939235990384759087169661504003498331022272857775782660010430982935068405692569359745749702912106724764243592627693367259552982576144698968322102440466533831209925504410455665021180745048361475035676731499124332528042171248941600493855977322874878387421437898849425912874073450481143599278054218722109506063002346995814642363136348219037450894485286842078413249092115151152700248044354317931052394001337509725749474037740848197729852734608102342747711715747619726199582314848044717808505466340052130561948762335235117854610737940109295292647173904681242435222434585126591400710300524978712978358060739872873003056675648937782580753753950272878667121116804174352749235472652610342476086696121515450197665828083222850711346499165374032537635169364438564126152881415960644352490934902345972171312000085630081196587713412749890213221907015124872765216403304526860260981413012201724684114598396312422586189520624003416085025758113491202156128848119930742219243502924349973870881004078411536816021675664162172472971932388999793060748277614051340645973782874182358195078484738994483073251881218050857625098198758156683782015932130802423454430565125624047852066058412058423471005769394079576103164361313672992571400837086618925571814472691940203296196779683330631171540856976297026695773008272401755932529160962744311834761101298081236462471955309682078100431239674411888975705666095106379514673115205212084762591104731804472785427961369968217527912295732132896892941849860535456976461896006887271375463537002891630811631211930198836201121510875878243564780991996717941292382089103482170361460032926178306524737005412440506820224031883668333053706162144027249844252710543161633369703207941828443646991227593821811333127420466950642984843147329684017751920617893081777204258126747415819090772000379312737561245107880781070270419641834583707447128328646763726982285644136872615469233001493204522018623313594252375607947587930363245796055490750432236186890028562162969530725961184994603827886212608573875562602214676178978709960949346093285706196705713685793919943565095567476067538019718109015672393879518436109113084914828605836133204047650791091683397157852487007424401470700080311246123391291253613953045253407631444805144369841448965400942625072674188535621787875335522716513972301156818018995540295486359648178415098911912766707258003980997730442353446714595332142650650625699824481074533289493678843008687591239357722340281768572174935894939884777901942010199507210791386284682574999112341303024293621262940109590624978208620071655971188398379551940091855172459057385327176221328427724453909824772516243876120984676224614598177528265562376375752684047617446198236912149988456934530393059698634225659749697480856085583462445889544528607347643243992250697385230604574428284720029444735463999159508153193566588654227864375210483408739397965950574572110653891143137068776561721298401667148364878706594442546665725811728674063035915351525493968569841629247852345090265904522378274548683360824325663184536965902658427775757392878486859647157513467354830881098038933899824598034781296475794799582091975344350728169726217807957158467922659653660634488288184091960652037994380566124962870402798775189190540696439845225585786773293305659631594478123873561159790030797753802462406785363478547572741719211470822412948216280069234627541818890064358301920248193756722823635951308340735959798065859132625110261115388896867895691504776409535669397387185866426508177028991779608538456055899469389201090367249302349265756613863793814053997847284402199771259720202729210915965507716705051123276668782775261913616407024336675251329707245649120892714149909556609671515091916195586192302459021108252071394903683492625160294404451679008420008350814343572014679846969701723868862496765968456532448318601909005256022841606251615448520841741486281665955592864500575659945083923292787468864227594250144875387808097955831485157672889488938910749636139589214191471549532346320403249119330750919083259683237298812743678875868088523493018767540937216393801920772123427313299384235866268350538062306057588637052750676434787505945563441306233628688433803774260036392625460722701556038437853858607982628693893168774517494792752761925985296802889252103692070248553141890491871028238810219465330646945206514618451535588424158134731571322705541916684447954960565632864264810124982437342931989672870496090322723168812307627584991933664697069397108550214285674089365944652702442417760188867267214718495678034485171389398016050451492079003443980110259073978933204402622166456688635854144937357729183599457017090576282686533525663014959860680849668948593045613935442330619893761755526823686909663918979879357622306008589101067358476373430195557177226338434182929768321541296935777500365993188284338402734529016788736235865613248089362914848616692235713274810821779162866648429662136775377461558676854538372448873640200148413292879422470634423780920956999518715750999173715105108313913866658345567574878388818840233731316343109876453203106190335628951818120027882412944653698450478651465487367528922380969906073058194654501253367715724626343848779356826163691493165557403987056911895602281322649216156574472385664256476709075116744311980318895412279959858561336789077030112663801998893761806674603526830018518600491988088657239602487489260123194402212099842703143912038262593944367676570062309690095032591005442121090298748839850584753153609033333584451436431481886392954887413971536671214684762403811219152441504384417095762124525648764120382931504323891214886563431043091397647099589622210986421525857208962682732614047236870145920640458836211492106021838942637693859642265535765469552667022904389463802455921687564842746966396554834079764822888482779367228093596104192587985025412570214013383005634804594297960117448862200722205805385726624756692508740914254735383085869357128378364455892378028548025250982711859215094243267111944661770143540471173819346157263631028255509676985487421238174569661589251138039579231556394042928398213537452501435882441045258209041606541713856537803927754795629989555826224087789292169658122210295979694202192121538413427771910709681003422656802843308375496668547679913408208604035064723589366243264506646418932430825473521176412184740691484849141600165372143351946927397793927208526075209736843655386286578319363162602897681966727345102253302838091290160479261927439874406681601742050090946238004981644402675969385416420256176786041411990489317078933968797385282333624982815745838126125873392527011409880676159984696373933107038178088246953862241881274704407517317431248536951361400070432483146001126199796024384383547787013813045857956770210668022993826228544322039816039016030429713456420855078979872996599742935292054342869689866258837803219948164590996966062880695475917803911381580398094475464923714604197247515646647317873475766148759495156933599520228567235069934075810403773727962738654162076695276448836300027490388994123984522376271002026975223015647947310749586788110727441042509415176360221011822117051278420562001637981084196609305622497545975039947367786666519271722477964589694320220988759687059298904574733388310620495465160201004671067595338310550318846166268848044704439590567799783390038023849339995846802794672023228252536781871355157637016418753788053622811169604669363104992462267652055163043709657967688025251138333049456926102828806609326551514910075679302784584456580355416820047636786957525160731968509303310393983880552071364463235466909950448928974203539995418077879784938723642282537646290297176065450544028246719686325566285983458604027963537727379027845356611673085991567239986008784312993273503292548284372173951605814334804143590448878295702164665220622046618652659408271489168692954380042829087137256317423212420950174376576219136788422055217423440098847580693573536733386249515814821799859328773579027643724208900079176039006475397272554296008027145768670539288027474014816639345021000273103105945366948603758462762890320740256982606688973919188489643619854655035895602923133194258531516193898579052254787317734508671491092052057204694325218781768819139634831773233697231229396409314279875252578057092125274814978517505042411226128452979583072853705229661795629464671739239434026578736015590636014189314477079658622245094079870400333793690875639883304901008251384866145223998976436948251176226814429261580390235049974004826429192010388617653367274994378133142565703866544070817406155198605071543021907324328270006535507006482985197829572591513368048761509829539233301772036562478265327409674790042320843401840787441103160539765019014576682750614727053039107800822479067254215980605128259931014453359394945755737249194280301749106236740417280114145784716111041666450622342355089587151882988274012204438975494442369460858697311531904793432099437493400461492565657246892291346008368326666814690344245487723423481235802685167303747305279532072115807088814746040990610663063294976707508975879888149107603144641411161270759867692724407921305468886124211199970342985677809565445287800039146472890359251138794212204428454294583718966079868519739473439888456720816425522393498637993871926710792556100530009864753062156928029495027273473579954452797582584525248197437794801357746516775349086895848537120375241812609355363965449414438467102205466603139748202346789827537977545305630804624079679752607527271821506689063791858753115177816918271859958347424409911640421215352467554389243783897961124547095251116767811282563489611268169605938616597817294634515952990851554337087760599175726434823910285820640519780917409253637940069771055008999982623878133058176063368070060988243720753060099796242341340568402777944460579460284510677623665152868214581627958329606391857365761712162545432496456205303351028199627891545986541293943498692633717697773463048389895145124389850632329677991951031675387947924987139298210325730817348232926345278100021073748949793719921557295317311638125011101772665742582215948021045766977044403909477899305108404980599496138458517296328958991301570421234191942761505412403553601663798407711009381944384741021110609461344445673987427893016357519686710284963252196805228053917895478416804240679271913711104093550303203849806044137539661060336688928513695590135888764982135994916887369818023633429119353164567167194097002465727951818124692528337739469607391187290024683965999964820710642752691814284590189297670761927323604796116897827047724911215069520901534315027821516917230057909121295938452234506109944940862874904619754978450260177573759057679030125625682628936805182108065990123887365557642444954184183694906297943620586720118646267546137858762244392966009064602586290197966390840236958056647895736746654295399315120038694505079765521952501452965280271621130026671968138283691310339511836950737846651699961312558429724432415490287349565696043007270613886646886530688167093593513586084760540124384221140719063533241810986990349083109370497750096479467088133233763692844711020687626546471995283843059620724912976721388470128505000994167688077941090059071141844053461349358042463469598722008403749984031947383741612484894656931841444550290766948306887443158254508176227293909949749585090835287207029768271165241319819012853593207175205531287310203106681961403140682136556487707040900018359683961306171719501417609720787665172412029122293636528512780557064437832974213778550301570827755118104391934424279529808083758581311943256791128091173981278228480576002991005824134422751574614693213404804316829294661748302783104675157708403542108204354734265824551333194468881723358841267952509854293632642714062948295202684580009584758141878284025548906486407557152089368386890565367127887735440968825855654611369181889854390307301086642213561479789864216346297325982325881041149127558304023777485820308524848751628468062559317001034006580575858694692857700700816218189146922913575962652842935577387223138529096784960346831309269003316180091989385532417558494694138868079288338111355002071631366142971911945758803515732107234060257668755440233704389519534930178954952696921212642723778183292208823084978290674878345375817137121640039961120537683321922638560724730846950225984328430896642615300316101325944378331312908282914965598832326973908252672590904510180965319036548475632003013474704710444349923960446748062639201792936363275863029695721904024193598344691379872761235645040779220157548995884072427181787976808116062873361981243961351249949950758936384602727035180514408396373387137507071907435488828870429867771653652744688248023120193279168423780084444488392825854173289333822942316855606988693022550405980374517215995586367889036296095222685626116886633311337956675190588342955753626157282189867398566592719205569174025435411372128088471401178017419185628775180000057119227228081109863760271493698621573497416658734302552611281265432784527302108738085279397615458656021051283256157896735616154049843948398613549450023517324948035349370164538675698261115510435979029147710599158194425988122831033967830819947778311029163346441730735918922611444777683139974369353854749120587964844367356782638945631543791419094430387958231255910085356629829294422129164309092190848620604725188502630062293424708582743317946918391500741083455403690133148931761013207325861323983928232227415538868590208330920432267601344818614685615661673617155015262665647007880547606298123827363730394227125290162701513118844349591235947486694196469070877211282305891760549250807804804527865016515783768883963645255600598190773444830618926501236018279009298632037098013683928720649551670453857578679949432314591468537593088958815921177300959017880650170975979561878520727840650835043050859725805989153948125208714219496368171669776182904647618061103069078156226134346000764580622928125162885490055757946396578890625451639391406193087648397178462928001143205034534200250089025339150476918441094746763782996640655814416250581155024322513279456938699236484729324956339756894507387422061763697282835702613066994857155441932652046838019415236611349985298554760545467320145919163274703859447403161094128621558195585062909861387588911903170989657464876763813763677777204215170038626314825394851540260983611646508352734265873227274584848122892828093642429761498868542385564967978354797665934030887115683209998044415374977570671584063393404309770400099758035384702051594026113384385482205835407832084608230678228776016791552265765146969148161048869751808034522356945089996012008175256361733268074582794315715724270808993432249919180731302097524706527861217408539612745264118589353061382024188069455171605675701037267690100108263783063721303426363034264476292682108481713175702227653092843121533471774281753108863394578800165525692310605227024365914027035887378521581205008656359751477957806658927379890857602679947854645220345272151368128305501287663317441988316454288039781109898329085493426081609523421534633467586225790418589733297340925491242896565527405570099843067606923122880553293940971857173134758061461546866162379666394909584303451705484012449625255845895256711993433854090072729206087732504695168465876094486436037920282862380326835456005648563255495692020074777243945411467704444003218437805839345806944836270873416459160845791371185868407717058896722918607754874570532303220009804015885771360737990243785888798391809679735900801845313994795724036296189871853057791302993486081700510697704101092122433771582872046007999329731963209706976365569371361225498505047929837463039178307649180250965677850508021938060747865803099578454606408623642716494194495573418001643607171364223634304853316216591873812940462958408085529162834911492719757264224043797815198501843334231177692016506497908970156480825162823024904545465452488028223739141665057702260005244258371676700877592365711712458083933292862169839267958329595395988429617823026165880915084733224266149033355264742953461034489007642647902728314522098391951054848224934308351904123974370675079891305937063185590017564724231413763489287795475496262834489823319669509579038589326521279173405681761710813673705380529636006784850123305884266914186052674442147372702283829442951768145791925952144584867913228396333002106811028676083774296147972293605286600667277565194921730960442991753712751437948662936944118407504077263316322388693298821663633043889342975105085326308495050354655889078518339881622481188243821309419282315293577728056892485735888727150690259141959858018784394166002181308223638735549619068407027435888632995969735698795637369205703578789587451132904669315538018587486534391606816285238902705885543196747007691531074875267947501833717438409552670279905992642057540484244391878025935627813230004043697029108100716488361716736231720644785697889439567858531177469423901683361434503388333572418581093251709872522851896265427377676913285172427624905621393242900711230849283975465940381805125316449623564861529334584676100832678762038626798724372959561864024892025889589573901298365743366747161770640597119250008773311108824091277257160005027805358568342963381026934954676468113989916432763067663078666324137546459292570897565882950702115881637658027127005505990060294002167045157882582232824020372772108933640328706949423858087274486399853818680484527822822559199849724327106146790602884269171355258880811447217289687015243398813823104468182020980903428757861345777115235437657867200207185412109821366829706482225445385128349241589183363123466922660195921865145054502826283095253362056165679206859261881180925473770586076916693739819159142889179137036657238703905810046244354287282849884886276959955799336775693100200788325213120790835522094524544614677298501590705258557929503987344263135297487012089993863351206834368109849760160259555912055840576586682579687805862575091787754505165313491484180357158226913563271833194452860026953878689056385760092637946140945544304409269035256412426260276920371723841864591235499215233147175469053152801946606627373809837385282717990214977751618198172822342845555586275941002123133537984168743491030726859261896351041688472013137401016954254089115373340543076719920735263663704234880054451055949132950217509234832837474709215139444688538473876250119699513158212670635575882700721882854389100397552220730200294574872400513762639962157177318095495855909477831729134064707708367052764601607799815211813883632457835397657346329073376754220685368010787412166085523118852820579680658502930659313626521703083941926078473459582856429811319623745645602069927324998890223198562248718116020853464373597006875209090013717712281818389109999411640843237910458741599402501464540837170883949915184247409765440445154462779860599225987864520784421867354263212334145843225413865061999415966112828313657308606203522684172083466219774604597137401979506725063815704477028751723810863435154565257894708576868259435790337903429320800870466203148828071861125259351549587419743657654952294912867021192055931416294609128712918732062287772945764144358331543616845063043257023669195140324888682110516051756222153867011799588991962667955579914212226397565575681860767437358999213074722399858156342198843842986385959288163100834245240524022852367286024554530186701783305782939859471147712722415705235025238325564698579043405975401105849601359739716632273792432774351243370475346131459748183662098332661828465298435329349805126169547650798217253705851761574302358233402446483976451659928358703637999464004392959336438384164529439375977638843997642470886550414571061946720342206465473321562929348662237461683241718340619831067043489127498932133989041944262166716648399105410918934240687095668243284214976979982306564485044088528960657466354704582120646256109927105141799489837342526251084196918442513451664510762689797307110954137693771332328889980712634641084944241576931839929993178732950355999378161264459368608471989946635782601927663509581359747651247915297590256728779014980967281195734685612584372485893089839148632300863132779919429949042967042492681014203307361465382680504766226327967329278314042202474150773327236188305158582925472087156600524132165872640963420628635215579902321000397385847829885536005916440772701651147840050705535148905972172539675470675847600135225735942397284842021508260503227990486838658252456806655825149038208881668494859432319891525420442453739700186351585684739493650915288378499224594072747688145156676513574498849476840520537052812483040401315254148112278193386547063233384900516457896608158832731084312824088843724496401206672790331534054838300761304646336705760815410015866154407871726397063166630933440255796405799420348876449655099026797557226180117994660725225349920775609538759461947949564228132102892747514581697581650092125358537913766134413264551573985741514417906531283721376534844518680343233816236528868533137589679624147658473146124997202262349203638695634248882472322540774996289260724340148488830084383972612748031477684744548776306693075371374631412088453220170751361010349732993394139484613809057350586489898127753721384674590447498136015949824116447806585529270003606310224935709602250702831851344977229635225395511513098304730159091256799438101462882812207434443769450595306654952135588421967443308659100767152585333108214050510677587784411870625135978694655932682480044133315920627509964659829287382917250762946896705380264292140552479465759531433962190631847122569617102258591107328583988610188049079407258589511599989961179906103043991869713874984070388598100434025302493992300719847899829872495027469968219412498390472451610314373271212173534493632879261414942481512949503964527927943016401849912107357875247139846167819115216548296175619534439255958882505179211840302477020167964762145654696970923380094301299797101679158948132671790342672541553840777881897066355382859023390686975653053761516256433356885165753340648136487024979204814621398842118941591214701633334718050154567452701932325688113815612647104841212527079539371854317702732338461614531487434729172854227453411684058306060432561866490457709887284034942107363660301348118218168582076286032500751007919932868627826667380762837148831927223295199866516782088714707911656985514492263164364356738649805695166736074382940476051815917476905680407058352391116490983653563243283111946397518159379756003547968409595354207215172367960234223093144609021075582938836079792013529189314431901115190727799192465375528173463504236218007138394043898825263525269890612525376980482264901385003902183537085875935161772002712122360915623302815543721143326731187178662195306051645779221196205934710022572309464151376685328013495719969399265690029690342344705296384215161821045024268694085704565988724809115738356215844336092703575285118601648282066621240713082700234324408338537391435728048211566998551604479320473968984826174785842903360403442968776278088668142334883125461879857694415471307752442976434511598457010587839725961358911372543380383341146029735873666903159687838274588202386883351041588569452299669500730548875292372420385516775645829893902422871015143824792258742642132404881913449921490838612998134574174487941934075371142353386735344002708992511249355700148933779179469450622056904684610604173292150396580785698056637919547068295244004394853870465378322020060506136668263653891458282704702954687463292877158493243613003400889825154531469320864227540180180062609254602554550294958188199105687523085252917137644664793635313168686132525250134702174759280818677202656301335037264831761763622563750580626349085671769965429695180231415059957726013929663552262385638133059943644957033388707955610426043947203810513163135841624889485799631124177683908504868457317919092416846616128279677722676387498939536197039859736500968726667552436067960157041813930904790548701339126133159243556748119483464717621465970916281067099057595967831097596709628746765881742339244343314104168964531219505831975519060570989095460793763247554027933103413313061030327673521233146786048591897013267144729844170048864823024945471208870956393610616108423937686827604802453716787699451747715317099771939400000761727023796429350527632773875061255167458323278322215584083599815323380112642494817586986255438192441474940109793541360905541552816183577608779045271274940098279087466348318242060307711842680590558384228062280422393679958137382232656473821865205664570583223648926593075284904462940190442908791372979617018656962174110622422759966138031006913340974938200698714527543655368892819405345306377851706273729500701954688331970775066695167227317622202138437424020819328050903688118542387041665746899616806274207051419116402079678740320169881519750893433752620614678987087448316317660258432493080171899735668410186303166315933162244447126067077829146999482009445809621429148941057646505025171852036370394108405191843566293388504331360702743282568917736086066490638800305645001014789607203173156158280965485798186066718327654460400597055726557355156108963322362634359024999847354074082416874038683688277174019418016478057580348828648685086159071620626396540333219077798415312694769518175308849869548509032324990061190621617594660520645197516714043126487168726770965574245119535948506424417016102651205018162678649583946657388765987400317706581651156831589585375236369251832997114710068946695319147363476867690281280396175718623551828407488417635867404975750205499450398261927605565052749990731698630776060742328825311410605965850027845021453457101254514010715939634336773010041168519142115918891456225528822959722836350861962217939414598704696170927913229542256429878640039968151854378444770534413499604510526821450295784957510859731202466048393635105711664640745186522238089643375047323800084512166581610596044860505085005656093763826805721308378888600175896363657559022454212212274213913649126074008446887200640161654138362972372418016948902130425839867184333776778564386790744427514342795183752709159828812257110564933763248418555439330777680666052528064818863316469656426682310584591072080331189245007677928979348467865999229243944811523632568535231023175010306987251714983038561686193794946566581865373679427715324615209885656032589069121804357948461671336931300538441731286180129208543339579744589652990800025965929355224398878733153335437956648875310951938724239782327034609608450445550622065943378293785665400666141305502218867886156733405564308530292635411199037620960739179142363537090310433197413487316440776221941094237778411979632276465199405724148037198295470628566095046530255270980711458530589118934708725442753724091844115046831301306842018302901017528223808159281065399341542763435559059867917016665791857244507255170367050763340011498124795542250288103109753986028132533207523743586818083571285211464794766032500382100768808621787178546369549870010288288242312340194843927106107345274290732966198674196806438483920551644030852639140942685646148115599915200465591695075630456289039950472639180269978552599339235330697862790047934801270305259784743631823129842445782715250338725118492707603167637020775708883314353556438745620355322904904235683250003870562897352762172827505020042632608089034222660042992407601186347157073795951175365827589818544459186457264381117611582473448985013980607155468440590769103193607295277902459515585763793223685326053744911062830308879101682334931308919047220470550462850285888038821925669826871040447465165988980174852835442848012770499087886195593076540947848235574475183994763063637933837870529267707296684181676389664562714751621342123561820588666122316701066312847123407775562476629410828472676388851620196535329381365302570220217399601484018967093736005227450209362410133140879444065509456577625878803418425581288758895562437136246589323071291286098646009715359117361698010130051037667851316229976045068273590894662347698513420244960910289561127383044115469403101392340517621579096407145096528659995146020277177939744245097874863309221240289972066612313201709059272508828738234027359881951976096476350343168870528626723010932589336360807686950722516827011481514140222100718980351035966206367773017228519300565661257087935613236959900153309897932852846339854549662679100009724209604447542918976365277408590932905341205697604350800640601615007553893455327755055219471553283951340806530527022566605881101628972072855008722971531139462756543062267069031458524959016481067566804721746893966573485225531507188560857756044812262906461612542590805571377769187577235316572822804651788486516275299720607802282660730808450107628790872762183679665845712924806608805191312671857332023437919599389111462851938763186621335494444577624009102990320184438979633293075685517938160190533533416037355815588571509818894449790395321824573342703606785142211272906208777224696986856381704043235867854899258876453203383087333939626325242249104425885385118622516348884008210682380018642404877401401834655635195317473644243096336741108894405956896272806327971845957048400116705543745477194471186982942054656302688127056703812622929144701534922756761353937399503427119495887264850287572224404748770849327255730971730973313819809803945982678975060258511014096907493983271268764881864165887677318839276392380780086505203163826909828459688876805777217735037728802768848628510007940813329111994180175239282402196178712643952381620363284526756685678832159588862898428092689447007002537418494606468489647594516237682453495887423493557338781325285540080598252723079002092254994469779720776160597610811256666212381376365191142103107422109932362519177686923235766400933048286458585445057392998731946241061926794430967917128291518132461555345700996900842664915740096363809399691401485743336813834760240200361601879545178971254642777919947217514680119018334828017908025746509187409522457059060871883359921860820974139835063040320668872988980170503509205511745833811021929158330980821574848343724037141278211201403572959083358073989226047289331988105024671499989802638457500990912514192251342324797552425414717981490816170305096763217751324142281484091353052849360057392706946004715862289684710938777149963583156844184262643957746450548817322238868385551166833498645546491634720758225533438799763239171454846023066849183072960515624760264088405089129446954125797165303011854374286352168670149188610213308757206031359316343553544568990995737551808739573841195861872871566314694468317823952450538817175026687025076970296633917718647161929653152950299084377060125853266141758965105203760668770287723337624522233785251410289429321855747311637135672025066938962078744785040773453657273898887104108576272271817184002501481193523572412649840770172522881112585044586762868835174328637940319023593361568563072615690504636540019547615661289462121183666412635781662150270138573683169822285875133640679903960240569661802509023687666679177313371239640890724082061828957689246381345545727227643738845536450200657301003948602207002555122342420160262866649061881266998335797723862260924031131277087112883567165502596991226643373284685133061611083604827483040380078784092376474734239909405734751821422659426912537647697383758053497685627418894650331179667692932912494348329784840177135816031423682318141241627654569341976338626059983207581377745972099644606403313833894141035625046920502244796181482096102984681293444880280090458669571781349480847427455674612608857946170221525288125794376566343137964118260080893584923779333867575286032332314882276856701197064784497820173761101886688717434002463257485873183284044915678290747084844541869308914306865895961681265632738678669109908499187465584347531590586798609648586424002638301672620591581448226060480845605964257226474721565193252446028727244186745427776217532998891695339749514176063884569879650941494398342971588868544624709005145804850048498296040732103203849529904138977799415488919241745699800215132023964535546482858539519743276698117582236104581434308574013892803781907537195230981950374855068636938602321066356664691279805888473464618924752618090349241929889125718520007480282438662776754896569322644302642095853221816417266220484834298419996319412256282804864468089821030664725273891273979315115117210489871698979226515666387819752990000289299411282848498471566758060008949880130314455412668445241463450368571534192633810866402758395353301766175340744952714901933468828194904640836241612105298557359488870436449165456968489267112251240306950188823539570726437665901031856886661034192164909987488503888786343466907333935846804676156024860127037960355061661240056658046171094993140768034278284041157987086597001098903320468895102190820699491591501845103902414626828097138309460566076376839224826835740571539705323982765809292995671921094965419927193984825014703998017626387380091681294997397988701483222072293374593984643633603862396713934362731242618291553959390961466013208623006825102498547853911614144128421005715076840727228600036748510832435932836021843625830406277463826331714628724287990932581529831685766340132573262475825290193351829653988145681858653172192449844701390136996003169678817273457838989914706436742801702650017792780902374937513995168533756525705017245660631933569334819484176677413109163578826979652712140919671203139606681208286659994187076396621512472702740328519927856487252323782054438781534449324262989142612918363451705161094632133069430724772017189805026610025541416580178379208190814695899356717565692441561592593264746903574223902347425777036552047857126740051505469147860517733631543140267518074290976120023309663099236989717436423338332882750370493082085728382835860070567594545164564058006210998927974925301918586182982723915807514108760871629539749111512014988500398475769912808010163684274026385143711624134935164424052576126740234396921344851405902370992888801453345499995247739087296674586623977726837351246264986753323988205177952619034672361938462870612141139520545923351467413613974109534498642155682059712205594024170719675012592899981313884206816899979672033333443596075415397908017104309754208777486927479361394006569434976946984578548676915336284157766450069628692472365818639044922589606780569036264745731635039209261039016919757121696960585635874977970781878580862560738213992319328318795563862230203246868019043004995463069285407754530331458960379017334572015702367310788576733634370947449939377021299066631915674668302417664367498597282374053439292635492058999051799948556819068222983198200107476392449031959871280501641674321170317532837736874026300768192409763416811586163798448417446899867320101359187756713564429110216940170227147012984252606739770586594716442145635253645230237485164735501015591316672326369009537921681984454507467899425547791403783873541111850549604380152412793392646758965939022650787920329879135933721334458824814729873960875668962015651545148740627135122701799010777843550334518531065555636737707613081046697442759324089774645528926042602568845977597584150623637552732191095704753422149323697662836277376066433808234366657515819636395193947249282610595258059915764475761605535918068515610523099636224596149843769712293455776861604053689875161235574031809405865280769868494527296799871941629167455534393957876468357463737645500276625012990658685542935611262411074897099274135601895386525966295875694723138818008758520038869446128790035836638624688602790656561352355059634509167159528505453708955750824296124039093044801172297763047488220623642979559769908884300248060025401628573762672462012048046171811995075341729287480904701438731850657101283303061153734899863968225935383815242577962573451778792208058341187534443790245434433876871635845591235525771236999477084249943724860332001144833983601327244816294447        -95708156708736769244684968003472162099860635334450830226148607823024221496129566579513349300082516058399101360937110645685606069886835845193319020304864547363443056552362805727757456030767213538393642024528416353986253186459510094499061924750078715225881934043684590804371598581003804107503884245445894963012344925337009687023568069676197533025770490350052400428306125170494261401556764226269111933463704141393469237659305436521967430874105761687354284927791108843052762238617564904696577788784299588903885733154513362050821372420212811386611282611848143290444487669919601929483797503823069407286307289572512081961263571633452284132189353551749096663736194514127338283741135056613116045498000856894170285081672183787448250357937564614114291712202259274321016992553986418701121648576120444043418016879661904360139943008404965768575734854402515631051813409198065750145507751424541644186197113699605485153227871147577186898479569207935487184400178818710757623745561209927589827828619807669166712832946617891573367247926142715918304287967016564219003837000513573194802726472025148521242595862473855237897399813667801250968405902525236966869357037375581323823177810518315450175034582827329658449612564001218711392594238314370341597117250321672822477328766712083904829873140644893746534325523835418597821088787053816268722325876847631950728456939585579904413297152378542519105063830733394623451608472933866394877960202666121294251566053604093001021400014263689957682145574874998348541989560665343650329726337163138438485443179756788672425134767532592238766633204283426061438103472807773547889418852470515557815095764310029962969207480035946468164896810906123345003029823481227908709702534860680915897357509491562434689098256369078704676845993356926947774521528510190774295520324239928672744707736916555019163506608668854426310013888391228698280348335997631854132963105167115469294006789066699997227054967403554254843971531622374091687340697234738225391655802413591557519462836870600777278721072447111057532149301570318380699854885911866090922289331189140047646237513332426676809117223540214050703237691388968199013660611216298831501659567376587066047160919795145222378036886782398224347436142665014917797598929771127181705284995389150029814781995803903742331861798000981369670153575069494770870892880948005343612318487856865044435549371105686810658553359164509273130342820703780535081299671799234360762852322497905245104393416864841248471812534058770129781367861185943226779195094228296354230660374828597406127750571326769927967549318260193878047281877070788464516344453952767687764663664620181937372668956834502179757141379663492859866460832371447173200486745932031987183310554483735973568253686794705038204864157644190938408177769282105781119193513826878688554405817308719649900404381141997659130892665840752922350786887762695874062866834046293461071947116816544920805209840187404690521225079491671193299227169740804126646505862973414336274149329743627207983302843208825462314290775495305837214734638376538279456917657450183558131070643683558369056792900285099318604165440276401070293413244196156774218248908007358892136565371950691627437450485286410278006323382446419177137866727976777521051517150398021739324311900864969212050081003276338961272260878902207427539076921929147593772572914657522421313417442393662831332719691054187758412643121425550051930346976641792978510655120347541797584261530059000167600834800981859498551776778907787972353663740900767834723524294183438916492483679354947321960380745757696856323450977829935165159656315113975412721423336045650747490134421174449503137751219515474587152461027907310207351222969439344701815525278499236378774630566247340002840699734362131814082608553565049028901439854155556936892360066968088342349756521116917164362961889815241346910241935671200528606787434560361385490187500572534124067614640970642750602670825258784446030020314581762931136781579936549863094464751156369939206402276172674132718825653869799659879406864497778773248527418473552412100762631528044828782549005268698965130203209903982156166805694781414456976188488694322102693163204869689297257129571784173581021529687528544458325715132602704078946918985330165636269621994311235049137670809372019173385726069883799456766695098138566050878057546414082961463386354971058054710651289475534084619238333251834811039196742170752685610955230641846775642079044422186301127113519106963160297831372902216159400331029358597482619000443068220264568516565233696818853371493449097140797430021602507036376620849756847791713095465368916580784752536207590010576005926776976542797630591695672473187074663347738694653034511751299997653909993964341844595893912911678181372670025211883462963176455484711070003746124460878305060519982300312606218677954717313584405735988151994782679160093352014707495522614012471607609244667038999642903534774054745661229244033998108753343948442120254398791003845913267564628830957306477778062875193071433436743603540430246645356773048484278660136270426280745334938799328204417155197717783446032921863603347052782675664928833025121701236963432821388970973277819902145961207609837856846473176368593209631311416191988527154982854104269591634464874658583974371781227378453101509166934443071271514543319921071109792356765804975520981073192412303768536238726208496595025468810186231056941571512491995661644782527924519688749988290966222612894787250321117237156354179562841241987219542265993720459315790916234957001349039321367390879080803220142478401336692544543451753287512961801157716090444711087527578776858263967568724315535400157124031850446314186539382022050892417692658489819673523928335316857539814855056115687070033566443109000788205029687307500886623033965135176778636599249459111637123668175742508467303458480545478734741248710558409756616880337322908322194361204381962760715678060814344982223653961139420109128109654244496953251586448560672414470016455273790878415481450893232453191638109106248706041241676832243539349282106979793910299082227872728866076985864378317217569448812619526117995544387328096250233525479280191655205938067605748290959800839124947442448420915946034144147161756412788720012528343767372380467028216290393766590076824254200905956897828214086095797333753065752332326160668489970603108424292625059795973712909982302164803077775764451854046134366505107604474162718093419042681551293953612221492293736650140498717022584708878299595370484645418111661264061092061701961646197229307625252553879141249604233957008092517775074209555517130448358377621520227769644397000267014151033185130008062413215451165590695215928958056217650106534013292715210125120873759861434055375768311346050257534411576272921698541895490716471134211030422693668747217480249353796009043424882679510260504462951563680034633112064090042608004250720945428939136537753043043481683779431325468034911235832100268758601856592305998143829059307373165560119561263397679504634484700276489355573802792642217955547584324451929321590977328015861739481028233165447534296299797892930234058586130086625546438437620945361121054254836582455298172166623957152789482263508049158385269764490880928354626622557495134000661641654781153017293254767189345631816484521043762287685515471136238078542666165585473127694009655652729115023582049663544945030597080101605273498576020535240419110120412031590540142216932973097029270695744000015456062479888503650911415115119856785942822993280473534065888966756240533724244403857275853862447064137631257707082929507013459286699572810582412824997608245183964131313583926109600360307827216629083551054764846895925839753335555801118504281860575178053308154856179949689796943453288738666253060267345316921478798772858673992210954687399456438325502569188302397957606741696449191360278208659346027803064808919366383326391246078758376768851787537960511637444330367265041211195983155430106630886724338672701491006541761446447219744701902063166930118454118850926409791127534157360405836932136778840962917342290333046950363952046052445191641696990685833339535152699320784855667747421054929646025977248843411186848146758634446956990785246356950097864658394911701891335982707728605160199712882183218727997999971487419682892301852747668577665715477557766019394588444391258921598464162083914583337069306301470318944162653002365383413055192345250686964476622350614249750217754715621278853390572996093314289683367586562893170360971422942020566536385796003150369401617029195968609170782117343405587481392119179008296627553093661300461672581613553325373682241393539718199570827189719097413772127010151009283901194014977454869782997117036558769380799554130021310022047802690728929894309531683707102082363355449338061916184474307507956291056189287300910579909682477028123934074904017264287345502504548954561154675504022978459601375383939156534286800097932024172920226333106746337358164568005499431284596171006961790346168807872990652289581177576503329222109620687806986116883735099132364426514497215926725090711734161515286626379061733455646819426709329983740648913570245848003883735643149224027695611115017395660345861803227986459781482232710045733815157946713701850075469563238511256963736006201438177043669632857673147979612955084791077133430107532431512707407176205119452594248603754934875884424248185354000860166771180861323947978513933012240819147235588874872845138751187180024047595595074278993789019749761167148898517935746316417303479618522421485178875606240192450431295437795205314874600811166320449104093625378776336349677209465575975459206073608454611343589048858325466063556511273539909003901955491019686248387832722735245551090324382106954940312807333088390642072294109715757037982301342306706947559551028943943393447889771396043998223037543884249137106455270681613139993491918851783328155133214830749288692499567829836341883568552682662801770674657403683130987145511713110377754604163478667493144548859186072534960409397236562216203133930385701964813736512856678281794035525921323828679874663483553278730244599071138038704262629967732978627556669684476803267453148535517262020199536446962607133989450377871880766400096379202693758788487676844606817764606885352452211970784167950628288889546781203312392929824806636716690260400932183405389972755528187436476782192652383392567210250093852440872137576827294015232253639005183398075859608201947264540470280732559366226366450379835892032005263199033669534764667468662992638979873339284961349288076285749748745288129617941062879517203389174694726888594801000153004434351912504285234846949186506140507810291639155859655565436062234918057120257952029896331168483887602334572277591473238644683993673916583712782041394459839328816129977570960365524161064228201843953902908036700326445067099293711001213239901933898516247389950082103757849955336388124162057277400775659656100950763371598515275275732817749744931470520593221068561965739803327666648890242340316423196109633399173265289435668320842652517878005323841906474407583748121820821385780080927379049336340742947277865093088017143196752728132081780389807800526856621815820038406456367247401106990291786909041889535259121532143462550141247436389827939184528864031175492155905909802913365363966093735972663373273566014560859678054743939269896363066613918876893467780927808666962645136935745003003016918974592777482298874594094425236036585782640979978348767421145070620310505714803737725668804301585519689150730025997466466118268019979004279294983651497008054876985888207447855312782404311998796396348084789533701151804996097646570570070924414531933325124818587734833857299974267611336719787460066641392409027909154927816574780544695145040842978362066813201267947653489465872800326919250608514270710776285767999602738998969498482459209998689560863654650591350517759840609657653111578749104377042256216393359882152936846496110335189938366474880085981750361627337250389146526736447712958112066791941057829524368040237360586377471776469631069975191829008635404774442505803910522626526512352921385557230631806280153916161355596261217292574322437928544892561199510459629061404118284664810151304369542460702313131629222267699045299655627079394678793939710824664521306203152831602996087071537101251883218693883295823820995906053451793884164584096390680390907543632110638009600459539579781737020434717727609856922991081357279422894588470555459668989014752696187755722770537413501414089478008794586955929692163424824993095894464250854933159691006715216827483919194509134004426217941545303894725307311933595119123207957239911661694998267981893333228262175461823234050060179604038855284940124677094293320492995792442937161828548299522561772553997203149224190119061430537902394036560594124157174229294294626041908179683090707339579998682206598315493715785740610721589920889632481972473049222204475377557531971398537053186306865322279045342491267272500143941793911137661000459176348662176247661976653055292121986842271196874983878175817159247843272482281602189918491326353257806066485865075186145288935472152868428106805333948798781420656154926037649275799788558812970705109725689826307475552553863033765767228120972722279544043346723299213048235527976841445702474913056552387952849745889561728332837685845650836902400568752795190961445920125916376334422813432448783297420031861616178561804268148687351574952034641617719248274134089448055359735097088104151564285321236781676275193916423709229754897475752371003526180450574762161028716165466728356421691169398690584390847411478210692700850621990329325279536469628819916988299241494923896434306209391901030976315919299062514335586609902111743234275181553208759539429830007330978488853375161024187072393048255015090548164286807726075391326849359503331872664558156805937732789841375774962518355936739425813917177846452706551054829084595889616390947439284301995116565243125956172835755406597308974420953650369572169809489331321983098565594761999982842905339657956924795162463573778990623588495109779305743002690611673133274906984034501123584565623166685278986581161293744202785023801650469219325674149781061585098173339452404183890978076347148975408555717345724713732476182991634401172826319982386525455864229669778970702892140924489985509465534543743125651845303494044903778345729253919105636297694216506650142270561671266086747360042608632151108477813633427466482944727154564333216879144180948134726642090443086866080410404438800466867121442338938179139572552610226231395528631460473352809281335958007882645084241608881801134859672550746546961241359451785260329595779345033178405360448164318379068102627135195622686624255204201013595230749311791385903453196299541294268191483711303678187929995014631642801174207786624518427240603979459786329099871433295110102419556646588400597732284995117479556411061121380076594903626686751312649771901128779360954514189233707894904346116174369710158292764443066690523130566550585616083459955726779104353008287960560027033717406536973296316202470684409972833486205744377919159347787776970438378845582476613567465e154961916063048516085648997733468174277193410291091875686379827635374085456475706185664321405490128548083843643251039481752393305379490976250707003041136567829576537737372652552858092840634584457320088345510008807281366747102137147193664964776497723427159563407138424111588247112456481360800545307018198112024281842208280466917918747850064605011231270238929833817613831523224347786909714897180961465717051597465175047628446452619382008359027534258122068625186016437262384039687699997989590111857705954689747437348238289220528290005485560303247062103025309348340009665815351250680995427551508620708289934372340531203150312395365204119867211276616134287416944766109206127266128743183824640219841081603349254238566070454687781880162626842267033632698378058459675857433659354937308356153210177675628904141755787522359871980878352262898973442114571559849056081228707506942384933008905912730963935885592720315626736449623631126726496670824498261026280563887479039828100561309411239406986645868950963911362203658518318972678565753076402645902983734554911980565084726183695083479044435854802500293813395903463369735510110362302895444934480739712485496624875286920414054357240688129701381839423584191528262320154144475760822171782134982414649173740438421950251486074237804933207471515822869907827260260655996945218791177190874711837013614428941730040871088451757568041483597682997996294050337003929067638327636525366861014726338235290054737301037635837431164909621936321161286250753418744167149234097305443060267629605311046981680332077505643326496229324132313346666528282635204046970515847393950722552017559153963924420359767741196599464671968470042279245139261132009568877644848078914748686792202378157841326355168632620410832061088882137992400484666937111349649440783472845885452067078302269425493751255765402818535667805948509087122818659842715273285770540550284495551437828578896363520875015574029385069136915574046025758305708948665590404151587302087837429435212973034441721452682367229263794103508945217484642001725642143853306410964602286788851337771277629463459039267137932267066183068004350253301014707136052782299019746984434637229254859248699510706396949524246463860005076929190759365427862620917937636249250427374918694077160053928662707741500113972501237432926705175052322333642094147880385175613410852007591992436335685102883347324744615915270803562094504031795360053546265276824036606201300139336690519066640365125768028333267048091907781817541138942975213117937357027421185519523712255776481316241085195846790281429996764998742860471978859878240132738349313509768976973860886110305139272844720830627925115826056582621805509782766779280864681559711024794764140037957156544690783087456845481484371309973554722122097994442500149279186431815249448458012282498347255029320874910878871290631585423027171178772959959170156424277791401538625812917846972714153022482567329923316320937300036360609855809711054888891553859485445552032924231919720995470319885530765058603796868078625879969512718336198667265163147634722696177920751517235061376261835125734628803954607304453299573105898252234522904836403842901232913959474829239635207501993326739054193895720804536206625179843960481760534535190732396113017504564660915380009093354167580441019405698347459558805321292356669529390145882967840594925150936889010054755951957109793208211101205420005510827838709042093323645100300983166161954858279601177707748956484091406814831894913703499284025554817498071451074344803053657104885556354411710144757052317350730305933596978904689306540495460710435984673496854084850019786759992491150619216636321343521118017378683876898681315460914225056004884461063031462128322744371173751218524047185508630836463672170311385790700280046249187466983934063852824074198924055711301996522820204921333447842533794085739141183696931296992356747165850876907386101240062397163899585784474125735161187517245745795473832445130848087730685259941608903357082177177062150878984045055382291528457365590879687211938597918080047993552731710431854603517327544363818103276442747409960614679025308410768624808540638620109201931995973955535301467441471391606816535820305137495349407768021702575250410145887341483389482574942569720934415169439067908375870248111224868306469468368198995119932254732792331597355385176608703120715004460531366817536417217721705227765948094996651212133808290912800494223935790831256858697600011050794287778974209886868748849946136866536433855963741545641758461247021866261779346620284359117554286564102589435097215673706754102970311761624333177866336204636023076342427862499175739551117939539193638326565494267134477160316255710542390851579403972808932777458424983980338200597998801271918962350869894844995615695033126932189468369753265746417010524137667703531738074569310031085698574255720995722491332555883344304729403715287746871247725279809284346917447332111338022560660890247058914647060495417665642923169865756343169300941817493886102009776610947899886179830119941263361124210119210029924057151499725037670801052056958374081340214849707819914410027156776800823427300283294855067794361963145580430660989385093982340656972742785971981820349867291287096260450049138342596482304754653282427644687433883641173548126664808875253916396850167434548115715794211732581167395339705738220001445648098236165890783566381581957431431474002792782238999047354299453792395584982208017931989518554023455925323844667381699540697019566259891195753581860925286900156701682911698068165259979791708378766158529327233970888969059898784590542486121411519527423524392873020470002355428690354806258655257216237674136197152534389165882604447104538349074448888814503785320160734770998342342144694192626652956545536572827241621252416302519363037796998612006321595127590436851722341105625257606328290245040113649979432189960794813859353584040948101521437406889484311772376472405757990640541489143412669508968443135319665736860101397540338402917471537322908921250104169229633480555487797789807847455497561801078539228009181895633392158450569533467587496785360690025962138192650308367947673855857566889810278220257263942337014791379572701543671597804057950339488556938082461710611016924069927005698408867058212523418836758650132974070777708972516319986951284403801090762780033685793480709261761062150338553911402941023162238567774729884197538724046654078846713217197826591374898676195100773214955938587746348327937767954278993486436422078011826595400038829187932875292105408079710815827757472659391803343372543546220196855140279572838365532886701730526052279439832670424614407590852677827962845222365948310269366744726444848372829313364393221916588344729768940893429050394506154189671749545544088195247617243983861137381858558387104895532020626949679056823681692293966199351967024122724012293612909548675871795210682015534015528492461160230773731264739430182944300518753751244662065001011536168130117402537295691413547890608534767407782621183544018709961836402175063327657102813885004187040457953405170103386876696006720975683933662975223832491114786005564087645835379972343754145945521121006591241258692069694100854269389140387402473791652293570999057063212952401990356705054164271997319736196385333113630146785884738623532162926439902939507307772764018244556312202697579309298576979726491243465825504654773620420412053307845459129594964446710772179429316871785936345981652629058011944741029614468966142326532335640244348421870666392754507752529765309264553539381556016901475542084100577831069127740532890644862484652447763675569715016073679117705149817296772945646264533765635151034955552749425162747013776491717112967363207834228159428297661302510546099872417222386305184416897861760669002744994637365909588286654813823210731314042862712761326700004635828979686862355721855748970555039147227035460032349133942997712649591294762788914829433652625000969380786256078672538805287789905836104941648628071853391292282975507192358311320526067406625044514435681734076041847689464968519164742038435361445306272689642670245540514040186839456744820008132809850476606389256042425525330710627864634265300004468910766949221938493021751773329133429045968351112446512811365401745969477403716070644045473923219005953993297096351787425939360261878369808517465555217900838986284012993876714489920620926934652275476973566916029013305911576794463052638441154275507210368259695123386120557975645597545561542254782327672382866617382068333650239783442880066929879005138616641711076456484299378588012173959230357905763292141991822259745780717737204525959051233670846314515280021695301406541030214868219039053332982234001334357743764869997220611854556889437111609098187839193208854454698321681502311024253595372937498222382662996220645194741944986720271457748562548287654968578352499534421277744562549957915762901074617766731187554449332829039339800798561692647004947422355481361450219698053773397132567005364421762822629127756681837769395969056538913837704583678546596204211064077352254703272028798548981089686544869259578783872648636056935881289115284384663047902727422103241354093523189593205578432744288325844199417588000750703998318340847576439387480485657056009846140898631872732770346263163049674953729026299578724342678285162750124056875944926673860980417892827442021836220107495605749640052798120525149370231801597451456858680832368316549641790467705492472666014066612896167423306867204582384782376775384346886464116864092663920597057402380138669247956115429670307367516731517752449380045912964793464237310386740670875386882274530064915045619879186617495844217313935431913812922804545031673306799454547059543726390115273515485342817524690285844056893174814548840524103123827332934441942308485459869394686631824460575917875510418367947600994631810501200751994750745625746102485565886983273970166629413255695161770580829318534217178603185603890060243106079493320482991481080286302834432601956994296354652682434817553713000820341196554932395796643935467741775806653066217907571185653527717497355663305005774185860144835776503071522044841252730964367047699218360597971398793789447341232255084363270501392873937663816033852200527770029506891560861786061482456244258309000358354425031472849484001933053010945510033492878746366472979200417060073533912808445304704844197013032385898379143893365760371072575835536466500081519105155472632337082649219419571483011758133586287563695756615975598663688036886553932607480088737616174099887532847227176496469342969389567232739471410059898722920078127070546403744869940935449478381290246806473851078261708855705026062672410917116963233040710314933292455676680296711145316649062583749236116135738064698452480630235170981796489215995730190284209936927218959890689354574612254157961892787686667792151714950567273364732413399061496879284442181749114685914032192971821465886050961429132667077496798947645242260625738214944883762778433169307469165986690001579946899307468226332842504724073979570523269203146520891495093392461535881902218070072333932483820193691784127126435688993331736945405805438150095574483739102719481963729536737314974467570063911229691567340093600067726923334458438784430731091198090604937502466436080155475606607878281141309143063278727208988667606832184108604924998640458536208801219641623317929793958901531531665721914247230121416407772125401996309933678680743685372586238447278163650410614994621890613679517525000044227616070279252710891546356573905889698636773047246520357007527025196079856172017669904826570295014611618447758415327919766017538991274329014957402195281084737849998622523910870001540940524508617471944457547569924138102754816785990535481168372787717093476266055221779107934322004725284130738550649770565110410014534147142919276163332153197318783390124527566192436861272105993424456010786398851449786116807141717310498247024380270001881518789622683420332783030033221573561625905448493791294410732911480552365809851140561922108319759704150663848964912224444295362333950236511307910132708428184430945968612962654889069904714377361068941138515194190202695033969375381414285804436456846341647896526767116918351918892449733412366952993784511832613178041504932538727395968141522931735086479624628579265191454969055655413397061818847578733321436913554004900393199048932484659442817230650881492529414853238484668601696894036418351838374132700562921521246897824129959382782930224307621320225739627585875271395745419663885578543213910567696183936812212970846369671649608448751354798095091627506861723779664900679470199271131730834423300802081921030958363658863306636838036258373580336804700232827721536473420879834714305330734407782629981280393787419164138690578752863181110718659567270050229196592801244215372448268485618749399609923566395540688627190164103285197764595179357112021067479099528315976483618541754850809900954706415163626790875471653753760233004512096666873412700077553796218789181867446908178195862163084874092198055745775716495733251951372603618302171642484179404891949301692424831917488897749320435567746181686990938719603637600178964782862772767551421007769006013583991468637504648068967887680158659795870720117033049749608643700609408473504429733929899855446418450417789322207719618806340103160112880023265148029921567798114125536838174880685597945645676108861446473153314883870344801431549805552089610021308554947202676789336754737951093149765605965763898485859854975302280760459155436484082169786319757743981008561311032240118969834528129421209530935179181087163845877732052027213840981009017513002095222625568063363483506458868289821005552480916257727365163191373475050410621566238187623932089539054317379545360408160666984069984517277341870830766934545043961615362296605609897690344841347420978100980762642521655250586238545587595763047200387823083626673431300189483223451154662046834199429739689921568696262668363782845918998010268228856214340630935638640541787611618442898054367040014081159032294250459366715419710320456661003428674722613156047381547305515879868250611929553503650392843543521356618932807477945994208752224381245230442400194613235021455103427963117459488079394127284996341257778635574473522236975576122440229202869408772198805574318853877707105247015426227096637533012904816430151896540440005078571761454017324613487523746443291599654277900393831885379914355604581209911140454734262483031591260302224438405070529767260311757798932575445145217105031084150049062212878594236148641962497494500943341120843669445841000961313528962094271739603389689675938381199598238303283511591651274004334205129151470853123300427059684235849977016211635186140165226759455342065797052862496602256023180634063752479857018881226920458533139404872779601589613227262235550590189579549617770214953176841813053000176037924247652961848149456777084680694011006495691616551258158736797429529180840003688725752528327061135244330551811805670844696614737354709774055367026000771352825553145043468124828459628773077755269875114156838605767747064859586463296621207297063949667163213881300262505244940566623459783281321369711247854900572038228546670926890146821234413716750704363655256462075210.8611359209935498073541914001411275500642755407206750871473515752225489675417159727724171424919453993080723458440134761816427385874182176423287411887280825773253963190052392155433373455954499787028123574009545182440255694895517621900421577007373398870471152817107261328221258509408656781972804723875709827897738515383402883365645337231910986967496966246592277702656767878466307903740419837739016693590357189901275236422397218979438683524714851687249670592401366457909370985145089956108360727384074934122958656863684432704662062685019405290179439002375933431691323285934243187099446131476857989230023667097996860494763349039282287543443154832072648092107045363230576082785995371171583397045668635463654443900230590849745203287735390754266290449555629272590473925910437256202377832059218477871562525253075532235633576623520977149994214967310876353917381570215404845454185482027510561840983623239774312873375248517601819274797786329826155880653335616835234125959951589169334887478054697221916804082111064444183110791633737619037440566101631172243317902663569515562404580699113676369545112265743183651833744213161045557975461089566740036657286380167856522720878564587175195924950837419683983939400347078662278471114392683988141375084862081848259688179489413540260646076170998088197256199474690787586403613441372299820067629817575137799045392713627845607581260993762668317701065979439309445435701280013004102699734894730304076317520921353735700189853803422364018200355758420458455748200438050882030705569716752348388524459639063035712683360714542516953139045368949120676647213674462895901430446678638214156415883283073118373930096039445286996314611154902407709302469919808432915242743103075927473364265310502246512845352867506054501232204628572776203700652288838953393967017204057647605843628645194692495136751415497181463459969538879304191463902632999534442395394456066212524917206351925176916371289000475886726574666303996546866866005505190847424054555429018694497159889863628223800343264025786691590488061885387411757381859430880030056336164825092940127290599794719354160545264469593434583674046191509753270948099552003360087696969844384378399254757005224985872758396946905840517430962553130528369955757352523567783130446798526644311168341699567071327917961847271587311602870788012823731017854925868240448528521903498502487890578414669431485596035907145046204265723898138697490200936741381917501000914775744767070646785076948178169758244920648824522022846873681789703217471466938152356233514984874196965203896611168781342952330741557388667550867755881378501708973803690667645532321670523605414095386542426900234511765257718210978522976586709371659274178091208051240018711668935173782501721548864877960047862679949322496761779358044161077234320452613500897924841477574417841998371723922826221580548109196405534807291673325694660680811451127517439698142922518798979137461142185267003398749738628753602836246085795246012105087065545740577475964600211622140068525211370037725206249603030236310032181284168700544426949974625821039378996788934397101200784266592521320110933564205627895543192547791922035594036718400156487962633748141900326117957184745531996480207497641252069989673127418067209940616953359259137541483201121228201026352589412388526078302634477589236684558906751578328793453131274835500590188237280359696929246951421672880835675601792305351148300687968153930493582814569605535713522549852093371774221101776457020496393792051128562803192739751992721013418642421701240635601710205306670634996089123396859142263903582555247065998447324468687999547722568266787741676012102091967849395334022708986719921141237913164807400892700571685899934858284664636818080238408188193770518287660541342385347265296764845665541597943102656692333010616172956208012324510279603006267006211034855398769908198611257959790916501052049961770831978883854866618823029145334517906714190798360142466680134687570251882051999903172930063641501546824031220113742137355630992046850455677810306712449023234460265211890771033806052074590956172715894894297797404621392307116588169578119889841235684014045696422601414605789824382995319071643103265927415597048439080199253663910624366037054807908917064423734926654267163565555368264608904516371919957203770426445137949321970374269001591653490903729651979208646768027184723746230115514656631229021961356822665696449824587809924112467251417986823725294174399920167894155855657920569989530442758659065762327221498688553727914779997665017949088048816380071470569447949733851966769508525872840994788673161459045227072569065064735512120265192814833001128636301872286324855268843264376351983261491226921677553879436182402829170414028495343740615524964166275429041980626193474948534173090764669079061972212636400029340616003102120418951136797901855936768278501554542975545267564078956795846123599786542080947364351951537341611719563784890726384591844790973044992592991966794163260841039433045396505913592121679873088943448199752463734247524413011825462401578744117533406057450752510750810784315391631248105173324490403491825654949265105813175617877146448106510748278852379852539465000142796980917012241146529667278484875484497398614748610587306366743293832574355742803883533389976415700257614309789197660008195947419556437970848977944166095799633708452141147235121747368957043333470816940666300696534442366809469460174353993254817373500392450596523268579017408457729978333395147465535436308343035034088627133000875531171205530335734518443875052526635957630783259630695072599871636354019187434599889588738837192727339267120682760610703707418603468584426706172165337627560441909759121991609035860524502566859726758047227350036201651839634536223029064719012834110495360733557882088470393787118360898171649459659418648038949985985914388425380443239032827837557049677739269525858853067961816642722495544696191279507313406082255496260629251470532264706324861532158232357415560706378932518663098811279010789789517332583571970984301224493381532265436995282270623945415765019455299808328777050356817506107243964867819818614841442422254978467975679780641247303747962381320239016914190414167631440870024078999782411652388041385594599018027117458543871877208967638539553274912766263550292088744517663982693881400977906324421892761079431739172189871434078157625753898994123532631894491238991788269288692045200309841184005373391239308504347377574692012761092316366328872701659030553929140583110964761133301224470772809857190306785818240383920919491399238468248740666615919221362514637675421596754346059291530701365024886956543089805726079071209933532429284504786279898007340353806040268640210857759871517562044871917973096091099976249907124533824613134863162079914006830403797171484880108627538148943284553360420029351115199925029367712060224356281515024126620578252678803238076427942564328685422690770025024868572928363321985154324526048627494997725289577102544198722806556945839387236247403134118619266872587535289903845179712673711328578222070960266874967124417749517669866874090699286910574340224980168945666626876668825270392910928934690282089768742499440831045859210258768854649880956039363960091238326111677786973598434921942267090731090880670929982476780909820893124404481495683842512724617918250992352721482066230712195087932923478662810219852845165885578992232310511634722108736425192293438860921205979189175839350779135121133553042971090794621798821365778226840050361430022113118474043066642978906061263496908955351977744931743560788248938733480598464067353719987701516481942091068464301694782455738377563785801869411670060508271038906377877186027287413566303408428257957965567408159507157619551578393001778418235305030991968248179699866829854404917209517441450319217090187627038071134898255289420120130814627647952453478026968972117319773769456811161963771780923855734200168749155263730001213618111533671645572318603905038590301774253418975427409890515464626715331772771413374355339097659240974063350403033460113012879713013619967237730099102616193087600983000723418747879052661292154163463467920996895821007428833269718274176488077671792636530086079807436074003060150335009219036038972591101509534790310433556171268610732104057736787742198927144107102512910785573557788790527149879332526516074549419410583499398521706379006650524667835176217160252019031897161547421940761479627848043132048112156462439878742647443766162105312250493373479833508996714224785200242801168244524335126641041881007409635452016469083868984262394335298064467033153431450878237783222240889582117682829837852622164599697558981849022025910395503952814881899973988102813042794100513994073981571501782118589099250541950569636787067498269388203580897945009897795556573403554822001716318408379945704267614226626928759691629533235952635057830434409460544620043730914531415668020967143825822327519184356014026035951353858280053974529120742646143290795525520937581423497954780229208750234447296338999807275290110287422976815460452642382031065285258447128894152518766199596046561507232223730902770519561365133513239661956066435606674900646997432320617233098869446959113904869101365110430318284899722224800832971482527779597108290442023006505663038705677589328464887317269726149112609350212351739490416580314528718663814141237106269019351905796573166770195805641575400792573340856455466049723190652652001335523268934650522031318593993049601149932397562777009858470774654968954305352741461578615603290787794357982159215572553114633623525250948375216885040653237711093719705733286165889166481352781054134720278886384491061117687992407890019007657109427568447138670580703613571303447123989823882950131412071122488190709691171488611765164598756585857946056316188574012463458006704498115947565332933391636657529969990485163816331662855410362370460410146630463541946410668096152325330225263749854507783593120452108140868154340712480931453510741565764601235226684770027470644920599179202044612309503260237629990808950154737187258674819582691994781916381192017897588458827018608799549678082883551327401124284055001191091479947109041174792120840159279338533245369496066598574589717860613139685556452001050431504280362885866521266489806869119569696896572156294154034642856932993592362507226851377763248853044313542722646422851557073059475807473675831404881058957554691103841408901143751078965831392614018150950285652979085579828381783818825973650048968625529658958252334841426423419583056233030075201997050914268338733579094301842153968179597320116763893225329545853660831575607295576098531707412778951230993832402211186459390587595810139414874207436271121371141824837999306928781330662701135230615625577369230583659041254777760342099748881042327523849328216360769956766060222197571605439185174369155764006445112375030968505154069837458004515944479666638443879774510530101698267323919953232321892065077357395039640545060505606103622678317030997261997049709319803161112017327045144868831984176484515918741647151869864953662230783484379633361747655140629852042382739894451527402919171058454903188360705077819221340568515026536364365064966998022291254876641278636332839620442984011418272311396930435399553963384427466807239852097526493980328983959531375482681565124622676585070935385823201359882446635303003216746440760197095431224774376698484039027039968424758225854535575970073898706749126968666219787386506087958734868484541374265115075674381364841691365694031554271839287345020301437196621998325700641595399549683504386498340012198277709653714286716575329531942769759634127755328198650823127395362447960835699608495578802853380856544540009171230789779975305500166611643752876174043260993463779353637024432041765081372648118165631353796102299099329803626652215362852594933834099979433020443291477846441745444353498810086405563477213418152580021825933595343610532173980358352747252701237518894221512567505999614086322175176598961138880309480090922351079740757160971121271490403638947834929838045157476618858132238133745729533261138092899813258063348130005542657776957868385314760573775359716484291987038779145113682337429189709829842611555268559002757865838732616099264993848948345021806692875685721210517503547162442324501081763907158021475303758000653973159669376400560290577597674162499685714674642684763612491007279337800568154413809172532634581416329497422864364493766142720983727666429827266905494328500719281079831713761374815448310381431730813117785812415062015066319402795206976687821627028546177048419039859519421586480455172096047963168019161231881927656865561489796517725849259363029807473741712393287864989047349231191565858389637636026920877722033301017947020085687491571463896129430144168367947897264303602416359395904850745436152884164305962191813499583228845245651004710941352893761304300926483803476693728207706936569771342644182941235075055660439308752936546752088585302068131263058561327093403271002210343482807854216137679929329762798368769646287020880902836002292340116002921633733723118710952306320940432527010503916989094255089005241513434584097697596131832764588651904552152833784317702198547504614261696871369723493722777649121749909718945027388670179033965241231304119623573361578693100854999321733827394752001870103398987839014518258845145424555014804598611282109103637381859550152501584602934847220180387234449611079652945552296504752595131125224409694171512264660931645059503943805432793932498603777295345651253706197690832892161112666333459741550319524705244555833666023999046098252644488845520806708219216845882047505581335326016038271867565872742411646380901605642920787486852113498236328408185487677535122556995910743515526086053728560915526310306857632230857330106419192825876463246662667692624466385587166924248104390051534972520208136829265178709034389998250490515197234843844769397298213273526065008605989575406345268796260886587667168235908552399190918026897753761505297052584413616638210995564634374281751112475038170191869224981321696907346951989190276320710163242135069776874985135769860878312645353221120748353032938937970155880124438412560865078063770887585590163906472680187115482782430202218710470838946679218608974194336309668651447226267230047458191743800665901633270195399064075162742921411796035264706822331047433725886157080506206889232348284576275812530783323201325771791169088789952223587808132600771918018087072415965765780942141532553353073344051527215212446791048585903259854929960683048629946916506044951544450741047031245047699496801077623819135968085889760601211510392875799205305805971943084345394874563403155856343639058404263862210782218003858123341383729215659857098890476210744074469302189264964975013856022651297149577593989506129624427602723647515264765835769641185065237793465181879563231196226923466138506237314560085117959644980706778491143511812333229203892094663404810192473628253193675074660901384415882147082511880307973066326980568994613064374325324822476364532332915422159711245629196725298623035689016187431016925609148102735295318927762063666348472204677418149043930158424270027460957899923029434640414151165104119800912517450117160575803414847959940112069393001270750314910605692833051280502829825058640720482877292531803086260797753745096275116590670299017006784258759399820589766788889680478895993024937005171060850711970982591095490112829228423406513811062162823964348583325677449920348576768074601559802381127020054024600429191247149578600604621224886858969185019997779032416861249856842852356355242348519215352457131539094641168514377598243488114597496050488230697668484034866215276881129964145801852455953507224022136232847657954101899269903505839674950835733465754692704054659726131115900446943302782100765637262505296232126479967379366121060310849484918567673500546350656607693754347123882143397144301972951458885627127463914838269588773010921403337293685060908086875389491753006928506015227227125655516883103007858679313335047534006894125447424211344697104079409280705469304725051431363760630879841507558942440703840138423401507660635420686657261296238600771469422284464059777019732794884150214432078403572503497888569994115551770730118560921809676767179946014099120178382463352129948033656257489419547784221553649664139077717989033722376421008984609527498206101406833407829637099071911753664934539089763647466583777072331746309329407881540308776473828902734767839617964994881640952964148836711672590982562647832340784767631710089008456741646071059525400783883703571447501109424398049237717199668922674816779318134268159080059061331914601732568296001110437333688709181554721742342585720656116016144391994268425973665720333956873222413040802391889353508114711043506802003264542409751885266582052664967415869139227405923594899285974815313226471311826475877925712195846161828959261800600392885216790516611628544854136168366888479440213575452857560198944824883747890340987192041270095679250546445782772601827147248925042216973661830310602418352166892215004371474406678031889297896218738277335987764779177008907638422441294914801380417237020083045492533246627977928961883884398139514830793412306314603903542658509202273734067698170691945402282304722005724405413792896559977109573995567128691961362237326058127426095709780908234679301128931685404196174184000667618920036196856275082410132320003095310929505342842315529853073404136240313047444675439536833175798334467771618007740615491828399434091860141973749930779873833096497795739146613638627805100409270942445679433798580360090043180386540207253742522778998194422672339571316883055524313334998465690748999770005750101646056092683657647826846521752148743575733018085989563235513727713170665197197685553996659941843272458067976646314603490407791238473379068942776136705748417760507857985892269805775441214180163168866565704914601147490809947253251929600013473709540521635552987299271402741241315480753401619540667027414630761529596039110086254256197572571823895690514832489106718795162256857519592197455367269030566013898842713932897444162265243964463349713228419373980138854260617261355899630587188393180809882700165644539807717767087189067260478954527608501378288116034970119924497359329779599520125742075997638583427695566419643137535254119969421102650511477701756471084992037477655706064066332191392901407144039520228844477896245457798402037089224028778479395050832894027846788301270027179676879051585289877917035259186245925050100628736429242969097823317012352337210052998306405389640564899232975973384315957708662718310243650477707168655425293686618654139176049765740205946224997972395225959027522762469001492380511365870975747133381402673804085333910927693507967207684095495138549553523075981634692091733278022197541071569934394713119636468899766983049152803277508663209201489098314229729248929785138278518517348793665700502672407455408350086975453924906363826561013949169977514037649287880436769075182371045678532462240404290219737166383862825063309369790932807745695191373872422361350373755459110649876176318856902159436191114178357995748823435641706625758466413414109983537013114776561329171734344235680591824221078122369652088632110161546998397131587544963828269495841460292127275241867369187027523969108512260904080728936861533920042196344334064258144750003616822033687023649164171576778130914349607431715822461718398423417041923866058552900172933975338034146425342300712841244553288283817682336688850054190846186225508376509187065282602908519151814741513744642181673863636562973369610184571001368644139706193441502543290512649723138319120695747121463614991063507450564523290004170433142261523268434986415637044010326843195443286876449102819530572178487141482261925838339284451690430374732968070855601721187546501668034540367644105299618364937213348792740605047787940778383215741510906067783461356345396727293376568186054320757513043617556003852690216770945998213786452162640831172949965474516896431869156339446633841318869640206594529373219075579610618892815486950087528537285378639418921481297205158923863500386429411772911853569573860412470034088375569964221378786920187390710568326213857994084678607538821807839572050779379856648593375485260339837804963848622484933481220475479371767263046506191461805043500438826545971722533691071576836192174939646830285564782841644574781386440245265944432836903470049399245460016500943227049586602751675124125075292634538618470646903535179679398571246227366320142798405484315173499234060625939100952690043670111237653745431361388749753232543669554920683712160934121664910409354048036609837852466642234384239636649421305000248822056486009083669501633353397170495265867987443313608933294201462180687385022583045869388720067477536286980158755231381374472120875614224360335871119347906110129700333781714503616763653397521591544022196766329928285834597668933647078675409491440925696572566022731690340202448650111088244849244425459771117975118217053669783145710888291901414555250538417041512822843955226671318664427121505989463770302161502560905827097787623121171689959215428912911881664178285563569602244265458738894211052718186246483009664637529962397760790415275506482046890916165034123185814484232439238241157862297605318957470835961805131929348000831636395599397499903215359172457522473155084725735289714853219083420847365949633353244621272171435611468174139676990584901130494277334353767846455405117230391919652289685561136899600335685996873304284050165865745900580079867299817212450038523013361388376215199832277472244578006335464087816911138178322079009653391922605217520450492611811999438840212753418553514975078478333117438814255222793282992831684998851744380024494932333518896308183479909123763178611982073603432099102336615122005124621983558779880233904639839471053364819606516732144707613872177705189269032816042413406703910882312258453664460732274844155336569715752238987972199595900753501492189605693392521682192187659028438418188619891159371701697599534396304167046254383675834783859208849477284029470967541931519439243303343755614810886979222386332862197464157650838546670909754960372240877633646591350562638026383509717572856407755931295229857300371240625398283788908640525557506841815364183763573539701458101085388824553841320695575811853974702586034530862844311814101518988349064638616113544848268639440576492077048759005609427402456426087485199186288768832873030992512270901819659446451738254243617864055268344390155228246682264942579297322973988503539318656261428569393501009872327368346962224073102775895984338066190796118648178548047567911847459740353439247223220088999093060136184649686318850050872091319624253827886639434442749940202266602116194759812458643737867205888209818405306843838103101041632472385327089883366389711816291438886531259339675525696708547683761517652788665437919611465153621094761151947683674535694339893994582808992862129895574907089590069249230618850831508920948809025969092154941244596488493595407093922430044180749309449710260982494939935564530690534606744932391987090667232291274656440045495615517573497938057743587613353836687367826712647531882863108604262018701574758711892278518699025447539606202175474604577536450226179032852281738218886741309641278493680001186127226092144229556516076196406038950751996618595346155784446042137333524387356113920500164080213956401851609410712784790191132737599886267100181559051280304899568758376287317664689718940529605792741471122881269450277441311002577616848228377532559496647967214188782707764419786835411307241971749931819452341936697739776063130253536582918011873778965562097014488238451354664131927795904807365391356401999303607577087487316865992563952802364133833792425202723079586776104837112783955478872499360037869343286757042801810051187102011065585150886269640847075998499515265803001757633819536237277340869641951048921205378993742676683749854278060402139941535792682956041560588820035250323013471788592968917891827444696997437725686072984865177831490009075767447156365763570285426657856342287292830326773923566123000654102824209263833325793517830805237619252198591025515868563745388071296435204509050759725102652771891554274926031228100932317787976042681274879123135348692570269985364483083915520055936393511529255825243566010016709458912184002896330986507621423569670888418899442730512595657905864863634715689975126697352272951369642236706913447207954171569807081417007890356179084492878978677920640532769479397769146053013925999262649788638426340145668980691630094194057019665871568576745129140769187008185784830800676480594760798690438906601611879417489967157018051173736917004168136024759650588817482093925534367261666824894805565765379024481127405180591971637125654787227369209838889996351274051459372020940144144046691830238383532744730945559255846120263293747931526543290218992614650171768473726590821163974135712751027884478020234342859365038323447455092997130566751809304456720565264575280457224336466824406672490068808864788331970854214083245463444352921984372377711419955601048693885105633062954017133695091871181891474972170791516076577875983372430129358338709328198975674903366570735580352414343133812204760330503161319662016642923156522787738066209185388162375782556934600638250288939845083773929614296469386324427322042329913094423069210872316060465627710010472090112101632450526208181384351751062404569927999719649988433738036576924137828990876096850123136705697002904895005604589513826616198020211810510002450523927581410432476759003235572734126896959212689256458781251426030821637550728866401491616779392576632307671478030482565433584732697858717975980148314959409802284061054741451575307094955147365963088465800977530431847551219908236392875072045000385062303306149798098705901721751287718060674756875665357641727065838845024621208886514398460367062168661035257255918567325463382598457780227963676422364822351520488158390006564126574076413566824852681612480825772190843119994479630913361663133572756088209647522736072438964211598318138194078442071414522155226258091903320286613756329536078795704816168307068335060133741732204705522472371334053066652925165658312779029352779087942136962648481658670507904824510955542908956014893066756458822119683085970784385712387145157361249779389559117708939863370136453550588455376246331417955088845190340106953509452795502200214926282493080560627896667809940545163404935103475176035925830186622984599002349068782276979189743951632733979077965382900810995302685961458367174804394398307039528234371329356768399048891706678411070205132028867881861953612683000023766061849647935040303773174198694592699573478973133602231671630181340418875684999582907184440478735778776444156226626436072030923612490056763396970715522727739290561767353804492685139514407539605973629201873231877720390145225724286329518831130835864978611203833788639434758031547957710851346714590653248244398385286264528191662647961096647696134982334375433617526725501263076476920567102493447232982039336205898046776147602427616831974816395322911835515957730544633214975607829204775373266310796017626197191213690349687318509123185724636759030364435288239253584256721518421579112630586603171596188432206553586972220800139298827972392959228815039231444385298107538825967961696710066797236268121025511537616498496365011857679791465518291140102730251339398287623197128252565730776139261001766295909854202795065698716036205054545542194483181661644268100605062538947388606883159575586646154327442172964843378427186742679234078405801307634679387183462585902743555887660249179019575826546013580278936970099912979674448341890817802419630532841920374309500584466608783836232537786128298566904586554959793268938572511367977557103510412958762631882219926971604157210415401884972213307914384911853916466845244785217029679360656969705680336704427341219365622448311991124716351217358296079413546656968652409520366307024175621207093971121276322984807214978090709319441760313723203124713524516669523802955438778083654928392258131713908463430350617229180506311682995061307632616640578640474564974672832518971535814698958326733303508079066142925506493445020370850657556280672332194438132182477432499039019464873238343571710686027942163001488931767234538696400114340840900795083709384143785919343328510802522915043487977578404768711013275486980228116083025421413516833301191445279087582156217779474934346680239357218645286283343736482253296323144910459277801106945162601233869270338465146458042770942087564511765503337194910399303714482055251903258167559780630203872079614907542379344215488421008207389809556703838571219083383326156056103706309359472600950592120725658150780936875257373524038020787522592605485110967419014837017769041401062575783726820323224903127469585952433725400434977679901849710435870172935190588267157453646689379486891300480207944802366925164022804966104145051731960574282684187573185629344619725984423693302051580044190554456146509078420825975192701859216840713622684688375896086463386990161645823281031712340107437048274440944574697991147267122858775331636085566467592210122337105950213023592430119333375808540256377881450696837762029802876123772650098279852751073955162976463749940778975150258765401910566951047046034641898884436720898603907731354931022800545129129989482275300004108318565199213121371718261461093844922652775017366539556614926320914299469980826799646439921576779219377286280051945780773040629662599429048275361160139456720886155299224241989117320496060068675404348963253484118467285292271733377285711259683421449980300593852871364481649102268387417689994473509177253185304452195074995534806915830360120568777297816569971682177403435781550400101769878957376038492160538500710018218033962575437665819679862175197912318767522289790859968275986809030929871112291298494231922712617729819940161203342787179540734628709615931272508909616883058410380471086306786878761549846697848807225887655535301565661352036049981489257902435701479606822756846914159041215787054216811006880403138033256956671394106206815175488513850645223674094637548257916969264220074532933426190117821617536178197840064508337440342413288007837613839401244e+1801355888268288247050912315850952399897916934778486777120606823154233044649237305194006089891226641048622877507236638437326660224641633012762505368224166724776353416817005555291335943716105752205808528094545878482755567252684164949868422921989184832788946664070157091403694722407675692250977913612773334737177857628865854575036534089472181187041847345722327192790749179588484581215799142951133429336307347996049830754142575819754505259049855758843469637330227777422349426911095343528261203093935499331954254900352190541860354813768053590193140570624732967371867795244575809079033626825872988857393842544572675960864363751766798294551908185973150506874050829641116238266773381351169766768954088821649237765811037925503518136110294218984678793685357728553476415936947536325695222916071318270765672535167838553764361424544530290443979974721098746018764138359304613601203425291802970383131171734215347989429521010250683910286637361071033116217434415726047610368776899200043987640113719690639708307449545865729032526495770640493347414910612517961502390356616942603096277648346719948906867654034346163930984857754764360327720174993308318994681269616840515654245595527436027343414299352017434013786421343078549960015518464887255020156774540636668439477885721525552129793958626489529537229573040285154652736394568611344493908926663340513174741502958518800614480817068697081133648699481663131332030999829052539408568737040193508518692517971811987952678888138009080252159252540548725616641464562508943860247511585066821087436618602111235906256785669988823416397710835346183071530628613276825708703347175493868833896313928790590946856615992995206838430421470484371933444654384087842004144412841056590988316916913113850293699014663983735536328651238279569482041559942497251217652472440508904062156618353586444601068038039557972555580050996367665499392469158533002217329955813464316752880735055476408325007565018683093066561110951005507454155936445761529852967269749405822638204990254159446384358221925488420830857574419267795749851512456650865514255184073769675826284859835616034864261567726229847452438919824200648914687501416151616438312734918709280130273019372015066451842812751764094315452755471116212795961267988330085272911042893264772828818862062701194219610136505817890796104376617038109134995576477568378028889694606840239988535402331354344405988562795686661221676932386838548315596376944087146939190993949882353181775473309904113134649729974383480120650562976509163038155686146350317685893445582187902680496041284162762238706117929399438262402020397712782604316447303331791095246917318670223067810343414733560173114173195493394320882265813841152869190959499943152590173677713991021018269374681040070337138629952253199028617713842075700863780907317421382286780987650758236247970842093433001219276264087921641827328671193224343160580473859141876653964206850188369606102018195772268700305643671552464666607175323396348022592767104582142170824353909824283471482852097304587914437539959428668064263115683596131094280132210016454976456926831960681616039042807224881703389495755036850776958880589659209170846561147116924802852948060197291849153096780181598782718829548942860489259388657457928923907912210478306436492359163166478461802840890445386523650986753591872178358524252826183372977448637064899663288560398738145011894590191287605473713708514235614085317435295965338828601024807417248901443141876658438753133006720513977201598175928014359859533704093836985014516630085160115498197693291913466221249765097738567537858959417232366254073759725470356373434267615463960457520389345194647285269705213380234264220950326246862762486934167506940035287814412808049852268211825049589580941121257134560683786282351501516958273209675735025875320671734349468900878543066773227585870234472265352128456225777547225260807235782995950602171145869506508433221442938910439764542425295140463827022834099095441803335961929401115611020121885966521037341292325188200414614313985208132373706234057300782215535255270607079813430160260682155892319591290173627753999059486967318568889929401198798815056662496442433447387627698499294860229886139695323207166938857435459648271352886306144937744589255211050385585117921345311989914635932980638160054208952070161626331649604732939572487884802286019293383858264211472152864202906825263760888200569707083423915508246834032955133023743216507179195999302790425827122543125032063555605176328822734101633148564131621338182184350070134470228831915040058566924921256893838813125721749697499803120009504387929493768647698591135136308969751612088075936005130655406592469750970977482085898065627477635522719738777905607505267207980653126009179881551223962782493668973693702600987221628816256514633914487879067892976957694457032343902681689580707594254811614860260640900869959818356749021609647822832820938011166730854117193076279783776780816582767289918418265433723603684254432472583327353996488740009454819158306961698909757724834791303530381297358369254936311003355628768008955784609214177477705297285385172840232456083832702253091721358545880247856159321856376540896772452479186991853030867632721510975115243844149544533598982233340883500016720877352801612937462770222253826105852034325519375742977112706518214519141704852548857789151724555128132224721187182951066351926440475818300618436643961898981747784265216589544420726105995089959598349199065708700412903531648809633544741233213256667932206288241717204537858203880703145075891285905350148980388568095692383501012559665653602450589049479741842207283741121589537453592487771093733319441790865501082323000321915246202501587169467812134376567004824006355283349133566103751672056776304022357582858460057324541418070472930600886844960602378410549508011071271888394356704557723696597817044344193841411098080350921703629063793077141340148405419500064972342861585812848988640620827246792178248031436246113375379295064293328141386101932261928169678317641465715446731980272280377109163211004560334744781102149171007530953529683279648778184294314179384639699136090897907339980419357833914828457656349204192234391194686060825883437559971296825954514342444122495441560601585093744100445077346083359349699210584126280780634544099953012134184706444635698062464479970286814296130593065183530997887127709350063234662371626827825750420567783009785934206800585370345513591813982405027738908436582263512614914374989852662718588704055337940387095972169552500470097840536796497285613788960129128005270949510358011512308320254265704899972027048491622676613231732213320524238277451810691917390733085338773692357738717938869834352885864144571267048951837912448648434068628844570365568461927702767473237212961929798536928618097734377021439721710596180162173868217229382267658829437546973261283927977323280182237003691137457742659491911040473295574889746520986847040145184625102782886450541325249285914588018219617362536680207125746396300241312060433201423158642591133170403929982324668086860212537964116400510742438238837178523232843485636633878893906613667001285744409082581383673456924744864558190118598746014371173567145590531543594388181739948214220791044198660218139202117160583572977318497628433354697503781059548409441103066323904757027452529369505627943795215982607364716672724406192782403293675324907584988428247537970419789413833684282146962915605646834908201889219623230523016772478868690799912096619684115784022810891870983182746926367038650053153442552092389173729743510716141697065464612722124091342635260521347803475649851582636890316571627320967643531909162044295054338372380245710800946462883500244073521545016029215871271631675094346402124056179689906061350170514476811216025205396114541559530299070121945785216859506653536777797931327896649446496084359238127810145956710875516134772615429432667354047234986819498671146201567405829562182964105972308138207949441619827123734243675588520244388669654386959595855325408642182149126564371420927472232008436643575343770014038096211411256141418953542556259078892055381017158165430915532430449645295598425241807098541906170356096547502036338050826919836861761337280405238345327148023821219564294254788734288992026501742699140585285058406218730592667148072251779376338072065026404319238653730889714534930554325876992787372562736109705872206784695873721077242884054733184874254733115234179567982458968365083666179614242190088545343390898176085168692001010084510060041189907534515815918916689695812042164837489960764775636527308725931344282109277844520182834907412766185527666342095015418800743011641303269825125628189160166480764826245339941425233341377237204886720265371435178404743786408889671999428881398459035403245355213524779577929764879339876301944227696765557654233276175916222764645424971656270599338129773169624386775950709779832746835241325763532040220217322596399936278846102426658692524895644858487461173538113274456055511197155801230586317855412017788900615107422490054859503704403495476286920280495090242533195634101841635773944463687950499955597891954644930496785790951967618317404061676636316007292488161192854462529215046646365706732844249615060101625481039822695072418499198130493143467469641358792651773706877181630398553608689065254736333264627686433913793709445818463889241129994487967359293976712012157389298957655380209728391525832781832928883341563665497571076347620812810144413079710697914860523536738974616933037016039416560033829836399103608339132175943946550434063996466499434864658945810053472071637489644040607503205200778977150018174509769431851592779768495726736216184238433583952050090584269800639054897477964199191379717917970896407164053564695932923816835815667693228576955750965548121935411372604473299766072728561756217547709466787873491865721018831507499535235115584881375776751933692656399902472051118808675760050537166278636943076066824422449412321960034620147845630094530402936053258632866862337556902072467082509392779555810766486603041749220179658706407585123903527614638875950723583231865367739691276055660864115548845473166357677202081267908452238998436261221961161299189046462381346972196403711862792996545795129718049889373551950240894393007070895005933200307641623282784403613115908459601465749069458010481912405260332691165374239043301494737473438897934563188214544883378016579468351929458389753241599692240306343738683433309645004163309330164739709242605569281699939084023696868705265733854013928157559840748538255940338731244151816912986760587282337122446872175066275143321069492124371278616112930666998105246581110239310921327503203235959807141386418722086737379822337430446594348310610414143245479212459028484435799762198522269302848762712276947023233005253184460437830157762674099502247585142487380397284471072244669337071411249491211688907143609735442705829990211691602616999962628899393412435716188560151068520502651092458251069917143279242394760881349366472685391610844094682662016143712170629992098497055444667374645074036147346217135981347296652379774688325266979669716645423660538118052798508674666252994260336357374663616473951796996314667294931417990548055245034687044063468821731897812336041429256652190294578679570924730894019694036177526513460585158367761742345954937580958106612648436700946754167027012944737991957727923691027939832349744553851543547008121114219546620095592657023923847970591666220421280467369682168877826003855090110186135003411428102002307007210250964684957019050252405405159376482042459371376591963403238188748145500540697469557829362472467291742018099935802704642001347088365766586479182452028328474473211987665424542708002856904363806907883527091271294499381947248948648100821248599139189475220216090822024149228133264411953976597699892528442488924367764251930619890243009369184710708136549720701928450687715108499214888950143347302362243776815966366362376820653899115613214800657385534327602983817488921501896726291625385876187047830982261035876049599199939633648856085408198892943873968851337113833573592393780187686683726537032382663192470608686245539302206456622934191363221067732663185741515020449577011327012480710585658350394464285519333783874824309137286835473227370658938310773908647430999511259414339362361872736471691562687721374422760867030990051127617581641283751768563773988213974852216365832008077374664796005410834780265667565422080579372033328796932611389821232309459652186977582044182087210642587474985702571777385614355511981858249731288586236899444915204389235308449499022924888372012643786418573424548750348497618885173927874338783678814955817917456948647370178638539126719602547134020758085050823938729689935850474569560275457752545615529226573949196113850747922685267309958452363196673748652840368299404449797016975261237431799510670126295216006654777623912883051285824447250835504298789998593843325982819812564013884803854350603391574486634335646246723278438769146786570005789315989426279268394272829821600553371214963009049468740835297262519841437757963009894009520268530414789676662985966596640676441605283160029447936805461748584775293719734878873673111405565932472745938545324681115255903408945141657601333011142889670932826532917699734235361779636840044920113193068503239428303218414806849258756526871915866387140831635672669314111332810669383688744421818761175228631797857315402866147133353897680772477420960368082797344844504691860702711957957149893378950532630602093100995622521171186339592774905515526118582890908742613093605156819442490770992968352971441977560624873162171560425612956246912904583091328687649320615431052462923424679669345487460105432779183657317293337875541774229718829114047986211291967334976847622553189877528847935688377954948116434333205091905493421138722636299642163784894533197431203769380467885374753439740783826312443501219746324967053041425287423994135031965553251585840368202622237950067614952200804860882064487275201185690823003481480886357274716134694696998558696896721450042777138727338303194773448585899089714596442282791391635406987105098467302542931362455198918849560407159524729176331162965969825188893776360379932248456245157965766235072201116332497014551469155070507929342997237960537883718438510202438630653561545525026160113163329404461917193668360178382610052114551664573951988107938309326537084361710326414426440272314087907633936989740415059296629048940824119827923964489538493327333425058953845163803788820152095437133040545251753031133161362005820346590037103728831467795906600856407630360632648704676288048225887540579562948728407045849863541217567435859741784588063061518769618371858843121570498915278064027064162048360639899782419215930638174599347620710880141085870846875226172034135113329558255451038752392597020532196243080825950046487656459434863789219394801905775631296361067538769898498501398853903831957931729800851822951947537012130825117019296479696900856579082276789410531491570172450037156475245206472611969188325548355112846388246427714624486032087691897735751394367750110933144023123818593744372049271286890224759260039526153480509658359571249195198371988448409486231390534645175104412367129287021362335091528239602150063911834970325024186021191526625938211630883395905528959013975488201594893134826609696519006566509660349674059631790663564410081159185364989865944101757191329656774422810027533975242272326411180734018230985482928247670241571846260093204852244181848084361748564575196593929558652763119583369918540119601566342810151222758641798729602060694098225647812808190964145363352954786241144546475691208954289777177713039503162721051066796666573246779620156441578974743631208735302596701568645634321684024819352721393760556219643934338030177569600296463085161666019913952800790911777195802960691705210690781974161872672891072142693652920249755035314713010237496983198312207012764135549762433243662416868569955561315213658983361702580458563120473994452360818998348405463895834345880239410221268028766065840204805028160282300124213819616648148660688606158390011594656442276052212002830669880151629283410235688908391370480696850798259295963773804964102273871860888029535004585203615032331637725747690413863585867462828083775541230591070538135093405204693340593762161116940641091533113559528096224536252417538711223590762783408881606940893686919280459837490278348254433994607737993888649866612659092513174849638148122000882349261512039435318442454776984318356400635778230294532121029472508160143613756987550783187034307115350733009899554742053988618341876062462562419093411739592546745552710287640549003186057231027872075213977023124664489132434234633266773797019677026259624348923441041310031101125762834280273839133284300432744213518966085388203823253428693326698486204755705289725077038360249280802498980620692111027875190230413764773945905136550258769913254542930224016751306621410331658105598543964739889443887820105137698744060653642706387081211957636402928194570960511411535920603476660779348337518852037740702069827917041195878853078842034260245936643052751539066963366802029542428725110366274080338218641597039824447674493893056890754015711813477246805317614423490013806988455291892623584126497618098689656277376758028732393365384245310159808486488254413841579916669876756814455472843449799902779658256057593252448002993884151238055680659177331433832233668982919577554761405768243467943834235384350746188676691069954457872532088274083162732850865201110465883801319848013400406246379536124607750934765227279893641694406879566570968780409408772054596375452101328396337397396891262822667099141972816567496396614926305004911338511387149770562056686106819942723153088165213638208030812728220738136954678031073177178543485668473388747562979288915072312078847375440126615755657376707026000857394536499964741408090912724820759132973082756818938921203807893038445855043844938732074476366689623120924239622617116574412090162495589104298759483362903125333572243485804772840396686110843113667907408997383332292033119431797789449459489724264469070945214104059214375277895251379473916637054177805342233770818977468321059686367013436924037844592327742602459182528320945620271525299671828956421265479061280332874953045053995033781807927151530146542249759352842922834641926130704951926054460773166643955660641356668486832929437011516075159486243291896200446379722531067925642161472313377114187332540252938146415747296917627551727944168974745331051862626393686572088898274007122408683442801668869968787309023266256510893151967855945876078316153815816122230145639236035098603286797521955989474519113814694015604666753452511172105696277699181547435702973292623104921701629795730432640171635955349619793895580823008035390885332403695104852936248261903081547709368008486899645464764064430131089081920521605442830448801916234352546710800446820866866179894259706379659693577775352171253698588345300282831729356783800162940974426755150223150029339648864053526113828960206400335590598905479000394101441083226898049059598709950670714032376155179174254346231298281806034771209418865499033274213693299888038972978529444981432991432323326235442496561979034223599741285800364826472561765109758643973473631013650018206918805769278538091322687810852444246733852926725857238139216450076760255448032810555569600276495184109875898371356804775094843572904081571520655456153654250507707228587859946481298575290273065907765643557105527506328545861382170844190832606576100965643801219213834019291149769077742042485526001433652789685884550976314086789852319808796476041140994402291378731731700569164490691051392632405598880936064624895090329604847516505510317709388080044205801575225978901891050050066508288345887596306798893098306976897823633382042811812142294883782696959200624817210436855256544905610551713106028181978515192784346321693035659487784738567737182926107602398256134829695561209693224204433471316798958426548718052475140688719310427469243134132509035116919060204961097322037287392926537453776164463317532351212704377212701549087548392549890262619533923089988632783140249377558713025553563557925251476325280253576321879224918663003865385332789532821746459235838136866429618663045131776720405431017751622600004730939501761514616503777157277851844816194367941791180826843540834436247995699780991903787351366001858749228307318428708654080602087053996028969721803688289279590495087809695790870250289328577546246927986655654892142074822796342134844731418128332751156525379585191586820752587952099641480530259429212287458345564651799964091154177525460426092667758855374689018780439671290788654569016676780578843903254422300756677434204284388870195659080057835798221861491288319094005200994463507814955205057156776299590158601402019531156862669301450467230390792965073779147298335572517558547935763050166905968417869536510206092317535245951095783857418750350701466100815037717014965933080253511221404228991822230035333558801943296710722804227322875232235659170763035237860714092737082747855951457070778949441846764930738443590417786700747041617302375310699650520100496110471122381015004169144456417328367590948051771190324981553487216985192129396637660278423963605415237449398181949176130528808550375031981991305414337301402469418111329630781432967817078426589300434599788821319002020884632562725396264057300402904104587733027756603000960222415127576371874861421954162384656380030687094672735152768929384134237228127706999406673785625250693537341211011273863131815551530186840282395612098333436211364595109227678149561496959670729400910052930866922283870038232192286483779975579797205200223562982740310407976968888318430986406891124167084791771532396506448258362071791382651824255036772717753072342492668762480993782053930357783143401499657678948346941996966480922283149116920087673784590340334762079900724024981272641875901579898799981583073310794103613962843734643723243574776386667163560855312604948297964512371087535721354537141993681153580601554358485058763974432569827907084619559076154661007453347258178559706833748326726462918735744519400295581613285923344317803254315336004165496100434867767004737492093631370990055663451183857798019572602923128986242680965636657626018400734825479637643319996879680522727202741614498931043750810085467107373456096111435722004024760482339905506339483277478002579749092182845590648168927937107073192611097568632640453448168087307888189066841107373837665676426106114010824137986479357124769599103526818423332991036840438387597040643797221642765661816764433430624995618984270939340918472915977688352160787003937140987309998877914140121021536440431471582382073689913027390144108447595053273741633057988092425471143868485751044361259150525064400707745433649295422558802338990981655499975804568733716961850078135794884384932815389985283480405997697046639812551461219559701410171995759652117456577644716988197307872968279136784640312922741774473879898701601287211633807276636923104106586607428711014033819411943555223093758841142566157010336884406737304308425691426420473161524317149570432903246100158486750181818077031243569370407267042272364363188424970830072719413830388926254216606889096389230735765859496137917508609457372546244822983699390160153098758224058452841200141370485906973716213268562605831270230920719111752270047407111250273285258481576996090763674909948298913074121021642630998590604653447044489583847320341112383048394291959027313265291333681187146567674577420746587640121239243012889457121196766750962017033335535782694736522299296597210675329817078751304723754326067244779850588653785358745379995730139215395150640187172801901794929851580017271401228621723092704689749960619050174056330631801492668764845741960386211496899138314192897383689917730809688594337066447106784675641641811860425224068800479056513807100207559293691793752658531813753876741670131401808264237410915595169246472714814743366020221892300244103374788474700325549628070004636983651418880042799683601613276894251513613639119279569622970759196557810393324444300484701977018863566796048585935185575985888666234805600778282912471289969725540952412482522914383421317201958963306577949253681925276918225231763432138273531845364177919642718352785614987373021740451425619746927608098947470546503645439505119879891785622898649025788630251130349439993482446361949923068383439572562822178925039051578508061020278671800704428343690662679971990889980172514561830017386473774972881098240928023235185742011700108217334546348793403987308790711654387954798687120530460532513898249244615693617682629894077356401347728300861821005995612379211567259280298571693494976323446812537768907766045486895628994576749717520406200961670135134601207379141103926112291335840422542281317727031645194449946188453893034728741837348082106734679161684078842155001900122015695623781388185512142235469860450114403553582235469914451569504737279724094240006997455701683376293267878312333134190862942490029548427470724269878856360502524798752492484022919716544626870469436876046749960131918670279336479359185751667873294053272125794929037504891690119534054278967379474447858117241314010659467295354091706539473514037294330071736236308171019372995834267485560103955964165214425908346287935965462958386109561351107055748266904122170903869917227944431457069793903193471682307211755812741810423734004262415336522225619702864338738174447170745169731803109532517347901610995401596687119285648472393454465128389969880009573332763029787400438444354655502057423857945805850697342707479894568045759330045326050251990080636462037182318041648763073073038894010938481295359247764273598408009004165284849966752181733593305507133662066254029467633182444197920298614450852008983492756387079300182639637837957298685423141373591954938633520270250704239586847232847801275414630722157008912637114804144705179341578501312777400012726197616742929971002470332463636545408005217306536795930296571125988988409341914786481500377512220011083119310909559621658621053277305918849942817989066041246795445937823919311029127022148927482207189692635757871594900894753173903074539025024173793874249569079376821755457087366843289447364404306473040749605281539795442184514363787772844562647818572981332990368058442890384287135555681900138053027429479107032787378488693418710753820752657838885823882124917283787952417122920404982216800540039736978902124286686127907954267152751742156794362996686604242957442548956555283602383945589706740116014689309779908414973063639950773152082059171913632950446533500145345761988091556962226871153367014582690600877694816696723351272622912174373162543334126453500965276615045551827362075842292491130991716461744402901685827396601600091637904564954114627556116298497570592949544178530497028979939798967272328955700751476465668759565302736731224409868435193960936467952727960332418273782270284952840212021054215244632061300995191124627744166800265691724913645789461137765365584363637050614114050385053519289615181886849570975223741194042206746026813860870492997028444967561363956234512773172074149557203350945590061259766075681756588833820501507942010637327793363256751731883797190476338107636971758021332621563620253263949756851956011275633915151579084961666954565802487990515864763381747333711493952651924600199657723456757019404891183643673738600957844556616395405880177443413620405082645576028607834700043636676394761230854934610010236699268018796811826310991114138097135047016899993546765178512333347861562363574059727436599742277983052498768263355021872866086784309550548367694416525703504104754921196034916377229911374904381973102907311958971084231622252371881094025140939230753036453600780919514028331466454857625985264277428822875123760168920428146783427422629431710026839893619307852896089922313318111291584634411893493317848392125555823296839031572833539560983530012551134259307602155311501054077322458185038718154807257365064797244252758551686076992840346846782107674451510439028404469165933343222687040005909970318444959485728016912232925932185952569410182903826069553246657362518779790102786312388604582418692669850061231994324306874218097485480686922311775405005728550298736926518942049789500072049069054866428534760630781780215113021527371125811876145245466198522894523967668945572016864475447848521819675661439660446806572557309612599057292158394097874021972045294329269576508029726358446852391735951800663485478205149936186469054357435783440462998103712580407134077567011250679482853031071907324093894131198346544047466559481101482808137063837243981856706017357857661589173817437512402205960947806176185697330203445975481777469277905466319530886373134401279199081858481645845404017478715936857932980146821581984843825510215929127353035383694278562213256049973818133883362781859083628225312615620100466834232140422547000462256467535110834070012488108457694230183607782389303761502649328741980562432682632100480844796783971147583751137567505699260948258582431728133889739398447533578346681963998296361213387250509543323431920761598611969684855721273816928016365138325415993695733216811832469902956497209568251775456551917827222964804753708176613481502487239647228725215023806467717167800984719703224049551118081717709798481353807421578701711803873954915062544206665656829929229726417943119649405062864769881785329215546620692391697263364544296129695368547878957885411887219023912640694594309299933131074979480746917689029960163498795212152349162820724731747386167700138662578772954448534483221911044002251340747281257697119222547147595649915655070761674827093710589275166922421517687181080383352479907899244395375003104362717164276956070411060781113741933841468054663806122200531828011516672470068460085305570972795848405974170917125677326313783497250967474488300069923555955216162158898566318525417794481223839276176924775649383282642064579496026  838418292123443627826475436269862915934166612995909747202830937240933479232532242118059534537272287724978143569970807750105034473257864898354264444131441976614951849348385002456060106425187794870925763385520149351213723694194386084312166390257679143515144575483034542103448305420893327986446960316756111963715916269179743439693468371697968771319427311874053300339490308275536570212511917567712653993733306155298640761410381769050633185911432319395656696862798773281774010541490968747325514501841148642696958044010765426999203417494675571397991987421331261724786153800931940038701134472546115740332527711734834149786251864569712966638733416040018635924490371769353348709313636610214673820199046580371424989650693052554885702360599861452317698913470058640896048154291453314126663870854955579586126391822266043330515120687857479228501949653906180692882768427371221527484995603864062530393222364616576095575053479724773218444928787486953750018282680201078482470210037604626644914137234294561785008760432017600113868489855155656442687901891825321361469274769525096706007289931287325445841993794396196934829049902748254544013764384097470696516981026472096662002401461620201911213882282848378538777831061273396996117323250204391097105542093882505457792825474594424978399688050695385867306985327945976966961922483189012602166950650266952247705223126518924632899845452798488102647418212996177261908198958989245186937126754572864774781570614125838750647214420819489858840454958955111833497698546623527765180195618013362222008862114182620830423424872095415291405835399385547081780991432981323037568516292993281482526744098393269133952463702040394188709568987010336574165369311921092970068782725594200758800104504993999769161633053241331561911503892991909292510164299346559810111610923842205211750886454447678731023528950471666856712178835631853306191150419224197325300883980520351477630582193945475456074026352411396454883277916782381785632803134791400747731309737037591791206798838032827158053956815904236128921936138846861258031852497109913206931945521866792877216949052405298484167345114523265181287647178038444399132784133641981646565388244804717005618994294459217767701193766687478288917574497364056485962622369310121078747475000768256611169000034342316075787953099660777799922456899619117904403399668350272439310474305215668017175201248413564623063707275076704326641604980542860331078507499842428781399345843088107187027023486264596452157655495205937839298016477234579237986428011926165969728651128242932594417739647133228083417241636897259042106941465293735459744325170297627213580001504241325870387608360204672894974399653250281163912144522703290842907242582691102328890270511615018752921302425757756875058232933700213563715203170070785808011393336882275925435552530210012363818406845457101658921944267693997759533098010197989305721782091986852373476606424354948216547655540798257928580115621673329204850042077861619643307494948869366573790798851035588257941957004753052222029125695420137444254621146360783995475129254108525907233981169478236940065477421033966575683650673267466225980105623372033318387823771595105336800457652906954638127286919544344381258668263848761481302276602351478536382967735085135352134489558504132648522042565112537078943015420605457851239961314313139630174155690508921847970504039992901646107369152458377420833743165429230168105542389042047431947601644853863519769773197850146138292998476920096085395370517420261770719323334233782232593237475743916859302727025549710233990667958655788160882539620646157424131199787595776251114300136990503825713763230057281643656446418802373641995292113277564401052052300866085727938468334874991108438637235009702560504903693923888641395095987456416026487789288044103824422388941753514202422248678261625173177264727149581727615633717444953990372388249631394067551225713202461612738611953479336658442794132503799570867125280147982371014266857724903745465470190520821377152944536820669126367612604953860274830434791635481245425032410430113188550833673990432146309663676104981986444843809225875031391103821910666262743667374070429532814237415251527016943552596761165788441076340161958405686472580051015334178204591334812479829954055719228240909034447884798683201092134961973078642323922700352651867455562061945170484656801266662319887095389918166744354573339860941760400411247114569136470478663751903944188091460583220487256721921237968997334314636995812414828964950779605236611500093254836953340537599244806178399635328135481734606820222832961855389492960155716598741046433520058119337562336997761086729281209222175951187796764893467687928042351048288977746155693471373179524931971860755382053311640187052745862160135693890251518556471648146552775254866003256201869133168745912748344944489101207320959933444710554161539640782644932825381755822450503787958142635039569837331507677948933759932635701687322592250174960555460923613873737987422659077222788792263763136046780245172196597686812408733540110137874185956615508968032386317443120730455137689605400850491455789975110643524484134319380627317326838894377735358982140104145077770771108802439459663894200919886053285275631576564843494487577174612249902082838234683244101830202426638046241275753299609983023287040056793822317838828918210750657962753055298194996799733938016704101406257287688277453766567350960032779498368205142439217243241446833883811651178611542289705161745145648704041004470818710226693127682474808120869871942996655188048408910924201110206695272082096037048042765076026607455655156750684600178676270040707462299877055545753610450456646414834813528094589042387344131772177550004925304500759785198287605570683095847290295364975924706263423944729460499045635359729565909406978035086200966411593741451423212036736358676237396863900264687010886443400024875651143262842653634208640872251716030678853030605047022011456557352311117620602209921344400075002454685559739051975209779998418665244091184382499041110300163249795396425155305429752804020366555096759464916470556936350588234765450399780650625220155135051627182133211376351083010723248303233677990149994294515880336289712279999923013544116716751390263702601513127493804698383442660950220394708669971531389653812817931181773532429604935820421812527756033509773833349841883966440138933503480765319296594013759982787237697884415557306017304415615530419207861536279172022565248712773695591657374483695063589450827109950045795335696392842707981923039035834387876505991284184578871997472800517388099437857204303405142335608346347481286138668128665110670416263913252065843965943455632775512835250666161659373711484674427810358316942020957548888277812693820651267779784451439586269448950117264133023769804752601567662876824237769037117605087363121501185520496529232213923679181364674159390072198431925283223579139664715712234097380900244501736694086769284803531724068620894675194960800380665050476440721108817206416645823448406250344454538288841517292536397924178515060818893264983139890702129193691694704042631176057148570781243522094698874991818542301599715067469120118529820685037116209925784698831606598876502233063955443025918290879759501744242530296829332353340537687763307662804486539966320593374242672358839289053951583834361717977422208348543858936512960341058791243098842348243094202536664735071391397632656977507973659224742103233118393100872871157291686098433955786229406905032751940749505090780402575365961166572547619111399452609137945081830104087921052017489594409909394324024736044265125077517628559913517900834452174771444127194205578291374931248838274617528079726675924339454569387940604521696273067410688254102098068532692431958621981706116526344499688023229203391761394246803442320135659779029397457173753099522755432339333475330047644965939116851014140607132367023639343476053274880850786022946239364811639076467762942544959592740353619538404173567723438519983938592475215942219183646499589802954191634440661799254915064074269670955390388458683297793390746805023652610478456097796028322124736214497754500301070693427869354175536202952104203394839545490107660503790121551080486330891001999240511524899099259092091124513457400884265386411312744876229795657835272922585917103792337536091787526929197781621992358001622090945557478447729818363175257677763429388144816909835362908665554196226061442064967493903992447057671597634030546217808397553561240510373989935776478419187735879833880470565033992745774449929032330699845470961135723389494327772732828585571985479908957309287672866714291682329242037087927885191782221581714948163063965745276554797165269873889106694380128775276182620517097037819259262239776586079042851776558495331786976734433558733032989740293571381154817162958481671747786355603729102019536594681957637462025527639960015665343438413159674138011909120796222587328766825450272664577848662930675763567032179357734611477861150648194899207332035618766764879055864444484310535306194761468566162519977601856508128814173139746099916896193844678671189604578399202013622226896653982044423475625826211633514192482819453820382065906071542251411822760262390528211030304529882074463499649813944069009672762989628979853964250879799758124332517306411709354633532607411147598241882274139895168448381715477491502929432313839695626717574226598710955309914093667259906640420213228968859459717754855431773797039027034070173069446109376847760784699119148644708528676272151141800713847631004086143792107443624817202965397795302891011077339923743931660352182584617934768882158461840877006556939632021009226282466675398145051916248340494013471250910946542645289236277790250577688883657813653776315284521580249347602515172441102843595663719845506979686852964369610289770754226035996771289615787027996981535338857446764637225129839649712448255119796351073808783868059496213744915561670171141758753695448733426993270397623710787379813618151860198329003595693320224705622928139963083433112476718190872066099097315751284631225236213731330531293080309764106621464737072228467965917815425009145531458772530429940821375097133686953721176239143327576098001381286578817550484918865796596647767424405252410122930701352237903667238875019323546716943366079637560567181235589282099427255130988946977010561709938872697130321237844545623996889878039862096330024491173764362441256132454097211961290769115550775510075496328536877046977525514075072734668631438144731705257676493898256032375301707897413392932421448051200042112821884134327781826843173199403815295628072072154968277816979252773445464861009495544245132060459703462850250100874290023449685657913308444456653294217661522287901531397942509058770438712951973028358074426351329384177673760282019036471308430590027984272492623828495727583742766757184626018692453037906280656343061646249200775070881611898623941337951004073772870151231095592625332732351621808834257589050424157442877039112125743793618662078934122047179383167438919797095008432836643704012957768837658378341626400090493800596382267097021105758977239519661211437458152463150969782663721062137072007565072078949325617925158887089935633850666590273167793773791807462948136708935264033533824105843130143935720577992445927438144470406990594563472716210276280649699300551137574768611638258432503654721036006402463548593539091356940175776536884158037503404761578585182737537973978748011689746517027412286993492486309660536197012763004693962300150116182723624802402884190620636949770962454936178656095257233029229235680076903781480105158473317230098227010408747789496436987631752796509560536424483228829604979378220196169013471094008188598425549580416317784806406426575549016184325987977577127961531285208816269987876543285294377498118992838936815472710339998858679581786579453990373327518313382531629499434954983445118169509754036078133528139483116132302479982702517960905865389914464611609071452261451167717639075636718948085321688706698471570255127913943496556646205044391348951864360609484148969795147501318614140323371907013184621571824695121353602902604214896955230821535682273485955398979894530522877365884123810561380469915199378034714449942999247285298907837652155791685994010758498288064959186655725416819805844685701196206982674217010212706366857286019729187720432673863692209948869931861734879236514173505411218303610883481506380797249803934967338338677949679648564765260658303336205199276250239905623601661095837468596413656548120603779970454310191932310176009269546455713146375570922931853789635502293507257904228633719289374144363745683373917771362403340756482756524874375165493634168165703291845542109836377951379305805125221798208391940935064195777411155535377106421416133644334005110885312145907248983447073493926205768275785632620984683934446368864803592155519507187602047895693183634869512684593375571271040370934342594984434963421760884923137583052650096602046313321035340229524089200870196720272677131453315935158165494288215693326563016819527355814442485074507373607588432379871447787484957886356004860227226570269909615393950652261283125074010113394026531818064105627445866189638252806189215626118974650280243278571319250835458465842061107456526659774877534392896005317372924709689288034683965785248075460940020150073633941420144963719725920045062627932104330939200392186182810274988110763058990159560190491410901942139656748753929140109360572668974069834621934040062198346634644040043635929553771992829402876292416799594669148337532492881421894584635211337283156326806970259728313835190910225087860477724897648223932143188898876843715196880824210444053034833419900722320614055091716231835198199383515796121823916730135875686734017687429603125790906503271866277158890972384086278849168444383008800007356974793608734701131733744766791510189461455127240535921528399440671517983695331386899241072936095378286545370629520447746960761210030794443525670834501297485706019000546019698882234554214795596598762476355333577034676075726395174631288713190095475272956508347722040831160361138658055827653525721725153392705562569262037502186279984545715283641688803763171819939583154895479539330636043346259419746447985040194189783230985028212879667383303731811456464198010497376106648132445780427836757908838460356162316884128833629531514363698224667266870875439582664292573505263912719009544595971392570822640961133335211682379418785790956942388811554632870911781570785302850631988461868852142312580140327500810678964041286419660994148990171459257951079832821832447458478713830525954030514617073919856659132497982687831212942233311996839370288649344468972125659770353302521487542108118340117284242692847105971192125980193913337716023733441652096584723016462345067533097375574454826439098422040995204232711156539494323167582581223769130267142082634152821081425792827876780000463870253363625417809508386586524121367625189720420581431291165599735617336200263533896927234783678130963785931486986898513181749574781051774014714313364684750828306624701424897328875335932014064829229561063797885538021445843538450538634126926479293638324697435688463987572139259534566257990668627115182315232318886601423681573287995347072225224916058519686026718462361696338929656400578193066803269420074078035896855984282084310574592191014525300091431860593540221632754336868170233349591067289365630283072881826470539858688735290539038228320067242428288081701076180104966985809143184912204502230242630248931067498889029682807022507542647943602482504572974686038803267973444604065634141501436217535443889261667342756119452195058792292138306250556389226635152934353597529164211079992767275590945426178297730037047415334805812664291322015030834795451031645823464596019743848230875170454938495976778742228071078787823448388895474468883602739707581035866865522998078569754634505828426214766287005151026601053535598311719637357062386246373949408252353336261290428343900594456282639982738159312148660819555195560471674709832047133116363002570740827299382608333855603905173447431371211673627024586096603167002150493550124028696297877386288524763041255677438259957887428370946442569046909946933641304153340016265299000004890276506142578799348889089209890837480324793565719507405348527512372324993259923893535389151014264496906443647926201931067360006447257801387070610905123059059615543245583380371563295592618799445760228778725074315087348118252051075052044853206914648579516711831538742349882473849616769631744818894348236675969040846802978389360997940709325442536318725775914123849812864518983734518106819231615729925396494768421453035988341033937787548046080345651169115328833802786500300455932278380834947220698368590635350577516511925977936982942927652602455236341938841530946338113505762287932047832107392957769219797235920345140580219614482516607340065099726774725986547090652387503014209088450161025925902153003536057155912021143837327864164429344051742967091585439315724496322047113620331409153184889228072276997551704867884314792846644071880537927314214645136522207636714090782533166542276830152037609028008571089754973776983408161093095862072147756134924565383402814310817051029832236985635985288610693428741626071789443933651734706268354648247435579083370644134772507161918751221239788754167737907916227094446581670545981954674587109031477327404478996284863211153356423357098467256106782036143470332687689625372004873196922282217706664529276778165494208546788658226798645415243914334108998764788379133996413904359780781757358185301610572862290188378546481219841932189387806036895942502633530745153113815718519105356519094288795006519000952062610281392710790212175095301519973991322516885828257887519880897318462913513296043041994884986817953146518839663267379077685276963470141155031659516435394821439088013120845121084847488880156056077501597120430836794595800427254104265198153136828477170134859460908429234579471230158181699735728790635014171297524364623519391182158879396637389935409971802210447235364949808893555553835277443288724331221200676123628246192430302956098120407232726543354517667064883827889805277041308751438346726330018010557464714591857813607330364465433471842413711402762518574912755214310751332494893244011634822363915982237777176402125490972138621340663333270012445094003516599733991445772095242941561934593688177314013432976172421714195753572524927262679316751834363839298460072910177128906289715221362128355546585518328978040684920154999666424997729546442623215422831898432051725809764146460102488769525720012624590124090002461249294998910372853887586587053379411800713953338636387065962410453546737024359313263989677948184650243245800853371680859563673058082529021206554844829097556972990444566689454040542664421039240487053732889405550728380585610670386971151292847041879140601690728517642094270174374488451730804876862061680799347715852956938336112648728899734625402697202368971335138139004497139611561897887910745758651120055116292671571262538003991223240754383842999345711613122244788876234710921855336490004251949927562133145323086947949576661673532747282914232027731990558636289475393596210644518929986840680548087658290264737720840446405779599455384322916880084038798465335382010443954755763268258396050788009065552027703042189919724914714840598710782218427430524126719103375378649860934879041553127259606343107006299896702157681306286912452273004984786993871913554347612050552042612423701092367914795120375791054296688989145038420142379859176518196185019724687821050167076938767388089163842524821057865478446294223131515989383498496933907549261776840538487756595280792566482752356302240135914654825192750228663494630746459114708318703946704153719905551662034987958454025452045946413781204615420477892547964570331611734317870117826092098647671954329750460471175005226380069354786853121160408000744372388415814619123350302324398726176119712194208634896228687471298821894023473559958570538296327309401815372629514381636676220152313414143636589048103883635843076330976339180086026606989664163029036681899800622484072060476970096684766968920169588986946745845635223839623951029010724300007560284598672168282494488018130816037696455972912171739642476777370231009696009219492578835604361587997878678511472939933795141310201188947928286599494963779820041151168850988550619035502485411727963761959906987880330871542616322919006129717426571759825218963354257189052704372749852375181427164873978150807274151500049481117515002949142169797877893734045827529935959387257134133439833437382485092122967800416979864428176316137559848548889676764106935897600475351335135013981393216795677915672007522343631993434025892706463965647194459868103526027427065554140079416612624098611563461929555552425287449041922298537851706283445075930046131450226901203841296913506702327684706529641955376167439202766424916768845960797305361201679224835504518024295137763004393335720491844976596111809409030364156105481898558389461321424563970780231530487415554606959507096164109475733497044425230192091609341400974323240682306347566839965225323777091071513367046829747469091580219339480736732347411189281639670804764958743097731869799872039231609396371690664742833740146069352403030111497063267633847465612852167499538337683569845792575751069720886931819395292891240715033136436029102341881080306309023448281806918344555873036888710276096496200236701201726306387404235994716732422745047690530290915624305971113610314203258297581073505293336719741161616737688715385806349210106433594369150121679189735958998631113761696601968098292789690676007575845527824825744944024103704651147810614298765471883493886443559542523143139679787248846480747913165591805994882719593352548539857606708417926399270605089833710692292033025887724786404389873832051485009789472040781331329622850210912890837243433766910075480623615014019933288555446666116378769260892787335101847734345104970019018406231972078041498108717810943783529728145142301314397299403773048132946561913045676417357826340164370248539845524365010914759887444669532618271809431624109200966524497768705886849133565785791546915683473264068173449019708155946406873191797606961184085190887449246587958618537865283994074939873731447320375053802393813406314989223157495112594734035378239847969407148879329714147994937811720860506385310491827539122906298487637495049088382136048451200140016755459359117622246204334668669237972010941825041971324900798931631034058331047156381993282076459584909945249064814923363771338486199283719637230833381778013871700631104297010205535723726115406789011430352584359042524357919787800944079459885989143878782752653757157212412900846444214680957242979890251444558392933404691315622733859105570509705345924057731914410320909959151607399717680793234279489396423883514505465464088427587636399879233603442900608672522215844942967257713125186165519730226911127044747270790527088052006799822728414132323485383101513302306770733458600948679211362624074844837374155161259372420982309085489318026554699726998288438438996059153729108183992810685721530467594966097027328502780552637875624032932844578550749796159948621144330714481268533414220236028332086069400746899352787722544309608426588572354581781473938360340104962739977527715863458404431661057241340012085591038091734893990935261292693164599598661362881874510659110647218177956282482791142337560545466275081821282551665910866940688415035339657802990782788674833786401054911722133223401489964234086101715809222545807245333979479201472183007483983807533930090910070408900678967459403718919920240492485452368215178641455377612851091536785828545321596045906301430886486189933675744661151894157437007615539016810496503904320265985769424345928197940550904922540239371717522361357303523018482735664965610866111944408729560933691107870879490807449233311505076207106493354534490534895045754396227868413879538594973679444005748654418715660749359628765265951916677459137121377251037575263466224281396009436352487334060308042660799502465393731466862024949307497549715564859195993215829961702679550208603514205546359467659016981101161434057533480527202116724165473629246909569512232765350966613097132754900871026592249256029440353728130328640211665682414558503088991955910963049720061618788298000415918124751643862935904023855816507440037111708913433837332843596452687318788572845328083587059806284926896864068592512181816798647031632340946927390809912703867773058202419001962945056246845512019950191214502828343199974447659866898129772974720239236893588666365177277484089102247929287263899528555414022954479383223960461324491132736931671721054462619763102225790313792865962528809986218462134367756132850025925015837995128766454289474799481115790680124192967388355946087498989960192803029070825549149808899815825227531759933407514424406387981604389574669909972514955795404666214163529441538789297978618096917546918852027005045932795725338283874962384186800395787351004832332040288818591752321078379784139334354365436501934251181271894748305931494147262888218338419813843449708435181361303436290101687043146909619766128462283293574570806606689586398234674925572142152814693671222267824246916120355857228705028264949485276800967643587487981939623783232014020996247185803118071541064288700901826566068580407764062711501791976724340408461137735026178478667452808848986029995499327176154199399196204808010781634543188799640879490002126114297873183182246246487617821654074981311659176920581342246611030638982367296090160494841404727792802239968789816857531873268147449863771849941556500809228052918004371475472547399589721546958758197437194360000950822198083050061925646273303590505934933430459651315963213764036740133679714699923529060568983657680159042722614188287235253538298423539823085625744499114497438401856938358020597156169528582322627443278370541268874848898053435481728777032378287881763790033891986063786116934822018587513894203801309212836210413261234725146648978090375116350608942414940536625437666198823085879012617880664217195714516116614827000911977610320903574407078652475476785547581593861401130297455924592147025196582845160481147841210547261980750155663803047723877041968078165372860143447431730444850869695325531745012755149115690878859504077143954341856977658935932992519453768493570399054868563774126083659618177228156652618105629447905876885708643228401312096250141648528001065309449592922547654948991713821571415595889063940334225517801978042791471399693746380932834921745927286426307991530645029413588302220884645334789963465526907759171352846379969956224877669554461628802432528434068765624589928200000565719563189977739109012054085233725971211329014127150556184609201790033166289992629876494075995286389625465456839748389019720459009963630377973847997898763008928816291428127621333122111413226239171215349012445779193256809624751884638531998765686122822986382682047800092868558283665076626084481193412611688726085784577197868979230613981954674345904633611429544736046343922458140534017270326791516360862029955100521348372173344903109533428150212567696825250862172225589505546812773387923129349781362214998599969497201733889768196339738707823765607771369255066810805697689978660458586613232023206785545665621786555328661885417286950548203371147891669067728569166330473700837726004923907774802557794066379243874568858757137503202821478494701350257222068910460943090050642087024946464268224510011038203401325719678096848410713837969229563056114945741612883187875797865363286690377538916346254925832680908560827572365119754349934192103271253122371084980616721152392810057582839130548721494709048421648606809714989961121793817962048908780981372478602971273261675486376564902141121330667104263001850417909313448771759679017510815968670523067856242309532286497083042114612427061494549899438156762993457619645984541440483419387506163825709409055129389723873533349624316476474198126210598163699663294841700319144997167175645521862448730864998507344253727291587024027106597558582929491443511315747657229294244458507943295348032809743663287645605691932687782182369647176152624185498686555863291186995722186614156044899397929257068531051633340964356405397425121205502665191408053693255199631073723902643704709071616147032339703216670060642569822657450615805146715931197464558814779962442977770263504542919913382578714022999937497043455446707154048440850965704420077534324039733500507704376939238901563986052622804574123849764777833143951133515085607281179547242778365408951572062982399265111588434976092161387777908055786846800319918356704682494221910506488639553608270740100724925197958711878159978264294299883412100991378393403321753492382643075094223272823157442784132398805324948376758285041442855295077839244173770790294360566397816599626053520592531289266097770440504139783942115553401000907043014659747033475122682813803809122707873697956668958359630132077367257618524312327152128353760417254137909330662580012067335688524939620565842212215611674332286879952928704155599060149774212891818021091608158076300289721102583306427880807625455605697928378931795474466248916676237949989092361821479015106764509424334233681893130063575264614758102757016317720946323041424191132307130964638833585081255684899252165173559434982412739219819834042781236199580941416539541626241639754394442469700356320684208383450109556912894141796754107155623633608212623237509196626552214579959990152495457368142897228878783883810180827873888189823901991479781019213992400211413726017267155476517009259592655138931979617354136038185237412047043150311069672497515030901426322657980008175536387013123465009484175307114870528421954222944093722262974661633697095417831352625861360748021501200963858284466963091187981331684670167005643242763092710844204681899619374920196408699903545903004286125717949681470562816528849469201894598679736084287139133272202301052849712510160093106736958388485799883164372401712685470400271960140456016356647826565706045141357315216843437330998781585091348009721327682616835603954555800700804136124307980660265632132305515140954516304393631394827280953677763324056607160221806824029306075537154034753897987581185116935490305701408787497375683216030571613306446236295924793036939989062302969792312126597020715624542994291182525737689391684146722011452761943436496357615020804027183461575049880435216731913335165621799593473448269852955200938591890942409965781899084736940811900196368555035414345930534718928139075841566109753247422113907740849423782512480836778182672368352517007258798791389499659085942313013940710689938079055165651182614200203483476406501017894125498030250500060620472605506019770593518680888870838090550271341390644624935714827827804843177228584969352053437230912518825779529935063278833556767910792481333256055384367613419303304563726243961619047920481614946322694531047101227922260522936578859423539560892506725887091850757810395361542993677175097374561372501057301623902619438197564611063281121385895078114143811493509148252500101808712128632771253289207479600990964378251421776394236193154143351790815179266097640459066492938227220949885515491748647506719734676662541314063137913683584459026902187410816421135723073739643335563414517351795469986359245770247690261297368004904530774443587468414734462475087562731397665502463848404753452108373604381841280784534229767177127609138212562530915637723442256126039073429604915470253797232866779696141201712282509898714120899979895917209657009988072484685882983497117092902892991350928408896455168078560779261516500662643588015122170169207368238214501851753287696804837585400432182287374813592185888538099062472892740231781121609674576692849240424467838962254331700561765882034790673481806250330507783284617088046516799344577630508048411319246099660524094977929955016170316115074258957365269174878795746559076693488215753660350329815660587358797730426914041095178656825752543427789582906307836911593281435089778826136968773564715265328128015029853669436914588204766691692424301678833434182935503162453795348517390855366579229568903394038801550838366146088244055586911991178354302026825641168817428849956003444866740207533337209283490211677263039271947390242162724955033771276193519268482711185580105602921563014950998289500050360040335603906391590539709724753969015775096627708753823916603901024594193755627513827211071583997346757044818580064005125483074709606321804682888281013763080753635477578156346487708076404672955494271287043683356473035702919489126246160620285825148718122170202828464548566340085878981310330714582157903650878565473507750724392607319897884632171741638602063223175354044428967054417270706040667312918473469394737774744571739460851990239178761430027794867723710000045954743088381050439321894894020815411739860985141275475886580582355448627635350499237945595866211765720683210480305099760547180256950110534594734355253500418456361382438007482030775025286333969217672473413818885310858683999113880348881375155616894782292403713748726155683164053443863003694990764679157674071635913246605214393772908877474539230654436968619986376183821406329607262968749830489007602972506789415623717892831853513900163053916698069758253339810303441946457116915912937383264416770866611543436947342070518950857056729073518223957486437554739657249358802744062902565410005271915052835209925115382025338875166963369891884515344768293200736624961060260621157723663995088843361667686668705479957458977073501680540127119876772539538455008186333675309296065439394139731779324883434573181927086491587876718397750108648952650412680568151182050182168163320473851809834165670601017943476735010422525061528700001817365130654816070596948930061362190835013404201380196282208544075078870140562910939850070036435152032246424616729804823128983501924141905466050141743278176628732458768225042058323972789543647884770593219515379866356203687577944113664617364272107740028977683025581164992541073748972862532934695923535799116482409986151364045538081582693454726616441570294960978128519157729310954233253961968993844979642595702335972469555474970560456826326651349887765422019267222915769544701881577019230358181594282139829907064887710067897156594010992803701389282489188905775478487889159400428868706898386825684572400652817695675476305119898275715992373055814381211744624671144954183719292640963059522901227632262633774159445771945335479132589744334749684483577202769774122018741146024662131853039128632864750064687375789974499411277575160178858785286375814975304072780917993763511140644241073492862174865354905231396922249888096503901668059772124718962042863613126412217116621012020224423886391932373096958071473515177477318423661180897896065316143091844886244353552444060593327638932310236662137673299261793486579733056635058836355374663903853956273936443448093822408701188473200716572916945340780652782740182355912323919763941129619886094450963305918805211353414492024669887117801791433588831292614273361192085156599069042183364094322431869596147263269699236857289645843902839585122201426211931027702014399279781122364187573605675886438375363687834562212502069769604451908478173749273443871967929386777736573048967223700807711860539203870374193815216498399575721661941188617921664205064112906063389499571483759191727130520449787828898946413535607632615951849744523537499744216199452149245210894148189284627246383898734556557973984924586222872173157824670387807211669583782010557239798946828779855905205627674329210004988755953445285749619061194114524621316672290994155082393736301965208885007226633431883356106495915713336258831196574821643284787450003620625945514197451991391059059534798482955484321613762989805970540490806464899252559949840537614853835472183001476582588543424829303972382804961721170146500992122631881171580982011035685696801366475604954962374499169948551807566046664070317977095909756866813437195593544531452942020726507070001550825290636820354347999826026173388829183997922676568460384113541554464955969326294040298601976321999304192037756172491472689212503463073298165802043400660502952210817367195875001542728771996418411449379858670724916096105948910156286181241225937556368083976101931569986030723499237137645257352629719334516956001916771498145428591655106913533836523864698250222397029811294779441929411436779120832915054734890083144299188290293485112605284205729360490219338899532812330073775803955978122113066247602922299999406924838249778614384898019909049761346181350311771470273283380276602240597529998257584824454492054200451133025040710302949481808448786899221947129271675635915771649438372667371418587260753441525660797953813976034752059314496255244042525042747335630773132050504128593009595248722909334532502246295527676193075285319994165589110982659589888526170279605164297305572541641694223440311949590421190466740801454898031346417579880849413424789180293349192869948222186420010939270724745141167189597131345450597779365970206016175100466924973642898388538350969499745337936512792632405442439508592248241092364747109953119071140564500639168552463350971898922101553646754529068513502604716928204668455939857808471633025947767345391086981671710095328812808765394604212501874896328131311409939511934384563162707530673033949090384834283829091775954257871772732315056338469658154591470760163396811647613690605077436423431960564738491970942761404056511617964359318528722218359076859010929354416588352575530650435458451508051809857326879164100845810161288380375027606832263449050269507348375099971855201748763991842888637366273351883057026325629809865593130776074391294848510713809351894963761310432046097361651708897503871904260474293222387469268010507919558517946569999857774897879881938710424170281166145747446424749510783112331469275049714378942816194625860128176872843470486960599151649874601498792251591387357464848728318459248693945075011957332436267215259248832362865172908341189912458574459885293720011867188099354303749859478971074373283002137787174061920017336785213536751620657055377371304193726279876031016932761428550261533363262967089882259313398316582018534743561451878710069022770191956523099236526419445567756766073857157390154798654422198086804181826578885466441083324344924534636513394052626927451885407852427178629027489171019317057755197804996810568495818749644639168861452245211062743519695250166143488804446544038501560286314159419502146713116197445786519936098060484077591220176864618621232251299816677910929525998750093540689773550341535607316113335909967956411465730292144055300091999905548906679910146741403503624534200290869952186761003455937310931962160287496072394632245176462770906024966595944418652382020490410235723582099430417955170331372697180430951805048935464607856018826092207389004199658120005729523342764524624255421253475147010654023595989405949266723240261228833384892053757896470794713155960290900125492472239200904219907257447471240689822964254695718535471348482442554761188668341314853989847202559945254330396427034524528258605519165790741684509051606553513196024795089147509425885632914425047726224451311375873539840484918682426862105434912387462600093071314122332887390729685046367675028430676176825110088505331328822866145774387098018189624756858036843530088999990809983360065860777042041152251334422770776485652576893128353608242710707467124581381693728208134307377333048598836117501531664094054789304375160974644709885505102500730388896183760332330802523793968096007835321356581792066345854855477352014140900079498024829407164992193629631849008813215178084776995470353539630633176993711381970739794269245208746337628957076242133779793435429054936034933789992291381626469396080805290578480839067351199028949939651630798701820755866790885798855938900070372349047646726215092716626826883210144800792315137318992877475996122603872136849572593870519228040323602035821079258635808822846170451866448548693478170154468076331419276152113680418435073892425889718543877135498231950330582383254010617320069804009052222750078401462316315495817944367632832694950381034573275069407181664856241480705153690397469297373970595955147672963295941882530027109816323080406728234532087201113094946267429323366729149869973504919857790642978742878954874346837912683868275162549437046470275167557956983692866000716575723231198104792253469162355102696910339149530955221239684196575279224330413420152597457986736355497842885148185634391109982530071756256763591056617928838391510617432120681909590284297048192373028250410603572512941847766196420465418790047418822229915826460407170149165826800322244926785847754780698370173107321913893377044732711640858188933234615162968533834198295213227542225741257203606027166809423108522018133064524348074964809439283604530858410166174882282325445937680685458685294872020453129614372533198156805285617752276358815261590518118948421117536293294711090143167971913145090631950452753987593280503817519872980245612931680201453854735634144169822035305645982288663346970309483717449003713034012546136396437828774897368684005452387926562464251932669659070825054948616063400814070967965169684280063761202285613901819346214832868236357797568071154019652347723668425115163160477900086210194573315958685913163873173715726195438145003795223520039400174914479215837328040322346288418909568619194846653685049880733544690471682289944424940039224678059216676024930574268283315774799831490224837894412551894683262445517751244925696842143501859294067932078493052856270543958877473388886657974359908273560377237775556331258685687425973922946833380143260239019771498802098891131147794739832731070071202082307533224828901104502511851360712667910412414544297670775103375533454618059525147824001614961437874445242314131833245308914187085621175527132415831593485813833595624377010454259310959652158409962621522790115166153219724587685867212481602230866299384952812408149300672095191732860287569701845795962163693086275593249142426917713122511012859300855081235046739352725026223166241949282709382337701205058566100217437828766011901343848617239553416109977790010144720711654622983703813794795739324317784369577147651122603196350902872418385119084119379710565878055218257780800522479562528307124866783651851905143299773525559937525802998380895336503085632726508289700758739292965465228422072193283258233154560217751593022454792218051668037160035114718953352875680968962698891334007813478857635643752941923068760461900915770256822016308634602669061052621877559753583378030427523728103590265152600259055307059541584835851586758093999421348295673056543893690499701873100031518014880189640709690789319534605508188116280370230430581537997768578480210367502755925378090786734694847873544941533063182162957517091990366760016334663071296048969269497083384130528846197891800946087807137840024829648349729733543243959655857340224268152225771015301488064710952570305729598699251599398799985444495299149200145397238227248982523262206129333163818652476484669187607439375983486442601542128246027962929619977814094149363189001900112375482265864209357995896088099448996335813253391080689489400345156989480815346476435595456782418008977950606353198679434204445448537444414269671668621044508275220965328846925091055479842899313439183187780201618177352553696959088396266407560307334701062657877806624377243403336708804181088060833382008548971763665294422421506054276032141437815345907441711317734569793837730296906843934166051409490974867998509495989315111583643732329030100061550413025395889354888701914930396337851303091946426218602025054608585746047143986727580982519999957743368292502176145145598608525491827666018455081715586347399858152810631478186379827761492508513927902270180937140818279449493087799916145360174355172246487787676590224960977425154678217207967848880476785449164624665308306200088247916680698072449299021861961996707565547674838958172281677988750709283142846843853191470378246416366992377961348877915952998532298007335053187185876383772836077877702407737745254082480665482169050502298064709210450636106332349591931759430351518583393957303374467763708755016066508993835182728426996984405121973783268796960032643543983617735303832623422647121497088369362895370752196370083354155901037516273248479127347882317820923797514150108130085975226108112704467073285018336035577389301791137956477980936539306056088157490485243933228893923550358285944284718221745745037502549569154572275018414981494445821077904384803524365066125781475575485943523876434052867335684451902416860369102829007753543988370511119177088562493480734034881935266295914982253792965460840255781522136754999368754412529544334688914589100158125667031995640208190760880895627104017108882815944113191292756767398200199592086799238557944532261092323292401292117182879424651872004545787026539247744889276553776320911623579613688268195742349173185477846707288214345840174203614161065657596329853359586136790128426103052896793349209132903915977589095376975309421555857361968837848595104834799154659308416509405276987462854969446506368910152899599437632031197949686699607018167022788111442446306166348069877899260091365509431059885901800809737737075845988195295885198278161945864348847878497198717536562758435861867754516527318263820017951659756733384958900728322553260525511386624232022027159306742906578806480024226750685717402604371353113235889656714488228618065192623967645512405843668721547378532149003586928423711786850788763078178648530375666066661842638055864838981130608424281687850678374779769883065817337495192379106894762760267750685347076304446326912109427112372806533486820454245768800532861264947485267423859625407672858207691359887729236290952910127247908034134828951672887379391217227022637239124403792421570893515449624357360900371545812904457223186841577769019183974186724546884468717416619548035673365712520988069922783750555222579242616807625849038605671193660716977869544220153114793803381552372258324947972395984266715980117354386882770121619067638346689314072872142374438336219054612565184373807036699644266483866234943490972997568542970718014637141602800099747592911182995570404765947966132004415523934402444131837544379582123608293664020534619383931911125695417093607851434385988271304865638337819596849590088007257865328373276226832081002824760448190049576290093293595990466623444669538359378910499081027800344822995921880872011039354044071675885479777766180283439045464734532072169167776726180284940345999218427533332906736776363627118259393277700112886685332696537373204541413634935795428608251200741105569852565256791761509849914256924829275910600788850965958595107710739431711981967963670741251044030185276664752460957921048463886806343901588847842856962009589399044546916991687062678190041180304970582281341259437348563683635324373791147464438384131601984616175467773422985933348638929512329988655199389892339212016167409317394904044244489300523242982135076586102527197027301645855289798368278623342066996182868496585543380145409827529157653414085831169405965058722659314958586060198238847544546701863578326954986011816760124717925472206191710313716314528220112671091622005256540371755677800087189461683201075205580149821149877735114436766386066072176282179044776129097648444161378219446442020654875530386913062186030897291268846411671262779207822001721079955796853000499319391523915222110609287809858700851913225949452432572453358440426739351075912357524772029064126900857956667094967536768785317109384391959970366222810908430150381730138025172926107398253290421514827651189571313145160601773847229284324292533169698858027522256477009550725233192900024977102841563618883426768078270679301707874255246580256274293462315595475810444294230979591857390869507098154794219427378684315413563294321790332594454412875536884433065257212662327768175828639072670115068326578467294078031940100331147992661608327947050166408634748769145205269274971117857633009095109652370317905028725788218130772837097028011733505095818834821106035959852925478177871766368690223019916229968798585873600661603205326961057937707404864020182523257073170163055705181703914186424131648755272842372742036656319754018806533830267552967522476361764757522105153809297071219065154821583796401703634531774680315910080679411513078431621281534236236214355626226071453593846471017768316088923520867338633482803591523133025397596429203763943513675108402953722364416983209671950470513918303531292093335592607874848339289764803304648319590477171916855921323853539360439486114407102894946444797746999939770312042221837772151848437642729853087502695683890174949824196293721774955413912151747759181922204691089542864279355120258541883242642716914332479003248304682929305577370824273175419249809014144712659651278587041285368381708399556431888838862900636485877616563238516492470780953692371252819354325286436604619171520746949096438159012674255465727792586618451598499878213959421222691484221590351230272579512856135485820989217560688047910116929789262280423179358354057188981079098448680919147982589210000317538392350361478186634578708731606535762019366197752430200285466011690891929649536779710940788500669870264140296193067281479329508697615240591100609359416540790559432987936346308445307161133400546834757303155101752498703063329904399241557087254693696992424536965189256985822384643254519162851589717505297547903458821737234313486138889733444981983068902435973598396571837435526034924387874145105054157900653468870201180617329024469471459905982032342323285180558795050972463886212475995513780571289296764043896055757220898068288327993510891728493147148244082017726380389671423039775691210713406236284444716211308889010203544387938674065898929037950270546905990979395176991094009028182992684673535362973082683707535035495085430986383703193664447962604212977966596086405764300326588921138126798326188975517541310314540552244096814701254120372523179157671091874446783405454626136171030159436091681923678032976583688613788389657840339434621479759533001861726723766821286435521506007115407372660442790335988050870703254083462408697830421448428608223843189341201114458712756536451937378222665786323114381944880995822655933401235546995089489698283640353713038682473971042121269536581073386167524824140382729674242640990728490174501769931810246722913105974183655721836128364956349651168788245739933747775181937093221019135600613997866306419228742863076749820331310942613755821028647443525878901108581156650084849503967646757877847954540548044194600596162861755663127391315946529878416692799556880539883577330419270042331208089052053520465608656852005356456364789052390862949745977602240176556671000218504491188148395324191759881122194843973788749291910007117340759235745115199231324556487231419554149870381525659226895838171026753630879041729643542225044469234590689703075151525940774110034715773845344862134849816239354945434010545243458062944779826331074598574299756552079646550385484154131552639304721688453691151889292557912865267648413792030318238405498897313379132402905946781731292171814364477738940636435520859286389935374148152118853305302422070093721257263484482934585929229248842168884344814207655377392438212648438165566086974501452695539903848875553154061411787948612712118116871288806948236142016487610651438779759466499226427067941936179157044281022144717435432745352499314832957173746410275649175536577151566295860433470934143696463170238177856829386301915496135642997727704316445205318067690176665567230761507227971779458675354020853841193827814911076845592995172476787071773386483367036356065215883712981429087335349194990513214785095139330093629758157320943514233777902921485451288240454807421718600112461008329145310790632723516527063183138244775766931324705579275806129146645132837161551209356137741667241875258176242494529132029197931238776785631870445458861792485711608407962041385840838120390163244284190326456953236250209316650281812054611516852679629673450680782297658021808086950137674634733952819832024845640875732295680175359562964569055234717158737956504450868324421177540465458345016453460494858285952990655491293850316357954872387598556225646141174039924604864814899431197701049644556219825228609873102905009175540482366818870879190580002921498736185766773751982130142554926799328896483070368772708965657448390301261769817885277095872716666828244313416205924835434605584396130581033775467840605076846275808877182659195991152781565184964761679866775487822210366096682288348554143994696017365164845063119164709090679270108826300026337466936067224171384176728720576412026642566973324733325119368919434228675274609094327058107920063407565084666565019936746658666206954673269038751645441307193015823312830944919106860192831334137668863189573603481401904047572431437745715285746898988304253516650534328846512111111244891243828073707503366598919035636850144142534285811472265388152759063470643194875134380911928323321860055686065578226410534586818927222780508087009743706154068870594985155953663850140957575563734255960468046521555742520278753478965123929582657334606623400747855560864714100133793375837931816663661054794720091349044837940808386402873545564890904400314696444186594860537118110570502983738166837415688392403452534943226054957890468217457924399886128933349220488230197019648626231246790814953798907928893755591617487478166657470162041538217598347004012879618634051406247209035935537924908783488540376116219734288182894682922997136767480573094014415873088277102778638715235838299978396335055544310203746431470577308131658305066208592145205262112137414377873613662898611159380715659286985466922431214521471762447368988425049482725389446714960999717751285443826456320292610901892560810474956794338479830842123692885842239119744501486781105585963449884797664234503293503071569003902683362795247786039666933945256614070241966756562428131627175938555670978764412666699954983488434013212208842028809804492752596119552703889014094996557942224037903485785806208919765551993397397837327827779560638306505855786761695407174142308268010516296865126686625059582520521682423231746414276891962114177437999212499252679550857080727662351405966081268136343261333092349611127727046979725052385907153224458350156963038653893503411855490335563459775730031311954252721776522869967432766819224842014411085564650525893695739124347980018684042226925306070184740531564442068480092722649860236401589943349217219713178356591134412426762703647538957982733868201644242534098772587277642140090157703176577454802751635852851088968475055890492767821626823143941809516015056322234596398602218319472093728373596177908990211243392591075122484211911900943298729908307810370791802195409738703623755659806878278618150143144408995760641450270331378304718381370868825192431486713573167095144323425946302460032409915636340002344050702948141303405188925947373078260574398741091529623337096396332302943919038393375808627478004554748231165296545235019056068435901744152872446161694790398343853949554834298007286677826852137642509205626629369137839545950945117237719483530455130304002016529263144204678815358581083284068904440962529521056136234774192905559865010092390123948335946456913899313532883896302156850498281682733097497897627853630971791879054553422221185080553542834911036584836378688486441097280893006857450087077815779071821800220037773903802513181280382695739932912222714085315646794163856840253477870379020614286812207003229798575524437718358959171001424505374127592265292297427537991363090425384522273494237992683939350393851425652292637528708003138280575837322844207960852682097016085568520704327133310708008921530208152352086710243223343356411651589724242036272616940578349406775679013516143306091240074135812371402756580032633788887223904453595082630634099377378110612259520128581666265104133965146363425450200587105647373661196942284021244292925781438704135759997619935366878348412204819584486367451197794521582722326374934560328439308972242424978527120698840605737554770144532304218290284465940615215329704154685605835371097051802534424842200980475125326241341796239833075275332056708325789051796800127656100627207351029957028708933818540502254100204419343135248521576548783495447009235768382336584158939578234054197674624070640276391248083780190159531130105222851997926496406613587800932657854244156997647221789461575932648382990719475118486434704497783531923994131662412275967319289652766065670756129446153986836793189717476452284240066576159940279240187824243689895664301495524468476370897357268025475824598054814741943678426449986480149144825292596876938582692361375589163905186983579559918264523272300693123721391456349186658977307699101405557692428459234234186065976318093774126281127740350057576300129608010830262968195113070722744824658933170468499011338520716191866671989145195118263216487319497274392227048759797018878829761488049262166953022735734517503844848896205820343548211675345940526507148822976240264331887491643416250235422267385720029980065518353677111538488070095185202965710177080365106005235943564752453481381517258870613118666254499059387450477484446079037662223340278145282122686483309275419954993917457861142980531450113228618221986992027217581848070302466280509190312265034310118368806447697708761989582133156185965622391264240350329752399908606289430776192140292378707919781529684651572709948277279163051225393858107408312332179087394616345643765407259584912040791382919785051793548619000204594622115203700982256319219269930592905446028016453086108056169110501167769790438966679686412355307635422501666652412392133568221904567927203860302763997455599610286970810318449837126873445306544461442783540623538447981433017453710900564748201045735881302159622843811487207633309919249676749925436796546401032145089147813937692272046888003218936853756261021260666446247688672489776602726064232898525283263603700362734563988177029769005578848104579235526563287455575352159989548461236884304061528055581679723581904702135531605632200587451022112685018584966439779727784087220701202283699534421625514014948138251799080933478752313934520453280572690603062048291504158415743092261422940164185455893834400922460524911057668435134427180392531713227322210253867231269290654927369014445462860513639779936530287208844583769730315402508353481121127675944039381833303141489713845502218823852157489013153026521293427401908113064265573195760089443386476210538156733064752960124454293136300127712230826024036691042575207419180603606400805464780137857698738010390140342810508724521403386389438674929110282256829071321151017006598401641097771898940158279181730693779978848947044079817037100481780697774588484891095918650899967946815283334935336828683864772666450198543147672255035532131398265476443857716943668241674716752491136431325921409225503006871242357911343057118052605925504828085996222629550585048750223827945435369744799977793560704086890566012288679596565831103534233489012451210289855660973326741211414669782001918774781014800931395751951154445314712916526511960446733068414148519820472256464408293510561077850733992417273645766048216513210303824088005569158962903567180133715143945793629447837495304519883527033502177031946885437081971423157407936850146734397217304579084756740525730325956807639006917502296250925987675465120341964614834671875383371819551587673265760338437175502806751809798114601656619338180360157258129232695980762927735883000825867781162882951343046724246229707695733211427553077641386900091762435877949817224101539152371457713490114398030670726751988255027588709459274231213800119234758606588425542086309911922067443405153127771991732625939146982452980592289601774168651895406641059200459639708344122201061647972095060125217341756198297371060580018220773607894613455192511589780525712084985348984405658727907970471871499023032474161053945645882291330355868028644769354018508929173308094117903599444057027121059301410024734285140555359263670521664978561191625602350576835900278687434745029519044094607418637415270846548419616017407468421184821007651425688202972910774102585707465827507329546939926536016786444949899754728523535399010880726341242229812664939670591779964808942366367526139206375675681263078436363037661883432201980208628461299522300688152392780900762520652724956935040401679869058430617890407123627867946044940785066955996908282180194798494684100705317109148368598987928389799771523255182110089077.e+762810902071245760408611639738536919929326461939189163436520393186008930889192012249594146106414226030310229632957028632274036760363395337502799611477714127915944503059909400561910601235136743193610531491449730792916631327837310375434789974956469024176851783042505205393700346340970687778292452092521814058603992972670699846367519921328310821119596587763599373487731762756187039817705177226576269447834544460561443070993552198254168632291257511818928475886624340103544679423714829886567149573705260747801184666566312027206577105379250370058824555789609377207736671810837619067567527674397260058431424285314060734602353082287242394935766194180752907507748672021726213022652827049891586363665939670194589764578679829487943659618620378276843800785823539104268242272229903493784498762692230264504758860101690031927309532550123718594626718931246276121599611905966341132935350979502763646937425179202607135342395781065760404933053413258702154644951647609213510954491383729305800966656777050348709838130260842051716595312546519514337376550866939780434710564415940698473751566437770343320763550549506173229992662818240449796960923730373262740951795039920527839124151688874869958753868922825759365435432928035123439423627312349884537741747251724768250081215314969933227955347715662681802566972068390105832515291559852210827134985197773144693860948381375100719420118424095571887626755485576410452414145614093775542091560304449812428080409907453964230292639730072892843033900298932951226391318728124429919260053261503334486358370735658876071600770216654400439722417214932294281524310752928890331274968117758000733939121932287504093824719742015300215538958628320622006170371131174637644437561524944553513826953428305078724896200887458940538092152651445844697875530424690621836113477072631310886140510792987510957854229550868475446625015986992609221189367424980752455074665055078398444188776843099618294709329378144753550337758839658050204132166533808133809882760775817222638403093826209109576545246998153123424726648578657202938547565877441813778547632355750624582062906017487453336874361325903222624225185043686263810164756099271795436030398146529765353054902293736550601625590486211538140569965512773967418656279543687636622305595081952719369535893767341793343073188562618563163649395774020527956904185144570036996685007261056868406112581887496276776602729326366279450650312149919581075937765584751736788912105055173696584043630803491214624241959238086502065047597830204648933886886736152777628521543927943221039625430720694447721336030354489661117389568005797020653881351437660510476576248940135716063116094145102879695400725216035368187593135333512083257790603159977829154619162480717609669174281166293684792231224204183290611037879147636052106747255795758073871717672298610304041710217317694985644994957107504805026778669350846555163075948328922710586713717384190617113965779253201094367326757019942368056073515615273905792515610048865663916598235557128590173177183662165837850527250211229556464041489964861113839070224179947661909017403714019127349778864540932034894367098922868955064418722937337983882907103000726180252677322041621011754274368106324883535069322425822241898638462040325921073418212438838611669884026530937480202667541502880769161946139079121588454507085062190214827057189339375755456072493634149064972807034531278896257820254370770170876529678570305089224962151178256000977945977797611107523650495298307001710689352585459934974723556278579538695063508401910304879419466431210728271221534785282354292036279461381425798176814341791194912988039173663690481137206336839229222361747019259562294147940862097223417310258106537962756753054708242193449271836622897695110700826056592639822407908667180470454350111395277547439215255293358786919148678542485328843474922992594628785531771404408867459671142514384159428680020027094153288631291626760540562677596103732517846920729973950319088618283455131045037927512555475266287644378674100112066213970416246920458417047279577319608860796308465428152972041773855944913745704246081479893083598082475962732179797136247545894912181997162599678304128894483076304614622802061821433424882381034405060360568670916488866106400862478624693650743381360190762940109161840117303653002031229626656675951084916373693816231193760647334452153703164676599601109163196554869341877354923086116034345210817753032789472902534349995436518405900309248438912368269723596337049179223089170508344437716462378286208728636808753308299156583333175149035635421961800716566829338055050513058354456728506308342349864815222279624419489319165502488070714031915678526650786366527536709124547204176953922650422105978890264986693410803260213643242241499988769310311639772237773999348259225278419572761905872394320167099637670659026218906337781909628803771738630473363109897199052152429714588545974404503512640855310491961946655018478042406413246205514708595296065969300973417059801293242794390908030249580495498717054325974985998133193354193966891445933443134168677012624032611887370834269686665388850475839237994070616606463923828065641766485085046928565087481487063332990500226019977497335406322858047217250163252912947407039536341284030246563874260932937800536865488622498797314537722623798396866628090089823296190554026965763458457465669989718763378986752017085723309499360358997707373706704209559499557583594384034516288828793755800570020658384955595589458943625602904192122517287737692619973663876385719970698593273746653921308158620517788737067531116700851968741712602778606371412384382690577668051528380128269619259419788464299343492404442524461634503341980144485647213767134497869313501515285942793261094435313254725098816533702020449882633970662372175028500925969870053563629058495210062354843920945591074981022763771928622916112682989599794190589883765157060248638817787318686574942477375521387188188019878455141308366010278907715518496441957209135947964974648319279025332062196780498085471202441363099215434024263061728871217464965809544176712020414401542500108608783112793117359801977448458320398830009642378450779514379323385268490356504551720793323455893532571526496053148437762017818361510682422329663607495826509657910091243698576148007589451517330539675244012648648328563837560525702226948322189141199472351525095348132165695509638798935007519363176594253825788877862393266192409280807189869646623874390930190320501349245211895392932045086218381417541384483025410834332085014375221459828442185179524042575104759096298254463172054751928740135256976993450979196763886652987412320911457446675454832629019770904116563228007552156330233200413956704047049814031864019359613128790224128009732031562699870185184126551353448772820209389597027739504652008075479490428390202078128814036033882721985034066485218391914527007290590294692552003033144798718438689708189536766061305076847710770840671744312029379978563554743820807174625049989098964211897199191110593299499398107848129960090221470929960012922627641839859891141133341352766049923228215115451564011178544260152605428951696775276513380906934394856851012699139000538521234866271058352543578478653607940626265561498854122981966229943106942591650637149359645580474706500071137192129056241999139521381588793625037965601990015189327677768023736544224314547255189157025948223099732185739455285190004619653954827265838785403033045706681176571227702792444748262734314621570694584974210614430836487850109481851549162153519704562379581441736903811226898780348795766002207097378510391380516495181983223932761535894923186747457578190683152437916421949735582459288557884229222885991066534082922877787300324532241559223823225523411263298871015372415719243017358675116915237066239920156457203282796617151059802717822499219737938711747054136618312551694568483454648345969642673840200678616954538685183247406900222499272977543501029545215826060209137346392643977923676279087028263197948124423136795332452285021532449253825250022767903423145410854791383029141519220784091732948537767279385756671879399494888642630377517082962051900869548514999046799729916333423739605658257152043915938783258521683178093930137740455544869631991238150643988854810464073936256571606692102189561527224530155934295876386594562625569233260983302891649290847321889902220518869350434663860592890992136289296143186762351320730829262903822448978655082134209202338528020496284141879084624645878852656825546172259370742327806801289963639267704832828160062852292380654592483978351389307792112362329991249558386634767558761197649548662839687250948693491500485341129604592519724803362535773407542624093347249840278622129760626808317644580794931796938904168959902886246417800290893803431346438617461204016035236538073207062924882912515130865718546188805119798989352965971545511129019741610601556945762038589622723999070242517434902305185047441732652896259012622853583009053346633833668581843220778090015352235530816864968492481293514261486161262071589530879120471117468196432741090945042166125437385114750244565581006514346180810553140187743291421094640258452607943052936277611932697624782952868186571328180493773647015220707735315447357526894350071823815780541086733485294821851135636136200501194555094788085300886609341593832389008698407239247809955037310760862922794619753746853486330516515909300981967453238696420473344867997097303060594475218287714410109000742369320989502550221682615815011340492490562717852122404105616042082443699862867281442852633439757193652561947685829034498053949970236584878568140263924722026114237008487465299417000492806537153875836872311564285244736382399897500180333681119854427385536417169407653921154030694324077820659519574898123648818440150832119091140741653138219283490496807826132316594827849769338377160964798021892204081167210060988194685607999139757885808005025834414975966899777655436248760476817335023603790457011647435782384017531191472439331415360958387980864973232496421793441436396086072661014455218487941297826646263532853590042002799118012876492065470722946356847778571750329728365359743380967834602977929193949606571011127812292691403514129089936049172053294665726299804732828544451878317875369109389784966932387466207204952972823991609403733409341083789998490909261113487949973284654763502592619752310216124664021497960311875770101144956333947009825859136625637061668312818710612410333198983802268091494278359713746387375675892803265692449631937767416274963165782253619772065033704422010556147582863933169765057799912177983651057443951847574244357684572949264200516802579923550338796202328841812694964886431485586126550555666146734142706166816448216271959684467873175982785440463000208186522522059669069503741171393121805270695754670532008135576801003732791579156339532577326107427702994143058883059436168890743415934341666667062105743743717270763499557344062375049413706633620289137193599946452395885448823041987896167252007238746382386881209900746461873719593341792480500613687443552924885119418656928189469306971163761295166243035973831071668777073495131775071768071178454224941582097184802970979108163897402750170980391788088910847348188356573784813913913726021765596521170758332645138530135421070644983258203469195948283725844028626963083551563267287552056679633541849404771019039984101868943497504466135266389279819917901261111579382820450570451362254690933200141543611868816164312973966489513669120237318136587906392942013390504557281216166886518922435784936491331682291999740564907496899750886054493502489637137896687872051678029372840905638540300187394652686835019022705859812842571969349922546668841628709983253541685570844611415579459569904468528008202765027786643510600068013945765951773443209671833050161457924631721285818797893298224561375951243372953944633172015663013500835282499983378887208997518889874594954864413492214015766665762323918324865124547278946822311763266098696139705642547321873969487007968793886440616350559045185987895896274811084731706700420231912591139812140516706397661686797068302485799962555296172452054970700150741830115834463909126713003240316610623226872264396979271795048610894117924362791500649031735828828461173719900380566560865349422260507170293341517286462906940388358268599843994833471891687637763509550434744459917008466159927499357492097452645565304149253994049781090955331889612046163672086077198305039347201425234591711619340191694740770832567138330693740879951535604808376091144305689868074129809391328947073704292470277801792841975889707197728986105018189573682162364294168076888509330299757996342861479296076036289218386007651059198038857460009242272874760065905020816754084128347534022239741243544122522934968633256771655790244776120533941905552320407998113600435588095297962196358067909461425193003724412743588486196234409118638102555920290238978793253385158269644238469483490471819147874791865400266127668837010144834323601343381213182985788794407051311747275419929127818807369266427513533094117041832614541777331182638969670505680063410789742870136154013163841067301301277474788513926254638954986226565333703555069604069084492316163716298765471351760660039580198680409287744080458446649519739717768808602222268024980052027908696689661183330354745850053765724614572603946173678355352848312073643105429239516541008482245765029552194239113969299058484050574650881207448736667883631258227882872213977942530319894919951831340582871786059200381792687972106174563731559609838917198015227154532128475355339322033854578406989393152797440372777182531682292321666857793750120858233591910145423328097484699694637088101415169491412370841720395314144307013074318655639824055686220851574172735590175279805385907084352781164715945792672310102022558958064758452921209660972195642437466951796990313291488627384649587172562381614935094058996572520460736964227830331957778525799847012829563247592698565327097293114408374690569858607361262102425887634216274459230166204527961459232885602149094200053505291358492880362699700240455707246494233613840129221246281083909868213574160195217631271599092190111489097228759434751123244453564824744668445508905137653020398970374933807359251784740262393100437053335280227507091217648988924949484902145107826249106094008612552963409119813637759370991764212438990901005468333392582668301544345655955493359888136524556603357814619351706896629473120700038949302530620209881950564555880694754008082003201596664220900069454176194324646098874326516714682399909451027746526170841615303534426581695389254063068331081534999757938496631038354309517862564431344295878273228889850736084440584125902741166154251424345701979493186470707524969213768430538799009666969813239352648684769758670567355236579705981870268335112168015548415387086283429454985113224790632390190938470517905447961330416677808912751005917571469595758515207118303625128995231203778552374085935408232021856976465330568978484146169392679288034687636643703137756807076114929507582158648972849429358960482532380717671668074939176964922388536828507976993616523332754284069642614621223504178703978317015901362847161611058028417269162682711215152215320342383230348616808941756978422578907330586549250266332221096443256109359034959177821043362928374986022927532651453570006521558166860274950117472741951823970716594814229452190384681863373664415118560605826076744042699957529032888049743350946640000217969082362188253500826400503724441641078318134616898438501875449504703754790351040085156233709751344639338364460670106721311209435009952080627606616210641782645247342742706686260091055445610354300796068656593504621365848805535704423418367839214542227337802674239780518593634088322255167545968846017088351771524061577523042026759658595864047443713567081296081046015704128062635902610859467764387159581599953465828924062050698325393444451917602714333538599351080546001395385558181437508655853000700060590245275620590355950462435551710756483947996144859807060538809896434040751666043145972145938037703307693751578912621836651476366608688953033846308611478536282054912720245759301162511586125632025517753238168407758806549204426199864387216286953955629741106915814254298836451948423419720333117562983788345630574836730964377023443911975538708101906293842567121432839305475206506227724970605758233383820461223867739128419986921369644980224700403518359249842998174585507070230681627563659868878526009728742720984851328326336380080954759121430837179122075615633940335450895091730762161842337621875422623322497464892077420284391035417749219957569866509549908223076741964089737613586650762895112088377775870654122780086267998399228118805862475975973711731562687598390088228715524807270347717689538738673476929501248594277135008183941408110062107156595331051161485725556754285112974527622931101675451226767478877241104699921099556690587446233279319971163284331921091936579118259246554002738852173386155287014258006528991908115663299017928343165918739129963721071192186912549262235268166650857998106017284110435152190755832741883485405846002519738926421726004442104688500762857759512604234870001781532828015702856036469068370449512995716508793396264381410456539821522373162623269990251209072956028577886268516707923065962370082830830459420012706032720067067462647784849840043666048046964901375166540427743009623629535926285091845817703005087561734239077576652365255567085754827572490379955393118696496192596545707734741482794775434055425371052945510750949548082707271929124348092069066130048430359471306930039268166989903946074113573168363409248838830324243866333642698131185168163126542040673059218224352880997209075371548145086100768946938880988635791707225038324110936934032816517789631257289813836421046328101091954290910194607461576220230351447166380311771618887409444779045753683834933394375015982571475972450836229878406909719966006613868163987865615408679586498072558584874553046808668526365282450400008455981582448212050670015257377315833281647688993172273720557481984424589457366873193695762602902545025160816706217596264455865121843352453225058828674111628332416843008551158932729433715748981785008183498204486641912418208309029837198219689443536997910762664870589623783649114903994992150737718970261525457849331942177153144133179443000906032326554391605231560615137128743986631282364087154435948652638046802142499809637270787772137952834051210390576293484171684502985602743785052674132570658300728288555043548007440699684735707847812346893695559821701296998672576710599081658730833152743522070663832942208173186691197461780968242448960799037999200256345631458814600692625514655672516071338329782073255708194851204023167991199398613486215802223637065985096145226566317019334809525133834468183769392224279671523258651210128494546078617574748266141475407569915732795452848985519688148194018581063700014004576756770600221271497970993515972767336416668988049038229571290668503265023111138231156225364323385701425756061895222045581234774264508074890901623948498733322768310237839059233727588562116393426462447352296560249097408369602440685412851627761893755781763118178832027182178459945525892223232028240288698453658122803045560092817057016883448272653989656655158054767345689728986494659427134930508352033027048687265407312735907734247760484254091531465640350234670348588913635708067743798813470624683496051543379063342445782866224766583638197093559913483869513102760144163084541552003409552173361395903422188253755016193602939288981343751508094817626906411330330486052322223624388209840096221499094426860143503425509728363404333977566870350612265339496958311809587384411492918474315900053136206944685744038075438140245780300924382077772582245269406194136148606024993263408126288897402127909801221749100112931742483797697579611907917940334628976468147096979399283097243615624560394295005954884103927410972440699310811506916326839670699134193327338601502156842729900813255809534525675082768150241354671371327989466174463270515842431669711611578197855394345020295451345618065006703433867592511078402195994696586841129198550877630061850241091695719648795795670897974118219399082156027716495584292615737898917134958829670140660041736627519254669453512556834839122796540687043908472727320805917316262220946236373568400403196847763987293848778244206566077672448969908202171927567233830600064852762813222436383108612994990597896277799054894327288479068029928567249364945489328367286280192078794650347005039067905525544961053448794497112031731206760378573027896458361665730070668896643067948613649727292429585377953370276157614806538090140989695942971608369942627626631621800305792152910125389041626911091141633060463496146043325228329653039335593942776302637451203271774628477783253013598234386823912604642532978289738574124826147409063419726544639698000485229289185738801477151210142303035975803598478547252594520060385082585044904978793154727725873371840356966355144681156030518867264491017864381969394999962959995337430136786875904416514829918641506531219817319071824226410486837412633537498417791314975125801742925500249202991225642454954021445115230372682904470716323058192815438687845265904995730135964365800869575211704223998923639186888167036757150592083908261492200019734302337308738028067408648859744405650583376198206149903080187627304354601410430166068369497151081448008171117423049987847772093357157166278932347457251120529854589595114930264921646970932819479328031654672285561179162563600554578753342862340657595961333580047032586965111386057574807377593218667575287337134101503453302946732602242976809412684940482779562732956265067901361886026413361564979717413434580660485036565741130332075438087275336849617181427570979433533462916512673414758425632808153691902585943286863626191671608969370548134685263555386765845944871046871559078355005772288072471788585733832887590189509328866944994788073274235263115168946760352822641179594030563199114782827202488695776171158669570149343385733514383113348304253397424952647100550981215267695944806494958860937946389006887391781542939047232249877980588218508854070194037553451351321472424411830871275122580827179216659012305402552266535537244368225127589029576705378842786415237762410342591183812726114958473450613679040378962156067473422867041328542591487622420188632910816968934393532216758788751944127746739178523966531532307723137131707646790006750025275947483296568442011021798992440134902223099844167479860852116121731275577561197836032029232065230558115083192098991123168574010165996696027437248652189046669695205074997632566623854950746606248775364020406260645043217809624511249971911749726440963643637208323210503997061635821418973713545089051661379732227668657928404104039496545618160848804518570181516457221785893077979542599607970525467568247547254301580643650624263119165911867417575831316388024558474187265927984669091641763318375705731244954522743029196639469269952179794168352655584349518456341870741378223401989616767724568866952082004475783666245137593671486817017576245533379893662121380171874842468131579670936371509738826202661504673533738485537601503355711863550024309247713593666191672971326538180004087357835665724233386161179200820857750228912535986712831971953150028250061227015607082179596024336173380402305985885224395198543250588751901412190632161683637175255222523984126189616906281209744266740031643273437239877997081430304527881338974699596288016351301765464707894255124964985623953351818298197534068654153635922557641680601574100965472947650807893974144213633820387873531743522032466087462965993991456520192327763593351747269878113798809251030589936212058935949528520445640629714535753666381435487441008080153628306682530685325070390311558831761559702082715334383526871784873128210618911446094368158346945257298252045309900658675629415960889917131894904962959533684272461654387666057565752826114733091358708476373049737011642227547974765602451856959853037471247136532015450636233330835602928932587818355319154417693173397282632333381824952323384604153893256402850144550794044724132631977719915221686857281773388563750644745268548235973362820998285540946484448463073329813823961418422090454502802156339641938371146545510262662888713697812840176720493511988286259540521727936510870123343164901055229601597250437662096524134351084044395230485242663428851289517933584118378992179613490631592405985398126135443516058031102565053892626240886359177970113569295574936682862417444344577825854323929707085248202836495170775329911091711456478662501040038782974095488723561459621945970969258888546311679914898083792018956954908851910813512532014237342939539534827920292755158503257661516689063075027492209081626394645235334631445384507637019848315058693079335965538423124108159865626245191687163927249671507693377191702863709291947006477166613533825022314443837760409135719062546160521965261247489392183081467073025114952296134095403724060787081812429669594115757249647615545649801080139551348065031915571035947365379426750886309491140275781417264139706704334504810849338501220953825416961513117291356128560557039702519962284925250192941216912104365451771193611940344465378788124681951180653768994362019088992550748876043339331789990198907364550538254587722011910121932880455410435805897011122336749929164835870583062084126552126231349722522590008326950706930876900895149529521573368460073250842151886930802150488426444979176383581384384709969012678095205865114462890462589482841750493979502968369507875713908295334833905191147099776369671600154539829350664363233089077139454827911866834480735054253996831234127425200649834369987276171214848700322308481019037774383414010810862212060364389056705068769762068280708944575490163699688756073821092808585026053332590577195477808280038733368814285434453913893831857922288262810454899400702285591205545564775810212352543963724064518397764467400658112621993691075104092639399587398850962421558080481944894942603680976131408316576762361987347617626539870623402291429727672445129092971156698137271165133577001121528656447251198307030389201414768753317164273226939188018272648435977785124567182292005122308342131021563931869289519023573529732057103626802932803907274737622938660132935320510922670343215428405710903655608613100134457919089552564039712883193128763557475620096591673073484996882139887561563432521828368789368791901857916279721036184962918710800085998545530835443961353246426446147013766972638244589023668204010832338047211055705817473225829924169184905222912503241885567652360208690312504876320628176164390310101334717114946938948654205258588814395028624337334111732477346337788401463916851282487847571336304174233724411552090974654007639378912296757023224444129521497544437866451454708344757829280944508286921268858913380093211227977795308656432323683604125577266036588543487611191682114861817612280366605388718878009716019070220556318876767747579662463363517682415324110985854710088515078758999743164274959343561344041826818082328845432487955289694896609400932736581741636276337739509569554930700874169706531315285131209694864863479361125358076500822704190779128275419966963535717217648826750697330246832315009722686570345325270317992443144236427194320975692844565802338764606537979188669144720202635533916769478586374209873813288053566132379140079419508801351456902647876000227191243255300547340804503225248277513838379645579551934456093830782085144208756913226893595898069487211631539342886775046745643592213699764890008977491175832201644105002683613500240677162384668279881049330980127384222452028946046142005315520268980358652466063899109652205253263590358524323632844709242987233782830802436729003696632821764244647627062766888440023428594138504288197683283327340892664187157808617597825170104105572902937817681530244071003634293403698300360445661189209675294536018848894058627737878055576149760556358063045910920725475081178335980708132846138120889589716741262432567772587310510671562457573738287184534395566535683928807391319059403034780663144536538388421526597812493459883259014943707059720622861316296812933329819546719791998239050753946401382468039900120163070066372112263701524746770787204302159362818380434008605773603255462311712760725128218707167684420674945134306131952952688648000399785408850565673068256212033262132882880858336834679492796234648848328324187963430572061807261258202135563461926074472753401828658863530896218817457722294377432230695896617400347032571938673016295977638590637550708821800131851570256305580248318322623846943210365918666990744778050334140472520011897786770359156409016153525558637528225452497239252880332007883745787325584519654953988189989453951786454825990505095923033971576864421906615765476088504111260858210502173862521141221632951038079122569147309636778051256579376300586693545600298093330997027879947706270742881810344445167
