96888876545771465278933180999239920100114584233548322676413218871407384673376317995332138899736316496932842721909864569052373139528182355521053115394512551398588118699241921276350741957705721393539491337892972275574449680979683276499999282637298834097282986019957976738524989712194219923747502565522527085718279830308446867367001429491015386921622316075947997998386426285518281251585920251255757331285643295697726518192943854169332240165328722628573069590201732742877763354461627506356914708900710126565911327580436596396149616874849673251211074214865456492548745294966296082501558243479224180923016569924183236926433621488585199764473151784416825928984476255851382788211915512898081934245929916337034594381171984032278985258583620869813024884846769265234881865749796311155246382103862475100950441311503887037473648212735631236138867035340580536998140355044196204359339777195867137809875367779282577988212036866270944423552492157762604315864568938659531823666292320812233107031457041168533276598194844964884403769992949829643321893967710176685437082687530884687448698857556950224637567848414638431636827681624227886421248267218724445758507481173198216138179782127641653140747576494872444167879453110511109465310262773036531318597436495198097967885514768677372842047442376550565485148498593650165068691878660845631595030166718688763454816898275856945287770910953037002510212384983856451499224750572825919130726223964731247717405089995395978264214334963381324235737901348057237980788866298538936393387919961258374323914693059081981387871431168853271146357482527405783015387259792151572298304412983063122375197169826363127311406297880719951531568903732362764631733385473294555136673312507021114958792876371396935756575525265588722723762519699579999664698699632615823048626390693389902770314394104612389414298088169754143564147638887281737188180292629805854179692968720326481059933181784568081545266654054446633261270913351796518674538303281241760223151261933657956729856419183985170950397480172352408440963537298176849096912174372498700909029716859488825766377270469861785473229387865418126196131453124212972519118414170031491210376775139384988087821684796418891790535321030960610144240788834847940564460435869677462602532498658599191891875117547648764686232552909945297653023104305452453215764575249854406017316729932739221173208469319115312474838614132547161359938664284410990962938216245579636494629375783174642799671596226919662246605979470175017673350634981575851421328859739351826786970048703450327582846677723893131145600762404492158964972555100863021299054344875054631388360543080188822486319346620682285390378448795666798014512958264949467217453589376148789915638377650268823400617335980353385398815259518002491889451020833268824726048450057485901994461533855257703691299056946501991641037794698095046705669656602523273736618297387470405781630298453752778634028816754136369692690191014525525172076124038488342059161663352873923909588476276284660095244435907642917247411132398641328778775300879644043477999165029788454693268471148027642466837327294911103098665760361781727059524780812192799970432466926885438168320389974603883998751396403809265782598260940660216379073348273247943228329603977425162833587375359538508243462112700471172778525735447087256255061252316739970539998981624136096781940295353293640197542531180476536449446528374553837861549878184365272365964336511955591220832026191573395647224936312000492038672360530128413089733794196577746485824727980980213277486091470696752540272881265930914456248639138498917698552029792275507428201609968525267620679017444218433831307736371695138715855882717488986923681314777698421634277130077205059116419501902730771673816827746129467927674836730544542379548488422266712479166762196118489754096282408867286663560409882959165825327473596234454923884763082050729779147091648753985652018928567317652178797442825217131330573885657288186466744788421134981381694967514556761871487494480680075230528899831495929623994329958322928924428145982776879032999749175156807804810996764769774748268611303149503316908260426560984431807379913021686403786264494532727347681064535955038776298949923379578310769729296772145760053884771493293605449406137955251931042225623233971634989026411727962491760242596794462143952804184546864766708599464071075650991125793261022192797083561977522999146766103644540889045141457877349441806958634714775284161692297694428560651729073517046704608658842984862461755667018702430155277137433863663916121450759596822208492039657087878380378295977366286788659406662124547217302834014115836704527259462963192870998545133098897536708565780849835461828112267784687654939633119228088970544797982958931876629978312170417278965819767714524876933733399892583315532213402919785390144623977991291621310359678684515382284491121167609000616753358567145637851872929833743529329831119495885456096116804913974899041238485297606784667031272091489167559456546632467030875121653137171210506364748157685018287275621467359999391644104037336017521248972470024313135074069667868832745637571633905274683652556343192230753678204164716401709720711399852319492934214335671815183516571427765526730504785847796766494515887974195914076276218264674766265127923051052179160761181829414541801181969563279827556881002439135883831791584289674283272833587658739586793607233879961997567751341352599871096367138686829485083920787074599805599438258483760311651666424628599722198307132490485020172244239315315954986994128981698100368587514001647528395023489553515741794083118453269859098372751993785652092343153689219409560483362202896762568273619209257817716453426286078547783310319723772455912816781647717102832857477325892772137233792141828696799479359041531737731627125602465892264411764352293090394948134565665976397514483926433874586226980855109379702785862350212736598764143951765221041431799777611751576848745824