Is this website fake?

Home Forums Babel Image Archives Is this website fake?

This topic contains 4 replies, has 1 voice, and was last updated by  Ray 8 months, 1 week ago.

Viewing 5 posts - 1 through 5 (of 5 total)
  • Author
    Posts
  • #14623 Reply

    Bernard McCulloch
    #14624 Reply

    Bernard McCulloch

    damn the link didn’t work i’ll have to use the number

    17405641545546928686894896165403238753975454418013579162884521334505396697051999888019385268500143420397302410463068932007014676218860013462002517926237146712009560526374764204047810822704872879562589158849505415317745338636391306241516055083029437734383075653385726685144287123822403883266552250575460865153028529987639895243718969082105300766206862892751112614493559446033632746438296399390822247456450765085175500089744501330755013150310772297015044246511918347219559822363780296871317578936684289107934248807983710858569395315704726174293152597019439659123817196885496750281752431598062284178933093392116698837080293269978769915649825849547151871979204300848280816799528012892440703386904472812495418071236148053025944548825217106860993660945878202808294485463185445090370306808885503967179425129310394403100640694743769802677772683744554257032535745941560307506386480092520302819854424642297323546025866470272460639729549557320206275852553413565622858466338703042916115944666729492787400584461382537968521369893750300547760314096461112706586359950846637369952109267665148608138455580457706658625883755440002234978414986663025991785845234692765322481777649732612566184674696089654383362423490758367381625608598052829635131478946261762325712304909389132209825282172546024843089850873234364492651216681516743364917994457599764900828115958757243452569971949669586756405718503528068130149385245508086962538019374586422179504263589227809706589978257739009087439033809505332714766781269580872740191592225917716408860647314098297520125977038309130254471149776496487417040154488247462088861438178950209279335456592320698437388362431068203858636741443120137935579041046813802162221228319662101770377457112405945266355739404115277568594671026782087693420365342140715923428107067978129402448843255409683796540918666814353444582986752562432338489867386914955197987909600203868623749546719022633131827196103173249717851617238619638690359671879003287503157851449002383858071022590306340481772289850635518122275207033536504701600570246844363290224597764403553931036805895188769318698676720093618460446702685646696706551041245860615690751097490337627834374314276271639705606166308300027660997103237831149333772694601582210413542492131829148225007393095998760112175660581054604599403146551292962301601181330099765884244278446947455960372074761395282710033858998486130389912309722028958069440106397742145934776808120947360328763180622308522304804114305404775340112042117596501252754871904024225779029623834052320390465755015841586751282226005175523344323989250426624720367116142896637251096698158838155320862648033933600950990857825826656000378586851884586675531590606110138317983413345453175856245813891507611406422424230825107601416069229561996023543131021268419257825900458944169099868957887214813758789652873251589506187940962274007374669554795011577727544163569829345998331552312464396140704560665600622680081294728689321396190463736632955524209024555455823750242135035006411175239228534563706924713398113650019225037286643810057594451111391580623910244790984941814286023779515950459617651867170565664036910400753700058498247530147199872868555295935471083388644483917394909533413071689552507750885525814415593450743838785479301648747475185666035080302666137756884348962719954210107868580484942807349355702706628026385936099315232312096037403420538085621146391667681965206490901557822840864334425741517520584980367177003924366345377158086391739457784505097768386121135541279632191404953520309569937678969468725863905299426406133665484185690183271205460360080115904007585575760360316741190259820592366952831435724277417149308962603567403544173934296796067024430734333278914454598153895658167541700100000284359262123055607566325252250903299000927124068596250780847037197188680826784032284207201876076126296500643103798926378396388035770371848670901498995084484946993503185697580532002019608646268820452121708817502359540412338335116667709202103333004896020952166993650089629224805032071787957210047472743787345398370631620328555596064563777670025934069599649285078094644556084975060188882788583514592647850313853221667251503782933245811034378186283666695027058479965301659618565505853543814086108109306708303580709468400465915118014303392616763848764172282631013096449296055382780626348625864446371670136415175527029743714732510272432934187549354394643729794801307346906998962553362497248714829070878557778604019255023860283606018423099315477712102491862282002368718523503840225848085738675727271063153605907904492887029143245395931991634915714954747274475468501015575238516386059259846643994388172703609418187641443870623318655068913172952259746410346718422814067916553049747241028094101268335369041434552977907833247173779515842781228345177053580475578339707123506582573442866508875771060626362834697742579792156778343759826946098054483204861434091223828036302727863217985776106096685941524356225606218280229763601076221515133275438221094213250505907740241807389206227788184234998827909511626402290270318856888149135566060417104773543076024640024487940899040848560022945465402986017758443536124002651596731137353575525840936937108611718992440828883686358285175266855176398931152570479182860996376512099542747365297322344600484860351375405794590892991221787502475369523246861880492911033987104079737175097899810745274403640688607533282886195087702438569096910183495096733082023130433161089249627491481089474611105390757633938014352377311476656797967919311287677039095367354669658989705953545231590842647718588980055990390616606489318632566216057604330471468097461410951853941317307696921537044894087580082239914976972809382212857652846388925748716203443736105553749356243627495729066218907084668865194634536938698613801789784052884044926946898991221703940699633309979146802270885226346112352963121480089920771992207879114291387848003930642393550541039916120521157014995558303971945037126104008313098330421941570265928819728815848303230222654177794198111587340117291992461432576955747686015156144945424463358751951331567168916384681573424965244481532908345183114226026228715014967547075891646990020123161430021307721230309289839300589924255763823056215315003396786896349289257140625760569116674059248989223827273524218337798944062938734656271117724246336521560525042832579755795733759373570121776509874788103191039149481101732631487614817200585806609216731781523133809512338929450272066457020347093742350760380465420601267784523221024276246574090216253115027301120267710668010413224409426030972108495296252556956372575692588032364597732155418973702756959775020696609125368521961721374055510216502777232792018982388248623137900195365123989135858950341968298399096827408005950913085132756545281505057279929260572565921439535813552145023304494359445154715414131622645670665571434716509324989520115593191317278795268004448349339001812832798023378380388748408459362442882325425696780154942289523267378870384724595511792353352870938328657020236423879366751780902841312717440600642234707135536627285622378512798300400056528052998578751877531675224402663593909415334291468238765518826402041455233237145834929825051741335088140558714427237510826054086269617030033404538320158489568897154664877087311443856550360662339559058701583333066340018849796645427387300705561001777235996650515713715874519608652959888651428839102295018356268979018554463049517850439984523998624064415565754651858499147329946828315857248561390268074257408005184862495640857814893789857344064795016155971937740069933522110926151135322432593720315402397164343053708840648517571543146490280729290067360732677700927352671121371384378449823396975847007798784931980390399769242211780588430161605658704356200087952737717945418666977032266495656821326493534228222873983018800168559192703778441318189586210469914518658852720274023617677033454522518891484260161696252770961016015037488456197533918748649734794185092189998796155792577435243527461533699515115803177341263606030953177529628582591090587840775929342166341687529985001821928271500230306955979083893750023608824789723599978055174782610486676950744950409481323815971571412589735009171172429565571054732390861405923948257737590266395947052466422564711235444957613111883644202054588781799581135879501072229618496601479786453196417032759854790570901782374874002432816968300178412870516977684022576669826705025329307895657504012715529407029772318985034708236317555631028203734702416991145941140100375165007653564006555890152635464896968938606738175045705497857555051472622209034460944042663330588034995435048485070002030238956090023002532540561470524384564067187186581139659171593317177884530163011567205608089122717805208035566196929331763462302110114773298007995383279705911943028949362505728222886259534306618686753277820778383402832015691756014899373667448435190056643946963591531034999673016705666591283653487939279773280388866207188879262655253161141208483145226038969019222343694269246847999893497496112920322635777227559893408972322949442875627082581456710098485452122260673837233342247126584833020571857378269853315190410730201573513946191951407067115284291805077899448892610836192727593856548357659358647011727097873042792342929576154129756735583100391940501809639094848730396473148157465902076122897024678214031071516293996184018499369939483253848315221332955550468829307581715644034467397627011597397478849884225098710341864401890790460611946860703103844384811411245731820975318268477202372169378389928502404041843612172266455480371215934106423044031411504011148521774420233787532293600072054616753204580866930328859239968876264725682159458168038445862643637071032560873715985216669590842277998022698295603406145058213695987715347168458456571018476934124707576760751111240925053205066188834974979361132361040756613726717298497643798469381056506683871135427564381734258417031767619187209467556232303597695027757065393975772121410025855449695542109442683736038404233520276146719536697381241539669542459266073998564583169961253761082206917218337473933907478858766642270783407939090123573521625125968362248466574243039171492345060548316217065803293906431051765442447324240029608453706326187275862557333684572920441322357770988455688058918890738573074903765992253296353125185174643540476049299068388031701581036800882427508391005881903179144823704476304869871626281035629309968384882693808431697032884590041979656371365323523955778504219063226803763225260462805523490023452615695458666530938122097683049284664737617255250141614997384981092891326529190958505972239224914033557701100730246156997410864446162028488972857075197933718693278763281920291813766381166927012363242637662632957790894076790003331889156282630262220747675746192799099920474470218750909396675137430296094485299033218812634132869461343781450620820239972871824162172731714531453244348358575773013229062440479958226233216608647396125016082165273947310010483907894960944072224911326743104746171810963517641800034562491244244865803734109307331728536432932594718137790211116288987151685843523302979186017386722765476771789564541695629210948121902873375014539305192554670633896812410506962906216602448036496680157973603298545254074744340172037826784137225755225274392290245245923358661239059927041547986930301398130513999519535744683407015825625337367874879024510234765548369985119206670107274029575536009958316750743125295810429609373132753373416306290251717271567625946581206085542415747506026837141045380206638867807046165787689891990888310574681491370151549552961824126161923028817171757552504434297463834953186477874101735244408595399504334933838132457050140846170921366857790900309347823602606471805177957021888469439859495057381322650515636926131901016779272708407778381075792150482838939176248930117713077945267874917749446039191730208616942520992016806865472505425005186581261171815466857479521427494983120104021847026714550963397096552034268721103006939399963046900645786519952338833155969319634974536131018555320839544950975104891935379503740328116110393247344724739134966053770048556879575336474636688994799752550206682568529046837188505837022124910386942673956212376906097754876446348344323728188781858437738522100393656889375893349184009332038488184098037037168352814913679279786476875368522808838686518568064345698361942798248274453152490035025340898391761840072478131723399860501745217354043607083689498219318733880609722859340996843828907738106509274823083287318175643705922542412209334712856715545625829526585690148409916782601151885606005482982373209849950917698943457243093306993064734458517351081816762644463810615924619460027200636678884662838994663005586881714072967126094135804773632756927116328926860041832698452646936849740299355124570351367619943228154508855845323437031390075413236404303823807787029472205078087361079116959671795816232045696029110725511645662846685763649426740533760338412591494911922630046189538775988501869553549967395095107256573502585536010460262291016995711873970709597663621179431071421225263491816459875982466388489271351221073335769438911511158838790540072788865159791978396135910593985558041370632841768236872776604936929758696715606139831400810017931515213414684409618457616374553680862496351372307320523985902400336849042745642661658652620756435979600713032794932668762897819540067174416590991678758626319020643654469969318455371901855161869247444942467791785484851375383646907020814515348735991382311205909233254963777876665950621408856725863660550526975668225224329291658032688213987582773910955301026324997712517668741824249881648378308618942965593951679329644109997675608422063732013400635829650876868949075793987984265074889033936576959380478498236219777935045782355316299264251171544665027424259567990472483042357284107160483717285228168587547313781846406580464752756602624929435238808772252203490148516677656144276697786532506426081176305011201905247364623053168739218293899268540512121903886150876983978567910965708516915735945060801814917692187081442134319464750643418457161907522002321262193556700425914035251365775114893698816820610255224497736410562473565684435454957090701363810231483469811572071260385580402505601941233377166624345233798914120075597581839590024055545083261119035730287135026606653543330781740042901583659260450490084542316058744960299968050351150466228558571266776097485467133030795778387082045890631529181650175454101820049686721907826408166496924576844354953995240343122440411982362272303435295721907397590483496462741068901726193364458081491549809080732222412360080706496975496658077923418778492543535165954923663408301829638745367707605444924858059990763285274057358899090889471521090626645876091427727780138881334078273151668283407878302589501017591958967495621890121863105446309104578077625030447856045731657509069259865902481922108464751352886120067733272613811143755567256599106125133490913550504035892450200970747053519997396540937590034301211292275461359402004115103444320790766614475941270888427168428150422066138346540444578840681724191322492607492407558574464728148294147133286822483307612460015458075532267003182256008305726076296173350305024478061952412771433716889199311918425448482214218554592238906991019189115307573009006495294419831481806896566903771801218387646892268048455292468667504299164668940907728728568917377405035040239727926827650565613042247769756470440348839150143600025125899438110782295300665741991194682636214306444832801928608321653873328964734766611780940810925560628528293486610066936441220064467854945779767907091511039125596472014619980971849447935843387953988011231841096993675878161584781686029282414278305602633479605528921711274920763345622614552527171763639466006763694922751636259279845789701309775790872502646620645296055591510393101900650845937535192956361013426286227975602291825221330193170646945897783763886898054296469501240991533029183082568485839152460814990666346300381623557800817476082765735834050974809951664180487637974114660746089468778362758567707714196174657831118828315285299427800108943474510977660660540772118774286166049917169164463165126494166504469345316583007322899788482182113492487760267521609491573514795351874010949399320915903005886616045194199104939337890670658067660516000847106710662417694599865997895136612555586459842889616013561082472032866916381323608190826234956874222820728487958341913425828769629513452881710781898061934817623286986026561086209465061547454395570628920229619619726311391873537595487272442250483133566949101765872910977143161521924770548059792880056006925175945053241820579827694272797267719279665301988092004748293127868140723865549886493795001364606129314614963449606896813968662076327566606480180461797499687422479356827641745398393575167330460984293479501405723767950954543740156138853006869399548287853475564229528115250242118669024519894363395220101280253345363256441919546590564341020154992956408425098712911837413565428324569827583153315417760742851458292236114724355876486631028137133469368928961986292558076087901081607064591397201754283793466599601114066062865523361803221982967460735279984783948401295911878021441021945392051561168631886714903863973670609804695346932898068596302192299655152447101341178568213737471081659413674665604348253935737038972075094409620711280838184940959586066378830990513977703923117476645464779537006659509082593392351680621793086874141071979037997317142209937201267338064745659254493779211004893718513106307768325704879892922782809469513500465414276592857663762852927570560556386663172539664084651335510933275269859643382614634459460217876461167578344013496184452623208241170858283445444667510308468946504516335661277464016825571217197499188190528279880260731870408117617654530684024506249657638322139320456010061182469849888023894551976991312792503701610088965332981316357194623749093084804816859795219907371223309685232500624354515232658718796720849221506427643524316250193746800567841078778468560177555414594554314985925937892844643649411002889922678440754746476002795995773218212074702833575039182840436100486242150302313852608118711647645672420804561978212671649995309467485051350857708415841784992290958274273956636858621840181255202244176866066603587822597712503351364926692846242997050824529329253661940484592293779571631751758636779280479795753278731790951452060862337659545402771935581725131668497876824078404380178537598769620496508358197678911353829910684736948328423655512752634992085587231822718433471423582631596312439496131035451404139863739296289173466363740304506389703476375925874424333209309775916465184347520956708359046198557605208133628631500348634530317057396368028868203887930477723114138925050271978856647272465309276116008783245965526621473390714722113354327985235448419433850530240397742209063792096806906696236722225196661268407737587900370065384610359925627692485116864929500076875074537130156874426287120672044791492589734150106758290206758932110057072342846667365936118233601787876876411383664514257802423933944907986949850371564157766853242136500489307363111668966252680433504968016781775185566791717551490208076316300420421158216560371621062899761230394953675450959052433502322682388039794816921031826764053354875493450928025421671819828341357646488852785006069421498501881937857670167225092834859730954586317863836117880831249841926427935988770339278108556375024249249627581493350191785689024412190398244311496815408161871259598554365572075009338540769927704885629088268810644689718888155324921460276145430541939588165204445282434383150537377873395646383333464904361464588901310447937341462092557613197089483199554850062288615945740188536971588030911100818561730315052791634145157318054026539372439367722672044384130643900426715928475944688918436922480866301604068299715023851118434789496051776605114887098228908880185800807932454448215298359915032360583610799083085655799364516204803833099342854074039506087593428539861450813270960763789183297941709495244469910831954929837529129725268460646593134063602596768610913147199452564756117003291880120667084580867683735146651662949583703555234860158434573397981964310789505688804540735705310586591670823199378681919519939823836336612411999892580395080395281412285691292939076158190016980677191521330458598668087584182700312015869841765623049283809084098849457729007034218909298950515369771384334240230657397740639204400139297223259070302084705833669454801080299493667832665364673166035856301065786597587698335173028222260123494221854014843436115142834230099941926659798086738710073979657821913894013616593560563358674958862561805409395192104401765135980411298469435150050457822226557389032157578864890737744001144832884294805260039310153005743747329966734797454722656151669597042009404442644280838370686956305180920560283677274273623689417550369303018824045146501515787402880839921896520984959417005651119494314537937927507009805283561351424976680479100079959808103440658070088749242193314182096072156416198748046194566072371841162631779571790444220585032464166977913329630816432398143494633760367514672120897259036371785687206386263676280432745262032143170016009692563006349699529768225474977620053102970706834369778730471399160164457776376485128113446396026606296739657036741688105189438910649573962897464509608758059883336075835905327391159650035836862122985827704127126531008272556250473259646604381152534977404989057476325318372792429828366031660865044804712354313123247886343698256887754861764158760025209360535189135028671902372631969176313652669024296230341562409639783029631631615302033178636307744817966694645378871280918256253910038409846909018956042781773176060508171714641084696877765711333035986220504067844773388379539828154091038849051769206305728809680832620538883438441905900529155718282906275217714138572158059823567842318320451313251212407224926640854196657721613518090988189612675165439343139828874297336343988675198384758643836612276412177190196180988325887123469234489033582048908968554770045016878839551936431547783936454907785905710130275815319706402139366772440106013297054063237458326822087209916714706904594304927765128294518506265441732003201347700789596829909974376829790103529406634257980021529500583943364773949070024491797101280121636191231591995651304449323902063197696252825849835381763079989880859173460773916847389836211697120900618465375168815145984521972323755673833899979901704065080229073500966364911880639594018656783330861714854712085904652690231888294085255606446990015727336254112560419982902863024712100597478046727975207216641194784680432438075381520192415105056769919478530956872363746066853979867272318447948131393150214471011798359309672385713827018727950091805119563313293449608481250411310255604371631128872158330562797710854882845219298128605026090191766967643334173426624051109116135620630643704735834487374098895713585811002257408675042052175285479342354349944663433830222169868834087357143557774472720060955858310200304011032329170503072849870882529631475820720184165401275199039841269598348748832501057426835206874238765909251157409000521757138060707136265627957361391899927955103177517965347270859507865121392413012352734475595155266277626285217729606082470006010725823345810223113553984282021933978991659562671795965269750718585553193027726196628001040393933694454193124352946935013626659785831932822759616037290684320168312500475205395837856694758260036889525035731998527071991993334100602643186379544702755577857226757812061762726545870489073859752618886682885462033993970746732010903724444932718520533479354766715840112523519850019854935138957744056782847133814299944343071045895921886138618383853867140711528140709568339906434385502409326406996695881038080447624625144494254816135659414559552443110085776639983638011450898663806294267539617665765445869548314166217299628380248482371215403362229670964554315807165089237502522125214340916950141663729135887109381906256095331225790504728511102521086226623115471440502316648060459687601354851369360957777785341349316077345146668345010760626804485632707445151436916631208560166282542636243294490598259530526266931196684623146615504220833042497152408834090630261048808769480992529527613821000586322582969752492399624971549124360778748544945237498325427595280833854396105237745026529433355724715836352833208455860263781033614356460753873202897661014807340828104534335153306618661969969791316592156266724292579372716319258275255938332302944583361002369463698028685452622614837426899457623587274096054816959354965982612886256037836153941012295959293468543149062062722731047010048899850207382150074691751640426596986002509879916124102069891447758275363169925440271655623993091288374544857934604039469159854929771231666534705502785758751219311573164074239118517812077879165795858656944401876251790621467673715540398458961597730825082643928393209611362639747527625779254108757302887793632758667183916414139467265319331308403709815268965265244029185455395629414936874150288219358162376153456137450821522343925826729299313065060532086704910570552779688782918653055152556805198636839642956843568394192349691570196053781400653867501196762047479262920755180888888644890262488601072903313667401203844095962214801419370909301406485373540044669550799580046818839588993836185004865005174203000724779146830415324058847480073932863350005031319644072504654326585713594247539030756520149897490902171705040756382052946421049923655207748137072591069629156499860381428382807345181243547232291055539830887396880460629779841194450323959024629845778856071134501424698707661726137239766299871680237966560661293600096784791380684865375325676585766181536020574016662236494956825434821672510845905888682193836169726794027644184376794874238022914801162968389453461569605394663630081121379075246943063444307821826617539986653751607652674262429900532452087824307726659075138043025716166689298594595847580062150760234417601887332031393754310802299471160783954180773119718852183032377529935034408178475857321955594304639955238393969271097702231864687866307293212948200689051769789526319944389645194526897411925377038587916039138398726171294795218890971384004884738511176205647867963041120212026435985887112571078798341519177389613958792162536180039900806472555240164536266044288968431185936716296911201612028761553580375848823837462021059060890017511207583076249360769200447285013076162220088940230316576773017431523943703873281479769053544628595665070907206148313158752808557773064450589007564652332041925531938143389566014941522995644992742811018958754504292308423995440524205914410188110203241412403310063453288603277000324614447632927268140895002222081308346235888423285050224996160119428941342085144913872214422451278147608830142158880897281834550038952903660437207995317796009492536222429191923668028030170107757757906291270157196310772837646197619788849524061638290473487103492805562501210006382882502008885731922079423763525175358976437843845892988676935971963786846457991807911344340696538568318775589793433959740530639054688014476690624177433353066539299521149575208418884621395463571361753744087829420293069504702648710983684077263225023137171923561905276538198372597360619962915226108357857634560828311568708229926280309782568266935435188902150645393611500714486260437298914228300140730269628412428295819587158154785230836892699548724434483090431593553689583427676733800533742199660404612989981168113859088257354438338258192548171523983631232945659453306927837900631615135788820142284513610870158520367908981367410164016273021338361776443701681245239259041722838262338597643132097167189092990699487441512497158232296443127696253513598704277654695067159260415559995935265958138672241706145724203976896047314620950151574134731377110281559525616924519884024389055732754453943029808886355856528614758844056339944065357000183015932701865938527494976853129496964722501889028992515792605843120200251007641928820749437514042387769240701293389465572660482058221025033880243105444719529523625684923102155092720206350186463668592215477950415651886074671327435153336449208048137726073518071280298161642586082159687945044084091465074981573147994457666705547733085750185595283014718194312566740432002206135701227469418711823943542353675385810236405158301486740790473337114786230930377291075858470982055635228195174795000761107411519109747993020671931170952149609691486635335424940083876025639224471955278256264435296214641950562110738826429848048749041000772436666943599605693859215004011091281185243474704355561720993548958788021277169680829119288798529273326828632786462535209087177451120502744283217804084049912913439003072038123350833133497319936957056256138214250246911900528856120538689057115401102695907199490124539515866019952357588169973310913142558760097063848506932738221329257085386726432068464489440230405891972037501605572050046112775898919893439401147299899541931098523771974259246034340785310229033039944853912932636190649054675412619795125804336625935983905356793007745161478475929744833135166855360846224328733812345687765921895556813470634779721854380781485922852848674511953144851448513202066115106135392573526295047906596486337295850531438508756154946118786520258250182310257901907793296354610843381532824594148540388149011711986526823275510154970727417288970973431649181559963901848012865596505913230383304269897625205613127865155605800033673208904302582963135675937297639010305396886603243159230281666466505768290427301502790654195282349756600788452589481347015678668568260653580641620282256484132997414068580147586401867369748855895239217075258807327120776703313310440211901733499039685999004912352012170589381154320255172021998289855165774875439847048567796070226884978430793366227217641931030997147938909194378494051739109624253455136316775942346765919698687063687998628772536955228198051004754083622438624060517059607790347392338836406166914481943290844607393664013276198958068928984107701239156934151629828709995950664816377111423627538733318749538364014196439803139522056131261741133303722144744994783407329131136422237754281770478772307967029930574381231955866954121037076043876262851200780562493665806790475362332028106639687278225174917963295827522485820912848860292547922930572817838618726192357537484908576627242488707437895353914651206139917370597331797787243083367922392932570634207591790785993192689759017226908674098423297721438225080390767792546906262816865966101175354777993782933056420215090572400128426540695240454296266773249955234933978262639061584205797919427293079487055875460486810396638610470581899146826526609253328097785660407100656122705763111085802387844106339536046467519500092026469390828030525348996165927315270292015784435447674581062320866296966553963478204157416145075751587694006398827381264054368575307995679102701132044157705810082585108590466733311544891035273566370599085718506950345004368372592976856983641662657259824373938338365875829680377647516692017957611000660749869124132245669595141353711468315389777723562155161549437677345039975484972180558960286252097663381972736671065695909667364140635511777268073307630788557320284168952896025970745953804438904404944982365869884904891700467175385112174288972436874548337517096509498121104384406632160720102127769757045835572916143022952830787086535709211982603124678366937635567231508023067357230796289393239859273269276825508648066619264358249978964847416595051695168797642315272557651907419704044684703604173106872625943163467707813944803767924186752137899616807005440644261177966616878539087478861972859895582100660451422570503287773572315356558709739145544852484602832964147391384791594477904914467299821725289939466338371650090760271856619557478400251945740808936449035288737310523073403892547312212244551749255077105568203274332971051269061262415240563198156344034461882270503035710263375148609833105963150517648592257148410280174022172573767483537039556178727186024424918619890331344389957762294197805329319059192036469231884182107087161962352726439068652850737504967318839186498340456559114108256189097027726484698703076309273406683475242059404467499710626720086067246285368049241330085520347176536614574088395754981692651810259110118696454604811060784564944228142310058176090321882321564297282168137409031882486500319366572545097328792562214391613830743669396653587196743414854399151115853398269528442066076170168621527027316751838333914091089275269515191915450711960308665420817065537779999576433481825333983485298930672338728229432016656962400775250914661443380285477682031007532912591155070279593577059340734973216813890878035351533882148535081254983814931219596432448206832474192234380999731862957529542188093007323575278364627829908434651666247552909860893352086184107943352337773381417505756150284105349580207344954230217813899754412490231763162842149632041572402084605326935023381743846755226177045797002191571662406050297620557078581470066920073952783588801588960827463980219703295004247478667049060371614595058195404140452075258012236141518537091743508117660894633227072917345116528094888029997681165669634225090939342594104857917537976402115553408647570466201823097295742939727571190410025326318258702316473975524501151795098922541704271750987686516126742760781397556414221086248023321443500924059422735141824865395303719776555110875635961011004634973576122201988667523085342499877263903406106982865418909854659853725300901910333697701521070331504610883252698802121273761457169138586074911601117388145577202825404609913455306558176319759699448244359919346112389567147208060176223269394171354249498624713909940649818718433126936058213407825229475312753095667529898153774840229528838596167966652970663016726761494865248132459774755277335483578311828859990725946555829279970748071500241228787275606855122119962864104056357339670014086920704715436943855144471445791090750031042928922574171366034668315622940564276816718729928691716577361225400490459341654407121886310399177657887567469966006025367778252984953070338942863256069802695481601573172368198946976884652633847120980477415013021089806470998766953666372167211064549456944285449699392783000514738418289305382507803304278726119469126380860648311495217567502386101314505166376513289299074352382964761516151520227030829874150696757986189631288145627122147972733946229558045337532301151127989696869978553726229902513794594484243793477792063900896554414431863339581496773441509692622570806326617718630479022503703550099883509344335586764523093455250623312661417617923231806831076320442957781751466052213274081998611394656016698094682629342052685294245253654116154825819136192829138856910012779090445657657842604047920432627523114245796324730386824108621509195264731338112482924282262558220338873946100419017992189106774389794153409564422500872542600702016071451454633580215418192017174526530345946700550619698074111456729117191266174224373108888866162176252606455460630243605943773070936498018007275713352839315503354128800915206879541701540076702129729738658857272853293585446744176451284863602782406521634081210324428000601983196271477997692454252341346640041967273723772409422546266236807073591550431013670310956100720119671051022872951239739542157995378179379163643638631880466858134835754330815288422531321474341301250577889406693931472197342494754739992784694210242896404489880869554160104295507310591231938260172243871766578849458188263185434096153130124959320791619114958899236414367356090111184286345056704162233868378660298621455171090964635181431151189621603270796627139842761255166687522566653374943504392211099687603300062519918959549675664503084589337167554205712010651725656003591393018793790344046526293622728657634830181347405677533363951859855803024416719022895955078565311996985970155231176781082415740361687821009104553829166950894326396355008292020079028864993239240383140470418691903206534572884410096847622665095560304967759704631511752946351710380308003700224934371774879249467452515858342499550707945424008542563885724023865201866360410317334278383003501147205722403430198980112504795551128195356746356444499242960731650758480976235698423380071486365264431396587853207935866053090799571727383073527845342778564963369108199435441327768617790250608563698372861867470299062020705783728119495715236603476917915461467140016379965370183482331687323374043924252454749348368227969363171532766614210103997338370497738940064037048497925202516745609766554972762642199279713831742726914378879321159127893166612419363925225398578444001422862561481049561919021174238462372444426821010010190069448275814915456125782866453268267283494391182533265866443456378303972195880613995791302299235345648376211518515369295828704632542510631889893233568710683957968917519293608248473653319976981800431230770416745200356737625835528125146502884417925113807248053572110134352334724709528786725639987129746243202223152049341675463161416462661501131192619085317019921629818600930027955305843336606788645753117135112108937159272080637943902033721790998540337333965586121495881308166274436006206389831660714673103480594820192138102388351012760285734171142306876646894213620910241531045198411568913650499300751059148342883767508771873228491571868165824836662524017595619552289767887485080716806132124031172411936090718471932766759148163994605553002992815025800027298262730989159678968737311923462802256008942516263846226073216536867460503051330737654161512602125668046222350975498850480862276705127068266310564755398268931049128905970010507672155840192766796331372585059491770543052173767122704090359891102139564127081608574697593639573320047728391866742105652412621542640153375602084322950286996221423511959135858027186896288918079274890599010629200261060861844240258453470936461871663572008686515236127772670484243781547261664157534799099728280167677040247244867066570406170499720288132325869280185062591140866837677632567114385442115110161814370282921520738878415940771557753118197736095113987845994933624937862139404259339048047726913473353639082241981358976609501410768731200900141159462736252370339566868693600679752644336484649275469893185744152695831929799720601583747150813646052606023831580427868918268772598627787571269850091162089585399641267965672792463196855817059728939810542098327561428146328470154153627060940069949003119440677806863782473966465496034805703568912540622690793355209558638182127101150536655014719703092456944311811666270147878921487960748338389394565326871675727948516381143507232968145979129989926321475278461380175042223133535648292424863539670257479065840325435261221844890458684099776446247709853590851336738340861140397695875960631214061136924496203322493240331401437234278336953019778885414375852437891199201642937265167108224067305607210338670447301035375099232277796110966463917451529166940403254640260984183122099477421028314990592621491046185372332775408283106293251672580378969834139823008304748245796139502335403290387393543189727772300314199230864704319471268036594458304434478832272167072505107270781100490452170921074720395290710494576125435140460103072935705305136551140470565654715177784281973078868209782577343057785068508495562604098498600583862409455210322443473980854882280509081880810808511510631879676047765957446250052387377323679051016057591843166707651475636655362491399460379039741217503659710430187567987852263319313005517366145630636965205639716551051281972786377289438847589710032306122954812033567275407154130689624818191303179421334099115218008100893757143869638009911273295389990799636806059699168733501457441331051631834650145124018983318360302711857305886597388981892135779885366177101654344142198901445540871802000188198559241882187652653362337599941044361403661838524964134391906692176705562839250273637792500240468780896225189496028092636342081845769965158617564132956474264917191113937089978720634028149096190705890040475492722785989542545744481071689412712015861529109310952208574469341251925249959258314460429371604582444556545640079282774065449781474956690817789328645566928135318647595932790522597965739603149136175925518249091848556742534890943872910727182855057154119677789671112246752878445262170058027187010167034923519751488779444099975084935224954542013705162334506321359475846980602365327788965684418935340631728811668174594294848758802944529992446660780823625559528500758597035268731597927681440819987664009886307298832041623417817635759266600933323228297144437402176645454634165485020981340169530939179340849954883247347780253890641005438689974785415588272168390774745669492367290353020127318144041417529485287789615429039975424679586220929895317340328826463571856863201381269144638503577509416110644199663900129461079533283895140751689073563022495498895569835341696979065599379755460004165570522752751152028509977014742624931013072933820502035360989480970536371130584967433056649026280895977913977004046058783157611551175782762543269018426376634821265822568122870072079903459659172881993035257089165893310938759204538467864346204827645356928051445485630321440604251148149130600592320069292504935209473209867002814919848689522659086398185854986665942459594623593226482350448261322747841257129149208675186279754147956176159247690668754263867065327818919701216370726085583214070931752175807763963602612824032242341323848205466157637334989872327581778066671973176953718108954716347310517870428326062168125230301378783961448186570417096056956280321517657790365579905083081511887422215861126257204464396316642174062451960352395566699327177321654335038491547281470048476431051978431474260432476307425280219786402894525267108006112592064546467989055098150067158990272210111856783251700395260447255661383002760171205923673378658454251470081663502294249248081656693645224521669006105336675925972027014976351490714831556501715937391503674546831106399378491724771131151893988628198257238165682418073010705298740504250706580525112834011662217509444090617661039966307312717482258346801693917251598468505103126307379869920069889258473524705534313744980854511904914174888178572247391473145927004989588805592445641859926487871352984097246289877732096064486152266551511851031581929769989756960419197053036727142956156448388959558490936507396268783914240550819623873071276136220121377056136530747247244495875703352983567533441281124248749935032292914680231338599234868360445655835416699674030306599974762521908451235466727597000570515462191352039404328154395728130391460106288267604021730572717556006170126864102945899109933661545103384391404442363194482559451803148131235464913733157150723896284800216209303430287487107620912497498071171772022381420607079313215859668903448107066439578900122667386869791508426644420366625563559425592565438635534259946148800485007356411716898615669526300224180338392294816465665519272228285991261719486414529581489658331262672836444160416709614327087098749011611275613964731214861310221978938103025961266649288542926718585632596334880276354267982350022857621972941386155014475021538048534282062082130050632406838849566769354284756792533150515123425734409789270014992797071794122379481663884232215259931943216961572304009163142843686334653296544682210954996489738471132793189723824816718551758225052797802149753318095171892555927109188187576189386835345365307850809106853602592731857419463419922315563027851188019933483825153953992279063302229822146644586395045151663447915477721815935722030582861314525932385157290469591009078373042306409940881154273153409141371695414969709660318349456307226206809478038880956554932864100033306377166285823507333235253697407171029220711727656659854978620801276863120677333832611398781274241154885926597345856168288645705589755973064563132173364502882845327613893582168757423640107770058940940982523005333331955605986553617432979354613142352004949540266161128863711294976011876429124674205313314525413186398640925260935932088742645555215564012107412011410942459873192214970193330993557836431876324821478093711870512577460916685640886004631777124192947743303696806135827752178079702311856644588782217642892254823842053488978520202200214818990840613908018775003701251245150610876686510217491509951357435161860635326550015668729400125168576715940659741258186927051390961672225836578006537012436744712507707887723108083604555694820062678799562209422261918312249739205716540092964047056381855774475769189623488859655647635023637891912766433831878457145705116399414292788200582770504450037926447929495421426964086802926859992939595227721255933403060055910738694630846797195757294912724935153385543315699727566915237590075470763326511768327484028354064714568518401101673225971787309497419340144217099255747868543597214525815614347388696900742598072190768805584584800227778220247856166075103941534932416358977284305411932023881628990139378042294069583382708946386188020879209834128229400295753747051206411351349620421603694532074288599867580676181452724494364599556049692354166909350258080237122993232511630905107486322351094671894500248317788637265693394431996399169096134994897971546473591997740112765370262337757121579528252042419064480328414904853152457606461889966144872126415681290257250113482851106337098834091540604026949899241786984751532630841690504345087223429240882265314936077034695840086859079258322827945340441859629067367397496962390969369446922989465494447557680622720664292176849082582709372979243687902603282759397113893507611342555169955183756298742743230344288610705211713244255358263066321739542642603963373825621701863213537546794037576206493902740484344025207628134895113564983863855564933279730043129055571103852640055393819717911256195824983070771090801137360580259394285785055063894211777371395528768686088250535425749081583656817459399674299246191026801764048598873490428095989360555749135028692231302065695073684393384942561557146861482466470620872047822679660685116117103738362207618581997734466305265254836933405919160864697615114197784375926876493391561722716749571391047510223587644810608383482418010445053157335996105212858271009578037910367252217008420237469031494365233516804005587374009627551238831346745594151484549371129168962724161528496773427821461793104709465394266427322425076840184428593306226092150463554743460158396366128203896297187009572267676691555897000674212502997545591882188645334303904325270260409286153685775790006047098603508873046001730651758130231344785119926533058500757909710574686146372347384668277427134280014558130835580255683563828223741492445314475173230467722718874357399905884912951643326621112014926668092751292945580043689809366301154476494849327483610580304086414754609239161466088307620445560706956743916595585115012050914473182358892568675300184342765360511733453379282132865521850232037351328063050140300264285600668852515108297385280308574839640767295571794582101832302181257267388977729568567802255906982976609781742028045729861430030762103566852649138226269878292878176689257572715669907497115584046661381832748323831578098045651982097903063894543290898625894612455188657368490847924720055558870523781200041151315216536391735012956244922520162361949323433234370350159091583709112106021560155366589003846855527470633557037967282727377621543744228802803848525957011145937585484346840972589226312412885129293170700659825743384230357689529297662843951016277313276123762866741389197945734792769654669232503559220064748874030793991218667364319781183059741157885091397127599131624878596403251247908826534665562104997730233125716379646504069733170247553026929805909551415608869223753715301167776538334219796345222537749297835533123912958755553535329565903757453786810629408157564074382336094593346221108288596135863367510938340310483019797602957388141011336534714559109059829054875515858168790498641339618014095983041451084614305781808756832838650870661828519399995504110832569717852555313473227086801032798879167748201911862960829442055319097055520562232892454647193517637343670597159530366631937857940813120271414776674279825454394278774185427649663931184791300931133504135413209205726775475642066301308563974508364229526326050269752349210593405216169882942027033281213073348016415476698918673369288952520845272731444306395970675384665379913354239165066587140972337886246065826139493990485621952326465693037322608686625341854704674693754786821248996183703596844453773832495873144899875387842006835242033938751188848033868950381337446499560197974172946245447287282291017775560282828402875535862651269514907701165955207106613362817726486502064976728296176926024996159063504038403473035246612658138312370419077595315775578804724995688736604288756977446262975376411967437799296407161315538024150363613143741918650725271397133831299221207286339335469172212316982261425641183022246269760229042736497554857919167674352516954659803591793803163132856340651320164477853817056473774643913384172163673249873349194710017035077670142597383974086283858672056692165613749665498669055745252555825744363805282292217557168265761628550031855014168260538241839170551457700809473833761206475909982974164267455011223245692138137679416361312476202380453482618350959020431944659056608867058597095332001313334097561653661054160553544972990932036089447147433900453695496427877471291106428524745252102531162227731876327606926576428553846660694186718631398772807579570537320023157266604957709055999845440153475108124017009461468665772872049492166079178864870559926951878872427118615640986735700273079213345142532529271687736884650175407369952851648915342437459713185251292467732840441573146385329821092715992000568666822849623852085020564611280427514285253725548647494153988962913309133920554328966036298895952286524223214832461135728253958050285169820505507426276315529646816008385285728693144617368227887151225989128267746059585064212687387775857409825796318137690474093086086869983641547093081420324137423018029436685862035681592125789012179121650324173146459031266378941527332567457421047111669534954514280184454820301800089598956944713782586221402694437292244810596201922295791329245104534984838053206517971577459987494731229663407466094012146759121030968964607763425362887198604493441494606704748475992146911171960628553964152195115618483521991328274177957799661582663751169074857764492814264476218566889210220097054941631558282529475707073767709299158304464103165516619447746435872205116837146266978037139817452291970178105029743106603936175910025757991099019457472081385975687709218834619215142165872481731507303301356831085284583166217063730034784873351660004371388975856112978205567825531447392058268766086691113906693087920775578996984826828743366235015021348092232958625630365121209217478799820390213511141778944793220234848383781862888623775200405052612607445777460889882926718678077671718513889061499889129388097164893796424771608064330920244016719586226354365827718768386996472528238616327430614134873667461737418201918959744675988013392836437794848260797495049475662900733042506702454194739841703360480987679382367517412651116702882719176228744767923006520828440071596827820150286158830485258701061866580632503093190823584391934552985761928375950364268911292201428417044352109842921422729473407212237060114914016244565229997007962088299765725456943399784291813794158511535163721658423824134117033659441458939698928373551926769336330305031917411541635939136522746753780815011795060554146174206303126137383280083535345637381203313952011284005720394100583293369503510994916359445083021557349654044009664743303338285306162987452560364343920980946024619086793983912282822964141738683544977645660938748332814331208575026240868687681679987796821302964244719258234830051238902000578494865064089019181796448809972764073598326848540245931844529489364801351582181279291838973272037902205802836166873464156722016873646137091295310732073599621753843221891237497136290043026728894395653847648253939994765492479123330116339257250587277044542154178526509888603119475329072858321547762346893468035449979218499649869724861224872257235484506573191427430731794627895137885970942630837263465442202295721038846377023154414340722849994466049370231868023298847434060178473434227176603124959320172571383819205179601867767699105020264814991607020401744702582118230517442905554979992181489909742337239735275185692570130374648870236023371500592485075928380199855779132792191164061161310524899382819127303130339643064287597899580690648992588083509555665360176731055615176012400783933163721609370259338641799186673132728132212694981793677684329557830991065191038946185773470297221707375673808293503868477313810458630812837261864378229407145062326977985336758641120251158330482815813329161425130940678404183630467508527043700688895362434807675790459452807439191092652126061237621804407483001405534760304716019953154409222895993968823992070937141384078355712206052152922093407747858770081282477709194328103806112567637751482656278740547215240819284376136817676429601260669868106199334355113520221610049752711631186517064851820371724604901517717586036586235266269967150591650687729906797518539376985383526544173868884799130543377453610303972480767810272594908305734535869640896841050761932455932501642136547337096650183822632546989228673611911836366574450770657645766072779098781742866470032162928673757636740709737680020092479323152182166569905898085336828081547531624918971240378451422887819355295271944606719026772864393289976501800187884567245212443919865890445683383822211066907349989758168810654369237440006237880709930618133210296579152103977016067913801409231179428874194531736012683629099480148772909199978947827208734543085481651570477723299770518376384228466049329699999055973603926939799609085964223072904285496125188692311884660406714884750622972728468033622707712404365669234344489748265749068189958357297185826958685620870025909308375579406315517750006110765815368459892298806138005908627611516011116761104793380969076835212213319502244420905281057601778819082561365688377728142629022700331032600794010511617548523283910528627704895506863983128111463205243397886345738272575948597666826736525893002996311258193309492993051687855096130353925395078255529364937891833228735545414486012471912972970622623397482874749982921267120749298069015793157870928786355264976896795680654043701603728034197704250003789435915076121571958580663825923159657663433170604407569647764425430928384533236575565568079408861890689888508466912448832090350379333723107638025499096085929243173888789728959564675758052629989359573902179730718329503891292295642912178701530955736639557965998836670378844978340785942005846551031300525656374201081247347939775705912611643835768165687488618339438256624014186112412655716546474111853715937714235999809694625015853339950534334940993492023945440080039905719876971759456731803393697712576572724127575571870239782766589666437955071349679716528771225707221757230883089525349137515063250900920645403644028570406279444413203770668114913892498597359165490393656097353881963303183745591156286233497993380751851755768733957279401353393140423401832269661155354265036339078745927972642309332577434948838148087334616417544381789858168098562565317777418947361250771865635439525859377433306026128926778529395513120843131502788491291568117770128121744549889782129766356009971389633267190956538101947311784502042461052333296077998017006004089834725992873519650695284936982217036760989025399623400019444036318452141997816336398189929265346574405022555203454037151233873709113716695242445386280025468800853495968200513812743455644491660926000478681813463092672234428384064046366504130983432749556762088722913146802711003499445894521931062900962003995144514279041336751032352332809750797338916791894845953154340462062503402810132167247023858550994674421966413696931602149414520728936554496954074437638091163913508801579958547591381323838903385678838465585128096508607237175284045127008486827906469656183168104374280365078955935815421617048805059511094150493712250483079047378153175496416976208303032335459367986344257392975943158729305747151868592331741881790755831303813490997418367112835173595157485579238214725110315880826777682517890985548289121502175770918606758887695269407997883082707733456439712266283592932766499704660699263614634537635720528345835079575277071355182529148104172682900544613298978835741662861626463530958794276802299991689170011246673837552343487922999997866372527397656565745050164164625346175303635501874249683030592485359904921395351198038696455377548453499956575568745053958722591115776578591110116678937452029779723190094424683284735021943779211165681960576135182737119877934271517124354776683416522053097494253839277317126709730379160813853023435209026741247062551093851359477799894790106225124531223958453424071390871846483460315401136701391814308946465500067505152085877212404955269677077729583016036422361180779871476166111520443280220050769998654872191154189311928918402301804597247141811965874257254039979684206670452295033506278532398938910678435704915804661882163762869491996273107385218320786948413229074979500221143405192386798668587117850111386066659282941858699253339256318245325883168990554904584928055270205835420722780249090988740181700729898220236677084704611214809432297606193903791312506059005478389602527171498112715470019596723572375823369012619888698052776417170668656728048019658695286342092777927978353469713667841739008870507240464591407720575318938225919482590683306688086418651308527289962915199524100571222903002628881440027982505874392876001441374909306098605782786220082533241358093596003932143701447422375105014131071209988074088539728721448043575406702960102719273907541187937091085613217305647292909257549662001266513510416133742490495107308120701840362926801944056783487997265233788509820507370045915481898689199617368705219617766760725394731125569127555437793681204401350221396685645877734025734322877496639960692764251619372228899380081161897928908680091855075137579488265081940829561390603619194890105588460209874888662451677654675246238176541360687954825673774887029583443244159939698306999577666158949978169069162185319379503618275698851156405129204534635917169654771272632499792580301378817588029745603431764030854562355062334280260871988051912187266086523498936996543832936320747132560651173596791195684413787023808069861529225011132994876753521297684887892387928681775295139230986018393252125211372538219952421827670715232319829080122882548161840739988235636134473629624573008801005853803305157711334632096031948984850508883920092437841187692205586329517881835105759303151026952270073036557571701837300868135889421272024591385100656751422136402165272365802927702187487731633299687864352238887890516278395811034614879929519420292292134895124757866298741548903275768501812134225580004450049892168343946176617877692835328507865998615986054856311506087056022578671985284944518316575689586649110803788989900169760725149897519495664508549450587868752229159281460491699993563412182973660065300751341516604181219027591407163575812047650386598700074764414233053866941559290683857219763388869603028805118830945551046122206884911802528223925758408904285235043914979986939417380059705489743886983552673548605987422253103918798830878048077194350328518708082989318325743191239963487312190761145423565953844472269763054211050779144891620680268110771930021396201925938420092611790371768116501590566671498949166803372143020841650700201854406748032209004750677978292804574145017453995037872157993246089848749622297062748532393259855490677875626342356711529559638187615374138643277083498919919698626822856410348728332432052314106015575550895577674335162715306088834682844500075077459063490923973963250887670157965563216970882840948815932944222686226247745402410431870082733930679496664220354456460267540101337239867507646801459408405881008169346451982520945752648603555377710578505950563496776551245736931892641586731908774190801429622547622411561229849355917522252811107686774385044074110202803274687032181796262200177465781056204662198872540924037246443956397164781070601213477377232675431532882570048233185370717199857638760422611495015499901879995203156466405981620667836001706879527567260559633928358350032072991916483623506608302334363147341611092568039447945646958929292105727168199380773401681794072322116903507389394984662078034507535821821323265060576411252713229504419013529306013655363602303407951913345941720973257198866183522959711309105583639271098071873344471277276714677239659143803999822765807730277384271432430610613613370872828306358218647535771794688935770452479468439528633849857991304418749154579151865221199036088113681177114202649990840867937382946841810257654129007305281679935641566977193002139435571735839142787946622018543128505464455640179883603899610534871803233115007185963980794950947993677064237945073947979305812138659268823090592423139554882544518879688231356497114124516571131635262379965243964739719485394913437000819019207954741525458957407408490609696847644521003872077023599801623794670256435502259751031907358751512327344115105618568100767659500001181889801885204834995857508467289641485084030994339479165162615302156812712277368846067750711713277124679243758049828988938983828556750358759116007370674384070563422030331590155222779540213309477308588474694185773375782495126786476264811640674256843848721414127179811179370293013014154321059250833836916157051487431651293234542275325199042620521149165318610881744363121008078813803892290683178323338479816805699302130625834337000469309201937378132734910533257273908960096687663516127763817480228866206684798841413308401227785239432895120105540481232029898619972572846164172485041926096330509383557646010262143319199468988719784185574374923611033174788779357003294483889627985510440188974641110945383995762383262412532893228488234266755936853760894673595926773760594511984670568429610050660619605885924699336180182982902713666852903017886748279427905183578156737047167142724529983913266042667694095661643074965415633908780078936879664121300099871329106973847588312482098283304799017045245811422973455787150634469435519914814275622865251290464917529705211351562956451947646006110344939474923580484333230177309179269559782009040781077879768377486627382424369763363050759998949653137061665747357111553548659075221380603168913060933904774787704414161031719527738700991044829915890662689872532352594765661709715804199452751290417774113460668852350632990051017001801329402587486503838732004722432668842343670326152231165350456031201717565453507769204582010227211612955167582410118598159666516196875878822167855923316918168124473286996764307160964506551989390941246074015449117721126918446161238072744466471454487971254150170686883211499627162501602724883713534051504287701121464259961917281277864516012066970420901145049518886715543674200824827764385224228447656289707898721982384553445426650907004675185184992244589965490507874705077179368389032876850748710980262747602941514113661783340840234638842052246577908186949530680492020963291344399254167001390933219147366494920256196296643701872947156186933951860616218680644419863097157701525677265158400108589799078428326394797871111244412543710297526162579478859960150518095497797077241434709598249616753506521515781056435726079443707460416668101510583469957215159651214583360211212480267340480183659097852717242322108336586617267713590628208419624217348691818297272340070678939486800052927158226310369367682292701221044646648533974790259518684857093907402261938435625149284513649064415934783789192287666045113740260249755219946959476318201263803302920512650913679199311407854946926712372055449905552887520752092335644967494531638838775420019798795708052239003305896725305905488828103449963377553820984426481430925422588220614440204056180724215559387272106434533514417968071904060902950596132293962631268163215704196063111593653996401106643109359395210476562180096716275758132787527573909883504161639504016323056798360363605540828695054531053798652777514472294988658126997780498213757485548774501507590237073000381910505136276743698626339891415341853117795545623055643831305479232511902271704971371586761891527911535784133310944364942499359998319788088468378852153989312739196910930460743992720546682118351973448579261742576295148569851581516498655851110124926633281255301475341834259326871929206289368220369214128667513523396001060302871860313001527811198803431955269328352553233975511067685016233691040211371168244655215878540549939503453452974431532719451394464540265957710003600361634096120098222599622864820634044334807392143462234040754836528513342093523606900207121326098317347640998194827288053866214260331605750821569525032342475678421301499601569676292805088385896361791898721856940569196437975355876922169747641155121237598154823312813778212876351276596511526880657416738396779442072375366229635386100078508937462520863653986071397330390448049509331328517547391468414783102760111583075969739010061457339469591419223062877767164706224493013046166362425167793283611168079662057470757071307830792912811291630403388937642011836304065056277487031669106460444043201688499116884225375512799099775913534146560733655847882252347977948824204616583529515915855315746960969018262289611580707458499792423783583670183932610247235079321263757700362448827174873630597963845649565685567584615253991757457230869185361772178330310395775147856265551800260632123481264857396523811748452380705635129306153832898429496454516246384091811833915726898448424730540063914919755909002030491130098014988932092932579038157466853693081119296455726272522756215723622173648475852513295120567224304725077815647357104886730773261449171594211807475054626121539003288336722571511148832131833325902429682652798068690673675915497366658027150472349501071183181363349965633054693503164719749739410490990382246214639598270835236811074014618990432935847276873552774862752350577911060333033629691600688087173891512294426934325898720117197340430315559601652623491448760770510573742638586955407359207518611544683240222971782078508997607171253580688341199920115985633891257717550083842059883369645475279687179579747595604175413065242288523796608026178714375415907712739399969642139170827907524144076742909846124906309880679770790517907079978578756680418698787825197991272348724972669531402821225293733441688910249477606067809901076465978853159219614687041269756453133288581257647981485336114612811296450908331197906107591143175931232273044779946795999037078156930636101588688106817506959433412987779851801355297207449621313942436840597346268019271124351891521064868015618408184400830061695519399456297873835100064943059177731787332472679458349620950877843734547118652792418009080177488052361256986976791330166446468015205537719913322176496628013792404325961771490256449391026097960141240977886065776140238781308910527313505167257295233479663302396372747789828034973252300490030539321988618543525836166396464734133129348954922004928801669017558208433004976342374507492218182354853832745520285642852262114866531943166074370923502414471308890628563805232192469442573824798581910585158049864847825363440910514384796193387916991385643152554900282982492653964119087310345746871755836752069117540833723537673841166068459224306188979333397448612246547965418837917616606685259996468176279714736929186599725809869666877396951175250021390809070404381424477468351952374525259890984204221971117931514857236718796881038921041244248826543042759097369081591838152858862699725905483302813899968528399701695281406533288568782772400855470781616022961497404455588606422693669214678135479832465073511452175024299309381786983795266104723178488917320800266945879211617327485060562562608609793369360364555275343018376939174564922299864264224360799338385615872164619533587405785194097765335414331431433164396149551681248890281373164775696989046352310602287498032251623838600480200961737592924663388660938925237179507491761309847763696987329468352994150119357895959907761894054158880053090496796533481038349728365479527364918841151081385870899818171387692111548182626151593013607219912051247562154915492965532515551527357086945600088705377969942100550044258631421356071989862910828494257977925146239907839618941420188752566910626177237633762562220508446478631701878136376509193613063501373827508809036006619649385021482602266091339464266787305682796468248917672735464484450305942905011377782755682038992351674132288585842691518323903388915185122768576929318713016594201694197524524312736445685789200695265619264548975021901249652956017318149699157719832934684929975006761580411842036861176820659967958392070078164988922493459107321074941751032098066197016047826814506567989439122583050519226601243722360788754313389132562833212130234400679077316294861792908256080205793461007009186972679946341331396471019411536233742650146387056216393805861756067820898073339852519020124881133663827203970176200494575459601405343831207062354188852895144174408189121761599207645426653540968623771346781750421990709647499612354753027853951961507339281421067654644402770237328017574755476626969339780083630251579288613828012100466173865237551062019962017443654120485418947220765900788450062678490225320009903865903814340620218306619809328059395551555270221299582366325667597270162196932511914826360306763882867699840015723473053337529115115385654564330711022868790785760591696459783759290566192043455224148218968732984695020512612481096050800459966927785938183537627053938762908058059667521260440951699260451809471621705940871554814038229601182731509271258218539878396236712584366005375672464221907359669955730021263316158097341795303751210796280849468412707290466931011867469459956678403049883120870778275729066710348333855844448794251350188987725261464120159049208324272329623676417250531568421313672448008846609353064274916342389618866771099222324232649421861007201970423650819121215200173293857799981649587494165517724930640869428941750892837668628146069987368881861839666983041487588835321894129100880314748533458893265257001937075966039022039490315205156620362066545954652535963818149942794297381696108215754437206617007474037252354031175906809322800197261335046612028031595129803625751984615673025727506641041858272398494558007017453559838101582734819571913977201030318588115270775996914188721762132719728121313647320107926732714923126221587676630875927569017073074464073848985908450944673556686305249700611510631057225309960471901182870998446142374247589505852798124230865178387053829850403350477470090841977785837428612012837508195990882035301493530052470425562716251696571003792606885586946064586544598361423491897513874106130100394591759451975589156204005507802807425843251318810767769480456903378925518619003935521351566968724987145886175975965194835017925435958593440098233443628232056654460743024489787877003299629742394017172120774330859349126582402008707575885605833973324984631514239768257343335210237739036523509662688154995360044543532937558947486723678902617010120598767437982606343881075793483775834460207516351045201604698812464298605736270312772294341024642427256146423255267943157157074546743198193873726312546449252237569232746453047416514648334680727950344706309066329675715950109019942638488110984482217714901548707972196501522444062558668415377828589232827553074274493008241916665296027150807776097706611146991599230724269680851726562752089062566761040965043290429337220433645514858397266944251439518011598820060757643719111882593820283506335867167854329229046462100178800788647917320015445467718227821424358173994663266168951192483857121565563350973012210093357621888061102164271111854607787965817807084665404772037319704722762822825518278291498292966724596604937581709611305544159309238493930624748351064856931437368528106121183915764742531878000887347741751076662338097557328697132718939034060927273690454830862273573517224812347662722407437963191660457115400023912747855518451668301511622848226694563738264405080271245416182873712768415411511682363653341346667115435343102292225050162266116390444715321833821230525078319327255327962314515019777238234857984833470497898357695690141699758196643133273968562058422208642955896470821317984844144095807107962256803248568010537837038819101445676654429604030546144762517307148026391032176116916260808132100680081539005979149855277971238490194174350685259533954910070131470702581402451830135251435286296652951550153982355808242613508903255255220220282292554719653493975914030061405838705401959625773608458425157700736256255056150958062971921322448750589121314130958635345927313859814060260904812583945868457728931759901252005063975328654789649250770471679699601544072417270268451817238995245297425243975333028911246545001110305113587208501444732725466788607849714434966152453206014246530594404275389646452518498309404148847881161109106014733075745259006239376484531172619103444325172094340426130104552391389314571583039221505921711814489570251095249375957146517345906781602762007188749077987903810526293046889235954113675182412050300819829700995665539220071090097059002117648342861381404637881037105352186264334185229462618333470910714554330336463848670416293330542347957914820830059211714239545520582697210857400675237792210085462820427934224027742956524407757176088650597784675843785811064554163914240358944546318895177836437154277097949096999530674111408513097377522343498776887093696916145468173361635603821416146112351968257356257787757603780268542284556242103634791996997528662127948750003800163622461038526221188484133674724553364157744478859787669237395465010406725250028137171581402502474154585672293019210789752467747117622537932811575837209181656347467993717190432728855488042591254154916566280654559040218635611066168735712878241600321226662519883384454577922256760284155974571133706909168878041916425274662752013446813713331481886275048058410206752434923983752492785866601085821886283484966062054094808430905218109894544455030215420991427754689783925648493090949357666734981289089980735446783875529077721667231584761356578768875977658304022807614439978683350584702517240531894066635116826151580572900837181014432658580560799561151990152044440358685344301523599028394885745108169396288391226252717181203576509349157382532868855197885103561389147459617316821865932734948164742379505825799492910427148673001309441374754477778319038602074511258918735428700713595624455885688773074389889579526248075394612564664692549615122254358218212914942555351549382329008101580289919580917470750511883583329716231295130011233633626302980504791411276988487021912243376703908955362103254345272446199495346384236620522937471987116203323992450854521186505496295284149874301911362764254715464207233246827122751780189896964834304832813446611607750423377916187282290960884780088936892919012871998915231758609116070047186857957874139761323833093232271676281472096253885284320795360817122802792893959564712210203062641784988653285584458284425141491819448536204007947491322173843018494912180649006866726979366329561814183245192075162756477221891149866344117895182020447555370580716383805442638087191540631278141689723182237258530638353393673501235810381155631183262836186250460717902862123559940531323072296620844823852261186383096194373110305830678536664661051033615944078372547530589839961151004495330245830759933805615948175751215017426390171581579662844155555362793113511697991797051271046695916746222300458385097579054972350674785420316451399922347112351774422598581393037148146378147320202192229091226663187678197665257497306528197672706560941450394123930386199686040577450745738644087302414242279649527579546968818054276645417933845852478740300425326420277810492626460160999382467107453732124934773387618751630057347232425145782566613051447992929928560531709479102801151320194628517208894102408745221844467443514367263541050651859040347203375876793498543634127814169958930266703582437981809386456809883891842766197481864633253453394822778562852227112418589780798248503660087979337850617227040308916234109356684729535905709018238931447319339428862243558528508281801462701128099647559307956149740535883147272929903440579808036017739648786132708391205631165935359614391820561491703751021562560869327587777227795457309743690998155270054470160729715450306747444886684989154339913922859729583865786934758480721789676968151354867701832301949451421539836783625446484137731450244157342156198879710157507563469650085897872329430188033687217592636913600038785463502303188264561034299717449969192778257239307660107006066758793196990738452173299559323035759954593183555831501265710871849039061153402549516031260961743880127618421076348007945488660108385745515528990739889420599004181623146454272540357451527326351142320404761241666474686275709649810272865889617283186164109449896355251109682687154490563534234282674423019556236313307918694837143802725752228888216664139439126186581027637981918734962873500738005454651596587418492800725167327595391452092767063881037276641229896874396189616329075872414806432252336686635389104902847336995887013832319837757607677063624161329795615788641676848729971753206670520220337118977322034906758985198012782143876000842077218265087679935064033926343052572435641991792369119229988320246354841830628128101372016888460425444063814189591183359716459884934461820309518677248365549593183457690742672418377583068647957885938570474129829081334183299491843676265501856004051432913125113953739128318692100555193437759156863970763150651207644179914720129656377857986853192624325045848450700528862441979054050576567045431723736811928081022851535574302894651853052607146821525534914521695150950239685175014421888309401544310437375585255470623152063005127459795830897456112466980326983179543323980409390265980303424640154258563824477707778565413520435912844797308092766228072127185913667123970193703932908712561357890147022794184596131826102707799130279039934145483108627591597276023523827224017060261309788434317304975645049587706664253968178714608003983771281963209671164240287437012164058624589239713999397825133358366346968450003884932007157659724377972288580715928765669110975140724117818528241103365459498286777810646220695738197698905860758482093381446533123546561858178708918844812649337998583866710456273319494288200513924590427304252966937871429635804035952829433440061456519980583782972103396375469022763206107259191711780647861014115797386564286716892193221360948497696293416764999037210740033475601490045245659192784116139901276629384853480191385271340034403686500445669964206860230954831558253520186922289258928919064508897112747083842809820089073795620901101112845951775208395509011976881329016486026109127291867870882262237226650018378667454188306529999259877236398243441219092168666760613997662196196976608099079195828861227603106026516475922760375049490549941798497340433984197428165888280094530395346882772182000595689188147766621285172578254010614145746612353364915114881033801117896620084525405371236322297192728424809056704964764405888819885549101570630770052311577465639460305832407131176186977463078657189605313669429462497963100493751721640837651312765827123352868991854924238963805920040438135930932342384738628752554417380278048890811365728559044608617165544601904742450291428482915774967085916587833614025992849518390844738326211118343309298899812493467011366524790843883846531719744940903406422556447039829163158027811608576579447782630492669215872717269910534495571464334731352501185613790301271778271362781733049907977045233598664140186888641271190397331778459169679590848206013880996384274348783112099890590054400555725091984195429457384130426726896671028569711798341459305540218716076370203744576431302299379811686705180026579741453437590219096615028750412223882389736057641277472860339902840795181497087449148757099656992743335110913980589132783413348581124577151631167055140256280877868592673697007518447680454793231220909551878873777394872833654622460316239597413610965904969888165941953863289550940634660598366616222816674188374634092153075230515975481064718448662998108574772592661876467098703712886491626599067826405737321835396121494200608602408974678278523636473545190649899054154477559732624576551204244883246723760125419082773303874209875555403479863395755929296523162223832334146731659241655376864624885016994292534286709360240137319219967512369135609041879660928716303715228915235756024650480084331734923908610731094816081795893483456385511980285681839283349854148079547222527467822679140099821619315513926536374675164874846743276690420150217922091473507732976156603544230132975333239419160623957365552632149126547278909398583597655816921714175665311419141391240630252806944197847546580714096922593967417653781262913800718093489012724961130534809780298102859966920310838058473646543053778857975785380694412634810241745835647215645408484987750802630839628024782308427701418379263720569687523891728729977689188149647329616747638617164664307010974587294824531829483171543927642450983700537919985647894097996577663488395709771923535428524482922276125106158637955315087884681039292342439221511277752173930738335726049004432528068041012639495706985174191955501701853138162886944485880002148645860273467305478990105757284311051976781330789916793643865147149230993985611873114006099447250661230584287434618018794347786631259290610422639143872470066736179266296100382579745431146904470300105824344063586075214549046935425298586318732801462107924975175794599874055432020871919449568418096444073046090090449952898953131430473677184764788245986369266104505036566094041951399318697311827488283619810941795592976527689718927451953686043429980498805736789577419711904738285538915446722282747890320571162308792214271976761203958809477008116033496769296241566758722672895258810519943181453396720838019568780084053111720074820251926457367618416341699172651925918036960746077063804589376114425313839906470274816727518802948586593939258346873531554690889940062285267056006251477626300739193468032706243747893247890499007726578887478325261627322152156303621821671321804406417425005007184591425792645463510278273623342908082733132551129731223977910950854686552084585049065395074647484776258991482032523149851754887454565754742450999780808573999033164106216680684291739012902288220064399038206880419221617044378276687822924681538946887845496933356295583150614095258865862998604032367924119998520478254718466548277479008755272461974424074322023336160571715091707631090551815312179024152458122584293612943001850400773681401203981536990295740271286600155487839631394084985605982562305339190691425673021487793028977167448087178441184302161231271160668053631551950289022536503322123504043538455623466217341894129967231851600743486769239949971967404361546172130123621857783191723479278180528787831616502622017539686112236891102962114318035052797957854384803683686258789625555076744492140124463415184593622734269731207700361304390493645456375879616892469301515467943826348919744255047615497802832284743920094984881492735542949874845840246256316394973780942130772864589670107980620630806106451579710816001116801518291974986403107027111370772012311563874589633727024561958102673126389785571149333381633812336713469469995299218126333151027060166320797601213580395480928617526417345388085793273442510644000827253912082079302132770279629315981608896858791844373568335826331588096296760871095368656184518909549147934450459846481329722334126720756873419896089983153200401812442143678518827256501754502352016732529428521791541669199876132094045837355758041364534623137267834297415722790964560087461454872990959661094823977963929959261437461056782404182339066326596273087197731358827596075622370312979994979401674521620492822160686840739581204903488284522912060234559787058485236345828042091825011911154368641117338193722374003144446465464355264848810156936988595996585368862674139934507137397211364297771004538653329310364977928151079156113590066917300110595155866076426140738675915674388524053829261909320752167691500246970643216529724655232541293871501971571230564618042657794442930968202195108049303535749768929173515420396765293221875959049268240677527735906165921787319758937029113023745445037396826122954907102053723221474078456489057848070562253216245264094180691671641004290256350634711294836564447750642997796859032053783666611730463530019942723819285505551183029350537342583839567243972284942716197756467682325953412007637298161956252085540609697190704062703631949600519269469911221254060674186467216565235058735463324745208074809461685291343090215395953402747294351053337206192863767489630862901748442872312250755776624458834091958675571635468505538780118966853607377347671514747593590875401563903976061523244599711847945816318762621942684742605597706861116851115254119067507876246377695996105610895436371997668019422176187834940907370405282001789992773715572367137869609424850953081177700026281978289029987651732870782543294087686705613252158002054150739112277501775477746812842753669200192663608880153936306241091915265665828267584135898809734027054660785084343142702410324773024507928475030115631440977643283180937743187273451911369116682480043015927087195206183053579128225367457024621341749440952313032698307626120862874489806136836495948527696779474432986171643185171805046396840591452356932939835917798023122627825441306974487528370385954494459326206483600258382627498596973894908303647549879350130234065439644242195018259318182177262148166377252301833825919891744674990379559319100353888731627702634934398184782105543702492468666069538723464508796536607954024458569360550841229774678811269536133986305707304870335202242350846991150661574719572555764994241854038207762872799026722999307484887425326421159104602463938007557852732198449703568264924385701889650266184646718224820960833622448515433652094206362335908327240509994330104576052458000204337119931383173924061182461130307698851870288630944939906659255606707287615927073308147860502010181774699332008665842319127700247681296944084007872157914018282668900401851660078591442668860686641734443613289798423168436618147601108970321015820529653341824758402293494599224287282244189349412826732970786932428591600347352182758629828766772189557850625824743259779220598406141637446836363016564514567251737165215957398878389779874094926331771217618353034166945864549911678184746906903696678358268650061739438721852438424021423157218974719484390899094986169044532149343148865161287722420123265506643281971748515369280706131587607061675636316402678670246333023417613431971279842918761147456225361862269702798185207992102298832808752638440769568127967682669243950674518532857631402332331944350257356304342226502542814792693716296907066316417262326036265176622192912675980603125933850933802691713516288323944866931434852170613065624578029244561677161311085888616535902276857826451884322325059615625379053638596967207597071645655927420071826511322942610711136248267842072957833720454503410312362378431226819522924957430972572220235353012281542463139471226414289400998717459784748276047004927873078608165883866616953010070159259472159747991024600678977246614928329542396526915313189079848808896416690940235433367588374701829015639912246016314259695127045886208342692986866443881466452152506729088082515601334864626860518112489418245162768721930884899607194295967775133640822090048883497368857046718452310758798751377240942854870532114927911198660677655257240292770453013410513843558522610130100646890475394305572272628558299341850355614850393760095081064938526868554097365681574014880890182597542181152276362071745863490424020040511188901594891191640455663434719343473198765538586273376974330941170318188181633714349758456739539934885180601137415268974266786175232233797187547127339129992199769369336398748415551085779984446862239775062319731043913578935344709955575303668306249813530607086861961906877761082414439263384471108370808392400648365730059304174404991759131940633903271906621716605586808505143569181330641138814479029320166720847774900991904071922407729890138325794463262870839817651799657305648531005829026673890813501643187449834659481227840221580944931276550615846676003356131235943069009200262903504729618174903073011360018535825532917073530909194996011547174796088658837238650313702428505254780509412042171120591695788678383479320028422972932938961042632492777441980303475498765008521354518096317013015991709663436566942204323827916129359041003101248555715427459711308219732235115089147457467174310956440966318064776369758041508916755964929753412859864123435889707775100826264160805365840456368813853689841079476802243373139646711738141584175370276420525744547703952663578467543589017915554601002557783213759445676474655337075424840670916904996343736768932193260881115926176816012554040050191274868471776589809757053834029401081880829345317815168790296547500274751788349957755464272491448009342968158825035255997154685679319082027191403994973279964952553877060922457698087180595802750276477963217365382135455936876395333148121479688439009706897526008576464191227083457273103365833318207337181529734880869921483399308885031317180617179555512543815595586495321595046582280502195723712322945290391296379310468183932782503675366715212976310147746091634828977233663675266251910795611320769231538694517529492566060845722453444225699896172358286969716182837825175733273926212375632953766387194063599256374398828146386996885676716784658299203961750374279438389123130571206762871119766885483836797948522392763587865176541460703108459261124394484384675573128095155912564939119461384113182186991151868157897872562652953823653303930822221649350564014833959328038195057488485917510778109902246966018836609518602467359482410980183016465651335358718641711800773243898844014233574693646062100205559158704605879731686622421320206585732020617434130813070729658515775810302226326086009899112947126880743555980760207482410866514634798188126657640588082579231355572950174997197316881500179063115496909597705102108656753943978250962126607255001070287634214132208952076224418419726479362049545957464022420894665398486128819616426672111205511339421832161362191359576385439855641468354535586955265069402133384169233066252566673186522247986565825153115221322670127374707720520257887988821042983866804655395376228530330819338726529273891865038382713910152927309029368133818428671483490567714750222269479252984826166918816802915865715112412201056307190079470134104861204249607893782055866445413946138698657915316006057783981003269579372968786023417741283961201527286110937100865877871092822461338057817511388305598742990514122920636048319221603509296877926687646612299571176221791069206080596137098721737834043799439433751080907982330158941918560090995091290998449347110055767013149672082503271737056356801664754034991539869156980052656603920988243776118290033780043706582422313459275140369376350744749198745784558821502125114133147748789008689928922564149950028848700831268943768033057165455996639725114809619486565925915935811698670700112858813022526163166652677781282701123504951882550859167803994088596337649353612172739424290322668224666583343495707884582862588175061269450636921758792338362662295002088448682930322556253568903308728540476082048549960787746547738004874074841277766739014500812947274595724156422553024321434572837670075741306621668434081229505159788117874639116260804594336863787594832394969267963931953392822600913343821752076717985261539623644750701480745451888484500985452063802136292227146593166926797172190315695266788003880600806086244396769340835856519041240704663564112288870368547352520255184230593154931207982528982314024818856760614820730891029193824990791668495148214090643994004235964061770207746509327319883958689378123150085162763928667650266354085068425569871489398597101353802770381975698574443912810076452447158659095786773314262520359458174178567852193643806418857764149979836796344893622192971452798575077629973349344364678693613179115526181731573219042711887290027995730834904646894837963376192066371454896059166774012077264855656519597577662200373397851556453048020277551303213029764807777547803489090279597581249981435108853417463154428338750518001098034336444156336303634466124245079597124847825993838262474625414707534941232587755221363222164800000610578059708435051941035039909795525570108855926374711587550156980815832669945398520430608325967176409864538998340231552304608241427645134609851698115560823246775921299173613989215865093530741366540610533830598752280405570844393815712091539438309616057822120467370578255052468442378661023307098409306484030831162274057231369498871721990998491058182157944981266731727272344666443972788366755441539617303786194511524828828030039936530209510365464725597179858739744300257409071030860668581562306370211515030299589021392763503252535791505879322985953181064105899047549244809698469490774510069641210952434404125127776465099851780439410873035172450718594140412356515603214257394563898282958682570338698181902120993187865907295929019005482467257500477888449696240698962544502768255006384341888650774329932810209775235592820639992666949788033532610283864031499996382953707177809423374904043555067102454811351996186258424603209965448447607689470087992254747722215810477424726178791989153337146092939342994360951924233831340556384699726395537580444821485184703358550352072018494775365119708899708482109854342770501625425752196413651854088354594092893099210160181880953105656188216745384415324073132035303073831949128610194182748890602689145825295906288336560630946420713845137671077305715477076446725478986838861529102925309899507987976019988646176830716311159098221691717169607709931157339983683661851443580859522264032643862128960860076797029505177304650501343020563623337187633346835667906866211258022896775678190347842801973172548285112883595195240583361207794180021589623966465563355894515591068023085796804898978268930410370516855602628811355478996888677349230808759070924538926984218495867845066294098683047342010516850122987973331523223901117801275789966403100640433711748427486660364625434568943880815519495106418364098745499713023845552571846343996165902254137991343379959447493439056850500711828846215559374403419573338234476182842156490485325794562097117367493316560144345583927499940835430555182069669652206123444942495969703487606257530160641021541874222161973104780911257957365853956097058836705300220213891265253132276983322391296214539131716772891268514955443667255234310744073792228025259330083168990227934706164463922219921979172424601927417461783122000971332904682336322150406254537542384355281198630437203441036240270772077021294618416929025967919474482808886356878734691652324347120855202975202496874296528876356148752036783613295672365075309359885628127902694896848315770437852265694992858861000567899167541854982185394567307105799257443062630827189078854597979260255442765512097496047619554317805824504363750374070612682554394932080674141626035153111394469731689979175771898678352679354098667770274574654780160777882084872356545183606781135030351758084023822129417671352448491714593314591731461188607283811905763712820114463340205748598122118215210208275393924439081499403712110009820225231476658210591089050144912628601134237889904593977895857989289461527321289849163883037913398307915750083849563718993228357351079366592612999701649432106132468244891922352681751493755005652218637747835442547559498146224674862193541396551125776971976341715384492710943081638983682039762214015006847317661083994330242518691266712430370267809754939278782329110819480479402718377464907265414821319497040609944490653162109529576404799925312799722953970215687809384812543443895773105272893560769094419649970195873270823957541950187939608060125740733596399990898303051184001307552626496366220724012582086510043066608108159968655815835806396549927884797514588537432622007775437008662124354919856691215968340757874027539652911456913359217586256089869932594127992267398524626479375419105302506226990759559820338887760543241717033414034920804218499750703681273774499120348866545068113805068112811508312374627368220580863494333057241518028096551278914067813672263059627563755704917169977547743705221490896808935597331238234814662895791001184078554259881417328812052276456880022418061208509903557501745306212869001554175458055451166606933129682371384456169337175851702177125195595374279013605092874417280508294178764153687452365778251499325008166400471742457345873123215943316704008138217194020862311917491321987014190675946436219603019601820086517612175141437119740201110958897343225067432208194531168520148058472308168550082586707794955356115658789084076999154049546045071138174668349005918243606562772502527737523402561344892468859843153258777358844851668726114776161171378755025934802600882032213063035012716502960779090327708195898298108227616907613622609467244867085434771057689207404542516567095054744679627875665827611719802086072710413424033036122701463507330160845060206983388284825382119577361105284536821684645282277211853513387428149184115796066275473950510849426083556281836205364105535249189940285642253554342108212775589305511240221147763396127104036426805530951529035245354249843730304963992536809116815478608024191433315572726274672488872538377525817465258956921240491050757964650512086245802206269477155034290299822798350332726072601720375184542812801284146908098230309398619977186299029787771797231183612760518860510982134459863567206178664029282705972085909028527997020436312257190782342039207586006091985630574485429227375443858261170512910421171322728399400200605405231475540135703134564260401893255510598539789584864432400968398938187728924240291918033546971026672687426828344906644361928206773361639621248034677964499420484950535736643991019987364066714797999181177699782523867588530212232797822654224969703665522291291717304426875696548430345835501705783386879379095822022946909885810110104296836127767920976667871784435120165300217360390866421541980352683859106767653924175455598448248447153382992215720507396819429677821402074352203149607089007172849108251575349896436443878637767056662179211682790023010379575114702422556938768516070044969742902079658147923632915827628428343208680575290382721685244279791503997942888562701992539025555247808184185048637095694163755877568451724507605744351800763369505618875585202086863375565370483311158724018196980818521414424916497570073576723816172134312670334455097267219317927874468933146353513269648747450410969755281553998055772805286789779304187259034319133666405824663546013007225348266287308194999889975269736508704291713973099230317200721316934124370735442601303350927751454728791130911333445797107906149656493318890071744398999183804551197232778826033523748815838456260100676937869499150661483558665365239464459545522055977673532051252807016808220332356874899735362105379677415404197902753048388459373197024299078571126163398183227023246386441962540808488219542715585964227588743483073124765119449822487076247749125415064385747011277536303573890022909798477944916170685219375764108750202261374022975017594351896318648704307895077198772052563690157341849811710119735918350310514029732169770697876962736619269003081435737136697607172729658606815784891489144392534975761456369803264061739529850454954817196550778647400755136588478270995879947364230742799307298340808611235497975800012015069181140069388004093082300043694796420937610732694648767751287034725630362574935043458607396142469504176924601082875349028978528324725662568503098059164298167786193328368245945203088119365274639768266976813132282013682072787762072465675880786988638260548177176349144254107720034841110373123193725149959468187617123679530106297242747730194408139940576576210079235367870666318098462350161751606313533163257541923487448318914686841319996989396605032765597233348400382298391310211896787206765362766067128556427650857317933079219192026143625689387522935419562122074631759748460243891585465497309180140910067869520657713851095137200800625046765815662373579632626029255543518750764759732246189483183969801010086276410437188579341121368341869725169208453122799902250477043738351611393818494725177298978845338420542492354709107865141635229296072558627494358464198157123886417889912366059077850020726215336137167190389477861389310104799987399487684890564123527652529670787490792574155556758141420351195231205343117225762228085404618444674015052899650945698602643537639417385072557513198552566695759749861803922231226237790616748608317999612894020257188678752039643390357042824467333256993669323921552453941831020142840384347013469151272974253754833548194603206337270661493953082871801237285843971063585513778573214318139959500613321227363729137371705839764491055960873438839787451525666793417629339837540890622103266304738754579297082899545948995770212225604343420253003551335018263780779558669315688481514735017439158148151525871882442764549942069898574564087231482674471469043180285932533088941698191219159367591583805447718828464270311767515527391711177546560598144495212167328792643078947823522603974395398848204775874909274813744369605086325605454864517304073925619531090738778434598390948592888406247040770903249042438851645719441443690004948524591482846956754794609902498239786624460908015844982886315983814157144684936310482219534297706879580217380132199502946390505318925251219704365523842903617783225500825180035828034853594447894155538501434275767888678244028112227753898837900842951989962892805000760252190848868670430014123932010065589620335124110023680905154431598500365860663790599483330472658770843752607141706217325385405091629127550931210734756826337204055531053064256096828555887580508320957819367018328303604931914218957315395414758243552031307073126414911053216865583971960650283930044202660682321239199115913113303592584012184625792959110347753038722023282683249145586951832127847659501513033144427791600168322917609722344361057659111499282602839386759434128864534101232370983385247531695840165501268958623206261941573775988308416702157249714635412082629888711153716138566926938800224843393865144143203566712478667928971095025118688450515507941345555625157578676742450141287684381762736590039214183447947695565246847712143284639341986289591917036138507382470263306091483138639077581856039909530400310675930371341034514919416653140585962298773842857348393536383531160419797468595619268277238406131759157336811395158957608051031969844926536361190528219716892745942149914268415558980447206832122924893207934094581230770069509993383254762728719523890228423649311845652596578585927840825297097833074765900812671928126301997558917617533910013972924286450689803294354238506651203927784704988933449498538286521147285074694158959957758660510578950599681367295694807674076997008950346272653245384710917579916139792639642453982239530082585675243432360956658069745922131769415657955122067786498884845279703995926201653894644281522188029885477474735368607921974268568445222216721385354179571235611973451618945274584120253062644317434736728245669481726783749240170169014737704642189024905014962827601029801723509961829866277320374409910781615474984728720699265356314184392452206641717197107250536003980537579245134668900852513308442443064207323125950979031888466941655892203943666750946938207082794240690841481664781482880629695628273825877841450882186861715969737478124513575772667911001691333710417945173089608857754922652586171642742210690879521863764122117593970496313891102261610320621452749025480821689952212473322745609827843257978515823204872384367817625272239511044758433253839240440804743549134886855435096892003445834503822087617624726104488686859556559341516301219884390299923157326611397562140703387720922873510801150890813517263182660665329890649425051696555308286202258638481479240187767251558526123666784208048356976101523478134035586592928165524564421078433238014629249262153400903205570059672104293051083964791605618268484547622023401993504133630009460315864513337333333457318306800272932239543244035428636047705388521984136224595075033728033697584033470678821460349068888367218236991612089169294792267766847894529869366752241402665572475640203388553305954687425961978969263465175555886269993057331341611047340498988648679753343912974064617325817162172869326456560223933690278934988991649510997604582360946084868775432210647472662280903207272685074059691597689728743670165308534349153572880768743524732751305641089005091850506624721892349356405471522292705107706621015339290139759894634001425496177571418429482102021560786536178012371820889566169988808682800069512045051670067103386472636554155973971992011257803153413303278730092631136188892143376782480709935377323050150361625021382418244466796503267107891980738583304363933263528564030553085910704075161112367925101808991038033139355940630041180618511705220712601994185236061847209696324025680252166652811103109338056310339626995002010444712682109789712867773121040498366853521249947806580331248571230532510354395575666403649643154946207107571773352591446928997695128009366792671012284660786854992531418759617440244863027500415797587849100297921653793026792510772631816092579594650020341974528776980794160404727667101741293164686490055967550366549341556712708014733394962424820058741873437782769049552092085798127526328005600112843875612825678582352705921708645639998503850174173128249893555169374030624053949612452653965245501190985068304579495909694992654396630859885607687349507685740103122854126697765202119444399625334570456397197944327814015477165495343242922189476126185904648670082754058590760978854399660255709948075979434433420694786225599519340978450886733564201119980034881439516009844487618442773893135217269101877364556748667212581285673048270771323951673617260295678571364028534780814144182979575046560152289378559891723019196025163570221330666945364289288069305528526673145615769410188119824295693122445651713271478017907735271188355232828397067778822665744707632933315787681516303179156592521120192291047367822942354974489298332607117209928295430998913259464356571003981154767850617541981381997669992667365877306224450649077032780487884846456143071859193303293665291665778205824948988296135984068759146329710640656463067959501810749021642715816493506235620016556421348708656502320189682553222179169810299288480214824740181378179329600384795392477544387002808783241037236302022711900638345995553192458917324788310829210638924995595763080175525318589813794201003128378878097606739939505286190263786905805263202888048141228440869682156934953575447517776456976778762810520313482237057798716892802426685891872189694769334263743141416531563756364501821602861586256867139297292788174981122515964857260393333449437618376246257067023746030551810707048524475136066671980959230713528000974023886104468065565460849066054718631807069089761880605763044367034229942383883428330039454080972383193630407346105674799177353588661127713606325889711137968061882768928600966261316803656545253607441774594838880319798842736470177888910512262882154320363024808248182060533519420669360131623936225682008995912294646550644572271849835389996266369494089094441325229659717691967442191004630597642013845105121315665067019498523843192730767610770803590291839400405791160768774573316718187718179728633088276846923853395800344826827217469007089926967708664427464987240156468264331644636664059083639451642874594085662941534865449300717389591918399454906418822812720784913105902245117560669886115609652663179838168808747476727059068593954136165033402299626772559514106115484500245874355076457279224340100080398449061348976558412906221077641698451462974623826831143705925434071245749725975563571484541542804031545193554194868830987723861891580628153119139921250866345003343322317401938450612081032175976520981682607854672132595545701489336717028007605977786233754841054536012527484482936318171707157228742158989010248091390296323830732430767725524086667942186555006153088598002717100686734911608567157789158104443371517664520239774718543478011774121214439990508536275400249199556011929193080250201319204611099733623440717198833656060528767483241680611242607524677493230021433563274462707969619010027881274449512191674984395910131742349173234039830068025654602907559892254257119975696884851001551917433513814033493552416098230181578315377781549412088901259838876086706962795629293134929941733126210239378726923744049659981816225186770901726496090593683820888565826268454751177376562098570443710928833314375878953567296900995487444427542213817331715149131359442744948317558323015612035765791021622209388262330423782858503358289956548934374488274516528931794738915345775107557249995190416074410446131762037811892798533575340753879077038206631968781427576417808376380666155596286946532653472354664881973556111577837435265516921452830174064124281504677200751592158583191361969869674164873992930479712813528021120641972481758613523622209438328593206101670378402402237010849448161318357576610750437829310452694631378115450872607365261699815813694364923306366605407958088267659541218291595608449086295844113065517960235117230609393439948474049794007547105169231000473155688939240368444184981768894732708785259451106042165649907073728042573142247722246309590011477195547145102326556223688803481858004854232500557622943166161205886660659144070359382553505738745036334949856341844452304221244698605522498973192484517581264167160684913564009658564571129936822006207929867987424428484121837806289201497046909223996972053863203772753605946926164708964499594741527128508394700284260822083488590515119322253494892266958959210641769901948740885728417499320662739299478995884262177181279449451422009269804089343643537674724381937977167714669878949904513835902084409307079878990081908552547891103574187189941375740702553492212154543451698382704406985595459430782526297705679097569022920763936912567732063837209489817182717081444467926054820077774105555849367961095847598389459694524782862294944748999096351291389397886764183572550427774257376593369308910981666502896277446244467516670115156826506832854843640373923068670584601415924210623377639190814435996641574477126661194566108108625320173199885608388301349229210844996835755203413391941900821912977527323573069875838325507318075690413716731479540223192541270890411361391574299429962993121893113307354059708051723008369897046406331577318407612998205085564004141615651255946711962559757179222101756936030281565462347265252338524315851954066188483077764966698499327047650039464234402868815579652710188414861263087595057129237354021541229014587367115552508342968664402726703329256896291464001618802776513694655498870442269277359675987827320067144386338243056067633219272434013565841983917362326691653405330688150441913265667085713889849193608219391070623318789499320918298077743021297943462464779646577896587012964424093543963717908482659414698961874403991701251374570475605839441463623276694333902617246644167883921597532849743852335118831198850274152442473753774348924540188361144360295162272998797832012795844244927561329598239581249119629966626168057369678572158837124376427709925342720875932560279544806209364199104577240658086789556270715292411022844714732105030721088834479854184566609453086377234566064604478756628873789247455794193118774443697411439229971095405512921773327156441263716109295610120678186108079363135176995547264502624460150562540837265145229925866175079931697240737680731142352746782086922311581696511836201547608978124644941685448145685076896854230086835615991266928595607690125917774242838349277620426550461640027518543159501612098157944141106213316462144636054556246421650595056943023934947913902686603100456460052021026296239420513048916374107741985979513923552740791833168142107889441871668495343857635254104241652764308362543697233222555046694865135338181535086092875267272150070985822098954074876219546276287273584190388603009391512878540608756170423108550268954019636039501286514176662682766869005367828040531376960571939527845747025791565229836214822338027638319952848864723859134123198870794101887326599974779748723349180764417795916354714283553918307714088509689947765276811044674616772338381470748595115451219098012505209962237746221570587337638874347522525715993938324968988106328346103388427481434581646123998186121846585516296547811543982464368164967604061795115633662061618328064445756962456937545787215101546307720969438198322546412468084597421701766040576544775856099423931394138671103588506675796441274777191498544104891503758061948672249181841816780980006601968561068425640342110250609497541757457008305860062475817951995998504202306605686100045861292252103075291909926729622899580945996643595154945655848664285871284458198791134363396453123604629906310900658272826283629086546391585178995895871059028586077814842949494389542575371855553422920480163501173137079643887062366164821277392268676106047198821721699009455220691657864620264998945558466534236308393853939621533671484435036043761104801631432172839612147575570208969589189504906567937372332960407533631815599190860847259730813807575955965735983621483349172118385503927138427127927385629943506546839918097968453674433307516268470584173169253712077448678137150654722510970358184393313456450181286080481555909190159102043055422029749098418360667856197021631992234880266011700119783245496290889926619061125910514048736522513137245945126941919468739231901256579507623873899475686527662716401664744531949216625465362246744055979154706392901857897639640082311901616978146736936164508463832481794345206933013695329949875117214768610545141126301737156311331786926727894394537687692243971316149028260794688204518871442498075933595679099443861740495595647297764397468216167978766490153838771801922813208139422336586885976073876360339367667813916491005406256590039654411420164030081412747462096119817392945062017494972821259776169245382180096071032297190684496484777740363740122550009385760173353721899380233853351769684194300787899809081583285794914242642316719707521424191873591873908788922998851382331431608660253374265395701680764438753201702274821285125792392142604414705059638517775516112922510766268990383218582731112811161637649634469680820451750878306860814194054890518820894107133128929012083457891292782212292496847565317205074013750062314886598388090415743112595859184361555901491763941085837374486346537725988750418896293285874049769702922468590102779058331675365667899130416900560561618790015361929151878648017709345923068524780871302630867428993653670104678072094400551051508818376624408743551124456847723404029699195099217797254565720054313396535074931847809607712415786692901845907974311206566377850929444278771587714963171446340510694478418692340169826533387411641835664099220459056547222992282685771415287534188250497920171958872211456392682442934234782318453442254053230549795362766573680780256994615445609538729431535644630762939060728829302137544798068977363106796823519660918167961428483395388682528639673600093869832658279033247991035285038186712616339055065930831417859781904294906647723313628303462490714690739503669372327910069814620778670222024431646830214790356724836926805346141850460996181427642649287053599340608755069220033551088162221904689683070577612373536709661404818944939002865039400376336372951297837430635496858734939205128968411936100285028616383333224751735983108470856101776011833622654987439836996816226135594132449937589184807147938865116612623287217766521783234103994183467379268594681455372499863369475163123907846562914614920495697026643281620789437016296167591231758195172603231573075551315800371314729998086807808862070173337146269252873349747150409949772733576442090906369409216034450593964103214186382645330528677479488096870680593773316518631525152590709918795361489305614483613651880647541029232655657881078575261589620957450890564080787314962375823181693794186285973711296223609920102419097099391987766036054926341756227344226958359894509189906155166350667054623481698960301736450608020001708120930517611600178691610050731350106043929779157204347202846749821771635972883264844804124846085615062076998893090894017765179401723761869162188535686516796646227039106582314342467090646464852726536026383496470261032634810887956324731856803624671337649022783033441385685530885456232030407937658242490253948628352776467964008079462254017866958776346548301899761446402832441853299486076353287247988857697190398932890168510806551029225739656576001459030022415416544871461432682295536059924226846557090727609487424558623867209101386783191044224206482257618055148311283354951676874633232871692460292781588089820319622520718679240507100928096281689728117264807192959097940004198489722216906552294432127333440463883652477668723785539618845397467108635180665943079209267808388715895899101447442940415194354851860493869387449034593494706781887744603353901599119037054102755362776685550434912180373340586664923704501052544102642372476931384496511920878863347050028411917379495290122002720244332954554941139855764224206295657146486740998625593108445343035667324130753182108644181230313353266744959845558025414105446406602717620911220240725848308475940671084694168971999848653598540487512504970593112922017504578688326494125329058952713842414445995616632970861345725832550469488132904601604383165127375150970475597211437646488675753510999748462987301406978955092618419156943751752092634340791168959879353556794778420025069248020308188696910492254740948514766025495528642738372635031910226983604739803845329624751070507660296182749938940596825857637061428835559158172445094465633606611546653144270258220247132420190267302356802298832690359368707713131148680140049072126104303259875152927759234679173049600605980580724049302905980371281027752129888077721066868361067713229468791257477555912857149903310280809637920118380911356873931863298271284389489235593714181688813477190412927268253879770723147793487108069725329097683861941989929094275939309573719487110675830079238113015611790321088988446710377162438008048215236181620649799018100070366827954418353369254735125160335871755927291646342308682555105058768429882541938135023930209217569486489285537843033996830917441398661831223955705951968020865685139419063080779665528524440900452852493172075157084615061922928009106207226467840473147136073183171511874856624532266417058290678468403003279598034208132179640773270598394194514563900676137108751057117115529910269859106999460699069331540988072495572259627601472160902184203261878556013083116736099803225694854655718864435751741031540006715397097829696009983496686904885111946765190340931011333943666338574608381394725085801640660996503248391156467810825715059509328115387551116306728680908662064386230688609690369353898185439380241076355056377266687312863251127261865175516326444850959103550486735396430685206827179369150111770482120302602267725948491778415509105156707137638110008353604897719931220338623517151833493630768261330643284057310044925325865006217151669943679902805095424642171466592774454039662528226533535049650825663864257172912307029384262934468613602165506406475430068377787913811706296734680958861913607566704252846852530881653257796564706327079517332933172562378339678359971656449280761973620262054180585988060202281075327291744741761005828323532713284235382058748055742035933995175490771296543947960304444306573800000674750801210066780108399208592556424200306722884112276011890560757524609124979768360972247435056940637831129759620273309783342093223203682144044608650309335248149945927063025390952007026186915465159694797811569537805190354476708852913981761363344811602395812196015231725829127553046474369561862111257303965594436897281338537077818074530794080904824109696254964772897635093366999414869746138208494940825760954202513719173787312542368849742635231403552015577950882869476562110080970113203746372951511996237165797868881897036002860387735062647647060508055306848682593285622118032154936192685939620578749658044374293067165877967532701455861391483944148654132792396305916689998555981858302139039647282718667765353623901452829579991342178132002585912149725036374619742507352149948042985700000571049031303589006094371887130231268083967438602161188670374770545570326408515695636027678858059053856460150409135961934560451628225189918766898356504405710966725362153073682656272502976440065030554147043854391869226534907288100189787044506317164232358368634626182920052428705463058569922732363966614216724538220546892300508728950779351216340148869503899861770188765322199430830431611876401093203955209410772096484116460159299245908015753443232921481243746652883074145972095891801425393833239939471730024349428664250581511869425847796150037690522810320073274353763850135157040991707312202169153380397649352734239711637243709854907893360461940992173079644747018914272318751220432573261559442378801073209630275420290647995466399836941314350240861686338268909644577889743603595664726303866143236486711357280775054747509868355007379919013176974197181339609830091290828230709182126576490159590627512124149173781937806764057093814285392302074239703186866648806952046141124422115938292817080317415496780489656572230793464003643333238623168249940910693358576877852673094386570474847909240813446144321654181454546546020479447630806456597783418085358311612238190367350502226922811026139097760396680121421659992736700099353348712487212008054633603824400015635873241789861787077516159284992489866213944609587954392876139110648151914075726843790853001004223372682017895351337298632075746855415612712592171855291405796934337469336515357029459966071950691703078528440830196329473154351121049404761904491051489066674416971877512241283588079269196005977181977372632173740363396208898902957516577399722194276421871551018413356778976644015231502749379238792365503152018695741355748813253887582462645215555485325239250300291283209042468791776443267187987746929851450166207118472185747513142708194077115023518919412981088640238360937506272238505371192982191552977311219257928717279476027954887301352585370907183869965327702401283998772557559625119188953450149465509324690761719956644710447093638031329811701230275386700067435808883973006608297469940750495758198194267119252745690044197278996409618980524008918972858371442056757897018558458287402835562275796816087017136572109665275428015900285957876760623029217466768406358113080725191515936807150146332509092524880741631287972999842406105459231207897165436726884858567080498407093983112890149609728691792071288473000581838105226439403266603001274761154099969317619794819329489358727503324236213837400952901012705302033524964640564550308367747199887493099080585518313817246631196103793974119972453393914473748992948147185911727827722128624377350117764665387496803043296123119485877435185682757129545567505418548917020609136025842596697973252558526296603735438421032170236336251466218383203893566281294654399837904635689349781017054269321177287835322251683804655575656003904932521479714336288882119165459842570911355915770348271970141165542103731805104624055878597914930369342062006526000412741151014711706151360672223079885798722718351861670617808041016267894252430328124718287717357727509205851702992902259731666468948481652668226084392521087295953943101667428146692384156785309458922310130680377995066526050844721572265103556391455714820168225019271431572250802713773103114581482439254110323419750837708386698066801022745471413542452442216602320316689101439131364247185286913079553640826442675773116271618702238960476741547137588149665815500662009190210292405510253032855892864750916504400226459902823722000821663410594918650283001754014891900103554454719379287572992760332314623269307309726866616793220115509715320003900390388094037795890995658817257918863316019742355057674301651450295521245939711207924302946397577488134702821843379037652970199122037846242244665336681279214961557220978709267332398625459851969175094243837420771732425740112993892790251588230558802448782605557705816049109773184817345171824620236943298246581735820167444436904781957043377632367775365346917795957728866974577081519598175653391466538802591769646375733780078806697748738513855359417442075511623938253763924852606583670106831575287507392437339987781429932920864695869236176845001740177795559777043196977713951250427280274553646139529001089625947388748940827360376379003097359519250024606197799651344964054318739201167709473165936581001124339248069284640001115945762929401445324011959514677335082324747180675791234822995162560454776490042548737958053975650673664147199502697752333697120941336662890303300282445020427415622074683340066340244307725160312265825676533505444951513891141929311507577362935021703085437295009196479385538483990083572065161919253459023845295374492985045169011813256615061189465848471029494959734521847078195964092114253312517590121726063782211900898404357686990430714170597488618137544395575342050084362747062621955403981972499593240280913547159568052022550654517589719628826579681284977464198545476519191028992001245704223247754637569852581398683096525747671565444667784120361325918624530113808271018202685098528750154334762217690368799862879524822873917133440250719053920801026479955924369162073133746081316596010770031200966111602822683230351951703020664943611729409592341153921540637463641436748212227947598063348207518009140732620892728956098199043817607203917995607082059421719235431227495878360989777445121896083641233572895368476203380535143911097678480219807450312844943553930789833106278164148341131786828247120632436229951523382831005659073945172068216627786210167323754548552353381268360994383200904285069462544422839124351869905119372590691402740062974313406106363433634443745840866481309088761866195065678241596581354386205599332672186086785272865469074410651021350834818482564711981158972005808806838347452233419067718435593320903643902458708074428538899092864079514721740039643367680961203045845559499545012804333984525658444475365546185613417689224920987487591203918053910155317429902992986925479805092110176289000668987504443129076235389130313593269587280047789916498219680630336542029585585324664908244087224593752183812260484026224268136319640354836658964416472314881712639854455700647630766196485647837919722211889588119643166441951424716789482260511978316932732904689278764580977614840173864116810293435934221379444680151407528314392111017633147031510310359085888373713630870568027530203404627230601069613259986328834611955836881871998000035824006740155080535381640113330473912008823453113487384480320472289089648844675138862500454640525157783614100130198957373568059173485388440969810959907166477030581278576289494964120141597853364958298283192491187161338044302405908505050131403192961058600402835315659179398057926111685567876361013061575355782689672902817287951315239660410972240628425042125642543590453307863144604227479164840581752286417700388204361976382261733154578787209028162505661884027341185952174860547081041896369598482652426445685261863973154266398994473052902056275005725601235622535330937156549538379982176162955463211455122841866507244553864462881074744343304363388678216824252627327969194425951786223859572996988125280764632475567109761775462094976852776566176753607071979752466365225245059323753102976621961679274867633734223860201949093806680392990878292032726310586540646159104773595804708703003502332349008535184083263767326951146136477728717136246654670180096505111324069043874163568366451441928448838648516134081467125579426541432472240705621075390176294059512953387921361460584495031772225558899738832782390257266373805328331420398080768051272006355062035041429810427504980947929129218519788644592674481102083816947065237664545976686129686409812056290783006850707620130194298334265063869440903582907970458030569153073813352539931342127122877530930504587767609870548578703882883226789944518534301843299448303220312332516175247574850544345935879806664628889114428772037831798196569576067633476895963840333156755621895167501219836161445041528695543865509063661647001014298830044904109028294185234935535037732426886497967144137826566917458675159010468903659149552303295958207217614441415782455792246881736532536290425856332016387335120228560360304666152282245410857124744709886869570986379841266232192455370938804624931076909619485025775250945494167829377535443512224343290155813850887351654054843356196242250086562600431531522355617506495892254734918743395827883005493215183598823152634193804358691504728935642229550205438078832279036253820068451915724191775064216535360231441065967701975285243405495608007058999726838830988208436975603900543421882268684349486339394590001371238229562198568949589286249212882142083698809833296473462442094432962318089950447156896241049712823160586167496099555336611963412754853966713815054852361505398825386791809655209170307203253757026793221529322747078555626834895140178304358373975046544895087530874664246487482704294600192731330832521443314570506993605632288564617357540975748538388424686380295000487162290630934673642891939254797519243430772214509255880750836726906496917184805999208734792738906723641423482017611735344069453128124558392494091387147464245688861563491846975378393023116456686906518364993214486193968498436807042130896782577477679175485761220273686195229134534202331821692823497974581582298790697927172531006033147987754955272539179896832527280914142954202105809235136941200855197506676054796494817011073980155986757655967970021044950554832609920986423134805773540864250163047129559218808855518660353029550892269006001640376009215597833081555338280988900044035054161182664266852457808265772886776864733788281551520607305054827803769702405832430350527337567353675600603638955196268835792807759242618568037456062030220448469271214088865103381619487513067959640716875740437977621450632336958089550488168353327795352201417973414055220518844895853613548543017089689194267870095108913728386424938822634892429059877744390711522677290468946164170361599977683934139122958779667152403906388738206808367120568516708559842235253858925848199687390346790206952182553777024025690867438780369232971922840257568325974795734044011232114391754279382421186407814982422812521707607441228609947799221784492782128415387057368682219164822680401157645335749346428371619620777805166107516854139916992469853910365222683504250966293042840873393258186846332952198546198601848721154194220811645944046117047807898516424873881622372515154779429537203740901414175373888238822284356864627978557495196899047202019733389620672632619337623814108702447289599054422779562977728194207906317830103038529241616010614525841245670175261079431770250383098151719945027991139147877128938765116504064475471517200734298119535141786818578221917854012273675503237284274817961573866702667163598282346327676567223947845186794639582677603143097136501971562324337023882947473572790885536180453216789099163201395964965592487934100205061654228893610794193953102833303133357876602887175580611167718880910337505547626808116353955072414287568656311418971825240568183311632568336423565043429898894068403093357678197245109741200815978713867672248650642935614757195191573455259009193509772072092887666813498956308629203554220491967463311183109226709880817027409505115007066611475086816940439477922232939068559601203624766170326412936938663304377865088895996299829829823324287481813528279110933638933645516734629007841810111289806138586358638461263743103759246676744343050771850885133035345981840456300532139599525721113712993917067146332634320226740450176554108695310596476276101396934861122215657691519663506445948064060975287802985749131244829803097525415048061650032960719102322506805199393343557589423755585976803323293151277094820501606585671423257806841942894123116232763872236252250784984854007842617313319063770520030272999423230240704655156756494264764363102740230805819662316457967268112258171119009830561217337672185034032801794525377909466817058400319970391964322761024626815804375938612775340043946194138946047961502805632456923012145027033677580881012851990622644084817294289094972683321457719463833890044826559639944112883304111204237062029785405644657970107209213013496315111865947166661252161704726023562692215012295988635274828959163074772289306487455061018485990051345022523733319088678845647321685342822676489400172613044540725198034017576907702506977987133688174891517350620870393910154829775506674140763166807005837617317677043430416208308546764375173577962715693957925834963239644062167669593223161015229717027454791353617954105392623392483526750487153942830629374946658186042364294990265749145863321903008251375270181753067333568822414407245444909407195107920675976131473546361192107595780315019439245872129680665269621277686805444731186752042541440938506344502932577272743178499912966260962411651754146432633199781842886268869714027530492757149828745318067614911863149454074388129602550316216798045637986468942598752407971179525223099969401748139655168654078461053952018968612551719469628101715954136825590492545097055844480313467944369075441610075271677082790148352407007759298210768061701038211362025087809054601409489602186016613332635935305624194982153273938792520001685972017576113025756212663010365804456787407762674314001925100922060943520008576049872100957277935474017332525986004401123696878844245852828215960882446728079271948488244398664700444694935688186296338064262262044051750244559453765709079227411501768160949338304369030685373484509638785638622620220949537595063917132694547145103012108222912796273810652828112329828602399888200577820093397516855412271166348231996731263816647092749883815426784879050076581452910299247061059019014143864651535339138201074910237236316144090338785542677260001322421238922156632498165682808260234215309409897192937426298423391458956752844200180947089364507688284399577735462620549360680341586960532635221710047711395596102084231717797534171946970417253319904899291852641449220986655052621754813820947954211680020952853611778928142130115341583429529945100288606582948842023316141238807475075671092383489835050763271873979694320420416921934154775492546109504928808771920505710683029334191864197343879444044129538828922528949849481537938303481722427751270354896694877180410533154064351507155260318204753532409739958687405983591655947737213319436538616971146608768522147866056382612727675834763691556065390059691587677962378551967982046576879155597385454818646363940412209419778092497501299869953845902143459835292174893513728564716666165411229738902140791151479852221825099090604203732676538654878514979034284680073947923520270877848945716249739316042284641275989757464363012178086698461653271958844504893298047029704679307072463586069477860858894353498202002162519838179952476205612179859447287329438709284134904417182388403901875130333729472787070488794256187529462875350559943447458460665155223174792006485567973675165663880874882801231448270691494868460791120123286644141219024317909637100372138481771798756785981851660252469413690946109885409214484070861525327251838710342254849319796045938616530534017814446089117252995660634740699370606790023910441252943937555218016411540788447133836138951834787565150963325527913612565166578427360671377211005690097025537843842580499636654699205820963427274489090802232368840161016738083640944772205699429147967612473745735047530570545787690974357198480392332676535967602967799468594909198727864028010926447730069957316925358127841949110936442507032788725105573839986261484641227691180296622338857533711888014607700429464040739950704460334325909151818347069996975393229961508090540305588174097000054592579569005543152718878919865960723352878282013415779911395824480162154793429447849167755926568754561216249596228010552475005943152917382990387901705227916887408961973692427349360126581919849209235500258002411197448715483357761490910115249358856601873128000672129329383351411393782812914344383124717391237266615505478607584437954678624217611252288310077006532057244778178158753573433871022171447587377275494835809000184380239779019939217276872847820283003330821988964272836600679840439034184056104229788078902415738134792077003636343624091125460454115397356897663060667296216425198831698326252968067544067820582674972181341610665384711507440070393865077277072835219402553828571400875747211748864179501721949580591579457714340459483235979889585859652537233620998588069456910407180255968655469046339025907601130845403453590215266276639968886442789359659761505719194262272910875031292760529545481883748440168257229119267058719353532764731943219590490881020616477868493831875184122204786278838978439395246474398711875792243236126443605424946576414942349601679599659060095750243821951565688826518619930130553670342600571809262611473210682986318460960982534515597649002694355224890144569652938859505340433244027215810914163003369989343736363533747230435421161040326697482390247463169767384766218977608069845383662468162799495348390861297311950444412801867704895367656489869907551355850509701984140118735528204045040219393657766432948119413603648461698139082068346677818747073188318536960673006449096749226175815111398289221972004559866992022494095372894639063068728852417503109511770911499689022328577394935324343821861480463741587075575944359082498821272406200297783122972186471166648995213743495596968871855671464650799223727839135731439494168527147495666650872180104803904367459087407604429880860812849383539986785693413652359364636324537289955795796571430428628077170333444564200105208024822670905241630308595652219057105280352632599289096556582503505119248026111345825679241212345630930843318982530472305129942368534544730933150745560199356727319399648620621665521462011716676350269316174057732446680428816079445522238421569315071801118066796605950433916711115523977933896444750741397739196520081282636034511390621204222407787269486864907885483638187868766463371014882055329349456981213957001713849886697348970453022542329929917792866432760950521348355273753372319128342970881863481461518540716363259323835328277348540327129966768409965457601653290858876322423238606435211048884889687258323357346280880170816164751757424577136722308295412970840774726993764190269991220255015745769363013603304201303041853721732732996870897279200904813586596759058668694810995489990754666010329950150752285401641962004681691984549611765316700280740512709572340952148734446494089431754558566313471204316731816448392146788762143377896780703369048056170948297464063545636889389314036653493495855380098966783577519440650205176730624664902569092325341333835777535193100667268029788017330911547117713139977313589330146841338411096214103851192722464832322225323980735508004771852983309221366053293899648153306740170640914466111830463168002745869988011188521001760839930848614001651729854342814557441724449683696073432258767138697822199622166009248822444484144147316303210867940892292868019714024150966637819292157521348217732386597958784621209773745665334586258467775307588847244247738831352349588154597275875255765871253819418182528508604777037540954875083108300813847889879318653478056369814414645783697373551069238756539482145836531672673230202381978777641953527300824047144817932668411337855048186966326950328647070519109444142778085996770964645803977992010879219461163923540312247309550008969017433118774811034291976597474272336807019926029005380088341626746725956919867120237969038237386336757309908129140836833238969441626634619972741117951417774574867813056158503554026646585487281009754208142648397070184221819576360273326835494307873405892012172661936720766029481885276631307824035263721078361443321527518904484179822647402738041984172875357258549298277731030350425415302818852344618538901756878417635730894142840609687780790064076907478319852750898910509857644126288346335413959188791088847331154394233721984241852716921522719011273413741938734878058180272194542084492115401395670136322465363409540572315037683084795557411894393432995917426909135835580629462781229089670350761150340656145710382001351922751835637967178085584905266976888853312187726512990411602578117848173854357498217423172448620680871820990323691104271367569522942117267346842458832314407169759342926993034340024714714978146301910598607471928897894173913332764222707411536515278330386983550758312614307960906475568484498489476366819133980867604563990483726155516332841335401507985073792870058048459822693752662507513133043559239336237359244559745827259157281384183626296265206389467857340210362351023012365190029085362143096963259282684498959918346848435046834956849355974468554710180574626520147253524982300219507570707524470957657113708290175657249410166754833993620117498601539487974973540688608005967833578801537872501011545675258392170258927114849522148135696868565374070472557295870275709032603566537952638881793184546052338777344208242974302049966844384462365252842089031566024357361030736320627706473338199537670136926358625101526649232143297352533494995103481693899998762547577339779208200504343215483408047484946406778285235720449540379966927232999003471181275511160214902036276637385869915864503007397607674868790862947562898260892879861351087451594941414790827935851458488148439169245870887146045068213200984944779015911279285363242298878227830996279007910181183917659527171706476665156139420225346491711172697502433545139010983767653136772196540399781719178023388640196604678704814152915279531827412248687705464196723383531713069675544483175775754289553167531329113653829694129528230278970567526503393618433093052079557094475507162087776412049963197899749980063580561047597144492269907466627325866848549627377160493302174944758785763902075973116636323566034379974527177969243929067295581297605491064288367588811049288791144791092503226606487351584957097302017002939515330369717614303676016011753539468396654359122374366545652840624333114023911359981616135792016773461093839642334374672350584712025712781921367367721602539921902546599875695890354250338213192733893384806694696776753268812353874871932782437334177418690914436014786892388057646080369130686069696582780749973490924881656146016012753150917304581424848605354772551388070579819257367228844079587377590260518134163091789812886245901084625613034195516915954528353775595656595151339140577774829627522959326449359734285347198408551648817185514190953274316257564779148945671860691890648209920424380937783276079037559338672055286167970990737928532021187593493344049275715002680027939976974347920792692670931893990643183679546252503810679024929061657423221510462302254245671240741839473320065906706229544293089455684586308736875278242230723647710459306187577901774295460436875524045012706511060487855373492622234759607207927966651212153030883294910769939714735184817403730060337058905716188600413231344737997263663217566877082792090077545281584294503829742369892752859263857608794997458539544913843900567282197728598624556125434371602319416821398810683495461031267960686398350878861380110460325072052876394930026782154577046055539936557767544593770172220056749314902223096683429293958262323245748192188080964118665946243178875319300893359110089512298311976556816078872160448373302918278096913933305994292637472088477292014195653264568605253202841085486614948700741408666482872312185385852906232656788507958047631897026819505439828909224798992210294150992401526505552966035575696329457148398107845502173303337538894416910052227495484188170880691974095623982424210693215760371569775511413746637062226044147854980576013095481388939522078035163326638535908366122321869793539900938139405222274405461709779397841486568085802781946504981270114462071066043225779221774506648377544519377826498037023059636409831581940419634800641899831713908021454478788462133687324791877695504581449357792619603658763112209550287057282789550333108739447089239722973168516660228684971195245006241100048871248522171391588699028970626173267951640071946054886530756513646416877241398047820236296897684592567387027702980417545014776279401372624903293630149002939479530372226150480687858097228729548537637268590397663169652680287818635725438800182631121420592335503576048045864708021364310355815257231984256070432386425616698590967911430487673729263155606418871742216169174998357499553328112453282477290892310596024196796869662154507599767991846601895505308828745124323168768615039819921311517596446414389625456486924952188221710836040118557330038117555699329063158842113027449705036735983057961735156675577324422068890330140515220346614809642867479202923922579544844599043793023797697483276507491389319066184802836675076910111999570108733141843315717722604754383735122945542595825312200272921102807273802732702163442960915438046488786882798302308121920725317643128914257013344719790514828825192270734837281948041900763183330472815803391129103571886406368221097467650926061722940224536452168661909476177261107885422278976936104422671872638091332081529993584753597404228838499188922692672962657743499466421530072222555635931911192688206434155595360625014227024588057714931004614194195560651153125183726846851817141637566851302713763989763127510746451240414176630724435854834023871947355887780857970700107993862589086260038320119759564866600047559308721556420953293036304184564815525339169276345445452507291378912810651314709207381201189167782079706871532558682178100997940251280172902549587582574038607209422559190906254252595092633194019661658249337010735906735024661658553581641594324517020411786181706119468007688877152977028646616516705733968170964587484296361814456921424872607557418074569053892568169771435388283924908100561276590854800233088243025245256957251900371169275625922153756280382510689247399762703906396921553820365970936500236754668987734369842188559117969855670437494745262101670809019729049666584077275430614436247639927810888671896401658809934390467314261664418721200926431287500908122786421099403552184658662884230232636518122469588293458206099224894921691834730883007780333653955891221287672733199375089245669856865620300449579224044409536297593872372793999037731734778515542967830757699615480361986688901074511595295355368661109694093514123552791102341726054558975495970055074692844302212189090363633334097965882241974801350103593203528298052419120200658276949221021247232411623526532799444231087644459875900258931368462640266136915839840002674152872043355330146587069112047994882990681928066858921455932419139019417267918754977897028464559257075144222969195643840716532131116920997248096879343779278778392564026536071950256999472940656593064263893806568747157364821342805075393882195008445831793883970094283732918546895593701260067633482827088696282536900784136876183620398494130736336604571381394667682597705590241020817180146797405175756912841286052266611188533287349749507719137144796880704737665438216281058247783839415165736348070576023958224919654161576705911078436265861833117088784151093709048927869892605859924489491193499653057264470212450617433647408929407530186521491091127797010657343005283153244349902598092603542062786905179311322277745944813598691450231042077825330145677560655690715531429775900659348161040076602517548738048718068098501810810604492584456242050737421934132184275781120855298262156827184668890281657723297090124839908621257525859373358960796425960572031066365466417710425135519897762004184827123765483655020801896318090748542234194135471114661804543288946070206120369498590050004564963740515321568643504949965605579753734534097038323953928030790143768600272568735843214178424169648917288814077389359885343251238480470386230946881486359221577620487398416740503026129609467440358309857963256743141079351699749723424825472414039164868171138483076373404337647551587159597812812858905606443922450979166736077507653331198518999417453716552865122356993760535472100487817342691704500038942366978872362117332765737715271693154013679631407879207602272957609734444223643165788918143962153406144530437236745576714948067119456009999573080567953062686308092790949072239235068333627473269130803398403494262141286310564367162615891808325335980035164147139088777340932591739160297439111826871634349748082328934591500296776148422089983642587915281917912921115542311350859397196915095148900331297310104561284956756697737968623660269336989889205860185321341236005997481069009622263801923731981899127374397042221932319938637764899682154951713056576793935456231136350919608327795991692120310559267889965711899365550882606636301536746690108495469487348439342166789305732739985563441465752197612918766524059873674683166462783996410668379179671290213225251967530084408798499232024591125831299548148989087329239808954762758700093288188782941704629108874776256823150607996676049094112961830792658648874374829939022677713473318649574054283906505858527829088092808176201142555004299138003135607661143233924534663762615175464868998078042201144800893208427950417971874399437186887425815717398613919237704396396231441195706814783642669721762735379129778378843935083262511672499029417406292445517230339323375361564165471794250570876868896833852487518505746272393222897636903740128599287623611048863876345017399966926170850182103362570207001526319475638190930059575341590755440886252771021545518104093916926494123742027722633261553596292815173528102552064779990560627486742496187872917207118874727898786727789561949205669083264796638684380892775113811801687195189130554661295498468022200346183829698016454829598046282504846264968705994779823515243065400310769832928954826815160553494505187267307321351859395989599267747342637522565278997932174947219700346717772341734910693478441777180740027155592034716119267080867714152774037195013065221324835677812216265552444048897183043278888111498261595150091345237344046506550326845273535798029312244473229233237925670021255075958591839453824324462749357768278270994656603196874064822621661106752067298182560272901606618262785475028864486382726950113241953570708099465629921682213489911226046803807013555304934409008487267016491587849933825736096103650261398743041755177892902832449237893713728949070534959810350437490398425475218189289263605040727341528125309998135449930292341713508977223737563719454561530172614568413343996768384095595745509938379184738194078174167569249953019233554664935673908833381387394447069746329805602669076714051864837764762572042618921675570110201001955753526446787125505740905695480261302509744774290619186678015666069053246220892933738967544558047230612857247837413683769917266565025005937669345160984347380463924247695827678566735119169362757013691613235198078523161252027093929372795266813380483602000551152311556994392664094820169607861143954642705377107958871952719574727012745399766077351149993748547478045531091822869440909562440967227110027841290691052208676328355014837627855205381069380007930106453066538272597248518784591947606117605303120707700993061800343676996101326918030587631375140728058381945214372576609628490961333973209262327895040954963905547828562255431107240952851269373225514032282815702189477848366003174849054890525174895801184536640929155551777441762362766702458410430661479953167771159515986260176219875940473333706674207564219059675590992005573686111418404421327859835388560047367348917926527894934039507529372011850357058359226724479689962222153078315456338291789110911390751845080611519742902778757346104516963717012160190521600253655862950306820669132336656580358094284023412475735327182506653262127540414264249730006853777769187132993732205826502447825257658481807639775663091229753796430948276914353298223720292232411909090065274090665963826858817750725445927549534169084549924274153340475666292315469682555393060870548233859149811085772269426312142546171421873171885156419734637096939944617342487123866550417670144602438206737800545902779928601175470722418188499368260968905221629066387197695116412075093395908011360779301867807804776843980859698964554642072287676147246304881128879673586262220267452144157087828427987077258395598530433880762504724629438160138799989165676549906678328727909625640702153170289201843107436148110144036691544632323189027632459173653779780811466849215107231373075301069007691669157985655312900496683157643154724534779504846960442127900203652105190872829838425091377069030638757141990361884807375391946188679350939034007809444868653364592705252820698251196870301129705997368018765769282894029711261419180649517386940440582618497720663108095187693194922893020937191584203123748010312145790351986162028244027054347276721711997986903574775397136681972894909431941696019263057051132729161173595685615329564919605264040718611794727994953558699117851866954364308892239595080197847568418482824493951465633226559074728928131443363663521599772872088800758059446384329746634371277470670314178701180289735159357523597461799466144161387864827991292194171739283666257566050803727711423552227955123032141154232620365652567985446440989962738596252286952782026668283891773917739835788067767208263542766143293686721414881742266031681631574065831881819031132803007055031026471097827532727848537208133867624942469054843371377504081996043823114267309071011740809524223106753750192364249602275870668433889048542082853995569334527244942909182867214644821873035823460036638039177673508037724000767049280260468457107552152197201209905791802634352132609380699897484085864256383322688397160841655426304422657106629598324077654837227301121092727399196327961658328775913415700357146003447225544725501511116246883169312100613184067201594293476037188518465312139503311016810500128457651072515117535013520386032180535659206211495412401527282825968855887914260977200943285928053494891512033225391418181787085052602351076978574226337685719134417339064990929171481352238532599437665881127667079433020911117245704298441480184695097063726000800218850432136776429447287054758201481141682812170664732011979486007853776136996213335841375646476247633490878193550955563695613033892420764334856698513760701402093369892597347837229875859142882777095263828924480097562952221219663967230820890928634545193371172340554255316600868203466141140173985894029502729047303492062520970103287099856418182250566102522332318208272757905315442937408622237142356059363802708201440210005511583154566054458014362741977655157771834354219539870663428424126676032262026480920179095001262732899129007162083017234965388796703353213204965572344645939060471428055176015938503548334007123026100164515514582831724820864435981556617362078451049470741767247552212509865116926835195866298763732567561274486536117470072227960396017739614420631532387217086360482841815605433548464736007231713245604222127133869010240209408716392608771090305930405904028780135980916591101009742237857122864075041211598176037487701559654449431358015446444906936708672603740874542269239534159719554037472092839350761713878502483092775795664354714576246245868872604200282021386433517894986808169886765495361431976989908800334377886668110291681132106201255377595592263378646870848199342466781821949701201680341128140288613530846025609522591992392465067904643660332408714183292683605234179302289657447434783333719744849143521497956809540459353300653041919674812487205452777364877508552475452760704013807295170194383529602863819964039659793550893413055442813160325974303080005999120983414753556577590850754541310132283357111912588663330237451959597666254851464719518376456954961461177018767989572443916193155394903418510044767950364164275701929528167178648478747424529677744520026119243006733454816222801099749023845808879011416534292630214727870666665077100259632513707740549410199429599274979779969660072667443412094259734203006310753087327812659658679248443651476967145675611487644104076493975919434886564800447485066065890108465936443727423066209027468767569572456946821567221160147444677026493768421099016347545484766984239902396410410513570446414151960981860377657637834138960467091918399141016254953539093534440097382160292048596456085477741491104846302707346158857832249327398491116263435061310299856755670066052097331926078691072432901512522112475119717007649766352384742270920628103179251613112065834739738841561037596354240338163847170540634923188426473781380999758832211654181160756936460328776562647436536164998213421708153954582423729424409874866682239505711442477468508065230481615476792288495785486808049524068757528119063397644778214818218016921512575963059658492317318290837890696774780429899116161628816431949559807704191990842743049955744884676454359700340527323440928495560181537571617073461549454670750542443144524054580544712912719394574881246416526416247917152359153603002721203005222344332355336259875738472500514174327206708920577114727623422454855021070119778412708752062162817417960727081049215445579149363612408653698924114635212526910722291596521627245408317086963561233915361275260553008963552146480689912550681201899771344329162365876394396290059138739953613323926269165366147761715870135175849924559229848459388980457694754092334436814551438873530787518456018861164634539269793902782001320117925870268400202229639176425415126775817442057513923889099401946385057102172416285757108189514949613510353730982789471357107342045610121544374567231086996517552028571166067238091773610752081343931463014773783737620932942529999724660673887124811840234021911562494111669362475571356213339915134844738083739547864946497026235942736476254170435247350148120252110149983922088033805618739702237335828828014482632076205499318156351245448284284003543193916122890114595906811929641395405714730612558195644840738681322271707164265743835417125043264965363752180148902398545342766467428734583832138920170754487855898958135516047602113612174045353492813347764099670171417964509986439241962552353569307088902223107895014288116256494497188562518363233123047039271926458399647291606226933080917211754485446596300079289845386414195683423950526678930458186942205956638741816246598721864895978850275033889424832363966321448964856091787035047161965187670877425692815565730783258799874319499935607350389283627550237365534821583280062457779690590486259927715375197685953882095809368379274201199776842038283022464221820570617193864747021319853725370595899214762837049169456506603096806680185913863094560139135049992073087256149128445721244740269107585661688770493800849157092492876894687332342061262879535889634234243519772950006489618376561233242797064767412109808153098833596311141968838813979278153783237549003195245266201635661393320792377824420957861638798721342797203287518797186520405348952688171546642148063441579539615671282806204517810222046297233989635762570459259740241294896043899217349307525515188075973685156575768003220072921256268364063426958688663201398668718342743075557650679467428401495812308813403244252483449185527642523894758004723313319686396455538089415397864907210181581712091764597753831669644692210030334717511438058023324564030570790769626273371438939711882801740883076940911425322425853113916594201914203577185808434385208531452885820411168695608093517174833718557870791158834889273816707297381122915548955432460931310890825409514049680811849155892414433089299646808318520363546261104999424969125126934444662257623790049888576613548984891480835928646338400607850013609037555359768827764786234904592879068557533844726627441831342308544124796164379887590998536302066517934023730935710831001392276282618572754287753243921668085762488439066621526734722937481858140691460360065773712468369039888066307257315524802875015319736476357447335967115261274526319942689190567001121300750129140974622090989727840439572690895833562563555873741382324287938466576748188081174113798457897307473047813082474582111658782263326237204176987836400017010729441824345482457770407379782823576220313142975905137410284347998587194288837078093023225535482524520912228501066389984996243938226907764421109352043065012653685034391515239901148976431616744570126279153317691372457281765830491260321579245685345260011335301597169354639319887924421912861943386357067066809858095039377479352824644823311490776648100931525529918607721222526200357087155041001429229470710068639595152520315148650439496957183534791344716153616793612635256645747227171103498206675784548669924504565816700903323004376481143614965712805124701144946487312823696707852166097564135609354919570664454666467572171612451367555288924698865277473802849429098112810917844877015466942753589127804651105160092947740568814184084565610113664982387895842413777582700190063197539929829688729328539472744961646256393833869340990111367451339992284140903792462487728762857267758483013854539753761207361606904556387624327982242693206944398914863708903096123886940243155726566664258467755397891760036449354221398509759582975439379209248719915259188990008143934162784340209591237859299248057419646047109711492338259137182353316821721102160993131487357173268877009471099013625243502797959238067511992404638349529375050869680523837258742280898090081084251409837167665023792800587425009840679717322344939194685872951747947955394688703738921380853106063500689996493190767173262525999757956219446191388174919559501481126148831020939576594132462826621756665267234163664864439147145949282726128597918158911363241873791476099531229385981075576382038490271139137400869078264941887606225783824143786013020577766420789702587170584228119743228507392233540252812309671319883226038500828749989135292368335013290335315060093542089752445141123416384396152816389093846193769357769086634943019570467665579229927257826442478952700149610022295186524834055722960047208028606602372255247252514044333494616563302999470560049642230989549103297078677762325811040876990154668648461146952720295786315980444468619425030655922002899583750459698962891769405362625482313067966672218708088677040130699050188326152072034709673519576852670116033776109697422660134806553767978467464778926192392394970782462567226182075824321599468953733269736833380719715984736913583687207460612456126269565513851692468504863463518467709751126451021296882475169824133796459179715891759787371314499648414196873016613744824620117862727666896006675569602299422193210167165703670871937754805830392072794142157304140400051508501898674423159903472850517794868803570359524232075738397172807032522093277206003635563496373167398102473830518446399205622308701504047715042508906684104160249452165978622641582130744989309934748500883036013975666665893894246940976675829522007002132691974301843227972372534221729699832529538687256223742379305827218276265408883084263331679152394766343625774252492426579289263820877830015430990219170129228410902030648644265474369493664754233869529234007462786498439271163421065090089208407575479568747207600648830952246642421854324520498928914397157248900201284973971264333852610499657650884736310241956450589504189801695217614874883355548088412145226862588018781373278338054150245500001183964937012620136417996488172003438939109340411081338395759988897919177715357346131992545570744096443314784146033156710230166572922686586931930893018346273819785663110735514002916092340143065698594501475937063500597544701394665069333720882192009985166990136986286246950146362980067421913276880520662014584068910342494868958352872114671813627059519348211740313076693940977923357461862349118120474423585772843301739571159109607152182775893470287430368330972558517585420785815981991793639278913123943585742312732035941366963768679112215512563142354290175015785079745325546434857787285747348165420364764805691714514126728682686111021369369395914623958379259090581754678691563258078606958505809861289980559515258897149540890977631938758773820882663496747144492135141064339988048137844579583178772474587456086323527456966503588899344564086055567271054292671918706385091998595998662659416893579868457728494753677494296907558061667630459322655134001985349795969378096830147275359853898567186235539146166150435446779432798495420313250567385863205439420213742846006846214212557200106671776862376323366901410107994627142740405396570114204438932517511318530396903086788629059859732890401281464870754442190251175359101315998643540154255488833892945554391359928457371908334894185603597763917409887708669624441948382853349105520098459557405111369706207586583821947863629813633625004310388829365064273170735395085475692879437846913672588572108638280283047559494044347666148226771896960356421317689465735848670514543430881782297423227806471183974691496918099707495599161572813705145143807264335034789557834870701499993381305982601064627006639784780500454602935493325391055818683073311222721080153981615137758519833542545006422715008032844490752977189315386362547298441463466179003238648122862781671257800222658439127670974164231983778387569571273454843373369762097908872423930266541540579324980920477878475031655979834194060195705199407401795097090924729125314471515417472546032635063939854663015187802182662254894754234497224258320008678259973361151320877269627947530334236760909990077796872993469586020264061032017293016786931205127489216769512229954396688410127712059023478419618836140785479377361542471077286183394151935721022381214623203735695808408728370497362471377074342024958396878778790960070126343245814870990828784014538218666952475970140771708537969972815806945449257308538036038721256494159584974481220256896587588670701143485877124365627672250574920829026263863421655030946037275852453377154414874134232169341295040289877506237030841179859585146736646687915942164324562842037268845646679765884286143234427504012924916029939917684378248178615104579494676125270116507122853916854159616916268829043259800282009725656985845798559016526389645304497554010765873182502732207746594328966297294365297028570123658594831732641142079479823774789242790055958244161767471806780993602359479112045320180977195026417053468437902385609140947691847872374954429680555267748986949622976780318724284830777275394808852148393764114518631509899278256195016028411672546931667867886217969710532402679153154878476324247673551729564920375804647329152578060305858418043186859179383497808583099801251492751737439421914207130894875714102435987090318145473048232527757128456930484942264834434535559610212740127662986205277373702242576587812519676524779963762561349871184380157018484748576738079625161416231870258018526187305672264533604803108501287012148452780936636741404543289626439371271531630328321805578635312263501710339640638311594898410348706570936780413723005102715000091079451461102063843502381500930411300047891688844656059950408187718593216283570315817570528835479018732270702466078153333846341413407584034441865225893962337260572415976682913941418670585807952675048541610736661549523428766935478330750370581557628236147260820870754913519371931514761871983887310391534343695978394755437819616705272496488100172827519509211482309304652272661301037747520458986378125362631706407728169998665508086171470633423956897264021845772670820627422378234247356393557589593998964377421539405005750608384942520759504924851298163014599851038603479039882724665539263735320876557320585117143698703609244449729956680835073195404324304468267870198811836331703557781640119528209416468183909749886328903808129314124493981410101692434059956027971580558103879851880084339286185308246163699222209573920393871975044822826563297466999651932235641020334779589740125517539151647506112827632056773575091365384319468073286451118359806681191548008275103772348041165284618236164285973165630467259091568245855069112578016125543530832754095657240660457467315447342488325379821401125074134104494097176659810007558972009804334451354448394800633541984890959659585566369081851781253351727332279443390204698415601846992948507913818163106280694411113922148523550129975530970963996460216898512636758107456870939690809556453168176767212141187570737950235929666554415399419212372525185876018516983704936400054310199629268610416953393946254082245797246415556287411756684217787194171742053817830861379129181592846183020829943534944778910052560203961882203129890107947712796452722494485391873290852027249815253089273958240269427109007332648940126814134669963738735102214307013414968142262014387351106009652903616880907088290047280935411199965046017325045000146441519736566684738142487952793211225596971240959165152996876156977044182794471995589345792752338086392915637001967168359564539191764205343598815655490086114697002440327194052397412181839709520054330354784540454541625070487862591910909712331301999379409728881774267558125322027779550277928259327491940761541591195558399642304170853599526446403914571055618655438309950630501663423971858679648978104419591229624865158280283660003860657476009782607448506780015724749604071215974740069311323106212854169457864410901837265731054370896086792283187588543162392892984411811051574110614948077868524874603683811331586461866941397190017312164569328940803819795270391755085305158974622659345612689594665180854819167822614521734416171515656520969911972698747316515173250803180961324776534654791561662961792733409985036003046210832821988392256202769591962890795862777870097639876201533616364265717707914268346333581874665211002788736118908518593464834293748344252198301075217821281640795241368266055344301262139618729447577683980539338829436113772869218727536881213085075786230122768468807790357603718575688150968678540816995194690652943058778797706859929286623992418420905939325984379712507048140462106797292071754272818084963852605071445800886425836704331661827909246685709190770667427297137829219403327161604931507624126321507336295973034077887842579405433070801201598197419635692561677105248345305297364540075241875930642954372666677298756797255887059723901190313650011588045364892180005584919091470457806337499617258955229607240730625710002949131015517928826078671441082387852872673072054519218164692735923633493986573319615265271302898229377482627908046585018238088197459743637188845614428426845871126722670775778862097422558103058254933362349180407207310505221195152995468687360838174630623381803063705104014891899461709106116569406579589997862704666823616504932833895865071500384359988693116182073364199217713435492638574332901204596816791867434344846765889036460999724101339157371828023010935871340321714219927983467656341997123456290032602195868122438641744602219904983473391613834933815051270248651596365106050236196300838468470300034558549472639032861203697818405409154072208849007899754504807456960466156799543087872255003608521581892775209255499026577413032757717132189704678381559549413484384327452903249374085625564142209721335955477058826933218146621787575618104107719017195095732809548733274308696182726754013884930125016128442763678302255160446455629598117956356197810826689719309759013282434976959187871491521844425427394140296327227383653136299873928383950618851146070813359106228700202580345968445006771156584571681271114232663013545400837326361910173583218042294585146797828257309954215583339941998778148109690079321868578334916793960975822102688836857897227553986441187810987480554112594598146872954051804750018456792237272238178825844688038917443184926244906083178258086542797538075504516391642245192000891517870192734285127750031057594271420132290894399581219328964931664918879750945950981441788419440654053575140889113219509955723531895358478527940580488179149586866162315445709954332904653586396515514058377648804922647238575612251496352272728340232719207327790693275713372340766825701308756637449463310890464804807353209984585803493166840529251583437641835506724273802394272818950149110284679363459133239995641150371031920269482737120135793034553221442139372321990752633445816689679656474473757124089208411595621846318699143793784699149420927318782053559891031161633727045765498181226547888390744902923038968865642263975926196420587126692149247105964765513864728251287100712644567930819490167835086306221224179602021354442585008336164318341461665690891209830918679179393318166410489685348026148562454960101710709078093054496381823619311644675495004637895091026651160730035863211948715669599501629852521014829668631071169655196190241680539799323905762996120831160517855164191551896727143542974048037075833949973535891716395780527696737522557020001151872330773199556968014489672246912968251679866957362418891476116875328264758230521951257754620115503101921003368654321901234180608600783199316030852741678630658247324854991853471407452140496191446588143063035384456082238497984273345261482405178229489644610952756907837314330811692710024631197500767253533284679005490259643036093060571441572249281777820992479141045346023342377376366911823568697849851277090902395493429929850330296345585393829975673955267584946018220707132396714941813889386805997950681294178853648217040320895364418263379886456447976612291339798829730564857694201380443108125681884622013260449500415379282683001851261736210078209143919094229084285832925607436633636209094920236264872441895564589703169591689089600021431956737786544564839691697882027074661078926419152836649746094171877149099656375967779663440114182288202089220310256961763353322188390821663843819421375221199181365602815212299913699514615547137723053937643465265895679574934562612111156724880461459882479241874519290399170263324989577689533347454447640419785206310772999757252935338864842566579122244333927606816023207849391652348296666658331013843157616556335611374399694125719024633888443092157845986191771283163094444417603122591004943271921470671040095104128191345927555276810672917777069837318507540537147259710738799199751510057853071055356035165561853074868117556854967418144066928309476755577283632937591606172595533719628833750881168543143473736849797764128974828894108090074124004079318734767604669441490980033346213469023123289672636507923370437262549626691359190448351455565354661638347698024861978057435440532763510937084871019016722890852096516461679093101835563188210331379462983726120001254848476981055204017911398060555424901261494151067416132458217403850219766787230276806392560232461929465877586510300893136108045154810902245719360376854401333255435974519154610190844331344971039956702303217626857891840028446521796967442835045574057823814181411583953470412587385357497377915778588470514344300507445296850173373186873721219072304392950371211399936706609924781411303020139802184052394507302206728998271044222922290910447882992301395148841716684906115081466970372328993477641122599944205716074474692133202244230178959667209965999740326413978775381073102563745639414016950383625578407537353444327943681995439928365603683397093831755572695000822896346409640180153924730510648085979301665175776493745373280091238039615588534698086991561866054125993053314009278472434615336463802778016796251185873226795231035368053621387546234054291743754991325786320877289191931624883970820373692256986448246932804886204267953697788920904212759046839031817346368318981719013016552421434905139173458148827108022881475538519483197875899828993754158929878120558403108143165392236436903499439091049746885430191041645662741289375643373013020174678716719024105794896620297967561871248200371953209872952295131295291175622721883298213263147216804371458017452204243059508443748983807223097957993119284321907712656289704949615790427331371536705986189064448302825892298548176044299461545434425565125340108624700199279474307371476368135585209738144418140310387138811247204743207819330968283577669765549670233600292674675939573542391160681127591109793163539735807598620399181644601204396656108740720206066979878217115773183516874810945714817244539929413187214027255767250338036940696020613367148395949658025985494031001098418401566423570722142626029728390549819466829428096878875752578598422640721315467621655847072042443676196650947383693811804044717041411670423373467385787498215995651049481142680955155325614471399264436312453184693177913727629907756362338103048417432271090712400221990284583613722182266593040500615623046581328166299845035376058725687464945438646065055507256329246836914354031515824767784245611616778473942505787850465190392516325612306937093156665019633412768132512350739949138583083089893003603835135202929762012945199661222256145580544588417645716153421823245908357232461726060892614579784633413696319529346783743847383893797449097185202878599568818429787575346403297524079403803725863342977761891252595240253431251171924520215230296668325168464617187221159875174493199548381930227147447829928863010850341457505651189582795408008714701238824717412997227430981173835716795930698380085192468185087197620301854242944424492160272909723764541816142389360524790197174240984681201232656657754269439986361387425548509090109205106104694158419872068583703497029625746885090420233643938238606571113415320849293968908922258602484965501454797230228646944010453156729707788384745164923711230613103404097316035590682557149363026380192708974112815619906652133635928902861941929252670825141701482697448350853203485240172615426821143970605629312399286936865106845422592532455567645480498857273307674227274095625432327087701070372757439172286224970256667629473196289680421042948796858778411280432554851861275588659124093479202361862543051524139287499861156471559199524454140095356038267248949650314395906713381198048691459431341195987803066804524347004218399578223901601655921474122425939829228256631666812518846779763493320286886733195899368588972000951798033304636638314428722107431804521208018016469854481202872646957725593856914705621147729664180345894096150420931188402015395583149651525245360085117303267565632603120551508512797792348142823687668585374840443459868982547124005621020159516502573112588651555632177331709376680856043937373603814742721108455150778210858825581487755856362347077776627180495886403358824966057198512978547122864901775865360783456535503067636711753764589574124782114392625463701595893899327511463117870363987772904757738052450949173982664263346605730787989563252950491510469859428535233416418456289409722525297742187091397334662778971972690956292332828393958829096767059026859711792858010365901168504003338021057215619122544930846128539480854252313489817568003371037174655324078468550389520249225425798859024441226451103676998585325206859169433312086744607737580653647303690750854922220580245987903945098189728058050142607254037889524226026241909944570240348479586902476836245740566335103840019876534276309267127363258853782560560289014041397973997409028305207808955219977366522878775701514986615954281519935333961133656702991751526684787160057016781402154108540635330247893293081119164119437624266811123233691830465594737781545871593199586766116651985722727989208665532932163954812292616371051197416604291606783003709732387952055692686058968359279735793743754275967791697988991147469132094174288698127975478620856867937590862549060623042742538704535892770055909188159505790214813202634999374503384850379528612422657327203744616769366135690358504586624087194039789653006929276981262864087246266447146500150225218205277244091507390284456296854087267490410042259222031082126451953665169377918644944237038118001214408247161544518153600566576395157317420250150746282549137037032362465394455952116198394870943101593523466145016873103893637079250843795918718320736639382778037413560092718704980668027810061366731050406993688299613388951341541788143976247261363156861243519376823935041992339111087783059768803825201048493754100520339780418851885475554150819383273835946278759240084749983217097119152999533174764749950776795959782132174937094990038441794590849880057472051242864816121007963860497929041529861005038671079025475286647957917202703274539055405739341420002019245954320890477235036954160669673238406199458186290157440345251572225851641746477765896784927832758810940317304075110953998053871395209642031091994344041009406402334629064388515591138246008132245954184883081941444841216549894401777442942985290068791178181275329108244217665267348779422162528622618497607965812580268727107313675016575133324729740917531124155050265203605616429464928080722352674432588475967725053313969215493876476977184859476555940776544730758137950187291391881294609753830976693816297352925899993234490770627579297100296089389148544026885865347584092645924737761045540912882736620938608578488801199783874607487517571813891333938812373336256249951784060149903082712390291751281978357559694392061484262574540469124806746529967374261283307734769138754445409890805794206491586911148317882266996236823864690932788974796920040106221346478352371991675455689352947668962803147997431222711252219367934854655488641232849805572026688757810791745593169091464311227785414832916706893331857255813511572866061468154243131019127633817856443317322374944528115636998108971131285520239854237101522203626233628016736194506453462565856874451032597599169789082167608448646700920879073655904687451932117014068285196781051573630345240398320282671577853665988482326373798985237244085450780075969864884505086243765064132687970230721576489030935519356304405941590491206080581292320904272262457613855131873803225318671801842666414117324842140415049023498357864122753135090087936076020431979034106924024327241389966436518263533188140448045933890464814429113881218845433516058689920547394421088055108817939953574798672639650932108117712894386586520931913060256619911126360914553801948064412671561302767091183489724772462482487260563932013944533713198714264612999260119987991765424001132210456041585341190651579798815264962559303793851216503948620413026036766479376922795742943196563301153216414773869081014783643675172030671030235383566786120973715279651290723773395320635064002036776006405506340904862291547089964196947275663241240380849679419782955780280131592636721535104143316797426744762537066624649333663752871743386826511641955476335873795574866336600684535740441019627317015248948291751431603712536903890469251118277491798113803307324303934072973595787500768132001846944672214042750612997051223438530583524686624072462192905333467565489573207662963050680169828803699441535545642503959760131752890503141628585254955118623367680240770025319806322254323637739238993022163420894428584482954129615164791968090285021265126068110868311244608612124448784610666871288648980218131005225744222396466034344457175540628123179173478657232185299005763618454281473189865079811326537082048959334634692983638981786983691171186380699544623106840731992216959413545590364372345343989008512565326246558862091572426062733385990398532681337548635399072008887737632364242923080157610498166895670115298024637239306126190168221949487458107046519712250253166150266987469070982540907693608318217957760107195311755375247480910027356273689702990431083316494225168674950384018589158361804350171900013247035264305908393974710117545582267553855318191648038918397341613359912357280119689985581171485989619249140847537755401335209246693707066163759227611394604377745790604223303475917621048380667840015185818246553648327168704075142455900388122291066650241483251968157233056005481180772816612648668306490070512790001174339095974840721038928926371366234652288131038067388368550032142783971137974226697930432791026578037185482012522022303124458879381524054688850182275676174816498431105450908719200992920683163301846103127523692687873588601440341027651905619603401931486198311729009030673928342945788590061826771090902774246139205815456842373641867162113645244912134397597103850255407858498690779549938301360656229111074265212984197374314666983477228028870529903744251095077665026824305670145808689529880616462399510653402839689374085619587370603517071100682134311902951005109125417383201338354046635563773080388182625948173731198184968348699953834557601713232685601260983196052664857501019283044773608878626191930042127260546053960613655174112814230246184794690009865966464897405838853719196293974174224070330810358866654387907001839858196698010756260318338821386730447974783941552354898211169917763110621437925956923252075060173083850983626676781893860250459021239364240561227754418598717817489967662750432347715541813651338809456302001581630945041478519824737444449943507437161211795029644500771310780097196056729940961644736306758629062473016333191171168239805859845669957096414811883350233970474028154260364624321874412595640650292628946972139679881673880639693596561487811413512422016379161890201794390945984963542937465718648931099119027518951505185832749333537080238494920333310225737134256522092893978048721820162127241728776712209106218557152157497981256136752403132019805346419191075932787156220620100067184003062428742171713980160686030498188411358927929426250237762942001768837986527477866741129388200251590155130355466488365575426797098358168155589363949823453718243738449765194448463488674760347050516367802227331991880966407737295176230304786492384990219992431770331308031572390666397229731739981219057874331482045039177628041512543327995113188990647641688571303415486662002091435817248488962304643174514970133892952958975536449974548615552902196134851716581617709161275821835023771667493774519850173537083540431083475397115556935530207835651812542309705951867645043468318923200103568489376294244788015043763390763339597078034843836275547823228354673526705401184868079518191735673540705112302910382805258279762913954503413108593534020762016191463267128156572313935378130383223239833714240135133305235721702953979779713414519943041565358644429048995862262836589850240685402767519165081304774398801528277667954776985446625002009851324276611948805424029023946423577103390158205256024498060876277298096097230673112686719856299088905206990639172511756444775229619859269693554448774367497310450716155271621823837083436091833504899673797917297125075274417777220980648588645150741498422470545011175968014824901308897487575156579060421030367731954245731468470951593774782696267681419443754710649381118436866851838013498727640161162802030825280661639269624057656380874348868136425265689938380587602359051649429590149491452469587783612377340501779854966470276563510269779873155697919536350075380157006491182569237925028161944378594845875556870924347210586375776878595279622817763741086629997326639157414430920166953457553891479317948229126229517329077102935962444216569712627278932956638243702677644761509400787276757795458852876132369924853648416460625075236897562659401785936686201504393915763916675148049311848340622074693407730075469762684407631598028253604993051983197139455537053783476767738013195008475465610197085284300981744399391969253159817007164323777570235804805286418819112748000535820286072352545885180088396242654104545809654894444987966107053942275306494821425304260820567465194505550078836790323608236374909182915937276787478094614953763592146016550118461462710012868020495338438244004566719273676663487505545242084479394984601304155196264976412777184645346699316819331182800730651534905037704257836863502520798544973015789613071160631527884930359712119054378757562582968402785046765034342189044172137281002338072889897285022814342899953934643419005145266686833010545524922862345481675159473814628457453844724256550703563356725910370341602640458753319320625818306183638222600407517172046706699177119913294873337003786017068367370037623751272923544632520024095512096304098731588180249399232207324576052448466723146296566925460053066810014890853867627068888202923922100787469070614700067960678912522784407307700116809983174950504901709341127666159120024851782174541970080844473123178061038577778229198407033262629327540135343238286078830825952686594644322870116928402105155249055229410196695027135957937541163786720896219822681849821011822755133690380734216627751962081551788784586166579260765553046034510729588044229219645034961392119414814381973543339172686434459504243475871612582763215646878446556946909186120476543445203525395271891644072920229440960857794436700168575916949905367565506280869334866471773193559051466791329438186389830093795796252418728102106192670296282932491984666846113434279384799259030714703489780630813047416420315404773010985166688323144490343625183192595431059242241152539748272312439489418778748392585383042733248162191386467586627429113428979395670594779907845742531423014893877034125172183036440828661446356330127698675631477034873402838925696442857504150368933196342445279824690802051270083173992541527705230509127673964756038870575053790479440244378514230971484279171840933141376554946233578693354113355129034006445544445136489331272148465475429895086105609483136969397460471548543772525986264230817100805473459581709892903930375452058957745574256950164034788104252698566541399964018349971381266082214996988590163615427001529217334250649521532177704816203859288772013567256199034037802145926834899413056868814659521908357908200650033951118640879806200494102965182479866774443735479726144731489655743703753080541836380487647626294914165239887191406712878203727771997339043508448455733316282489810613226123427215606402166218212903486415491528455551663950295448546601542436387752723740971224290202873692858102476382415610734571726577347051014208755797958234454446688185809592145550497648475018437634685432428969894449204339000704094885415504674748525486053628534188794296065261034782424810580798122322676361843365265534502599513431528519193907344685988684023880187450871668477188990461276917817326239774785646592316249664489847214387133356429845159882706270453038818281667315385194908524376579550796344792943674623500318154833572763424036063834773339835025304946612462955828771065911144493227361026325960274284088291750402122182533794000188112798543914578625481026074604913563085761545617364539078633738279195676722409281660943628716430746989549024121032754603667633603052511203153492663228530325049498104469874355651076536077373906641153960453881147078356255992769840495559677661051736250352932195597300336041212508083072473829827542523135779050171725116349178814600658658579015767780373970166052149648056295218752848894168473959250725292277861784708384633036402106292919364275162499017379760168846842468394395595325133789555070108237935796668655846997875411777659288461954379852914859132917758016200357412154955115042598404634573538424257269738018602751898261770993447562784349264869421528530556621156605185488038493230921520760610351432637451643241685397681894982779398441202572028166383947501978240100626623204074519892055691170838547433547949548377786836290769070797319552921202923188521082168930389212148125187301398290168642406650920877025896826788982564273206246032479547642490863237563606886856563919797954828075111895101500643973599462455571913280324227311381085192402693835318589877833563090299992558918147098410502063137806330790468184992563896175193907532083132345509573666865543899227433955467787092553256022537542556674084042179881667336149533544084293568263092939249284969522934679968067697888074279573136962966002668985258332759218049305300899855400731076454649656127352117830761927537544998972391148654032562585790621985370618232330540267773037798711124245706768703576348665095382207947209482234628210783345464842845437221429889118016628997538242086765315044733544956906151870217326986337410148467392829656157227070110360760990946920687563586227003046600309757717244027010365503617059598885352085953065315678260883874649892958436994436014920057080837503309398048642287418395626384738968799704794422609623120245419044130703490710954100059391086789969716717856354785359469446371918180305376110538319740329000904328106211827218982298173614244032846077118512717353698295991239727620197501976769282220738926914961277900358695087181594297928793554993183669826952059408203266480340139724112615932385699767357420884095944586931910939116224285844000407982992265417890992728786170777678387603895120555834413671998347240046739595279500336574173195934407094571319398174430580666364258633856652747657048934452621216381959142562607415497133143572432225255078622135539165549959985952783353701967870221714027855318880993797156526834863615864277443661722949250376447026114184984725885567834376914071436714701493051953383568003452809888545814923598979496719154906768562761009147179329104851115104605428624998311169199758680525734697815418805070640401885940197654609759282903507791785723974192246343211854735174663293211368678726077445860283730308024173015892644800950740511540299686680252450447345343860195902503326806202782909214543313948906741906081795997695990569677425343807274833986165602324010427608874980547099326075654435782373263724404490458870145089793754306383635087554560995144843672079339528910117747839046899646524755822756553546586303146817291304253605743971554961125795869995818142208368068168425582601609187247689572087009632364494604761229927985857789103151571600850524922197612672525731466663865435277611073816629326333922974793938840655812550231333245039289389570812241623357495610557910695290565795289607976727256060387807379383123338200830702200894216334482449433051038601779922732535136563174983248847520158464586359162790686029890908923618841640615057537120829688034647732965178788094750050174994839890542958881296304643258203140234833480832936399059778420104417729770091841293040196621416556699537266865535906231849845895624798176172571381367087312303442764667683731342898373888092124821695856187190820164416265638602979219699375170713885778235949402389308541937265807884040818172224841729285036569317573613694016394386081625172984785623730447696833388866230116542048573426353616891097669801437889647978729913198140183310722830909631121718728141742863840968847551502887138302801728844071532600227496766794234525410745803829281565310525071401565807407689555182947370682118727863384592995495161720605758564914810258701482850171017493197799842035107594046297800037240314533237125250692138645615490235835093847629113690944102611710689557137833031733248319696715814010849429184208465106560591082845547769936622601759982755232433339360765531489479101713952900687451761459709410420105210916351647252841058186784610994759947874686876500990248317342300543275072702898136869582436057097030995239779311455568476913634369907612844218396844182850944374753539526868354136369785522876328086172107297872702189696149125267128505453071470523219206251797806623661316810908359984332210205048621873556706418527330601517780795022565264765672881806968663713663429513311844940513479459096346942846445647877248567340326263399511808751441952882766585046969071575558145518626298655866632804189281009214906355161268920454446726508415048657478354202552601015181147108307758998151777455493688823177296835172035713784119536410726123711445251635991169953028030138291029445632735762614859710213066392937316988323207931010175670890798449980080934494644385525176476738135211246585244454983223581764516374719802121872969439243942899204304641402412743645524690186271192109465535817363740993843776762089389102153857293786118112658105362544228519381741766594777899205159233804626108918713161001974636292528369338122552737251002804986897683154338152079252796536125621441446372954937784329688654561270771608716612701951814603090928924670624960537177799951966143249625554571695299794439731438495070154904008202490855210888063630232076996320249433746919327249919807117581631029832254509306968724730454943832652644540499565052774779742127134980514185659716672521827690976744456499958800513552682339390156577482710754357979922592824777496046513460723200429467140282292217746147752303570528549707896378941452115764026277631658850060868261710457684670024548769166182659577469432668045956380639718642588103182283190618638819324961421875945336440328025009787636329344124056689844718425318927826366475094692505665189878849707977124306231299428319577855310793099273575603726408497230629503192684671756089605003320975436752598934643065900695515190263239824555354814774405612236143898980286727528247911948489257183075343112201765021091676879518927051038373235048592445678278833748526886420247446201675052494486247544047745989903383605965820976384571678759736621367389474438224933701537243826205909010254983355506855757502529193932587410401545691914207587710280022106506371251069220820170536563725343142802246523264954820445100719710032230203294128831715520250679680368099791104410823516217203764076733616337703556051388662704418261995521497515367861116201458370764448734750902651394556425276309110256150933491757503559186649860917062535427222564489079165649852607246155249315689559072409814567580712309024124874214995949585798581278026133572303286115560116897999455875287817230125216999200009602959707099512671886913335053113144541329337456802460430003044278702926483613253507592380809473622677231889444484397623991144785203686708557125224516018120949449017108089281732360121569181283148858598065379305392386779420695429536340256206505862344592607550795150283687457233295469154960904503282905576769733536250688288515946771978114043444187924527057966311592298510474953760445689950856953218520413358944760940410605610449253787213907443632400692504282699959818511208508360428256536946717344385470165287654183327040332337145356317370618916626566198248661840214286418341040419631661368071557621177199460437306374681708255404611897987331141312162430358949092499653501247070757290566472970734292075896647902861770563412509365965865067494719760593209656421959230199338114161122187171783048627885188241553926215877930523816642159961126330722067942697811651974716820064025085153432590326110747525647504992438976099846194096509193672784473305336341728601948092175817226936156509102599382551638784831866277871299976226151137949283439579314570917166215868926798267922451814096334420247645295218566565540683394789319321775163857453728154528137928772665753452083284743772151891481874803121634062001025522724559070046223046784481902430719473270455109040973523902155987832728955107181484469729135539119593575236543246767253969363587364229789650827839979385557583595641782385581126732007396673408015965555039314231425024810634323771282138746056777583535031745699385566051136514741564316751124879414831174897945219280851917395673364319581048857582616283804622978853675244362458224050073426501567129075997102594601747781649841306913476297930431157677911317800015278530974924759930833624773415639027406606739768071824462569461151993591990609657562594514244578338819748397942960688990631560632058144079188147269039694286171693120662581583163263629596033066204738657180834523809206126276276951326642310631694657343736991210000818259463642844836450180269716875178530598243117084764725254333051717515216072739027952673997124309660409557489942653417774768271596347850912326158125610819586785384756121793266589358373230967829672324618681694918302463254096630726880912427607560513956595503006064364026649884012839151302422778886502284788024793842804714330372134126195756716902595509181260595488973944802273366731313653575453663901995559156094597595950451513140393053918750862865945529683657330131172981805158180366918297666463959266007914210289832160563219894223685669612148375188008413415053990005942811437662026957066898618445586160465087207063747697225518424328565798995769512693219094209260570424982664598010010218493210202029684970613755357540373549595787125964786715883610913026713860088592239353364340855502602713985634000921349331671642842185508444507459375734512481070359593419602385140407202494577018325588375018119553366368017159890362493751730837051319038680142758740855444769360614582587334260146409335641321606539755349320463847972878751040810686208107524492466951362648808867248723666414431260298541808770617755066300953148284181840829193290633157006887253669893943882615643140951820471825448842288995984011313885940033996546380505284672469230410899766662241002491322894462501831558707985982928548896655195021337108370321130560643031668699916801010234873756021588145660910666905478258446387991033726033537016401132869737488724543592565131692721837755424011487959472717004375706914257972374097451567105521798451137076245475497468132710678671342485710157279832392354064412207849264990767277478004445732315689627015256607583210069368361277199533602152297917536318905830404668676303830566262159473654803095845424984874182414931593169573279790713162436073702201440049553883812642129883743299812968494964831236594691883754369908122137782105468033723147271022580829389091093694418528817892289962996016382342704710186852386447228375209241041982489989056637696453350358745798114725935168207689953661451898796352466057438717823371365574961639487106762107237860777391054487572552482828538073115497180870797689294474986249180015369306283305622215379724497989825605253648768036471467494405741858876033832385208110568732759042602739071700660662959605945775345242030703750274973955641024103162329421021385253307331074796624103584125696672678458870572291025247542186230830482236220275176750661065145390549199348460357489004286591653265738034226760265517849015586994793279994590493051598513821183919268575506254196619728830639690471222720752638252656396225323532677111115709163943846983521012049377973178690383292527007336881767549136528716648109222179691076234528181302186123537127773033572019288908126492438200421706501924959258396843675973018267601803895452929912964593384442818457396803076091751227240514171106875533364659881108861297054716747468510651332119971628239084192323988260805197870149885313840356712354476582119868729130440232316293953298749638993292147346023785864257440499012644462185521983018481788866644584836948216385784461840817360751877864187881164838885658959703129553847404333805382075779902877549284817166173860504809661799705434805466313254900237422311089635995411189397529205556468242040125253653128911328876558479920485233042725294118146938961708024460915576217457077627660068346409829916592199458841500877102452467048242601814324734957289872787939870788879996268459412660124641639276663850579153746095954516146630004712312449142371961317301237489840857609840071441455876072315070984747594544053535434512104753031218453993026122240655510990578835699393358432486652687718864047849453343062887601832219627168864236085917718583423148166655954628427928089567665777427949490107491883478281833409007992510405567168438458994094382039285996950411939364286155736229819374624291399068111812488740002954520783896812507807351096266081857337681189468276591757883678271911576002731430783947869894453637536091866068929493074737572194955631973140830669870527701821507979473203167479652520843861531169806321385672620110001385232757840697658493267583788016615775877490349894984032367048929787335587724940898341244396121372276374056406616591394029955886919355131613930841779401609141873314336537278388620757399703711559447768512884004485969862706968544643481189423065795417353632196908462582364573414103221225133084647510454015063797865111477591879005950778376725838659865947489047110063883227808900059625208693172225187811201639749539807861153013704438788386601076299956644407809681861979494810079392139604806975492700767485812046004838299458588640077560995192008346884495425959684653009550067891682174930027759056978736951695000263464198660194439656898381661740596931919333299511774173861761012277871921729287276133681271274300864253439822163596830865542370452925984385843901359244781445267014714989139965950179211179523821148063532253710079750953176039037046694646148201607794790697654816189397333810906111468739998706886516162688863614711187976800613959948240941077577012889821258469317652637851894148200074647245087951895398083238655243671614834317295063733489543847511501940760535776885312422439275668882639768666029718678509667486210302720468781995092279690227367799539191143184277102458064614391295474907522275951119796498956136913142834593046312713432504769668931129843972657401454376296571006407338939882650670960163482054091470689079674203509377848458390994454899440635357207421898456506535061392130814941657066445457197294505944244888561243449373300725016427675430129388681864666897349829793771624829768301628760570115935376206891112043797956331588748941450426310983120222513581968812009293927947533719610705273163900607107547357603740720948618912973260615137799631638704549344773109890527414164609919126945123603277507218327847272635538018170006132016392476291186810010711382996976269350228815213453108897515883415456588792598482082817985624197311732244297114468879459287365799423133605564883866492351797155817519343183010885325668288167991924803496029557199260453921902884735842953870427192254542963691547391151200924997864637200997838259291429781280221142846170538888056804936954231815666211206532873467589971852399116770556313003058099833578231070858511134842263772149205384201356619482959135877487069916406138788076059806475100178255327450964039295790014345609742390169989688441371942701156853599153482541361531341747320803642622732796098623479650777927883377096706923990274378586590454168898405284346330471458049227736365253557273713156854918278695822079836260364834824651284742930875231900113118075794258675288056485051747369712502244295663894742504737651253517511783734172295329450038687433075870339804354531095928490726234743577814841847756088735586110952505375853439567718669828014790468105327709275822142521442341985832854071685255685948179227001298939509800470072974673679871338778524200606474207608093954657172535173945421256710474003554264801714521501919377591540380449563953829883366292510991773247004638750774685496602919089376059901842172502069207252908016035506011673860969526687291192732374265806847125166472488551372539662228673213645444823256761790166892223307276473644291320081504674842820488257720272878599780138449041127684866483637707685221588913082327546048477259640250808925868288146400219986027763061742692169679218186276844395993948587151838709514188007072619007484988064826533638397325190044641736548466853363488090949013791841932968588132741241050492300080511010711269956363742722399662077300431233295603916057250866924350626970865482029367628866394740134621394965093758797011251216732503208306283097777499433507229761900469283666944504164045278395162218408428103231655923797652142239620213956439296198493977004364347649128035829948959703246362594284559239986944951762178160702538049990301257463889382012479150811579586590510258501593510008975637660015162843222517126953272315466734660469716873972637528143961572817349087516222488666730561182822395506665154282179272907454486479445572842162094633281881496150461873929801707159546809598247005161783745657468551095237255608718971238808796936142994109518241744033525085471078990878879876275920319520579168452731122279758938424751063428780800840255468943453218210898355759567780948785249536460462050775413088251314454581719203448999694694457192838709095359757753616863139881643722162149262192590680394777863615730146054405055821683691799869360239849851158282929447141930164288537975142797634202671117703152499450349042491453371322363842242292855777432029776860269660160700769629453403106775758160349429278429231649427347259004085640571035563296464407684702784633890409251889614418460223466477107432745912070314740494496022463462540167892878694470640825429492940658907705137563161698970340052034031214610317548162228223314127076809200890694272043213615929540560367003078699585555202677819648268359192927961615456204325303577526769722742041257499387815047991866308727357156108005198704754745078031284467577499697338230703718489257217728906296839828344284528681091195789727267723990176224959302733903390508794046091836718499196720095644863798349217426128085582476589030412366850804628646277376332893362516615940400894749997528896770853392440751424456431689340614291561362783222340907021559336641960297407694397391048560118750196953374440190487180803111377240369426218412552404905864904214757101165656822009456237600992946988493360188137035231189210760476968678596895215095134508421503274237563619417111419575158752406571243666096662546292288411368916658254344527656988194701402741309589703668361050702132573949849043428568870079231948104620425333349528942018690386919725507698553160846856871155894767698601008454322564107490956242661212963160923413339341547596918711175570909685733627933924184318344822944483138346895387667266871590900049218856919432718025004415671763594289456407145749420867524473170057314239538729534249450426920057172914510304290135658403729448358067600503214731228713901542623339412920948515822517686519395995643925435339169891900520923465983772455775686525007768937238193424341456527202147089849914707571628255291676671029428305357598055199060657619571682336958453612276622833171592759261544503470172686066017544929879272917800031590412383355555191799410914123459963878439350576279073227684510718147519548973488089190945459853022532243102190546859020065961214455646677359439969971488547679980658287392853983893545471346671614486568975598887345816004460620553804471932451190510247772888703077553882050900238155763815036609816999603788316102853375564455700694990264412760588766543914267606549485894192962440450360891860697661223732107149591912612696351712870489090791354122295513201062030272694169002563002406572512380076469686022236512981209913881607352287176362829675176275013219831273259549290617909899908793762759074590397250189325944936529749336048092382149058877853792398652759103196411758768473025398822865986865271700915142387033658147532112141709173861986826572412883094769610359201810832185750222514031003515103124639566404275294544454366931562116782832281765099892217993907566008953039804080113925801129258998673478448167518127624400413052903266161375790658694909670177149540089169606132010569666999639942027624539961917019305186447498504172036833994630830061335873636889379412220416508867167659173210129044072735094003059846119156607126981343311805641402241256150526219788514055769660587730570566134219428915959837430121055495846706824706129914127304077328191061027861037401830097689938062410287466102639508540118573210518607129295091550586157498529545552791604124729130928713610069815433662276075136132460316139825601088544231338520759277090224695705561405163355697745167124306219112461831663568043003267784236807799188597625690783534712666608811065527923477574220398152638207021608168630355480026320243149082060527570892562848037334350804621893348461984111345161948302317320382185402953188840187681474403866273236721767792080881507480033888675016159008503944102435627624855344115292337194271784759474368931376691802655602102099923987089889172965873862655355570602793658089693442875680644772794614543574170598043073531148451367353392178085189899256330184591464021922824015736632121127995403181382603486239394194412975461535041184275928465704509991944125320769963217566955242447754248305936544866040460341887512794939489535636700634969539182331266243581586857253695769238818646434137395323135060509925119923843031644515344860369043992177832057909920446115333707403501453506307395066146092899110332827147106595894166001365909111423572248955404427207547687193613478877228730837217790247507398509530872725645630752200961285025396170676279894787265998360711496330054125586205927281446015996444263473021331447233006277842418730452117199068187896008833608358799272824119102221651779536581645264049595155979333617877691817488586258737151698427497036807770966390558600373991339175578688022774975107061372610202320863525293260491758877423706024119962527519910457494508494393394405489390058856640414541978662424880436285705592401854355562994305564590969312624681089157785701238997278913405856069294480334176074535097300918969818207204388253175758639183441928595231772799799568756911137811993221706953821088504915596157133754285865111264341195846982102071330079139478280815779204529648049893544941529955668193244552212235641156382408636084971431152832108813826303179320601428254396197033580119899065247652140411888162924725881298460188488715296150744695488360789838279359775024310755260619363616600597624062920902491810622101386149290118172719406590690015915773260495211168198354335838081357372582767221741244898106415736142582110490580251990891097608756039808278671857429546764371462740421363513113887840634808861108655548953607020897568294665914760400591795587563821331097406780373503163505281343146709043992721499559321921449412869598135234214155598774330175880730076568989500571185918540488826605351487029147439558793232537401242516187684713362732570810474689993020247915857621810623129799845156247778355967372904234690260725890496642393432323463902804355153788831898042705586347075623447361210979024841154835019613412768827891412424308239128262915153182394025185091329961217842119456353394434258581574682125256387497632926400379787519614242222895352044117005050944525539890935723536620990953822966973934690339830664444303662140445094433445008178668656710347538578446935033159564456120342842736120048332727646247403574227230768395531016900149327598071743285161851718508461016936444322948138966877519703812796375914303685055593272262154839459505776485328458574750048946681204134707028995975144517854769907506112325965257813474159990687747577914130985511982576340843515027757918084204229027589789726624683284103455958112778816261345307734002999276746385033516109690764186403119534726739787729753997874605112702701033969233343499053390201933949413946860007898325147712461854198745213640550304755058684135465797847800412246623300940549542958791561154198774436225197007588368746217558733807335686744089706531900980214013167593238627237980839190357800215967400954669021980538677565392031935357804929202981964337748201783589822340832441679916509177426119938338504823064664898156062356796522949293905650771278517543341671127496434931278757414879568726178355262769837803696280435664076751169390432648327794504837435843596239702667034916355031326783177278202283857487023105314599723049050221054430832813955676263555043265253289791731292163458965185254013039199070978070462957828588120161006127247168155190416415297183059001907858124388802454094665843232587929030834115443226643381356607432204206897647588981531834122053098492283790920593102716197324542910279394165396039493672367011291415367293919304972626996555680963485976532541640810952363838103662854316130935429903942935967519984338774852847465940422663731910710387564749139766622240611943069753873687315179708266713056266036774854240685434244340585880607202726251413349277752512495934036647592571511939376293454163387264110083248706534148103727577859859853544809885646456658056854441346083955655119810041436819881855920204105694485928732919020638548002520481858894089200986124415143309888521189164644064028372422142333045441197249135744768357624991785401368321007529120834627110941488900293795029505889552940751325416793510283200173811504171791086148904749171512290729062930720522911411518953719849987385991095139550214651979989891006220016598383329143566034569787638287546738215664880977406734958148360492345537495360525769221642042264606137891449670735698630026506377376963464589214579298550413176282495200451071162770878356190138303467730470008606321502350895781944535928756373797405356384289395556941371054697652915140645461413395668501276362306586528469844477157562442776986879687900884890393809176339096869864064260434219956712330394506462480207086781883766711706651985170819540296553294658478048308365922256354069100373751419124560041724127451499636970310803420570965403885162519102387996377192507867766844133182147863254696453317407836034553858563199746425971492374997544219225320365529927768345899080719589057210107872438930827877969575435742880623087263227730429565097558420457716172166864067866201906895595725311995119056823210621966562427070310994680086720356751731498067821364255483649761931198079967628585278821120205357260556965431874801625752174082760251203826596788895370597558824602472426418965440709964081857886389907830164099703154161521950422150525632986484721585016869188364308950767543197347506694187332660821002627473410399281966680469015937953507822834881095119004811863348821219880344414145863929660296283215865946385187826926918675382207182990817427827507309644931371238283483776368336147224173893219708025777257791871917297752248683844672132687117303012497797833433664635718371877948226476520438361553350464179922880625109770694150869998391575618473538391227871515310383663741415374751890188954609860515563535500532536802615821390854320576047563598818872956345170593060041325523364896374072925448258281925596954556526726021313148131015760332674607584589149588710026719003593360832315032459826411628577021983604811092480478079599862445604185182735041510511019883078499829543618174835758365753906186841967214729023374359978417403309291341187424752268238692711894177775152127110021287909098261426664629666551981462134546481223992201938681033881122562379982019603853954809518102600641378385920608346323936674816397547034208146842689335249990056446020383651548831287116369338088529237322078982378470638691379995801493388402659937694406256554569732369295082089112502674191605917816098742233482729166829116533568281727505083203287298223905977659265781037795575022629342359053838124337768533470081930765148684969119772432720110310702658624201372122291225652917533165406010152518449607961672014642638487200503018826641556079572068671506668457107421506464698807810701625747524588369397788264741069207717826548273222816653601901082971654486204634165535051640665522594829091877574785477143247870788891906748850015173929589952038471298750130123704886978021767314261313232264990533710504949013901615520858895140826635042008467330127440595622959133368791795269528194187822067613584960195098005726872968256545392068607818705579797673285827423016912600848943251799914416489010516903449647972792499533008908366733655689441655458414840218077416359542149124214595503318802622322278718236297403107269411751366846006120146306802390046270332059562283645261642513594819096170950925350731668619701532689183505219549554535426703302746008883981065189141671784344016812793502587851868445945110521391280084866461899377485695379063895139786686564533768316353807788362268335621451958774105519376670041364320856646893976570363218506596994157128575555120134846286849474235914449776975537062419071111922686344379912550459665347248129231359323048428297832139859084188977475307559389944375538488433897640751595717882019607978101945822801417613541129227878557059976482109550791118298946158159259524673023116355503262719787343503901543237925375769729522945103256433929805081076353617021088950529132732734728542846179193858631047379756479439091885775628004123753909838231627291740001744502297026701303673670018959266474835187072346277225111313382655180347961305691594128355808989568819827271966331949786946175673199118211613062585198102088885491793306642403034897591018836571265463526345445401142026710458949221086622128122776326130224437887056863924107333891921138384808222923366334693778697698766276986784670533189836801095469584221814041572519522041270643139192734869338661366166010275035354723254400436875420637804626181507999459564309754429574640224271240083035588644253856694334958853084747181009594249067762523757621230266308653052259656229636175510238977468540899638278581196522947791073793837575418795226775838072895303180567310032860675671093760528145658890920999136026440413746220690492514152318649588615842703883389543913850347072239504318277460432288651354446185469999585722656576559596084374338668025053281146833123380909734547287364263195289000027278732152287643842603466073593324850707159973974297289779711265320545131669853102659974390596006701464387475705133847986863858491390651786515268675757288175317793790717681136216003313169957528993445935240255585998886342307995019352953465150637036240920705036511207582750367220773016564530250497051392376024535518962566843429543308571087116748545837098752109588744216409014727545837745481513422401859736692812890354634478021743839332430694926359241619398209094296990268409478973905071751529733631520261151496247544295376036925528766544722443863151411272501558221399982866834451351512839063241445211781692504584056313883254250253453738570356008377851049669238722338005559806940331013630632631713208773186537405889455486744285998048032867656168313559348550164066009536233222866106522385223531738881942752066889245200062231980195111762758195673753277720569104467566274573422354053878970597170717789787185657038687873065719112469028421608920016369548962575111910642090813824383107874617570767820740755683492731219698571213148701797396505538321075400711971378145886082247112727816414676764302520585660460679806175396128659185669613146280269839411523224580761568586885409410044952976876776412974086159906420872267360054737778660475787610389846809596833330119586787600551412626318888438256353835092656722294186634281647108968689368716854826421563170132765447574990776151024606759733582837019522707731840064058111947949655856227939368298184896724903196217711607130486068027422809367545061915051923616628646570774007111814167967246226295010895738131803501171585779680895931201075481799149261997440810834391776880899337548027190821016131346980587247205721983446271648171045023494983494438868023118077898355353675654788312660577459980284936329122300118846578692773569735083034095350932852127389199586928356173104301923600526335331055481450923671152386750248299041092991518630263638897118361165860837829735979714646441845003430642252173449409112306318473959951558461332391225192621810311644005989944619683024162500925447513304455040568437727359540549409232548529192022605702221424014587451111239255500582277863280309049873559080694854681710307398193901800886203036745214184786291525545701139303038635874068410544354338509550499721375741566106340834094884680604253489858060105930420456457849171021667009021500593338390003023207674508420408312246788625875015040357293530073256458076024245378783693237188859111269839072465337038770994525604783489442301902733947993401754069456963560162786068201496548181391881728219852256954197218377234636715461223658858529958466216012478353048235227538183629439439855884843091671953323901558865281990291250150415848870411270850141862656126807985282399441536904332655924356600495735225815964989878035347860655065715865054422995110605090951553049155357056228186840499022379341073541338677883206528827870762310705901547263604463870709632709020062751381167273959060058141088129454915271310212672695635524779167114954267719771203628147946771855979481520213556882512336439417779352504489880818493911423435310704205187298068973918538181996130560196869105499667572085550358510785626796913676076195310051667474572138890711652307696612021689505418374668525013011869105349353046228526390327160652536119434688701121626676462013999767275893355600966229047581509550037200103400857081638274990564209957934992926087344143737161233599182661652991543589619416796335802918480116481157579305206357576568880904224457198119696944945513458194641376138840077315918417531437544811343618091903247512322860746370523540294929415208506820957767609376780051073851859521149738475817038538435215058667761863525969987610155633834392456477143386523783868426965288061350793675647328532162132825798210223009600716930971404318935764069078375149274636707345403741613278511095267373590563809604825794461648263647932325533422404728710063722569842805384225514622397410168210919002026456686463659497674342227932123036876488096497923939926279321180348762699977884947960031183563330773505760193327606174904158091344064165059321525280244324962972790789767785014272222613595818707760054710611509169367208310299906356580101650326408426753099450237936974243073938277052889778296863525025790514522485151084957478341592676361839365066981477385156468856078982769002014016878598959532063435623412999250700607003254346943530473687290671899701863757086554461412329207805161806224931567331827991232770289661898805647499518475362669746277883508922936626327788052133834622646921873044217079013252586548619531039732193733917844413641209897662353770716894336229713082427249899828663020055748899278205345858063079774891474701265813568159415865615610442670036772828015186658581670149646429395788338632289522869053893185847871397319373998662634240225784066914140329431934300598015031554682269555120119558991351471668798353389202838649234974740110276396070599887491148877197159671517015849935980803123572947618295614611446068356246975249642128783963920066328286224912320750872567479514072571169709640535110113857293806344918900600262125107861896421793967037271830717059157379652825479303733966912512772508901758628635476169842179777817380737495018053851637082401227166091165660864822030179763403103764187033799537407815892198413516267359419873861508030129697216973315372602069164835666497046797780667000616501018717203901979993232718570458064935429025532823882773517497719510315824947525784008796021708383141342290030442606012913513240379135060442462120782111571197369798979051406971807908162710004151555498907386898235155091966133998952996029098951827787432678273299969521406584539961987723214380149895609812218447225887632687797298173250512055125501820592158876112874082241752002524833343008884009044175040460999643326486585124743959060140061063379910955644436567974240435900398925332488102858444529579124276909908395773390112022463069230241008731319005284691348424976819094181405892808132871216699070609667181499202406749264932592700433988261072919839818288810035886827547626290835020770186099108248666042485741272623397274490421308372322236829287905084271398769885861504803641178834186561323894284339594592530951707782694627325871855859149675838492452899220567959935439295052600678650308560409586222283007443359335057809615653072566015528769528366229157795093341924105655580897704297599795628403968863563246170643023004038990131527981689006116513849786701618321029583461856974543139461987509789703212774287219821281838420694959283451518075785149215989506214401793477692084189648193093558181810272491032256222783209138768405370257315439174277601228279876282340776138936846531238620953430919880423785305875671445902655460320204942840478988767336084153280602958897063395436973660028033824647010289723506305795265616141467644663347291704796385582949786985929747019294227680093129416172984693966438992573068330946782324783781977995826751884250424399958759056468885279163376705420002758327364771686796957129260957589230730164698241028546293183448171396815942094967016884540856908508264414184703620735145592664748261435583359703043369278409327745305807719675320906222408340897373104155927660709552914039976932017727776953745199891784514492639280169859185436213203390633985881819750547247000889988937868716840961743524718212764022235387751884757710730937378479175090073601413706045008625356749930587985040773282430157140978930214659071520628592008548818496311811876728839635822735796309819269810300574707195082818652306256379990442286104323430982935652197829036694453868425382137136115337370046294556889513473335086108467227816330385807393031441014761958619954189619756983147909488019247238564650349384929823273676309221339541890232892431705082696040307865315096198365397057439313739784900664198016088629091071313507644797249697733629831755103576092832810441157134182383874998939437373579645663146211410850508292426934306282814105460852405204404290485303630677536807646844579529997265558652894426698675021225616258500518280936685568761753436501567671855917408936555109600564682849196433307562958395426832076605465051655688077405419965452386294084719682019605041810293149808446858602718793996305057450248638374354909229139304693822557438552288098557515282298621805032872412595520446828190131660979726998877074022715789823924245196932460391761912143790527913618018624001659219329885529981191796363691369757549278095392823275233725263915500883734561637627343804631292598618629793764235140917483617824163258614137712709098561297994609596584682917861143398942340176099582899638017756737555757618328664945566382101793950782645340200382715647148202902434411153308978631537096321493299229173714599745658760815470502607537197862351168434735937671284305168689888088927171625381464421644526594620506995137854628023086007956816447513730221057142751504169013036886993450313200790466559168974160892017749158691662281541526575028360617434262954368311500923106153355458265943559704779192226251867477714032916669576035920307747352348690784854233121091376161035781934376686649638274582647942533610743353387601059099214032752458494703690822055215273071750139647098593925269192401668395965447831355969576929398085083878777370769061389202817604208477731968497718002859684891607742614358560510832685387585876991234772876029261817642508246905632843453691643946029154235603482677279582911478734640912505835996066919796972266926219108153750963700342975915506301023640814799162435896334775850688636472717659376563806469152146027613680352997911706993358161666830876722977978944116966343670146308360497599419720678444973723405616979968885193363217910697520529719656733523307689800197205034692162354777164373019589112896277582446390313497405003818558471387138549920804004137302377632818703062728536201063930332953250609581401518182260247885648850496508614257513612477197154665566346613048058974114167155617329729878308464454075721811482787095206896959642504387895497092348626981333591434798835692062910222329611177479083068823496282068474462767045809046993142038532121237763924053797562187294143986768167736424226618280124271151829766476123448095481165396526561224681464817225607298608965726317514789222030506052125867872014270742255115264812934282152984113529273617362254894037017294745976372625555305279131790476249114287897121065306150875453935708998206338014823433567974585754744702925761398094193269727064658851108789186541711564110548382707347793476793995218505853264781082851562275179397298281314638372658225990071702930257939147337027729933039845741259655714931041443689983497912832043667686069405451957190534669374431621831096302132654929505107215777408349071354923204585090436655704048631126620967276654741207685974782888300703725217786990283843868400188481690431352024503584637119124364618542566962914280542761225567226464629312642460981900425290885462156515068407061699315946284802590901953328459835034509009451587723023199393659115578757123845102736739967721596501371023286089183997468359656308272119849469302068965612646352401276297411387416632490356770471180843836862829164329876301327419436576968971261515367089471285506167962432436355115137744633307880426442874906391461790304109956369242345323609065729242679580462885826907526249722765299936510719645294286088278075971565849204697807899354882779550642428681758609587973612588893033364076213871231247666929911443089139272529971539512710240108100070740477171795871905840419944818635660780042292899291751283509563742808115511228806323994626687452518692394439532479557392392165561538694475817497390473501014829078577126565874333815981522144360442476547906995492102140843527697128108991339046171062397269246093917337434147188017970665997041937614492654749365721143410383131656609812732800649794820486525468070633395927890882136061776221545626927267226550681933924900678153344190382061500204157681778494339057677235391311317538730852906409592383688306521427068857783002940791820889967735733722068851715559976867487183252984681448533462688697286022252531387152037439939344123282150576643751504765411522748227374584555514691568685784035825662370068169955354047885374748104699151111449539493601534276516300455187899010311436111339491618212466412925608332844756036438896925935204093549850115072813409482372473532398811638672618662703122388628531569434220730279374594068432635850423551420190083598716825604563924966293955427321543709887444435638652559657208514621470560789138784193589044971717911755990932601844062268428712223970473395202510844552854456394771737755196208093788264812091299753769957002074604969469868211214859146410714520713439159320948192472003565616860702056498148891561880107553480863844058830095170739184820216142325822954065469324282169777732836366417888424667162883039332375545080189796440716367415726100993286706650572195931597441185384049789932735224023219170312074310521047771354579157695891250227451193186549420848358036601772197914305539583620560293681723310023943355292396628272181084615809114140095411974647123685806016207667803862880572234267641417466118756712215348596082022971123470065772198639795819296241303050331956192685981268631242337004677960699000512535678581451378706807503232852356750818816095696001148122256456037369474190030502202802526810494759153852579610997361762026946765278412351979262668320718371226021931876249407403301681261255686369777019686079594046070894381791508126427914467792951425229255346447429202434236198466669127684236501121649682588156348466857817475655961814901616973083741860510634564144593413784331468201794898674650121265929507919823183214710036150333162658219858105762578531470878735068132541584556936948475674939928296250425933886063407093777482989244372767150797505539617057579560697044299544362224936433144753552795101958902987266548035200683333364315541207496092787074453992391632174975498656089985211992879666574921935023967569010795364566508460275208968189869796084850699096545613480481028244471531836593072639855984936030872181883903725475166091687840961363090125948673157901485079604019554348227910851925060498517739721256346659128908633228672369309000544812292140990583573837873788582137565210435559711671602314337377407703373813575600976126245983521158123369084958572220461222109179271442445184268612291841757956267638371414165191094933046780548520257990756014121215510727020156353618969822562483929418924434729478583559547896105955470455486419228072932988716301020859316013953358280759522700332314601110884321466681358342982014123198710051111705956386268931677729656492358558464506042209698275736501812510605010125743062476203712636586182189115185828169856071483462046144919587954655359779284183629684330687724927018475294243309218972905927155218138586003976918789619890183219563794224434379740631082320844677664756288561434685831677819916754756452924101627746949565381944010826511978560234393752494654561086049706956451057826218543231083944941442071582278051601182918835057921742340085559553700256788633065055748667485825690389247266283050471756456773723605625075772965685492368420112904184094418220681947229516420845717580363042804888178053495449699819079818624926338006191378923488344310806914694031154137080472866052726927360359615611299336840832908801017230583864722464671171995025638227955144490511322771181952664517513546014063355113622397316336907052625048707672675688617396933019385416335544822275295595229897121993407446402914075397926118622788942052917031444925509053121999947037601479170961599247006329637599624244641196788843595990706631079504274852809148644666628704891499013181660453870705242751009179947941187631840779457878899026586999043550422693214712503147981337904133090162400090558880417598975056157309348563000191527183734900548381638573942587341167940610322644865219054307968927866910945172067689152021122982113069172231600760004332127194653190080592608574013273535618165768913300642525630273934097257373944826592097017816754218730117283399337211500120753445120946460156933253116550870376349643341454450059441421875542200561726482457507909142483361485484619320043784249478380846457444845969332191973338124310784171136989892493792539808446383668735753689237302254137687730747494270845411564113184810617894677400323915809888852026034772206418996071383713196034684662779493722130852826178305977392880893425474935601918103801825953312875693881118936185548230896862345798234403738159877795509942906636452724567534730415637965702286137492725529936341717060933806421138112357395588619214172532989468223483418746701194913787849670742448465762194389332367995900150789117003750164310932346776468799079878885846363447480978514525819537892053628527988523556570467806440241974438140506541902447116973611322117730534022932416146036935836173519579442113279829461884315477787409533464138708989433715838349948339257936250058231769426121838644199048438066975952187196773951340356095827559308745266672265575107480879797843818245643424896889668389844726396768216087576343647740603194394521119239024169992561792102314051450688833382381984424871217447680890768046257969579261641202157171515779897559976844125220870245549490923979063455031312643189389428595003807237810471273564220481396647506762716177562904502564519187853300756645654357485085250794356743479451290701814896987216448411597651618467287242971282221692017478068273913685672532195616244775659670786416842982686412070797796316646213398319211884337212328715907679955115521300897616618380887732556766532938773393486003866131040334573035988825005591000327823127088693758453387002750911805675957245109739742345352303633840272406069795670324207860361795951094617537334614370869348345994829541482669591068463002597408008443783973549852760755041541892460542504786358572896569068099968648642265417862288783097716833341646108782290613243694613327592190503536994381585498114528116837374682471399210861707573629393952474450519946234761613220067973989391666687844216554814558911955396822572017974598328215322220987335113659634752135109137751696119176480603410364086402669384983143001893993896315378075458945284494937148240377204784897328030817648537113228756923768878519826266706069827295323183557499309104695882380037324313182394435662200363393887691962135638231837124235783743268330875866626280344406455068860537485970619593721912090470906998566973865333015560452917272318104682552248229223518934229559328693659226019016776402759782493925651997799295824636106995141840985591518730883008908976040743626204666418494419127601024585825042637757644071980683021890043941651954556705203290325432540570910255248499184577117677197024097853259388588728764702522781063936261635424379847672342084851462366470784875543842304445128060776391204762663674459503736392400257410230350787560222979900162583044024255975541015377663657339852161659938022352714024803880123410347245593540784990435911692776775923259293549654266389443016188744261332452265259646813926326040011332617869709902582023762405378813653469280615102503247914626117496620650186999541201443607331578943417677972125558245587119054310958731445125430545185932776931479792207253605371099718548747566535041050070421898393587762859034390331889212619081055225617096396935712918708453718347266080452594936992866936401664388714475012765201771482250521328298506073637310112782175779386470989914033427116547877052548310669540174589295222572423082563668405428813299675004264790328347814330795427596544028131557845044946174509860886121501395411212134727048789807547424273188445753011081456833445772408584084075663156292437906783210067296454512901097764426604083780230023318882425674139201871368594088766460145701135937416169214592977470516425164967183016863629689787427724424034860293955403331497960986579107126215314276420125930228410583262253984088196710412771565172060022515702649018329202839835145819828021176719221609725232077439400830891718544626456186848025714996741541805262133553308244727846146950016099635550838602798252352690370420437259574972662124656287045392236661414578255676170464421075453829916025176382802405057697828007812139815639284028597049323268121814944270088170917924739644800208257463530553054692638749675920517860432714519835892501698358205237227132864417915262291756958608317002608226581929872004160587532682894358615489385955429203118105138554735364953505927063883380492354335477971180311215628352204137839968387523277562862436573722202360673953281424284975371069339081549624864570824566223256875461887284903429281924356911281524172150942716922062937308063752657038863115097427187824352225719102191284602322223687668542585223477432894286856734670247005024563516299142441224948737375126184540086978358965576025657404863098143787352955548206540225639403346811926075809403345934124068957178197382264844971937959999030156308378650531861104194583754659537508231515802158700285276398224761846796660045810045070836498221422933118304875356120157611782054163538533310941749201093905436616231947653022545053054493603544677348544135107520002200640802873372112365679249364707925737490468420654007534893137845084455219926604436249583754278514668354800169449775924650971124492256378895130504268009753033590846785908543061136198403279135246553047190490490870011978108086113324811127785116404213821436718215488485929043534765915309884471266972952438090087833721879955936882400736943142169050785735546873837210327797479986582362460013050524834502140764464647280341990153661792934934990743257621348557876982480104197172362690606021775193353256589057342336043447218161132057499982216719702614492738014535764959305131650722933069635266262055696683213788083937764959874415074233171034120125352409926649788612716546860955537643389173061785912929989213727924759712267296335637946867456678382682233053366256583523162149964679854254818731092254439327107810155177226391594848580101623084413152489013757738678727973034409353751402784104244168870552762646660609425522820898191195344895161874922750385210348295342065695337460943857385162652293257607470908138675268599482476145392220525128418446746438442304666419373857347973579602305754286663767317744037167812450300437555394060520191565969879703882883700395719849905937795687850678760218363518247594338977245827101892421588148712577263330365389524465894670105746443443755951396400891884678048871603911387117302044638937126791259765256816432867384757437598237486108628664499660506143869426988895665181198866771511382334662513626860558608356773372433271160538058484927128804633328290080079530406105555658437998569532006948532841934184391685848350731509325698627802573414618838144360471456972792718044765206344767179630360634483096916771920224428995789585453439655802115665624188761089318043854881754395471903841693770802604225883742515620092521269849326899852506746051068421462756434701421396016661362573418235545768461342067781189402325670639674410203791739262041611302925938849292573148629809119415092004092844067749475045819605550608498291165547706718803857934659162545757936939454193147184343796341845815838291232717237421897260570866492481444622199002450542219366554081910280846038367526665995472401175679654646704730289395353446273785609784117751134800221769045565971654668293712952720614378253497756265355905082654573208860282905731252081717134384568671999001438060893505548831052390846181753938007534762461537544958946084849460687927908059861834597834530684520031921240781062616273135447968744015897058512961677459577988631904490662857496094448470532073820101286304999895696247660051454319069864080254353267635954346609246894924038848584928656652884308190347804677114720341137659696875946520328767774023149278478512672493186060207161700889036323133441320993197551100851339273539318018607141016398720660466654300531020043979234888944188773399017138675311534005723023460069683309682981038755801569587943286272788064224727435327035622772471721874111223060809985090214368218633493659906794906615622414278507670326060253606887168974063888016227421082491977624915496950110798045706460533099445221034761677936650157671742706427446313033896125874041498266660400012908157488261257664712856438609688866041795116515051101253938930292408475277191133660658387973745820026108283690116612188503328334238920586107537584902626780505050930611210691641489173287614958835859266497384841818567264704262607721646276164018349610930957206337975814382587846009617276348457342755334230830246654357805073696767162112252766872239212673685647197411422756229123991759302226299205438539069789418778258885272489617112354709850560286999292447041398528153447267260936595110897506935993177820309212979933047689948543878091792045841970679907107175970694111462351057265274514180172827245246602211396737345636503466957250136406144249902915290850685553238004969255273266809455249828533686299919988476532209544116755518872240247156055398461225232590608319144376785961796826465839587537422502364439621965501221786542779051865764311466665803449611319989768080047300798039670554909440339054912333031181779936837049286649555711050910746158956082606787273710451862928399436312211360257270665015812177008418513351812453520884469805795285642996802404071612060654979974279280265663668227462655882034798754320466623538102683598156796758345776550837410805468979150375285444362497850093566881176844170466777247260795151447767216196401306952410711367231154304608194498994537417274263795880451807056921385730539700522402741196768526001136331447216927386304428271394313317303230774440146377087113467835385466438544432395423796880948196133540931411394306085297167725051841500202245047482974463388359810757213905247697656740225745687937571866845486857334473837518035778629174702359623727917826047160171244225915709725526002446788655265810921464938585805606872429050971487439247624568839942699300440042167385326236595569777400476535719002910280476535962758788571191118265558768653341207362980158501733612910972896195679213295924935905752594729350492108149117007929040228680383823102340744060685286252435954306534222425721995395891678365849870429875417466992966184726514535459097292037826997343441705522923228150437918090628001262344116690485695482001141061475374274322989210230904560632756812409237463986793055070493260489484720754431656787839472680668472460025428332704092768750333772431460000173520433343323222092660633180903345992040685690760799224142234527980816800537405465167401878675069047017268864156320771790541486711638920429302156025853202988620832828781893799842056283993648554932461474225242286447899894745121222755737750349653167068384868079978864789726738791054561590733016124295554246045927967367278784881433005630933254873839192424181763928476455854273878363504996371652235118543485515548005014024895792607662171367114433031901252768475055350858114207943834081619473791603095047936516613149492322731378134469710244944686368430405341112763409927182575497852278628139991428701269975770882156791965275252479693820388594331810153321792880408405133287562878383883784544958823266975019910845618400796767430599972410545042622105475151784589475085641544846524496441118143920926377409191794890886405451723577467770049338989129886785604940290115823900357188379891072510070792923000409188291112200306815552799559095012621720499929333685620812099516093985203975133455998008772989946911794635424756333780252085726081264848650329373107432652236244774156724278111815829129822955603854947764973980644117029582368327460508257926567537327746088777549009050589548036178783873959226949758058418977996925773703305968703275061049065653163810378894124783225677096078873770581644948629096327204041176191405001472456301767619681090255680785637743011450962299341911579323317534770313001134699616507243532864649927187465739585826586421373711600313121642434049431148588187365291448336789114591168547500456176936568814153684529651817140221324781035142166333883624167868100954224774604777793113298360737093289315834578316862402968198068127100225006506801197525948950726412130764756977050910712459516726682991513962572164218639536614466243771949303377197467920240044021533342205353009919020971354267715091559453708935727948072402948912168786584890101473104873498606494749349606398873672381598860648027379579116954644923942428313255426175143480992307146757966415118243275141008704782956248847547466099381262784742200050167597404099088610780878791340756450380771991837463493501075367572106488937141577345756443690079277642245982890835676481257879562859856719288239629801639337567119315193345544968327551040834112526017449008531447556698947670419386779847475905757789452799560609120793406998456015388170172852461343262469315756241748526017010754648158418634410051525397464714555261607423733516366557007945548942539640731249553132027260130867295394208315330697430428679509958166661168276922718863189744149236165383090598637079519952655584052934365859137878395927610074569069346705791269734267573840007864241512892870748435292807390417508322418783428063553760771783222927718583072356958517701964076389486796718824858615035389737009164772789782293014387356372740505574374260909591716978321619471556429201018253630688089022337069245166940451740432601271334450678237997720307222376101929976583260756990609527934233496548846375015072019610050217856354523228360073144907047148741103208625243795409409558923086838628355514335783926672455574570406638769862524938364000865496060602292046986109602704475514756564874467859144005175440227025960043752611714271006477171132663366939955884885569313313376836246918306570375835919757519578620832271111240399390570752722733164603022347664915656160907151948540953610534374564596356666432487748780794886169362633259814668794718445601696248690092290694039775287382254821510675537687075986912443881529447675022642383477181970821070673988563621146807409797707428919282680119264161617377119474915766603738072814383634663138789996166511600265725663291369792762377796773303253258096963780633813732521976443089415458518525779812715333795170574549898294275494941090851911181027947500825270897406710323168977397224129843617614987910958950589788801285918901980381070790004734621948991610199501634141316814235549688704181349978715922380332754947175278637703310651766398999176004755599993499973717569693333335528001266847572497442848941902474138368225361377600707850476095429115220058964728842262330561656391859120773970209294810369160426922216409239658730164960903957283361635977640888593747514597647585429045343988627964438919071459430740621886676352857277578051958065390022813756935487681137863592452746249891635251943856814882356633114836658560755440868661983130835321481612554923924696442778012637976241127411127963790755212911267558299040210760213820080869718823353718607921275365548130856914252865248796463889260045611123479506079168807738467525864080436006664322087635524430896229366990652250881088181887280681995400138423437175057482688813434986929282338083494412916563600856813964472057936543916446388775951586663348714898827297110430667852541167695039443603556040431469621255742133597803740372554820437768189127224777810872742250390598935678176926184888955457726097403013956156881638969587824465427979377541664844307149869633420442003528137317599472961903265916974993736865085988905210125843208027336462394550364312751816818993476452972731558377540893554776017842691479067286068363913713032787336962018825802596287532616590831305842428379222377733709046800705999105389787691467006908252528332755081799232712291166891633328747995886971428815866821811757855333899279649424909485449013844853912491262404774380183934532786181883961096472244611912581463705627492996823214297481248133287816832648899391272816092759829636982533607820687265296584756984586348204622170255252797090980282601540057044124154042307322728432900521128012443484306789826785401936126078931677462640916323015240167390859469838974690721367516980478762271392516904392466586842526275434900003042825910313245195936606812659407313956293906690050194293378083825102560727133092079319185927871265677046527547072407918589837821387655040274236994015985399860741173004536258509196534185048291063846484280829253100745266964784393264268434482241449872616152786544815972319751162051532118128588137147384542549803815110924006981260976155943256769570639408720822759963769038349221996849365382483879600943609665524135765862331492824200991661575157453229250586506999300633298686321220870025733247708262941471284199919377916046264361063778941262175675843894012830569186924410739109398755873063385027986741145954522070114027332792778549919753612840665416616313205311272432594335962402929736317679274260159140852799075699243724519152973054705167340779489591324984510748280568023714814921555081007884019232607489909167184798253119468346739205640750375075365533438840845809595104367943992049150919432456811496758573370357473885016553814249452363561315766440372351223639235192774152878767088504721598156964434636151846985130087100869278458864949809796777188602208105857330645795510723819408294972375298036738622734278413730079993669825380537270703104865900127663063718566990984758328205202288371318324736503121438709969283648091631825852574121047428650769796551940233278174625267087068355758005591217090323994486765638695779792588820891176853945574763860296674400774412910337284146325801408130900758372755036981595679216879247240373951092552570403316612392257960121604452190400890322336618702717856652537774533529116338672833761417835610888859179599749482693331191177522326847293157682930313944958664007668363092846147336006809826301335304854244264863768847960993679174177595041152306832916674199995028247540389512132348423202045524197120254447742561237259782255443631273721295356685653688306714489163597533413549319872182604257580430239202595417936465385548908091481194493024560308610235283617767893324678792751653869107142706081729827723147206249623581972274697100765815655442512880923030719322272148022800094953296285854671660046055643614416489252004106772394881773368158725897341556794643058225539925354117740697607636885342593162945925117195446521204941648671933324479594446193883331157330082224344492215000792999775992019034554161896675092667806177280049996281352406545467394771871854679320134287432236532849608599187998478880646847986467833888891162114858339752896151127220956649786930587612566633373340340771023463866050214441000781039828975382090633080889935015748702842361863117840340147257297774852666270397870933923716161232499591607380039310282465399586085469404609364313690662201493445428482964009522272086860968792829419224481135988564885275361436379758764599177286551001382089104069514944023831954075749748797439863378750479727999899149259472857980986577245747052537921994572183224936294599172994284825145702710176883253166950773046192558151620665758506900486098114397306657177618522272922608929976883001125948121107487354469222415227693087797276115040954334411491209973183379074954362749275597074415032042579483370598121733297946458588584523864791362677154152920938515412130294717465504895743373416463569942001898959732610296363155739515596515308700664556970807800745150598642343604450199165040854812096258832791519974666287383227433114833422830577145249898454723900831737717452724432249879324236957168421871828466135809909224609135487673536401996328048868170771556414290295284602167469323999359212162820480933523870674086025886921343763672735815681862817150925775847505816320273951509631992716111923793606238744845483804521727603086567837322637164859339002731972199117089110341967563513044458096348492451701890662026729325213053936685667193976242197604871310362400068700895255635952202086764463809041539214652830275850007679963979832068826834430232108710987546266782654406625167585812130670545487563853693379270759896748675142519789477192732604661260828982939360461731143831108857595041112847948839721178543946792666910015858355157276573020004080561460072400548237997207536575096262707977840846811839345076288872676016156968681950461526197899598964677354044711773526233104948881882287097422818365768753220613464239588129436346872441372625143891126634481008656226750490495062597248622769326992784605765466950293812331572453396260791556181864184846209787741399828880479662750200139755244319698169168249114648692896762463002569848250178189560990556209257606050616885917733430573805846471804455792753516336432974586205116798428915372563901931996382688250845962469536090430773192260702107173740717901340557690172791404643380078739866860660125324203227521988637122183868587005851480084225515520142354232768996375843422213703014477997692967783397806963128289300276615447056510267188004571233983959647610783233586676361114460036858559130852502695262243857776493938069125071054369428197955516917076068425443590881768124799077820021028180520497614940469891622295813904887583281321646582576475584510668915113825332584761178029906880519944327286278880681473962100697712728906364108036401768809621061506049639709550785222664592374731220450984905676233858608236894952629519109332341763728465619496855670477938531011956101453628530862139271979983022988063762364515528722569446531719884175480465119923805944301362025075972645124544705680823808990361738313526387415956936117228035239603658980387843617509897679201832434333311000094843856241160766293668929204382578701755823222654347961361320120677738400472079166734118048693870658825364613631385573108040612712856797796101379552403482696039637069841104530750944766925098518617500848071719054168661017294835376291324273497946298203977732231563412547596836362045029074172267328457893641311310842641123803529428042493119179760025396764086333743886277562377836431903088470054151137470818140089492432720125565321214211503914470171925764811972535599319044069015388760932193189807741612425014901394246584829437681573270996830304886595074097155045355297410551974557409822016246793233946404782168147911534197306461642993179097281435134206208709355976779170418191217165514827765313317483182024493083226894805729925909611084959732930371114531016776031191648670860983950643399271158689581411088277958282720061446479203062267138198194311023292260909441460646890167185935021181504768825373587636783612561280705879216715554226552569230457632262738638497001214712401194214849723340955172936774400569719690118486979641538983055129575048693538531869477723311625630812131335866996783458356561987654492315482579836700100647377884976647443793250866095063547646946788796439482762750785182611192381670187739084509817145233073064162383881262011282679632656382406734434602350287719911759185334003184498882762229295089193622507327925167118872834182861643460391506734307550638522562563887902883117154344268443340280872806525889627846143377097232832464499110773886941779249521751667582587693977253066194206963345190885178150031951353095055941849403271490345294243081237324546667235327980675724098849772334665239379903200661936283276467242537906747178108950006104271898064268756425748997180813339520583646358656510430283532976710529236289727752205405478054658611246685193403197544109646933420249608812535600958355024165568489327398578958766067568362383457897820559743663578337977381755740859891788864997995274483628442176523598703330452947684812256994182386536988371543791067558199339814079453438827973885547390053355795443581592393075420020146940793081837139229978906567505519240666312466509955360846026371593940424153643423915166780965120868981410813788649202182673415076026021409184582796199580527288299783181596833212566970371701829223949768093381833354438218594787733115265664049525597070485535683412529990686339173696915888432856351921393113381558659030682358660016656884665552229776331927636614401611886020157652176637844372678864243260666397182469840481395392670619485318642784259551657880991265528802591307503897562816365189591981641510527458720445051947414635864453818009885242950435409830784734382959414071850414664732273965459915464134892323653769078543332520774923720611972716685063227733214761509988406913141354337996983838578745718156626284361163630457308170441345392537812312090176628662577988110264596403303695207433995973294947002140234383295516343318341256326792169465631850580350255447521528341656724866904562225336548061511187854849117135786372754883869260650506009267808513258630852524675334650825741143541578199461823588613528858053480606200603023154526536252872503275971242771849760993089653537600227418275512137911442702837573708273788747283480126631320453603209678328759911485373306932539830262056390153808397235425478730394619112854178885868894573885567154934982846924317424245205239390151340595766112252691047493622896256437386454218721741681859075934338700179581952014018547802286457837631700497690008097364334803147627436213428213450279210048975542911461202203803803428049202162553070522503698803522246930425208766452271906694440856390008593706017625346134505072099798726766442490326218918479322224632309156093507100958326680740354846803881640363457845438945871399548032963038907849343221734689449254933103404050588046339907459708801099837367917682751254146283210347272851447513218117220722160378085646943609427265032481993474846725122926601073101538747108885401408445027938394019587903693356258211287788547593397714461161704955906698860410209673326610489726489754626770033091122893232893211905105351695615765603984904908085480828248487631636696106037032362527856852836355575183635584218955489370526815195875536821455006543326174806070752317110039901623197739091709608751838204702410857431599303075547276720255869549614392581077183568533038590881212421276966077755249788727925201393848160444725911025464351334194967411626836097481826494367642119945184428640462654045367225869212859193882041127630794455114869678782112970738862996315549603370459168972006291925812009801864762033645575080406143285877643664925354389111745673147229102814626118781774812979478846272026181944262450244259683206967859272055351756473112464709744730249405302443165251467673740309082035071397463403659374221489610635544310685344976480351671273881297499816002136373806985858467137724496041729504920650492924404978004562981408835899349748283489247617438084296786090906253443102514761867520555662470211156020669476146743757060043779276386633603924130128576771383433738591159727180171332866203396248902442248109733364024741532560628343690564552605658956496646280025490092509371511709364585305715543149562977794890977558784721706258898919380943569360662929972259641712811644575310877247624345925349325457758431838856421339883020112287038359199707698732912506075191043474561108026750103259653895222287024835087253993438871424724482241584968765344612819618758846786593469133447375002643398512655493036682894343075157446545719620946140976584480354069409063537948590911072966690569393618360738005447495407431859910564019598574028192653645193585220349254838399929332363139714719863817909912111154266828031501801342209606146541638769012424754417074025520355645267734926834902088764987116555179526870950070316808975688013206465469633005400069766955034346044441929871604193956150015217730799971273241898432107414375329254131894293894549990457108773223116428488799889654606937624790328404784944937078595674296225943688563024437120553756543300905042367976258027963300730071639751613438157279977133754600400327785886550284475610491026952061698904719095247987337587057810818663129037530342434692982814532979832092274029757237365061665834665347782212682892955560925047486819074567666635005168621576835452392597840853523775084831815394118187282327979970846341823254342158255112218465745791986346903335488082670430800939687226626318880731204033548740309259306004177923165034680743300983151477177365877203464497336856065832615901008456832866919190568418069216647402655192276259022287627255764565623183637314711181528719053751952608127522127994743219492082049059624094394950249346111314540931131340558337899925055084139610011214162464793667374671590267230911542014962600570107969177209580833547468843418166501863319297354455762825404999203605989910237766280412014596668526250596449284613598302339733164267949311152445449144575374762528679442563556353332721553835101079166407541248919562641740190950374707480890715079558609320590257943644897444328327097109548168565373772556795106286123805683453114519523400779581322495335984189927475925368025570003020700352647159436696705551347173780244736745838830439307292056974978242154742543650024529334150307852286365929161067848188189464794965166579602265033654826916535721703041589082371430150342006588009611516675977634009750118272325536070500034543706737008577354633815292922739246188222944195416408976224416688506666669275582176856451231190012785628271850236210035419755027546485112577027316701305525835831614110258476332278748172548253331299733221209035374096381886094214722143132126087709306365255023889088335685551823497944142310061699770575490477020222484453359608247800553506828544870708253019610597741510406025687176683458002872989711063153145756939750123181710240807047758540420103425949602034469379496845895650008247508312489100774692668056942389868686248856805501311539197865153906203993586806844757454917572872974048717695871821451179901828447591138393629357705668390612796128333675555048461748232335300643772128131092423844977898204194618809642114997648447682352480250103902052092139412070468877995939103397900092531771129680328395634384379579909716376624413974657646598271361528452496290253213335420714009509168743083552211870037151380793814028145993010838119835418327620560028036693280564683758194820994075503847608153196031787574537225307640016956892971669662675184269989870815117945983300281752275763727710449485590914016351033684068950347664467910151638086134267288117562911265843878449003042113768205268538853275906009974520758313756139093089266644074486627133977737823743044135407040313106643841935031631604765706945826974289662386971156150438857569969536740565929188091188919415744013865459065796250142084085385435831240408479300261789238833687235232806903399820590861093580741579844495028633549546021930008903302106102265046629096361174558619699388586117169741441663134082779971800258975970140246494349558850440651191561330521447101618664767611766582715563724823690246606483135726933541023582728532902245444443388218330812387922209246543351312191238263428102560255127867330980951752728354346859519193940952266279306834568959279793706351738936343679113532975238018614293773748924756283728895433100671366063429826359567336885365351484932026620705840864001786900892358325447997016790068345112507719114404247927531324285019444284035660786909842139793630423614641238566456726313938136968283666234199505454294022200259267655679261080682906491604754835992706384224945021515377289710354378905665353471644806487731421439134149126747139957108761759159255402791599480969844539761065756032623428231183778071660384109197935822135659870220566017090556112855931836960982958977967306357370078869614865644258428246616147895758822282745820596496252579691432172716155724674110246464256972195217764609963868924558927122961101891953909966763710685239856575776146387774276835487533791458214828471880226172629632025020253644136051991911283667782807608948432621087205361269369720595450394848209944951514590296720468589095139088298772616436773050328643798365482860562162414309867285912541114169813112342136332679330332074350754747514841077457973726704208592358956888289998855889343815212756441574132084279019800355204296880209606641272099323146447195374609220416474785594952752693926515475403625765799387695722997089803133798956374099708146534095484508588196520660694159784578178274707982280705553222453738609130897118693609465637584020507815977457259822808673636391105261536828017185495930914533971515262110467142697162883230816824488016413093538182657411917639984820561979008222944538944290730384454860076188898899242920574001078754761359202800933903526614778663901752547687131199244955119437497254730826837262349054078801860431011423122150087804146165377562775887614338353983286667094655804885058175260169006322725119705193384437151813747521991332987649156471728217842932576981702040936373249366193722587336405768755362155471924044950372727030645216468927902781711737518557827043583572389295640435356301993339043395035483730118027610581108299319401611448773239776922140223703101340326093985123706741540427488574865181148891458013140161365525155926405487016328137975467636650581049822771556510187791216723753952941216564647471746124395247195099596906167403194295430045814444846224063953292447470594429305479508036751321602431634050636288258699509713905102605819041028727872792433655815542111178655500471534094485867601762631877631912874086390310611103701651410859189307949186277611391511756866836481331909321219271211695836943687397425765543879765215400186498785897472146641237066047832045093960780162709333415005048757840260325334516996107522758198198369911997613085505001854200721622690233441293719446538961814306429026189933071729146729660972284091832984567701641387021325659976077112202234191693116863804760937993944099276743263342717166823913106917112591882923589692165187837906339082311181564312922309281982648390319941607928698266640153438982973270812939523949215236174978368276315264718568998685826006250049821790589689802988751934973973243207523068106969985204286883463535296696148871371237907904222017123358075973643566519271838563788694879266586296795732291557690700933409911262812275481591217901941531353418768738821914968680847828197992426666485839701612064345220489110191353494367812769636073259296781811211486035740954635163568533585546892813326942588998599754695744066641855035743655822187086188364707638667702236938222030281205361919680962038868526779812875884081720619663212691765872459246888309643798647710091742355522935521213601340574391190015338416731970972820079109395725582238122742215164961260521488215350218760737315792581733174637106099553357825204847432014920955554081528876490088292716639006432763682137150482425352958900852512145945475082884083168482810200660173263479158715499033443995145662645780108784449985200889353382571281498577297144081889129797237945325467470280188974859716608995961119274167306786531701603206584358890898338423816833250589642906633220428988353897071426396685695175501465535171625272868523819698585363178758101230729961191697540791548030227660525368516113197599764156837583709934160964641701020787863307375311762208631904760785300484417748659858017764251264506647566999476768576868749019826133288575081840052220622794782550076415880350922071357938780939610703072302251984199472576052452191628429038746433921174695829188007536183397535478642940386248530643061836210149574566355630917464541938947732600583865876290992135536920602957297931431135607510868648160778976019428719098486019489318200482216467845119728600441992280956046060962516525047443186397443804655735003802166982415110636136213635847803386920300256319008385371125822851031884995828914182239230180552253050904840590049241344843121169726757846875320968686385857321968236294654370472822089592527806705868469457215606767054775676909000808826939912955370077482036509808498530420843373029995772394041636902552777814928231846104458779623921187130498414219774012841708822686127945782496368138670699385042706118958622004626814744196632909203191614037082690473508933855484865598105870953123243820878292324981875854703397755667602005779589960194788948568593437898969108294166649949442231149107130714995291424656413319564755325450051285574544775144083312250674444982042100748446186350003886503903877005876188870522771614599788248045570445085585924235801596418957256463448958105338158895956338787336218756622676926377266023929364144478252782789794247724788407313703666516892764265180331095797452438217303009610773912640190925570842698016562908667693598731286348207157329970217454963806243190091167503955542581268607804772099781139912202602880053729299150105349106139630687404910781880553506911700060603040701068741312808093818886223995826023720424094740632298374215291587357709303025631246725724942691384197102860471282201909178203432837414489821792595438336819752108517902951961234349504735309734784697137113466575227676943075534602993221854535202340500499365999422848357234095924139812094250544292194031774277011815905477513491374430425351402748061896969577460573737027572722113220016787704496322392455487268994369316588487344129640243075943580676288698042038467280098382755014372456658612273729026485256908580260412207391512183794995953932710118285945528877523433263351151508047722895114840896877258682250971237490608938980969337891150244857572005803613248448850697535584898721877535142874162033822957019551062885814757774577445303592565496137507900826791888292072470446080803070084828930679591091785740204232333115046577624536914266840705924789096244595554909142137108909564987878737061098044934629474259994954829725578425734895901307789276831253413419612787936264095066326548826940937533355086537502044574981455883098129510739992837245572461799438346026598743093710559870539850259081248383071941040705998141018944329086614495628489992618033623262204029039964303611819938295381055322672587014553717815805687870755605253279298729760264025557745293239769864578140371905415519865119173431139655455069038385865794089664196395693857762997350439437928519543015196852241223513990661189250123901804338831691479943721463457739796366281589629631441214010363863857749439466198841446892269303156672886010339005364568092323682450007955366828413334014014274802014322226676708097076348459356494148350778524065146643483640104377342379142612145088541225720845297712223287826217579536143663409504705827503867298252767184245720548298513353418794618635457059289702501737954551312443691991122694876213926648488734889755244396948934075236775808104814127902719114613812695773592228463221445304728913271248663782347357810169411248382806348000946092446949487772693897781108861551102681372563986963731725892487626346737688401652794888667852590248142884826095313553449203189106568279066602919415916191701829705317259598897934846389446335642176060136610885131667850971888839820421420270572715380399090918123607614578960386590682280230430136052487181240254479760274859924805181554017433542418303552330874860414892207255738211908611946130805543747049627232190002415099391111025712852459116715054133248568951653718955948949038118358023140949854509203635976083325866968640023504448778452055135320847754876924498798500124972770772775144972098895202963393252410389666035063097534232281803794316983047236124381765154687041786572952505517628644150281001571908057234059176395385198525122633036496570194184615969811334346574375729536666097842843900367014610063837325183253065646891820763094148787997057339728791191296424093231473466897413637900297139918952950297999378000781936822352419777924348758330473312086124827999439342486308656435558231272734933733058420807437701137242225693995647312520647142476037741641796668384988359804808345384433432781595451544468980955891910441679773814566382490187155802417811293951373790461585650337219996400186002735154016019652479710278871187646455093063338821079269670368055327844502290603382117113993338476821321298986042453192985906931891117885776511516630212071708303021701713313748804908632621211238787971208662789545276156800364300345735250107062951369343323425431260274703201217492958121681137223264657396304713123776025797769097731583460188374694671520606711097177566709469361427543438417618641025574962440832285446828787784851952282036966411067272803840516830567194968656381469284087750639898143505262520604782921965761072594917324751257729769557887316518070851425724737836677902833487251314794273361641295982328969021569206707207053102635356766837833890155733059301352761269277366306667900343453865081430055271141507548358706076487360104175627295755074751885454529417042404246723468221287316239423446168293438952357369540560773894103452625757365540314796964148744183677045706237377615986250489728496016969167203015703527236265657961037955300578383836626193898906355706260346891031576084434791594438006500395594899450202910201432195376105550609585346064303004309731563007615961577037538631048980448631945232155061855733437506062308619364416069450181825901188391332636103763276633338572610925135440717287265612916183431080169122655221624201532726927785751332031048926754010606585023123291274802452545160920198636848885578717737050223737391763418110877039483524655091728660941174939996446337668781768006926449739327972688058933030324413366192184136064266036678072922737959636893929927000355120268495689002480597644711287447715606580319849512157746190859045176461022782592411121063154141986147883955855519697650075384676824174723229787035929214880820267016213527422043865179055670039614059126986527967090533494188035651978340432142517499666882700053798341186870478295015543274153518904482389118088126398077543888056896824499106854068941407598430415256355065701969000169094692410039218174747321686605212647729640913978129941785921426600336768287956394516050761105710187282444153643624330364764526951757455956298313951099091948866771321125730323938710744177845596866121800888884953528438043961961344426804544391852469135401802521893354868710944592148777396294542299594555869812857047065688354171279221183993301242178578281688165460855829020338357214834795394914729498021246416561812902499633786908471393111289552866160328665472718776767984879843790753558071253406556531279404761768726837536805043771224909650476686289716569075449751168880934224063937100352574471840488802715875790469816935888750506536013940311375694627006899599822416043942366266843143521947768076523820935641369755312742103630198949835933893568837730671118438955882911101135060438342646561807647307708176045391118711330109058660013419031620410996185518376771052006595489930052765723193406926509504558332962384318726237028837757518086077343869353733320706110032153389917600217931244051935015225159063137679213039709793003515271263470995744867319545008329622486251702132850645056426476614579317206683828338622803527072468038084325982864851797092328235174797230819228126381000093616424631078216739562327999862747310627840562378421531674683249672712027400947646967170134934526845365809883129364679495558314734807672813443273738091244903084481519008333163450064738257570394913305987332290861052651747261884432442498342899767835921813409641866428690003998351485043136161375953314488691041713535799999246656433143240042526413966462783282309218685457168453725355623247864364919273419959652406199163396338908522971939786546621335527976463665785453959119320617374063327635790148343990470898454319304272262648521652870699990283332382129243287553708565543997917677746620601224839587838988889110163290856734675838277567613521111472458927448489858278451091864471946163783287833966663638390535057497519509230274463972596000770360520706377601641309895150537618232653003596195086733740517810534881582889313850970330024101454202830291559216306628679462140631918199979795926784182429810543886510338506189164333302725247738526025577216676489586318177774303351336381784753188871198054260580329499722599520420635380256823667060663362691960770198598104034293611783651538335643017029329424853512084819456364784918813809677855424928221914376591744600434981609462617433107688161699443747871375843101820515756841299266446098802877400722963705309806973103088601289894614154547556028764858346663655792289272989093144954994308904658387782095723197844263234380072235539720730192073733299439795104792928326651664956326463776131226841496093707694894564019795035342300682779828633255282083473129121596349015791322066554430306786612616147425978314055438965083936888360787177658392953287711695227121570875634390188376285982180677938603180168068309340827602092605800075258522293076833485522201104596385611100212940990630689162537476386636999096066223482655350021014843786103493194944087486057083103179129929694758555668307317356256375123289447135479268304351051481657747030905214513928316050138051538649895997720596007111274014046521564337984953588070015960632602993306431805742447879071724879120620103650385691291421121929368258214406579888331599115304936798266490315452990228061161519044712726571267585917747410873656799139978374328177222487520530407348046286986462857762789155975644431934427883958834264438148819851631357093356149572950600355564143415745418149377610464563332951118520146745090815257830427813636024694654754534299127152238612883247591701091410580656497231715305258379630954657585003036691881518165282767159251929210589991409025784048468413020983653072245236210076443649021147167180659401274380532507830654870554206544935056117633745008205621078883454700202512703969279466770355479537074955402426977840793154681983895008674318745572387955465996319837996674701782033417510010978745430672001940995520664496727195401802660701357319805391397695689721416781998545532767694863168855785117275905248904209590864545514320931412041515149742425703093608304999174837767487803821866208798865830973865775659449571756669563743192136844110366249567305773779672360743472454914515825562770740346309141667230154556989681130453268412827534251543032021088097501324790197918075394330143053915731461273832941490736237359622837418069911838097983270524364008544549984923652231272378634405994454981600770758844233545959243894735503466680169294012108163212943112370422601390438061143910674196835194894137547124194768417560007043729730608430351832830390547778076284158796041518341289243368801034241326318169530170179572479391550520537431941970710223844453708524500658831931026860493536090950047667553122234336400513944472114922085785817010424946204078663990254970409185068780504749871212641949253880595151447789780827249771756072926100586121879947531170334811652266385271031616613028284325757937850624846483332473532759052054863374000796761794194840455798927057754464786088124779295893427393467015610182633667408334217960357509716871224526593932537778204460575622847777459503698945842183296164001210591201690760177334184864418501279806702944693318347431153787123946365303886994201354409118970700410660470439268212873466100676057425656057465281019910743870473852338994701692799677862409966643055433668887067907819040687839526626841274536601412189228189071564314773524424822592373465492859711496839109153471959981842089908837449141385625958159813286064971096001165404228667850975639179752638465983677714695395667200755439821824167403915236825302180807372813760910168396050267387988796855136377228354702382480426834376032982632782647608962063472150251436933997080249590826968901394989251814698867926169719251592880836830363808177746097894909370566111154057921529045586909716337954593674561307094925734004546388071431650054633154901389181943053388265831818025153894578325005269795406728584022047536795571939976370240622694558889788358154102233597118416334411123531360409257819182928063864685906670576677927852946599437748530605197677796798874227730879049008759871004167398003254231036176433302370458144459548466111509338079165948729295044987160538824542663413956138038316875933685235709364549107927418488367586277937991569371696791178257464835834068836398193857858132712172962198402128029894638010478279316668342907903069426423717708018300539076115327370146479532549347186609448424306111741316043772512845866516240391734447816225852122604708085254893285928190509051809216947549848560065685842608418794116851442427784070553289554994948157977210934239443092738205229863012426902069011825048720983400694071456285511320099448292982102688549494372647468260214719869637328985733016055489236122682808335409442492459108770581838895953228793010958526942575908839134634493965982465614079290852078480689640875663233938470358159666932460076400550050174329022112159911550948123265082243441892647180197981447720286870985832549745591915624794755945316171895598103384614466525903766399916775975682687243049432425112645943914965272117782179715671484428587761811340072730670978383291639501413108178586622873487016264012214410451722251501468086144433743700100246856100498110660257722427963207486804717421634759548144623758040599527539860026889500776851384046867833849729939778277914214460646935300291964494235969352985905858492514966911723974544448889621160173322045781924637024735027012686430057054730556299923650019909850911254813238041383211956872625713376155158980827735729341846930493186315057881595601384072907704135767110489544338077221443401383198642642699669109919319022969719425722552899814187525200681611053663335233266413783847432383315840339109164754469347533674569042614225374726892261879704431573317426282618708303826743349198476315154038206108430312317872737948169808130343056882155071102856622694127902325904877585712385205747497998999693052888183812387069859535075376388326296558521862489005843101476499128072519087559102913908638975750004499917172990949275753635321324021939342703489068548000676820514127553357974030494794634630444597627672948300993052366917813805740624565023079726281066606530370427098230736727450771131039106281905983359914502843924675669089815242645469892666555486781877549108647018880151726788504891277091221263449853996987085838089090797463600349712298602554018854482814563338591055354884718358573662345923348348453510324919766699031084645950648149684865646420700831159264202081441608011044755217442051995174890648150836471383546258920146214165844417425980159946427564500795019233357020101132194957511573474700647738669819476003293698767334324018727849474792261821535949971730691966064886343645571826493811825225346714935562296059447351179600270851264208286960428423612195671437264456989495923676177314293684525157258221250755865682363942800988902440284906793306169705082949107019382984372636434351251440510725250553030723846122869060169729129474001960438102080939172595704500962128924271894923923410171383949912038684616270837407529461090900998972135799737800802894449075655836915302798759801589235181395438959556858655551451668909523659471484866493367243643056505598110615300488047238641093297314067982747710243507631626075514207072366509364170417488706866579440387060904653056175877981249931721925602900198475486643656886338133246215507673491188626435208122239882555970193287130327671714554663276789006055186620744948990254752324475798800176173310677332864744919082589302135266688616734296992425371142380977325014077695515879239631860212392732198090769726710878606488106940248505190968088819673993907319488291479102996205466994430933717203981964111541768847171322303394488442543435949923312558575510504815425575502234638461856982625711054383886247361968062089386002902768132248247312687346822307462794023513937710726603549224439317717185422903335296581921320047164836263352224681432232403768088700532010401701058191162473407105543130905203628282075584317341389059209098348189086852123789461437019826650011308594778658104804457943260477101480248688759837078231867191471841729816135287624746224880734793751736380081949350049900287666796386232129691572017683582891672619930284465107486992641027441882650473004192612706120887967340702391926538089787826054083994105049240984102446566681595473864699453476859241629054815462403491914533972224790831693604303771183720152259703889604033880173132935991171121331794252770631012313932177879252281875657947531103252047513100789439446659154738100453642214012679455543550242305447437190321571073752981238900423444539148271809945530199320282510033869821220375773419456785593062926682362865545358446963764207696735396180341756627758767468074340423492428505642201046096476230067246445481207608999561207240227161933515480669136286972130787099809355774552880926623147893041902209604307909549233433428129117699555152385672943512334889303796853087204292265883724801164492131894084251948663157727877938439577220627404189699701798303850343124434179106548084493061446527179204917541886971761325652447606295813816141929889011312424897187315011733360937056234682663608994924297591436392801590717635396588102664501482854777269837707066897839963288487458147843867327811000878734973890104976498195088337201822413738914788888838139474701599696838093024771533009253848148713364517486310747912996990713142663831406104494541791344703211692410244496759759343646557059443766150511076762757831519875562761321639558413287601660880660242693279472245070169133597433323588196820327706144293376681933928788448251946597210422027036606386912010948996674667651050572837362753803495071385660136747256068033361238243071200776339451399048495475198348452494970317127602535456282660338040461616980494584621929444481436700022067231663149290202505124958197777975597245000663445098393404271536381319542943234858047281790565591708550070015062202039057362172623828026688087810347343613440786633635308837414082291770504389187892460123225188358947754620439088560568189214544385876727732112865373327071889555185902397341433053813376840954241895985581766471840031884174143366275113489400513005611085277551989398984785835018529365363481358114039399800008515296739876840605532508436544547920355513085099695515387324280109880333526068803242258594154945058110139226243518512359701836810698984514206182124786147900362557466511064964119912205033643462194447735837120261012515539626479031476224406351735289502674750049958958360460327817252537861024958677613491880658083051481502292915010315039657969160418679679878653643718086425707370659112377142591021869773681929981833727626328540446759300329633933051431660648967433580689699884038760455291405830804533289713563150428243417810094775136436596146385846661814692776948466154660138072629419854579311030962650713076765358804907953433317360721830810872423174099141546416338570961820870088634979404210449148025102631959843862987551893244366894266314130292979501035029891213362161498863416369577512748859533576065447915711354430354996492850690811783064328234935796582404109701026704699659062341495598219507211307260875707704805125845142018262413117048689082242973600081471346149182816476631698451968864596034258259734455210736867325185195701290990383587594901202130824638225410927373421756602403521282907205783298964577454276499337968605232478191834017471073719309008273036386920952568266759868139992727870370943038918019909874715514413006635711301328514026312587355649088198739512160280297953914978811285149847981989346092363591075290044770094460291419084648419924929360338234331526976148805905197592267635937748180715864918296679209508168950923087693033771196236338160409324263824132208642151163403388210536830991538874027678526935990554794704611201633431835502346622848290331799452617337040193817823872509541981233675027516574057615272310534791668804716518014623679835438619631039660104286110720450279219609371646001303846572774088498699733632708166898028465065202048827652104732458948395827277508705769430248528189836016000122001947868470028068023210083348557476917135859497963299815469448821756410977729662991876222425723109961950212785509568961104010671266808782602260944398902786529096106484519679210785051994848878942755210070669539916253461739306938545895844554470575314712286366414591159959469361151063421657077985320415002509601517278531464223942137816688381404292021691131603655025878895563934346400876521815857666433702989813619983596551938043041147780645898008374837869054556118753674308912792102931256958464071705910531879571459085916326692970722554327069173575823046027190323810935806209623049765742237956831249850066563053264026425513605966923654307314211952394472279988253794253205283951534469714983769503725049896640617148441471750166374995231915612154563048358705082519315117056181931476787533976544969640773435519376798220224253246069595600884366077068955526020428079847075574395914158763706036198370274619710419314403533561175998415791034396711690901267412836201326789590763308020388149746457306798563075633007566898563040644266192775297441586006626884351462867281004086290785346057782630026025811932059469056703173634092973201245540183686005769566536554775990657307437432165691296390511003852244049146429422529676328524004200900720103750891359137679256871671233592091662380840058475370506864248841481043633624154807228526744812266873684676552513731210499950945864830739677755595442346101359946870729272223728940843447384272695553979452095660796398847308076810611484859097256031523363820109075454289195475903407437048210815156137050637829943082436079263422974918349190484116850312435351506551293938985584867384698950342910771835204356600172814326536946252864635418714008886748759365422590567290308483649133546858611471120405924411734508000050776217367872650664125608001321862676149648522434453348488013332921216929765899237114027283992722819202892424079228876731651228559319447070920363925545390214154617678565638345824915021285668175376273252673528408959222246588348658486867850644280580163516047788436350934426825413260820869383883559126163497946324638897499565932539479747295136797784785631450149003537637329559700393131020311000491980837125462589626223887942742819954406169796772397261117155659944069896890492981757219940746141700653598675928599246740092644292399084444006855273638903434031085739089264406828001995974869339879528500318609649883144724674248536934821486815365301545940894890234567530833601853495612967911800392911302896094630724113264409498634656712436725099988336067405796226425976384519552271846751875434247557667450686244571989054043386035667461913846550214839001515764147953101575851268298089204785975380919873991917329683657764498194991979714274201722665081112696071037404682525128931350121359833735985512367224112334087251617289315205128181417266215355249942076902329222370327811269644930330171654261840282520656254533859187890915439257988159484155515881344733697675312141419303876175995156082018580592223618030185143345832103349979581437027263120362536230781913484984586179042179386273757368321320775643384275585134730285178153088376559538857856422421701771663573847967858885506681248387556346259537030906120744459586436162664822909255212449421354227123421860518613723488682707490303428138672028775807641733352057426614962385494017150167038814988149789737925158212208093632756909300391500925905675382613244779044943392391334896513172668137631751863862209835128909133319816207980858787614179134019899526653328135146178432805718490112975465937755479224692439038043540654911558255785956500159543917124366345134100663252345300447097976896002513575988625926630822083487832536107627957385374939972894850264788607998095318900184049672557553157193982954689307895365058999498322681074902791625990218145925069106570371222626938143060783717440071328911462811163102250774054622168533309613112992307996673385220608831612492797637706653496009800714570696569309459558153835975280952646734107885318106663186966050079858403237545971476258142657819919387308490536474575095791078964456883687073515201012813484869085061532521714874748403464838972069886535812338114420175795700017178645018316383959492813266911333899393430312085613178656321079623486810789127323520756557412261735691132944637040287997130458656906586383101405631364519875397150569108327149649683385857731078509240197114520861432403663591696792800315382577478232482143087623531375559839076501473536591403623299234547717184653776849981078606838143762127619999647830596878655439597602788401246971853129332558598503496021993029872861611394605794846633246077390140465988790174655865283844490446078957307941347872382872604962526123084055290836028463381391355083722732140872018470049937912752764265320782211817824030284561573839139593783084173209724906200968665624567161547686376803622176526989772875245812210427766101562436256909124359019814811143523570712594602112969000471230566329817253161943861059349201099647948786129091890380707597915882752066989435822161852552629079978687607875203562231196087424494365583617690495590664811470899772514343857017846999200810817625569458303152955260141460230384574753324709992032380671479087505885417471053556979515350624752837902375547895495440996497021139565270320980508323472479236196190004821975348462673905682750693396916145664315726952883601338912619660581643542440862401775524560414401031022634372530418310950126811311809361334843878837857494312513155572768189070037881158460685340266654950673342420820497236301369271643494882577858325238209742922494797957615615453088609658098290787471039774450716727168701392263901426095242387445518935470883858272047897683340880254467529054815564468498044292316637039037110770084344994803136353793233302607395113586621035797759795932806857043024157379323032583152415168466568191923897383437300008439404015985523349695621003164804526197085335896989295865779559529994904319111243533918391365947525163133933338441161947997770195975666764265238555260785879703822326007827588822142231183440644526811379658533182946002469590320096709055046074609715171512040214599225405401617954731041402093405710169208605677363412413467132419573953043638635355144658171818113504826180939895369140720648285608967131325161408984027769591268109674857039431530761217441231150306808918726365329100414727109485971959856366097105687729436971700315165345699689237735379435845562763540617527735184518809492031557322015224250877449262116968461926381741454552174437010286959259325612633184779599179969999713893722258636142287704376196647962290783351942688774946561796177995970284751461410568619879065262343528608082202293258086499004622012571910166221216330365565575812091363833489306790127522530335536303980076308088355789160243324265367787059439061796834583084403409880128926964063096396174663756071501115142217361171056720103833084458827413305087896138775339436572487307185104338220709745527596591298402615773322326824982137711322572647953918764833698316602691332493714812818676101068742034678545081280940225831798229678281083571151333590295158569922683025147736354645757680829517630253613034942834933025958661452333888492173823714873540217985642345184379349758736895494305501120883178407974449032835784526890229811133556589055294528577267565434429611187863604360719479358650545967604774622858193337810769353990225669365421350414460354159206564480653904235368363957718381566511260981839363436822649051931933615553636148060373603196251249075475275459954730218378396798702909806615006083648012718756970761124816093383330934068655880275911934164999845397069323207882238819379423190929705043937857814588846002985028165915767100014414594970805002982886657584877978204595357110962602328402231281349226241439892852771530630792161204196131481262231240286077045236660240054437965719566506244286507514507668687959669524835133228071463515541244882153774258113115310271071787940675284617183959526852860460671779624604027138334448975939692352712468290635810089085905928601404019275215402176133562450241779336406314965574784546616401694644661365155411260175027103021922182113722288404242622983365885069495855912942092662660717304325106102984597438417445348398602044869838720342005459718713702548976858471547006440167091944864524086122141041478236346564967569882984058599861375073107401520567141136058692952571600124035942621009489749109330490938314268780725319337171221567159893284542097863976834995710637352576298000916584541423995924377781559942844224685414377297598566346288620387880549330408758525127477749725969945370710412814844308499507420004388652150620844792360578612571467057915377808719513556078357859381655096168084766187792225387602042551910328790316577995667314859219990590115950106167753864589435533671360693732837593209495247525821716079177707463234255475175380165250548491176466053321747697902338111842971353175721338369323666492930951907470926661390632039583904577646321305508149056191289489704906038951241883652659780838062198529574137406158563608095549631169310941168064298030748859085666282729934365884782305645619308519689710040674120854086906403970868049830076509784472483370163952801965320142387313886932288599134733115451655772856646416288555455573365102482851359657883990238883503701651534317830364885447530546404072644013683788180020443033067492349391581292307736684524987806779234001830255217495366530214769381148703681943370868042099805190692443942966303046365443718485077034742677352758544393347118698273055362427233619591351502660050913776182642039948500656681486090039908732532286239091166562673341526421206436305709848759464759487605876494606098487504016341408933148034519928052064148059209405131906498228310958109907441256601676258229832240681139713072646870800247478821936025735633665030067347053466877449504069559576601884467278585801708088567400184887408970215530647850500307363504597416626155159058859917208183487079119748505907101698246052624956716582928586649436666601329082795131686945831538669207876073522674560023422744851381864931163441960400880067485812499915413425267051500209447294170190872177134799073202950474404772674058011719156072890404846861802116862708283277847524795720642947900514464923032172242780399763167966728794493836307545721242873814132442320630211086313582971606660012724003925943268703283784123112762114592735215974656525618595338634888904756285491682328158527365929946418997655564270551186999007410570020184112716173846300323874979508179117963159118440172271982205824188762798973724354837975763882362644898375392240700636805520364075836800610012822487193149821162989656701590068922868305608706495435270946066639611854588419446419324032645837571863453007243772700486950902700674148292700189941143314013388190234724538011836862787359856826788942159148252428520323777671844390703762266406656678739859267336065143064314747843207583619783929066154068802618887841984268777124796996244645368903750576332854846742621552288333987983387849539608772646702016234806869750346496188901103603676857737998042490030815008448470437114955546107657718789461822560440377879124631667866524252162982648451776995755282039239278546985519110236839302226308441080102000896946194019764752650921577906998682219779480408221246876743825940700820709095546462828787114010819523294480331744122069215482849956950100776743200312162106758467547754461149411143299069532448565194346802039585981702816817702921906086345224833798664216184696389192083021472399677896515682227264553517345431032112665418256558577417032712818680710285620937583113194502479885360580484392229501527738755305460794269689160422562764592510328896350563029108351457493071084437928540087802687787922444886647200272483769050614969190287427585342204459212386321756441919203624405861782386474429019020077244574219604335743826073719693914824015407014488653640699064903009942319506191341127421386019640929404620077528455600843104053909065951808242683518980731005131221697981687401937794722288370250680199325468086475381874911494327188537242521702111246510478415728453466608900584615929219462894856298203910276780342403131408816149976044186101999254295327763272712929597192284059330974008273730018658081130622399634935846859516176251800020578585672340812630305270281066912587966688332949156573835380040479754814709649458885806453038268179071866767471261587892106059240343294414780405267995620581345678885128102973284167739222174397988681232380835735421565813628643699985439744677138917587375355428115745570139555114014525978793184254584981465394443735452384562167672873019789243179033892153893928752787220316259441912707295430154324774020420543817046679402433081755600415969483959286668602864631701786215215638182834271178135367621046795421577446291536932341749463351592622583029860593819206849976007530236841288018789011981708163817320815531292691266776231945147593924216799438996647848716101470949614899129559012905291877090019036645857259601917990809421759342350927905292231065526865193779976817208874370108877085974163051663924110078791723602853702197505534986296065369828086214128401507536797128188577780335454821833753710611028531672904831929773572697556626283988855926775606287674591771991034391968788233482463729501150334504765863546950382365981804401794986671158373389571648759451702389092333822595348525515255149367197285181421914456523770044602664215671530786389313613413892855315712178732051134625802048173822892706089007055141143256442594728691292893238084076348459535207134855698415705682697078481875750813046694398338106597846960277747036065276859813004762602064632067672099482468564477493466068377455275707908369103794435420622850959378128014735103736876338685412523976748826003664179943848986471792864692522949265791682424163856729128584507971733452795171410434394288965193311804564455374085636533531757664699743213710083841977767016443533511071009677345580865796063014645580966814859787947666888088301054882012845577408549387575734153208228018378714426742335153538017402621179742009037010287120959409494751553583806854241214318641333688366638739798528552398813044849571523736259227903834897274395790717494422235333646878678190202527571456104711739843027464153451559729295121988006332031784420181850108699293222712742213659374856328734579855441283441020879721367805483835841984583108619349461263846897787436594331502190332303085396522538537400564027998291224193255600705926855804145773255802997358816304780621494579095637605769262506466318244367680619754030523195045090403600391192466366030236237577820981757734006315879364872705677695201109417766649770623593538267134459487343065903217881761360554389691630363376624991120420316618472121322269841832246573842855734154916980368367049517784967137622297302043915103016886527416290359949278995548079486206243393518948258984033767114701529340261573506150386431335554010382709336757191935417770042167870725301110380578602425281015185016621914491327131687981412720788619589894239997060664154377293420516037755848469246054943287965167337737944181836059588166818379014580510522043019205759025517524484997070164779438834832151719110544707761627714860690893967202967007542153773696721155135634185505408298021300116176096512633784403847844836041218074459780400346969766031865105419987960972092683426604845194655203322871805396228129972243981836658998996734849795356811633064583698950124819166962869672986545538375274049946813915376953812616658410658811874828070591437159232373464830562255245141028811763449545547348443147030919592098722035376485291616703155297174950893834057787665408179973283327210551202756225443573090345132165270742041173857037186530261161696145022343987064812483303342921026577202053061243848488676149844666215240764820032153281798951506178567739604769475734968938807031356651765446219186147637885378645170534269902172640242377486255202873364966890686803240313422671635866687091870622935370596402603817445583286654137994991736676015506958171700329502824257914398084392763525413000346445212518301908567689882522784729047374714807817202869495393247910447121798458534685490083802812409205865285770922310167774520566217091718088645099028935169420808809045996802199531825251578641593497575338852472438231211719411069717879676334274816206597085315770462142319176778580354089070456280276809588538634516582114841473670018234214191434432981281482734159096067591175204376904484522824647325635462233635491751132245504539551205962216663476099224262406842744267875982943861681887970537222980992801069015819495489117605788829318297410248209652935637685323830670477261983664599678749303236226546690032284347304335264180803147298295375124462595217059297327311132047486099185257032043484326713689968610686490398864733607511650020308145417446549679573548280959965932888227842674516452013491300150426517509596008804370425435659491888647143533270181366832903134310415317164903113433370913948999403374919835180526256919869762797402256591632010778167923984630856243727331175564473779630147779543279322105710065871198684212505801113379968334238026686432070585603924140540398725595610587339466772845375089313340381892252145476244984154262419357106197709159988226261428626107841775856498197581827514389366799616744628339325016069615469395333439649875422029847956172290187526804051542060229317508661693299956719934748644171198257989769758900494922225499000170715711514583647455948180449519207953869445282679388947675233544817910994556647118466958724496404200362194428832974289271696554699733213745338923132292183844382736108676115071136897956853348372526869443920000609924627596448366655559755072421898692721698938401744833276500832513313847369885883840360536707494885076839493379989148030027187147018770086731618655874987384098075027047906252873563825516216503317846199025142607936179655614770963040453468929181819069216185868961713641744927452175013621793642787661727543702484535079011942810192225671768998203885821035382023421126058161587989166276262903207658863086010268264546882837455586302947466653164770933808621518064532309643912748941980594577779165319877722363080418374559123601412346792657584211829529848655817510808677739360413759938170339283323909916850579578089148504698714254347786385442418841806362192874168043682807231585091734429580437578159129019320536291557880049997930628157682716091786042592568764760742802275961241000666574904698790871578453967063796104886492419024302376678164852372334091439623715994207452985168410599054020749649980792889166749626474128433083885406666546880118749683108445218818437356860237275247147707087183372228225377520477804365574407363425883929234503478942864984364956623843501156972472792831939400134377011510339615962430742482488109545384339628666345955303344107502959567015222260316533431878683287014151388957320120535898444749586096980365982438320362442805026442141166699416250472183554665437097347372103698579740262007441150381422447364308146051481177841107771699472264541304670670775417500155893676010312286858705011755817939890394967008057423096969034667688954650675183612325652252858383661680676781741140559458867816006168978975286393219612342338973662431547801388777097559122283026813124583518557917827937113693998967079448321663303178661227079670844119930879754369834882559580744757842160035946187427267162595807998923315472265882591290018720899432584545570443122483288664333405986078947485013468447256658483317752149492133119230175411834593287644012764141110123355974879433006895315277685437540807692451286370911674588088105736448871440979245469418081684018262887135906100344062716341112091439067637132844758181213258771587171632828507329326207643005911837126775454978785567318669317634823926658567193688525682718553588390785147306812357539000454970988122193995917708381707783169947832082445015014572075634709261677696195159454579952650241782443440460736140874144564902545994047369814128848827292385783544754381709323505546936170779633775754380033666952307330888470089358716173213200065890583305726728298482043692030864222350327970561278142724594674692257050228085509692564088109367266579812077639455624737241200236255903064993253101436764559072955342660021818042178701093092017936225113041530078563705096217955099006817966822448126803130805133736253815069466722948694787840158545412730407105150150339757027117372686809688165308317225908037846224730903739909519387501807083203361645910484624441817146802935022270704275985782389622411025756934599301286571830139743084389181831822161745447995692185000453843707173608450894171607586774147065345718635080006068218392718272730758834838282141734509612419497445202412063920427862847080731847219256157402122375759083556298483595686694939776359583588453939004709127579639358958008042988048791831794323559532919822192925698444403628756034400543235533973981046596389701109267030270175513392444958685350276124541362595142229803952350844837765917846544339741173177858795852267912875066180753674237101910295207706619094878254474449644983186068138819437948475626400133517226196098841384803657530262155403997564806481999111819389369749242944245107304549152457972156865077375752146002675399604890486109135938057198710972668645787605407687186223017024174986289932435676845631605650925523877390293904048442996476463854721086876419056379527355033077642734362357027156399770774537651515391470908904068271209787734158766475342754474769194307567429897165102476463787383583168981301116559064813456558575457565631663280983137833252177923995649621748983095026849575835168837518566710736949724161761436010749728392468805180734550276721217558645717386928307410287213795158861397983495580577611021863783380173039651352992804857064446335528967207988294367129175245485825160220682166868623694036714748937203112510542270243728907326261024490632919024697591371228024691029944800776649848299294086582356086723016220744930347924795815480215987918890390284937710607844277248470851890559431143812646571092431737777219333552594121142999636362379184262312188437290835576214685759250470928298916578742613863110101852417233314176767202567365757893884643624316614535622147827037258457689997042171561686697558963498221123136164775874028686996795542463156976737896146962649677465274211577405048308996324267764928191376634714276148154742769241346487669258451408657429062459658031327025407797606131124834871279905798867973454619106920467857331539087730738404480220684566413381751425584304214513005740721184884037191088485635659688982365520327710720795305729630347821584371537088692133568127480854432828760777500592239671493873907056933969507244409680175886942964913708609361936908982760959592433992592616458208319004109052762167075776225603276320730755116814947723277504585234685320070670185703747050734741328977696593869770582543884813863555006268912577334137764874748958290806924620861019699702082686726981899156325817386088463060126213834659100438561092067631297055986023819808620470454103959078183891778282408664747395259071994005001909719342418726264243141130588870053329714427194163946359347529356748410061751951178408729730096569634584495258961219919352379828522396649205734819137581967670308982824810386296627875467672488941466210854909106144152946855175860284338694577330735852216333752460881559688482497938346959409620152708313153397718754502145536452743466788600665188570004655453709302282898758904064264985696328568886944357111036057903081080548104398892474714949159240249556585265380308437151818649890219347071650396754381833734461416234315477770710405245299791822799440885207295459947911424119470683976188351734076307007675923884200569285532851935318692999813901716737891983593367253849182547166391145199167933157401396180248252475851209778348122651418098544659708867964508331457749868459288080566283834277247077887879506721165685731090296541816000843637780420927659763473366297305660484942412335994688865816801989268662333450967575441500866676815359789108220659111370211198832200529924914779107890512768806718591629666055198442871121797540281326725103387116801722579812160435890142807003868726932562755148133706511066396263318427964976987536943378778124971187421959209797024479966729561504208077341846150769775670837439388121691670885955014590427167412777663701654799064528102724469656177781578800083184366214720575842762187782708053375136155470507605776510721965331649122551819912732334946343677543716570666789125286543371730388541436506298681222184904703924647273774384608045254427288552143216081046510367213577381679155101126182187894477386860148074961534069679959251659963532946400278042038392273062630186159634488669664476078673074890297675853788336423751888587882602553651755947008525245881600415683639699260598226373228616119789259988670072958445888667471017654935839075045470367823471576031290977041697464690277729202205193841964730180687825953517798860209991179323186598270999047412303899380693213760452028753776702166482830706061481344373357824326929980191531968666387090055809493617413340705673956756064522902446962097516182930840264615255902964018742925072364856608216848855384355430204363066411564917276225670134319551990029997944165476138623780138380467996138423532660196827498146229687095725259488495692656523308501990073346944139860517104846163727635120175053131314927738361634928252978634836144886262843905603350179325516898896582597537653833408847964828628423122517689322946586782229048433274517609401518834299921125977103191431907837838585301796909085641292279184041875731193413793429133455897163845540035576084788587568288982285674712239970521723668885144719190389096638883925439366977370268019868341763616499023542633380912080962766028108957247752839999854813435367816929135658747614716074510614887755980391991423098321284077003118380891878874750588408875316158866773968267629152181601747846352872986684732868364141281270494044875995615925181163727798454314882864016686126806688470776611458498765530044935579001291824311097324899979497812619058112561463699448304087904271332566696435406019322297945225942401033958752425699221881344467524769522087760984898633373223043782704956676128054022693245410484063547087821791092274387450656810945934444470886611418067579419544219722279608634255989027879617127717074273872832607110479266056149769131000156842647563834591701966082658830272454122977956489990077995813187149377622726918257733247204403803725335473743305830474141389643998448149740016227253312801690984795974874006094343556412308099819525864189933417757639027848595077797212521256869336466511818195186559950568585301806156170031420086676639617503166612404035431080022155571777277282783314987625816163288709712335755807058125486999521429653355463739770483546237481185200559986853177393432047270815022317493893512080616554604670133439008449101175080189045139133923161102130525175274627845229480875552203029444598937687865965950010205090766236437933825157377989876520593222849154464765159484673091914516233602169989147526825620510971486436076230894147720423001175681124326913883737042415317872497082455081730850359351279891791922376042016065372684072598716701990234446223379562700680016581746898757633238533946969378590314580745220099404860498658099199044645340990263780691997509265053248406113951388196101353230926308214109591201252774956426288526372434965090471074365710887797606027818274831172363689384114386653520079442157956371049545240585762050094776274323247026313044673680850549576325911285155238011447222692996344800702319919051175066285748034074474405138933160901478757365418030122702601448090011029809134141711293853910194692261740333440702487183509857689946134962486464728220518440073537559605941366117373032489486848118441060547347252184366406585701070426410808354101037318321083298889282012259362362844594363528252644583048478119993212238676387552966246582487058780680659368135679502200447510497295756996760548624481920890028324777458392190330502669073916608437003998868602154843706061993425261230238556592946486804186848794133392934579141985552136759415233964041499927614437561581526379082252943438775647870655457609149145157437492704470696342556522526457385302371922600483051642689335077632659059357509838204070277643240285223260574484006369929306298801368489792611956287124042796029339679035036783800481655668070555712246827748500238086650750030249021121174453434732847000142194046125307398514388573705167016258736075510710199579127138894417545143395726945386135865418437646403427972426190972390604266301040712612289814847633361546095919252907138212787476741336225302862455307131876736997017998512969737743907764274847578686331673611714673211286823093156414105718875522070906489122756929164281804942823160983799976128839691463396534429619058398034713994428928785081139959631358494818029584468022659420513013018942847373120490234371726675547507463483483017045548702087563214484762846230877135794649852513578426033832446977081575585609305311888023594124822101677035851080616373725193873431682188100471039465365574618384082819297902026573907522936101871961347645305846052986786448638676189421526326605895072549201890789447704572222806566974901918904222981479543154467105510498998789839479431000223755024384417526332836063092779802809686914573194849928174985127036097790653282086579961653718499841692930748606645213459770324837543351239342976110376436375828583708553891212339652062210463463434220878131730714179539184452830338747234538554557963642321459988987431657332116354783384879036514979242991095809295359038286839471689709995631099843450610752058550135995619571773037513863683173474191571450962859600116103318745713683855313083775338823338529334565112104687194468877021462949989131572525863365031113040371340701648711161923519811770790935553489353314433269528223383381159361877110128073402022197519906438144651243358411168056430500368094847133635659546189384644752398282464167431409433946150954402202617600917110893389354462114655512694779233470254846328838146691148862416846268784817111694837534565889776832185591215447182375463321811381292227052329559909593791860221453435723174799475456003649846033084000689501303570625134216469687444961686153613479426142049831995673390650386352214979394957164072313278398345622479290106886359891950947787293080003318659364995450126176367908353066972214655945269097266675967453617923869881936407637277355577340498061120445691267505170138572196468195311558918285378016200386223830731094476317816086555724485576820774328955595490475026338427160556589345290410285955138162502038859599994022006924749035592255539370524693645472265723648887256362389496042054156423841430139883865271497465275015720757507656268007637371815895961213327318457117194583430772721907334354477026842464184185199469727029143841933936303426820271816683213941786091282856381483020328510474443493273185168381319227438862426685888676019522659586498240097151243968637014421509499507972102692713457143744053214768806300983836437772119365431084121174973228241505719574048645518948491588388587017045497865012756474987091930001402126311746654473938130474072100908319517882539873765238168273695687872600580069096907423028731589780369673848046144947672764356242817876966462168493323356462769408754404728920171115212883684976423951056499078732052282840101911335901173667477672074880582678742559037271581682836508491785135267691659067859358940993369028548837293989051795365208595085042420401108819616290905834245800749186392146862915909987869165058165935541639885992948948609469397573823183883099018249057329410033212878623590807975164501873382443455811525941191718831660797286556872889059615240125326047027385786593267012661015798997564179648739726883863439850787652664774091042413428553012439074263268413930633583844721898319578494199869159782682829177885366829485178787286619005288056491278031905375603549321424118892453798528427373939352781284407594471515489447314019660581365035236084451343160289162508938550470617479050574556082746777859116590501670944567340607112986535047971783947246982869139669548818641610456195191624979561125289351332486512855310975208122568153736019635608475191093537882911175862944821832355233502117675359866489868140137604079538040843730810378761188844874627462138105670280617575312766974248970233606933753204086448286441797685466719296163303704788899538438554262649987970789542588236009459052427419613097284707460805713235952299325355119183683615729333000171339373870539649451986284557483743800385506247227119763529887951508055221942743053452161590965258310067105672108704000518162177912024737665566385551654180684872528990139050326567553229201382180459493102080286125546290016628790089540245743499273521800583176805674733014113343954558127004712353188708161480872618555330136009114717708743368059445816492131034877324432897442993750755050130892536691389730055777322981193743183873529175262216935452405799790204355992952467857601546049903679792157978967947364274882886640647961894211563005281152790272977692870596103962904559378112877556319182290113281626867454420968325121216994968264150784264767079687086916369846450893948760900483754134035615342852349198746330508405562600273234292445996221297197518335836888213210620503996948727419394355020009587417279652727733690478079621172963598343812506928277298713451279210135112124433213184009508834516626638965958209518444971452825244415939158549087329447188740263885388585558852131239917336071455050418360977370470590779095139804348343147638828206043237579194690729737602897298980068341238786287312472001312424103167490011779520834667089458624918799724240244746004258993146863961971167612359442105194266591752641462287561491774743277520188261556772299207753976612568355889991428452798427533224867827207151442476455377587132319418105251420629568167856215217505009339552978504080965378567101681295862638350241204875108145889279511191861785506534834547050790285374968009952111469369754837832847891122386736629661027621604562296850224647391508240512429889001591946742496040404315247163115624111471307120377620906435003010014578780134076567136869193992987720244552099599251712495218124664139540467501434775921444344453893437825969223395621350293564005600151286643459854934906692373455317975042156042415415098774163544218401140722601258293506144295237904525709768165900224208223456046014907604640697237954627579532330560891834910138377304621678653338699490268276585384159558199877703304604309653282629208290054150314796041743605899912120905965542888187147920468539835412702894878712096848140259752506481043069257549694689502842826506543632199265368555983150471158914224563917077163406303164098365622935666025758094092780989513771614036441187313524819634537358890187832819840751109195169619502235532552242642043968611608270998170626380713364338030654671863796046356507127164711937720404647316836567897776744420691973936183476802927418053467698954313928031801092167237100860460534529301908027218355857136338812987910624532968530285348373656313006123310407930313517860234067584624122393224939074506670857252312921305556192271156306250735679951047565935686535535891964364580653928213195400322992836419294236498967681455651737232638472717136810138538163138805504256974086127033105098737772505613509196091070006873847906447987773926279402638849726649255705884654524781309085552347484983792397171402732810896858971368868424121682143696680099357855813271686757547316723189614894142522916278296717099741405533042354968542766664973656342091706709372891311640526822423439189988132957383770323499354052459926046931935348320109944610469420282832961960213217402070323130829766032534528965553087145563907554251033630784693140641590471229547954608453788356675019162250045491539686943680310789369990668452930413178306623813248719804112045567961842888017799699126441286642458209995512250344887450757616257302700909098979816268846641856374626567610241815294108713923227479765833959987276572677842965481410879117197941933853922447838313465524039121637484699229777940188161521472020369869025433126529975117757158056336393540613128173503044815272580104120523107100111815720482336895253130692818997915473456945027210717774453278947418544332150520871287054822104977248339497047777754155361934758384345654979086505095185000341801325720589945618160798023114415927938514084890545797091465428545571680072637814391600726212593015423491839546642358299674255576482536314564698815414318166287270466890578960301958494991203187961559868172697825975859246524803132659680260639092626445232048821326063038188232000149924942362646259789315555220432174699896072978182222912628906036890891708124925043905918028942104456713276266207680535638860761270513259447268183723576862169119186642018760863880587257035952413230289715366303494903714238254419801866344369636118621617838635114806806712712389240004678935492479388917843537147600032582801688745311565309719896669824302564205390870250992460426844818397953854581618677849079398533913154803757476598133262121805242918247810650484224043007995127590395570234782591051899396907588958534755174210569638101571680723566198692096465675033623496876274154492974005302541331299393785859654569690582667154086668163256254428759326395698536566494728935119285641846828257138715627277171948301785130182570665628950094171288284186421837653489074362107639241827780333377575193237866176684614555105137767393667227229021440306988860671136544555652624380975803518673070653535205361603905127834300703128597621393874435139093140651696279134924362452317876430114493237622612821825290994621214167891128235153689419369282512666371195915895854186194148587434349349199067836275259329964488170905378721356644976834412075321072596396199613548913561179914981491988452473782010917031590685551834824805769288255126725818153047865811744149609835051936035834193027343491688471848667418447465548284645547206667867002145034605235511410408655022633496312703123104063688034133851395725104232515987786885565874627394795526620339026692753614789255080890083698662498061997952497933087840225933923047460626992962818876861897749055426200443494175283658434004992998107990959283284054272515851210447865478907366281861788625036690352220747804182951087822881626862903567668648684361792984832367772346393361023139335876470762315379276519127363126327942255492364763596961292299859413882900579795809503281947784567732388153649524947787480125742422992065918425014490352499563134819030371948077070287136126706986594774259390958503742616203090442074133693860727168039590205586033664501550419959690016962853077708617844247262902015691231458496386374326103273846762911994403680206632537010750056665565150443493035363551148816560240154736542614852073219122715704220491637333612173452196516473837545158452413881168344985759227244784786598449050245559733950383169271035119605842991197032280095748869648869045013433393410469529302004717384192521913412483812012987269676403340553986381907703222599756685407276522769531434931489502687755979248183778314793014670068586485242965191567409656757959118320201319819999862287656026692024917787426307885174242094328880117631871301608405108294138394076302265718406999207945646204002514217426847414282711136612371689646420443041066754155570023743945905785570167422851853466299853580118683209180991317042150690203953115376232762126636618600923600655671038794516181233387365791775758640099995391192992046705435024400018791486281269226202241784425406126124461290817221883317955368296204577676838754597326821038302235573774095259787099963167619039852012266836195316395665032431771613462686901181717928072028583968769494628936922685899002242302065007749134672959578813448429964931378194098726663735136710286417593139351142021597355146696472354066475519324229493700591124323795625108743059937318843430331662773317630135644066229843658193774806330625177767836485089711662045719182400877822619057676982046911979141323987737487052078484722665988906216690674677853636948632145016557521858924915821066233987209000465270401974155290224839817271758263697326082767151527730888070903317291404155350305387177735451857013187780026400098055236782534328820317210267343955877030876224553514883286464390543667477604978696956375583874413576173482761107896867269645613137237317106411298421033566074653739580348659673911302100498553733161816436794644082645072994973348355194393986169560864551000793129529888506511647854149860199335333792906049931851522210001896967356770220352652952472593109503669970527526982412595710945527485209204891700564622649396823631687963981425486579970748419194502971796586789060315372476558258619007855889049712274729206564850784568910277289807708426877149815602686062469922522270256002029932876288184552725013156267232769735667434161020267409024180133822512936753604735406166398376426393989414973190316337580918089320701826606592344544387392902964007078064700236878200782858745028863367925687228470111668348335905303370465316664702401878076057051551554697994371126117791613552666460366039770142869232949245422906959866515934650901478913793216761572249083469247721231938217203248214941791640605179903255348019652666093717481037240321157532948322825672730101387464395298281717776881515279340841661040623358777670130760619026541629254958083410012928406071470857622169753130701914152513323458086287318841347167263368769094071261776755458441168991436792836261058832576857235049296435178621749375348982988886202789697260519584256886391905522685935145869089447061729799070454852447747203530503568736663733257862852026811392556483785768600642120741133043101374758327765757421748405029138919960413327349049835239053892458609623296334714419220610010616054634938434639009633096975041938664669882626026703536720385356694044855602538017664972563603715921713529921447511576244475538462466231192697064433057800802165957304850837156410218596162058026206256859794306459666654970547502963436902317433114293538444403316392784892702329908516741086664743056295925568659081878018248424173505641494878543285161175932693683322864933993097376673493756356599580030471072611088842341661837415344028726589331333913202072065052561319002204273741550927728257899600130688140555051656571328011732119581875762728067097204250091928703735659828217773943984453617030957274311929271576805381020857977355500950202171864448000180543814209983932461036742616065561183914903181149842787756829284043415797752679221539514280365970998419472385750573560727713661496883381377083389041712528021882566980117244710851311835324870998639652544331981442465478223536990453042870881043360969308515886166983678263108353438787589803061735654509718982834574729382597266398040392062811507758895454045357552063308465635181628184805285844625963667448310944929726808858263988146328776374501783001155869826674705154163496721558299883078747658393243156833215573076055382208679368921150239491700594835335089220288488186571047917954960056427404787895121368634451968179391206354577182782460121934752686353782598565188228786778029525107443625765422745087545618729076152979514987684115087736773278027202508878101304407139732472473490375434300617203824430052787229424977548393371163187123955018249793507218958369187737224621106516394373715154587221919761229011100898509124102746655154269412431591380527331536872608497219970406365963741314353143358136778991403514339666553240861404802527816199756055680050539343229497964750267533589176949972176180191855619893356131099581002359176548475438433747568566178588096810151979066383331416025489060457354543162951394439483249090300669987369483571231351716491092994502542915384739383473252170484247402612711105418204766504439834958591810220706152704902779847853586996455603167822638602698394169966895684941172268197969573376930266317991027032279492411567949562095098169469015756342107062432614284995269076680802417026313684317625499538288620575519054308840485971628514517473791196823472830353194740897253878496109387825625064641412631855569409205866208001616680157531141659708966651687094054905953414973427987511658832781563200625617231438610383861064514108267442088002463709286362847321929322272613291584235200413351516280238063222038070765541018889031106714934725867519740780439133546353269067230784090804760260472713457913331442126815092452515018282714510852065857571928296525015116793832885256073882503759489804571645744013598127931497765011849767897177030142124375730368973061202995106298028983952662573057264750008932328789590045448823332260097258760880693389199979616632069341198359155472047187154219553446613900869887257581898329221616205527346495612545997622652548141617908487352212762540622131569421627281248987379821160333630869377831890067564120168346632318084154003005950089197635009317031706346923244246829362431367395790579839794559388191405760746079657832145459231155945907165119555569962867427701214923294852941924656062386076332785443011646221123034251062863325262589139705030615615175329158960889667775575279205278218414944300791171888292516225875340259388243859071414935134543123894395235990290359489573243645414784425558752873591708358234223832035155920222399608346072333214536876543771404969960012609515913156698277721442415055191826613332731962739695075354883858083977864462387921327041015471696364216510216974071677893747410770979909754451488605827132480560150415160658594185773982247150229025154407294017582710639656140701206384755334845396085639626283754080267033620080425432074780402982311328674251099852548644128542720273436896343423052540909202530508137366676446365385880234909429864125206119982867981897981586953809266209908017610954402140480125861275715710625024971723151991133415445198376752588785601244035131769074287091018907995534807831730642868715615020223487100743951436733519567040706038122993202490837572631457033607942716718299099420385093892101187260733424584520506259654851533262910913673551507317990877080985699998583121170723905677151430407136026556908690254900902127027311485312741988945345814077628032552411188580623146677887820756496638321566810418599397073543272231504096411561742527418901455066337540492844940944168736840219144326535209113623363388713715139127420965131954371288689632192244959455669635271324878617327075520703270272490854318676917201937617190699679424878751477371197417643754703815591976819104057024075999606754394156778371127832389882467333380658014223910160564525831497698419555972258017819103363818217208066374503381730797439514430493910802884582507539346640497622028341078859079742822631317010584651922416615319818552359517451456945088520117020623647717248235857332430269706327626350095120027351220451392021393767526962146580015461575911373147631563895764444544733820682104976552325454030246257337636485590262727024545742100930617393331899266888113976241505740440189449452282273421957815274839319975112692520067720722088290086026624987612193333465931906241301583279585442432804592603237499854205895865203675733751433635630117579460809618060006446084196730723693714396026950690801981165233369473584657137384996083375049548758561353056910594911909808373691008486068738804355662178848761241570498482251104651769997876266830469174177019563858027485622924866976743818428018550849277642849995786974280203037338625037875663149234392533489030784394557825472772206128089402068038947257030459500823962747274332938787692210278606537579717179605540981551641513137732568310627572331292931109943897965926361448023057233538532449496249980869126856277755662124043395048991255961411922669086495754806212005156585611051282575539586902298659543713562751440569025971613154091545162171496105231663417043766007922987248529704838816322975471736270500556889664497261937611582152924754260285028219180239058604149552019980086271687090764341184204481845454211549879861139412825205454118764607393967778089412376790660847627059690395150769534760166312657257605727419378509526485139346058217841460878130940497012581303347314693191167932078158002609302369220331707046252535637768366962373133237090852670278427146755881131741349238626698124715356566414663650357171291907252130366320145774407033477019847913305522843999587297398392855358750348211124184800816859557269899926343392676940760580160943066941246923005199757595849147157771137614674135934583525708974811647345836294498401788045193151400832363440117054587730254732361585194160418892469785376810563299542564824010906474488777979693066950155812867733013626847217725163302860304754759723463323385417391379757791904907855284015580830901017383600334069280685991031962687557783604471939960990117564190112442995154023252812731191893242690416536392561952381031653501686481600350155856893129498828637242261253401550797676129353403503323190385053214102401892676296845797525294762300407941569706253389735922741201782010350643361555995852265444876861938590418739252132743400508570555792407170052965551358786608698334529984240300382866582732858849246238405330306984465725274634998082652015543527257324605031052931631912866101788766858661257481291121417675187880499323955725325526095991806233279519897283732384505624686263445413212677679848975595604363470838638237600724273320481272135662727299684038590245343951078809165565296623057079241927421936066237433948980243710492471309017358902073934958874139265777172194063810517959513303649711327639475706750517306334304972999489284435201771621479930974945060758443550057781853895128604344548590265977590770621267987900958250814117332076134633067222820872884359801189103861815095642697368602002656470020586642798984817854891530404151652739645591972085148112424158177034461029813401376780168663385226143403937984241590549006282378977264390087791825138002299361419615652905596891329927602188743105136194117273255254501808658748174676772643156445423707419221722280902740193357009728224239316660424816885471285841358312136597874112159259552264026925182973999047929474285892099438204636144685992579734910675513292868374876695119208357357445140549105372251258488995047195897644689424850207839962581066239941952719649336537308342423075275764800409702539388095414409598228693659025539016164933295475322553308581422809388796076961585703406250111008430404157358217267887667733559351682655634398410496590192613240652514231556864218483223614448989122013897733645832204577862774016412921402998713344607251486083962495551666406898247019064904596629394680273988326149323198385692591750956140353457209909590299628575680782658163217668385285249244998404197428817743491038983033914056525926234727922617448082180241074084415812012970217920148177134658523303571185719324075373671517688075900904008526925956706735382437323943180625828659293107459357862234316675469783914727096599337690208051225178644264446301376915329059156810552845356919631528424910933609724884471658481786488028626975813604636878795817811722950662790983789798755775729792069123026358445344758193603694888077344044919615518361996715744374346807944405437783393554928864104792734320136004899347546283616496249859239973210750838388371824002512636483899641240496299106800471936831492234910314602602246385059053123812892073718857541413056633664265649431197736432493615835325831718145824861655618590904655001136281377051130256756137717205546210017253957798385507041500864190991686508387695240913290587934744489227419033151375421992857242803926723234503560620006274591148046690456539200756242952003892909786349565902601109664287870000001943911146185342603302107693901891407861590615015026422799830342510321167674248643623262766837997986160140316638162228656563524665091557923340382350823097007874664361778957643647353111641825989806194159140974553765808123760727474590607197509296866081527277622566473838819340207093678377600157774549262989737385633864402436693383934757263927018617893350007398349373905241042183532202372674919321042720713217226539817943067054488656670851051666952893292579563027362559657241615416705147194538307385579173920673301701373062423698894404211373241734592896855281505434269870520584758983202953220382048719237993556066343420248934298666639137802329760574422111520583525052040453610294080897512314510297104782979426442354532861539301714246403923419981695108533152233973847311447560361984820989937169426119352874955783881703851977837093244109604750679280613817270399323762134491452414273409512301672151135244833144872920405449918240233979157255492611865762646231048527925637497109003283559040300404757514627982673399206968224155690891293112331224395703356802522312771208948529007900685130834189425531047146309606984852920976290209110056953151118736066671022052088838937169338950126857159325347644297809741863803559194146488450432662528966704287988955120811947718868537776996014454233940854140564399522198849020722433386226054895643952279773362163302684002238286874166438056108488703475690634085602885732059460020742173574005504312485726582723580073355370097458196308463909500723735737646362088420192568141062954709295238177979042891817844292644689848246052769640781313017191772443458807378502581661967171270220763542335574421420535851055850896077957058308439944256069267159239810973868281637309204043545807597011598176540849358448361333410543012082206648440292363134710714261454921003151521264014157023433274443477231394359578923217575789087403594961871197807505566084764147586645451311046025869074500832951679416392377378889928078292482137742791444595391023116705222903383895308265171846850815912225418748794126510474206505109681384646753577330000266164345852728372777663428187056663163546837124440309491427691208427093080782456398362105057315863043578230997336165782013756139816923738437451517352870168330187251183915679945484640076733026027521781254851287771345184897983913857523049086027531253776981776563776513034696219063042418369561657490919591796560349550518188414917081547647262106893494247200299186047248232472999560316883839695477787507321724290466373521285005548401163151277026161110871598466269106674547077107741867324809701410215910979952103750388468217618306641842611184227756442692570965650936691784006563960796430401529478723806121011366805307154333063137061485669343507083229659737906580555342784096660476481473358280596947908216649854310184330599511493908621805058360684680230029296479097632137410662130232080842510377631618610860215179091394642912115878229688623066779245998616611633990944763477916885818136546669530447551254865345339370297160711906264970699889359818595088620346007154588470341390162507977633640730196887494628348796404333916408376114155582022842836185091844378859010609732866677225943159030495529033733191016428029267861179741821730942194182427360357224169017565384378704240662665073854527578488280160064860690372607950631272920501937115989857731244790862169152847100478984385106937501897105221278731953406611365382044484217714031296520996684435212607607952822250210840439823168644188060140013808422716862937056633349004872360669353986092876186482114230608126712954629567097458115265225685904470439821641434411630710084567416876455931722991261132961923069026095087845245445749883838197210494829143988919977034127965884217734141435885453650112255769235239819193369678548074307387884291621651538338148225303322768688193975384238139619882876715106559488880042017206518248440314557113149300246305946897845744901794548671157254499343739949670804621189057098776462958035369065931713260092371321248326430821482526037899193121064769471338279455278399597783981517794418264659039736950039086366473473264635276384020487805202371159778233713473459221462789625792418838695822040527705083186314168993055608363039661539829883020743885357924036418559957993155060853928225684626540561274140010140282854789023021844003604142740709302308468050594336527204067721902080669945172843454409121615044571982289194888615037399124367046351983296313017362883881145339021437791996753420680418259627034512288970553414563984029803438895357082074500762461485144942711494597481885376821015830429878647385865552888929947695354035524167242109064025076415130768227228981893037859952688931378238543116178568650140011705416725005577947118510185289289773025453434364971932440995287720789949017755939147400768613037400695893393873332323999753103389178800798199997683897414501995684772391815671967389881474527291085149751555006759605779465945112191653715159852415708380579966260363212010478789764799133921949479853743116619529277528566427577035570994759267394153083230087407886836251305034097153305352677509537407578575733550088364903156030190733175832227596870628246980895472295264483559078674183523030366153746859857523126193790698596208779972417835036308739311788935599323033522891411049299709802037391459759319762700046149910708076342488737391288247081549555626179108016895057784214369127144159722999874231834354766775840942991551901078659854266287500289962203759527597242187929983845529471570700601244727754448480425799975488252661819391826983663793451178977103350914211819667768561695619085989700588857156565560065943101543269638828579779369424638606146707849113231104887736779879823120967886103095988109552617104048670077730050460999079932348453005016835684195808462659072994296494990258317326955481836785370827276961146590489922466985708026466721180829017620266547231119008342519453444810693457362180229867010090332259225476729361385148534300676729167894666685028262193648310615039912163962862468262906083573635620985567766535801523336759613192511715129732956970682842035193131214480926877855481694465102933095741680432812400335440640604014701999582730326851887881191533029034028513748344607809177067394880833172006185348042110057011281212446903549560762725300658445103923085004284618076918443300374906685732273331033319380484091419718593532711256204350416573302544679384843961490519694184327732528112763578947246377727417214251979668040907469860411264834330095277812445754823586635296343056725880659413806416788087500144989621068828221022908457617677197227594223222209494864272610892650343316797294620637256939314710473010993344685796656265966427215305788952778732428439745877245313732149573247854487464319759279299785832072871548928055641594994687905494045980493018160205902436634008974468835369916126779838098493966184060082599134920738198722849407529658782174617338782798854839073489758093779333868274683984359307052476654642040736728440403930067579388548203868064376799683335398715500098274945648197410062179206327159591264971511408498435725476827984323613514824056879295568149912606919560866231554871995305193269210930927538505614145356528935286942104368243331955312459421855953267845367323036931964165802908664052675291059315462445301919660108997113248765238061362331823254493652300816143749618119481572631864079917923009373541311454000198583831012134836868793225599789067673926895180305731831427359020065251716624871780676629875744031664850754623523495102501334872329463727461149541351475522646031942732826246271114657237928907976068331700272385103492218832692138778543932340831024121964970932604214266209014149151770462100826215279832622090843287073587742295305917624870247832499904419411052346868806006393876456179996047409573211765359737750423083851205275034368433235235525153306876481949800187634037610955233013512224343679127383490217234721091712072820921843995382147070132017447310165680200323277705068344160283669841643725835983749038349572304381777197502344927045000577184453261024644139726803591871614274755921612750399949819337629283296297070077079920058042042728206485408100884818011646927537099228636497204906654361039127431335702892251873502468827233916943269516655390124891122063733590049695458628281032438098011090183078034247412000487388473108051334451174754671851153181491919075737297522782999310914398001310927370152423271249248570099776433817397900481266893162938887292612058161463636618937901412122153892989016120678213828086368199081107968740871254995832237754628637945352550540519338639664048245741375275819386810619668784225479112198043215626596863729319174352747843450054335305357352993273867557548996435174480108813675279939007621130846705223214420437869060426468136567986491565342859143948125979932549029788859797045128014334325708590131461131494493833119095226860081777525780563931660826204245846096716196258871110942688863332979733871120064250586939549602038728734616189794666085825302440783578053131407513363600319104437773493731741376423445241277946635241464735991209311778202403331045330411401864266694414816063223273235470325124973516059685543528023626813243525726079595749224375887224875983484736699282365357423518976883141952259551934517321585938321970361002057964203346839055883535857639300351722668109035493037368749354805073789737765618538130275652084966690165014050739712932649927216541107006532379814609444053297577296301125688198239454935598799349000119340022613840933187540040846247370820182509546807444497606667867643568723170969797038727844607040682727643046461884477336392143125897803340019860795164846869683348058283434940877112502093399908881489804525195284717629847520909333479071996323521598942413290671430605047042825841891628484862240181065857715622830836519608103599016589888790261728276623346320770357214529133598208809092513314721532734294229618675144757070973244905277833502811503621284827350556955497108067521615889576751404770078544283978534144789193066099251051033039579415797855799405707630340324760587241604913058475432871037446081276127850784203892415027069263976486406767626296295915591785900534478820279044569017096232437163139903462439782055660135129950868087471416188262437252699715595548187621828399449459181797966758590067340066379229604840088190364683264430221499812676843999753388856282496333032923354278333071782258171903488381847182201421529158410900075896969382473941946388316181279481428804939890631925506333696611992595607395485243586272545511728490696504567243857984886326123674591149558077123314825021270797282730063437903086703349659671315299786479755296469953600655751163981593128588696799794165288110548419104768386241409752228613863361247306762232066518291404048124051054032673882871594879173689679400944850854068514144086625402297997249288843880097746605366408100558026077047220869428091802984347662714248643442244479905040547199792278038958002190012091980681755629671735172443809219135687569263630949733709026122209020730114392048371365718678118822770627843784461421342737676436591386615345841748961519971796698426732666446366956800996160736977244201718180060893993416566317434659627935198856676072213003898846535355711437959365931731368446574581004540619608028601755577250648291967511490913060122690089548204708519822651310778822774608700318512802682379643384490436767886237435761305928550883800595434490262462929577724957161044856200958430251399451447616762911946124443688044671705976786707709660723778335540449099492560429735979541894830771582575764575025172302675213974448688732220339804667816542925810350288643389921719287301581866191743303549042377983134594323935270131554846467230073768344763680588155876170850302974777438832235651867319443880297381708009302195659577168222812221752020515986175999036315122246765535253210810048635523499351234481933171265615905587367194981978451204266263057856480733202153846400096366211525755958176911206514460908681587617864077435098164162690412026317350312314452591645489937384329093745646384447552199213218045564922726279411666625218853769552819819265788591669876480237641563890398934463851382327047445750466169758113286286271619231519093025037354978657899866090115419229928633443256493253023301797662987436737376141298092452379100403008171320772534306251654134940531887291510732740474050517580500202071805609574045103603103904578242459994991047424431353051771990448604656409345640462851889476906342620928587055343952692962032266251051095419387268950583676246830560885478327195420323520573509399771687092204923532134732793429078999800156123684434227814173459023843580847684540314034136230228028701320662750931991367757969339108758049046520552495392179423457950527052646016868669489700137189268550807623728610596648304668082451422649369244699053913463315196876494893583052201850864820635562960033348700871637622406839036335316935320650515518633848207707353399407105174788301882546153410060350269786898136850567959503847148303013636751801356299246818976898337702413034729305373303599018696973909617176160225431266264473477073659605217690844860508761143195810053210479106214323526051783838898230749659985609349739507809822254964741375730961406930159886398407892575649228737504444914217263027043421921957875255417390239337966701853860111824784548726783334559262256527607617015164587102829627601869135446846245392948490066977930339498380144419391257926201591496636104520194126205555138615426315904819594224747469569623422099419638380504881221420741410111743856296194083484170432051674502968220196082754412698920608724299395522319703087504832626552736608080468615176528662765313591454474668537803368662554285392413108534217803448581187695267430443650134470894144264139034301703452444260375424342235887684473153874473582275455944372535035425241271327921034942291793889079789515676288850839877998513965715309173487698213832249115031382359863933647335310016048547473741801427578933810477366115433680743328973938132003648643335481496916848336529888877501472186818724802496487215515044717507789679157989342147242529518179203787001892608936358268951159650058580117940251459863515525423925557866724679094700271802328674292443399863940241782751617635473940547834631070008004126422735718664776842760387487343587250322548966165305461206998275213747136680874311819926809440575146717046022749464987213572910739523275229522939545428966727545861526241602672945952476999128540043597182540504220960572306491024085678718745790874725625765704913127911113173414890655931158865272793434039609426868110012476707834586367356072502642546702835674927835251189093406682359011518941146357969985500943722174354429386406456509839027069337459019043083530111782816059797656892821210948446078071745940671666613448283161444395252710558562140518759026228146535597534525123540109266759440791015194929835962107199685962100652554931630203859257331365239367945027427413498300732484801842961856538293829273726286241501563327834510450947213764771290849980309468046302982164265728634813608334492410971057881918567382997520921258298075668036066436643386698768772199370390571339742038898851540447482569146736435702080884722835316191431222858025156321806657331838979335391665386753830833063699213281977550829377212932858718966961402007112814450297678436685725908316162790608046641223503028696358164168925783498062554474818137760737709208512162186225370666735011344147635250429715462829100243524294690633280989427840758589271494250400695701331692298607319502955229389331835819935325364744030562769885302203138447903317338725729079998155529954156964388958069293935983336439628351307686918206848309193879349140361567111968359900462117149627606774116016532834630705502948930173475578044786748764242346768721904006634293876153418012238221270956598311194723419917793167739944806482040697201949533640853153470041884092941044006277249716051055105003061540285788039265933791340010675321822157043119932237611910671445176367944689086191473553989039889238499407794463048670490464738403827120648399668439421563769459252037629098853743986550180943407141150170082157932383742026418143006790247865950492373336661484924103331113707837070571355038604496261572560494348246152254313702822870591421792732951592652790242316777984443177356663052725173774676585147100836028570781784906635272093091178065055488822330555832753892201999992644852012275501876012969754538627361716043433550051356126176937107401874362784105619083777032779242001496412699212048844583996592580095932619892826676240682086060329503773623984188447409797472807300018206407794605868610961987015985006672689164231735915267949836435782671202996699619492264303091268135166114185072375394197327753748607216234142716661284337461366603212708585415629661635281169652323884018479231162177743837582331664350830221910282085984032552116296885703869724704463124560118949572634703457652721144276960797529045787206100094842081290549370715845515324618415735096872906278266785107105430986994980508331449669543558590857506348696229376739659810967065533029512041470841809452203869286559212322755076540133741491942088668480106115996790034656401336035397295487059735473453897631144846551221313455731410641191071906082228773975278201978047382709052796846526716250107252245772818798342729611209290086333975806695448336010820757043892395227083416318709567554019256696694821496218285859849902700413754306240381030756821711891956658875781917851049738820025723787279449599212575619212597924854656631385446633225679485939270214219048882211360886795200455408313073502139481500655341948162128571448521585125873029641418985164616830910529318440322264621562711495807562152508171024069378280420288624046329519930215343229401889071069748749523471014068472409290486317813062699076958380624144663546250997257797171507184521991689187906532663462734176348100385044171301150351137098123197960038594810191832217499828845789383399019986260274794849050859316990288315057432125415298319232880300342071796499351070287822700728701729853831593592837877393895648233351471833669370702174056369565491352503267789959764662209610178176133079632323133028544960023707479574359435061161666943619940732435546281927680031045638935148075186285875157993457673495575842560521967625426792958615351758662832461765155968672026159012319675909237430184801678134079641617467363498243062139535642603392725677010957996023224124646801086537606505473345137508228279938742483858038280383184972491179160198299235951877762281065096825357262493532202461040389165738404404247916014044860056279886267623270558732870436563333993158113521610644368416730417705822038834846991405717575638716318622139130417207385147958391360267911716760657886925177744328845779577065490633085710429884356690546500914712092257980791990717772288705316735755343729222576784568736389825248610260624278271873946762323288064663676196870072314442086116159603430944839396358645192114489242876913542895541861802056493138429245089527607773100687416505871397939739908684526468842791930311565605723427916538609767676000836065504620467337119828366417994746181002107432684545483189407688359002120050677765531054515180022660368152100084095960595532423153997060601765651087242699484158182377693001479388545059279591986008840428489501196128996287049823752403899951573114651904580372900841612855189677512037533749806769755511966421433927645925315376292037446609787201825432907033254688516925532316134238709310809129393810943044687444311766127518892082152580544317981062187311543245999770561762152435084155227879010041236436358766933125708020510535050885952689991591292668346807761393709226702795158256037389011244255255677738136380941371895064556665533454182444177545305859193928606548233796505816585928956029363249749775695204327333078514187349697347063141749469475023168643687376754080199252851043804290939269266068542119063480268709723152580319906567149966136946389838321332881565979951453435050667652643401086012455263452873791665366234530388544167649214982484367018796399478027370930076893365901021489070000615736514907976568299659598898051919195744066680280616371867943127373374304858079281435856145615332587313972389046712112956648017696709148590396443617942575272707873633137083179774502746595114911730480394367154380792636404454339102656753279530057060526505120766131186906441958583626580596030741287495109686037096201829432027275278914611909552834631878231074389981837731830852826126246854885969032818053983331746858637188458198163570719581871988523153612294119939428809481720324419634173612676266853726015477007589234514532502082882983749451076357347720000779083996739720347850711688302367674427116178763860911916591403842781482337956293958040055217607644104906329131174182629755070944188614564607016412895883336464420563622536028107687656622996888405150213517296163049303503607873325455863548876587961985288890124240457269718581081139291043775293920717601564682016451365678728133849862416037126967603875560479538961905776651847050828529813633901202448040473013180804140880603916151643482700062115993222474343857617623680735555410752504160427604460197797848694947756005744460812388449539249973061074531181181687072355573981195422054370921174110377069712942517207282131509402158318740093115728639280626182067031336076255066295408058125678779220856604773918994769297135794424120940974213737164933201359402267872974573546533374184185385320489326161940149828017268880815372915140280143909341781919670914333282186966556718459707920816103231157202675849694501812421554601555049886664228984508903711971694404567101744952537591169768250592903378263577999102732782487495844976305466112743385254495006143860127945029693764972475986865548840271248859130147708766329949622784869330988626179622017499198771107301836166627578720929446108347960028171983617753095716946452423437056776299872353364849389309420735699438381898667903455825228674804341490981708272581692330861832453826357941715179539760495245231141185944732911137384312510501629194104244021768322279393517944499793563900180598312262262986020933934662095707743538548419334082575016385911149560634011837573248599999126172211871247245245122486455722391103438191127500221178087450828910428061153636359707191230165157836402261741663572871526074808455153303535853220238478333427276749854099684179973324574320288935243887942628294180539043776236775017867016692508702440042761106570734818486160371384091583932630040476234130848540388054632418075379457107247316088291924520883011161028416752033549951075012730765090654039879929069872085493614709614529649898944519345295405679703169378974222981322266001680570760711484981377766888049264371638772461991147885026504016357601586048074507854901702467196189024428890499606626107102014247119872784366192616309667609482184844468356017911521946672382254945977665267790168813157957636597632026250678381413971301579876623012084881302627025693908872367332733579998137975844286071808354555983631085488242514532350685271543659055855390452970990148110151126479287311012199531373763293484614121464263966745781223269708937085134657961011101367886623112073134909761484106553051708498476972119885247211018556793137865912400460826189272089710552188397322528103640543256595474665104618224505497183157730436405859884552564417124979906667533124402073912280873316724378377712726984207127959955503722735101772461292514437821096622464814194172848429785722725095007783754578771630502666910343128637564732949198847203859451065756899120854120424615603041938082700795496705639390304343694742865968418999381433886114293437851593925838471100420155386857001819881942445289905263043533983121264961084250880623179707546632125673347073003344898018422389942347780278225088416569381920269439869102013213775855226209882624385230151091014258667679819724339810574810193278366448651291718180604288637874023163501073647111760924972836855252687220911745441907025538741036674220563680263489716338007617839931480453764288775307582963980479790490656897717251958923014088360257535078577964959735300411338290985779589518966664926654943023992305304956082234097294843881104869115297702583398013370415032716110366183845766808783151622751390905469502756956587094854955238024984033207837828251894524482844058646377572909542226126039442447879270654470138319181688613210373957467533667451514880790259355398073596298199571460204630445408497291958394188958879157779199941895689521985558819493405933223769839704497284124040713657138529723072322207455910514801052487818536069599878884061259735013314661946041691146420298386928572012260661112110075801044749988505523489231160417251791380681793445602726112926951514729059519034687550976606629501647464868249858146913431278182404763012018735187152401422650712556667902530663970222525728157160073565618519407666629152295422916644344426331911928224870401439613410345471989453765049001637163528212006740709618317015708916069267786849420201520807670122456129647870679615151479039429701612606901444256034000498682867495004603887657481149896215396390580665245419235429738640451691671647862407036736843233521495258898000686314538973575661158948870657099898332004953075620523106034160092949742782743991747094302051569846559125312517900627502459236612485436143615836467555981174121713825328031134584343430564621339968044299342966811400179860518730665450948762903063537755829821809378277893749037798473537296791170994562407278595407027300906387685246064175851008651788036215244475874265027114858886596885980032862270567994645668106531314480161400994275295126577065670023351214110692520181019393193504705934313865152635753784924557269981357279588445007159246645783197636521183658104683010412858392268575743717624549154844371442141722797174096688096825223868005163306492069274112398406550240872170975790172866371642490130662444069155418067214705532289397054884020196183827350240785340605741368989842737229734263459705245301015790697886580617169607047987692309985772951628382792359353757041077707018502412241169200299431486574298633775714432210117840041511561144224912153719076852689828666916735412753028391686922961387440275668437169301607115090177871092056078768234766578375644468156473983495889748990929029023035844503980409318101914266489594148195114003724100128567537791638060652674934598781543266265234861391450863980772400397222006814225459007232899987841162484521805439466784577091151838414157401141756841908735688334377771267921263647337985365618050255486025488834810321844971979688010058435474104511317073824142086835527403259798271763140270952410779100702639549673586857245725990581242076445212278331879298502044088426740066977348832429721033968899372056247898985867707982435339632795666093569412067573048645298858704017986025690466119052436395935200100244520318111821567180777147088739579186044651300167435782064055880038933462341151143402337709078440386302145341393148081115335384818282959172850775295659073705763084574456405597683659342857457425284364222895163620411427645597845183646828139152142428436330418239771889730770486605230984382768246368514380634451772145161869485418458404699134495252625994425673918206931872446694316563330743477201083857939104722596326098492148372968842933983259974216712100313002369272329745343382677828880986290945432318046848188142026931490149466135948092125961730581454519365937136890349247571578694415841216783531002184075915857829790548980509402856539947405840715690069427055507787196321679866450815364473677774648432394860966147981357826313154141528337668398875994650075038507947382662931775925680532961885796658154111068398324032342154188664515237068229476254757233878391329295917671091739516448014225992454238693656266212024532599511746660525445102845518389415175218210671054960293042020696967287532985176213861958080151636426376450884631770081831662242451429026924441804266775057126163777008731619007119459209762209740175423043791357735653752600184811657510525958895335332240605400999230785230993152116316987959475958952536673925890658182715246046776205996644929513739750471415726315888600112088068468892353678678200956208196544872987415799693832111521869638710631942963205807040453317637137739964066407439721997740115281947802744969524351221780851790549974047391478714982517779388997977529417015660418630742941731237101247241526972851326204057287272744643745442178282928521401940214323667681372913834952147610766321990027169207468581966478689718314796881508617752843523531692653842828794318018022529777253255274009156228754998586788688934286482771793308330630115434357822897349886869225650141572064638240813122098676006589163417456729178836346476127051355041852095365884545078718677207628144530305464218925748547755499769000747605934766857339102019627072066181754821419562004339524844245908403918890282286753786541941670345231868394601573567210101860354318454637433086965030235395034038619435710495596817800772128802902293254306799643767135081773354436239873557347967842415667474716154987768983224530718693768036458421293887793176523447269029195896479433686242586876085370741211533642747536822700543019500447670160307291225961405792092984402319639920913157569687359749807066746370216124055577154837989341881669537473464620316214121051786698946963102094506949604475076368102382552180772969808112336972891455734705529563056602842999675506586137338364805408240799516899248399770745851981901450234943681206925816794439011026442568002338287945097566196546706868643336817484813674974286438781255355531262931069003318586956140688032047686082868965747193463279933645692956701352010276420163978944510415258219454378755702882383079421421531490391864755527131510931903687469673677742548704024142797850968490426534797468651207902991842390038548811740245407377059377666158872741915726237982873861759234731555124178826757602837033274795815813799788499025201474941268985710263085529036881756130697153680993875964881685892002731310432807903954244114383439757756549844092531988692946571184105371471989793762310106613091616567873243278442183622518682814062008821418005257299284523444941127985645441741477626392260108846578206996608359608866139779576044720586096194710523911235998633361692615179854210323989375506102098311380787811806763639715240386361516516308666628094647215463316704826042434464650172846532849290531288145205930116067033972402511027252464997680653902821506523571657495888799231728396354413393362945952349554247865026602277570255283145433117530314021820356336036357253273105582985456707668681831373716816041282520060090222747771660467036691741444018322504616694823799954381975448023964876845850489273895449827676778092639956113330321334890863426791054213822687417433816414181016763823851936439912932540241137863854262719703881644686055244200618197915338739561767813191477828175322050054355885370319189098661795053246239632269375084915703350591170007918378040558852618080626327432376106409153926928383596327841340912563608913411918256542969285326815804180828531947930845571722742415572953065682345605581938265424706725194253769838209948812516534755185159418609068444164955841800367691817580133263851971979589515252558953963620137690114050313665718781461566003583447392791630827561453228010837134315154184700653142491638685965984531941230384970033208918867360337989081378691976592238214056508377461637408064587785776102929122732182939732532943619903975660196962508295621442619597663988579169013405530063950270058901610858609914734140306508079404079867642319076874695883070070238289661050603410357568489340112820491808030683627946588654654154624532238102177798418286497736902253353268384727452554847972494402583762963329792116038526808333982634368526792991487940311226010450372815548282528896446427408595576591528871579634949777299635860109416461769107594422683176375470880956093754214899067212367095576428115741931140598431270328156642949303907096738191750721623879552381936723584467707664900576838980317243327994115129375381996031302016685281118253109678675274931000558712474483557009277188064981038945803521008559240619905387417785791861525857205144392606352974025202282629452576054727007216455698695230114860489154551169384604586934212322431819952271995053774774783797522546288166064132660027125357358852958295132375346381781423393841491318698710898005322309760631136909483589201079122967057578817632342651914871021793657432840468830140986098497392152262970296782335123154983519269437352686300337186714148067702744614628928448690025082145524954994560346446371386265050510939861888228591537217699364078942222019809617941448531106230239909271995959093702777547697711059373484633279294611008142534571068906304549832817523216965559349930288017128495900584392794339144927505310088525496924096047517788063445965318155247249681384769955578616236663879472518295827857821847041105142205208241480212796686243622109341055702484460299553103615123138440052870743504799875846051276482134000426414781077335827124989437675819782046360256605455311700073590096114805666375720880739336928658456738465698474509881523090107149651398182338960052063042916322247413712943014882803471636949023291793427737751715225209760956226030095921780198067243435380691188294410212854103188624207518103110491686622910885468991693364190076954253771650956823226760111142365449631374061104402975613052877976509301751557246785505340997612478029052037855133602424742844652729049282788760831671566831628337905676678484394830810492262608295688402336857288165589014641571440355991791775087526577650843344165930569376456456304864154348322684816903092758458063474268476406968964411090954659498709303906809532471673720317760006288309283953302624054479691547644074603306103253892386942816520416446413795464510833425205442639619223493990493392540321191801011171586261784873485065505323985322893289454017694592008887334429740161298157559564968081522844707457814169947024425079687064500041066363956665913173095348525197217912051047441476181891359525451527874264901373590859398664894712411457494573751745466948890184371380385179083772173307498279228398803176600788739587006049417610509605592220142077871797994246664780390293293525504380563806003639941118955404790585184858350158464516126793335102685146091415507544481747423806580653561804192140764202483668104955359673340036284866604391135154357061391016538442766666557778454977712994831411018414475285918254823014045759996090765742125569168991914194917347596042270708614634032683445614348789780251694023861003751078226885112372809214537458935288351796944815255314767654404527273501856536687610120251874830429342633818831466620928979742042508546748260091002918703656101966378337666476089176672686630025634838492031523716713732263625171216398794140034111680067264629172696003298590317595347819797983648692404569781241963988572937750762114205173412348672527977835780482466112213352104215804726107283951484117901970836490653145943902305423453114261977694846590377314984336996862437482422606171687551109677814599878780072176542580421711121986302529927777369509414225108587882968793466912397627896473205947345433434594433617990671468121472108005915955773465129410132653523571727367927514031538009728783936373904156365818190742296851030788276042917607401986274558589503347143657125160997837088991948756675417214866580129158393493103016949975228447790443541391621988125154282936128165223779893513450237585574900193909767949238959987066786074110239371225500479824631877624113847376567390360944426620250137227610892675504817714866759236893879049422539703590821427299291079944590022081055993586196452857998345988183202908844522305651617652146506023948140204021710491614516089420566452126480657657416507247436825570238112619480666238862743274913154846286426185704765159494672222347457744043886062174104213167397475653452570658956692111935483346152049752920638687846933276969008680447456562006738817752512180018742161664067294163778741708980804559466368341557546767242437044814536574403048554427725714513259877810958394181770650396490168611174164981033400285099417034984535793011591340405880063772112737810150835260983195167101967208754082221454810278945084652955072382059059564140443571679276842050923594986277918487694537025433694322076252552832550690148415505175547187455414419888556108791794681607236865502080743424967746747625606218705155266498595552443127527998665941910719051296048105611212339623668224813343075444013611391245855721275292985857038532063204269378015413213386926243827000356629975694659968410711280369592125523892697803530021292390339108487341880405594205504604125918914151006258760542946016822830633388114365775052874234228983291185061304967927279821737371573428751113860223487235420650130004496616998667178827556913738841461846818888304405627008964371950824371714896102968748492244160039407075125899781799516153310274931643750457562312495123938118280763787646914959388330005749941691270833662477815499431663721879548017304578982111564203226828509087148006075987322724959019389866300360039406369674003899231654744086612502405965432030057140592327906240404910797243341502138193257434201705965880045200236289825615932160432807730280652492792252740278236242269796408994340171628127307633997371557716918389188963913817280747603847032662929244826091957146768536638518527719628297431955193052977132731585100418425748234741201848800346759113392247327153050548680935293284419427087243186569428257971959449579849617197635135170204658116621564853930483581186088033932607940251031223816804205369533758327368676785504374248492782547112368013230139085969327432269489956989963861217661004702530968250332170314411172432078504105817143133570194613970511536699230742882451792430094620432482258148997672837352040096845735935631865378455178046659656174922489199268580930349687723964689512001791295553429254148230996687787194442022212201905402673933509450708353719762308936173010844248241923499504682918132740314630329056660077331870287141589077122543842244752338722395325942001002215666915382643359348446565882236223891224824762263800319057455895736934816283096248180092858241712852928992635323889800130608545503728986606681421972090966152439611680010191477621827077738286943196056419617383389222440556233755885638235197684905048978072545576700401188347586155706764656356253063096913421544767397488693685182314826776017763612227537870254808253898328172650761678724818748170634635976739716650001701211894464298306187455693059857642107245627185039472311892364039221454468587138048722416340177657520777070474652884549194151642163819141004383947296420953140554165992382950493797740017365964819942674021282923725389413889776832183097189964065114872393619310203633839684000582023187816512546231461501417563262233680693154278499283686991421892670835138516189764528562102875170619909473095826803686111517165357912758645055031800929210083221225082500166208125730494418369963891774885200399679323867736030858419591686913022416289986791672900951465173150273319428551294060632858228119568478935499688634717184640347994224291410133252768453979310173317342558029181575416608425526448720135197610942698801342466284325839331340039301175965295703712100529853708710447853510935275036352674243253150784507166189989416991514650589002776422499251075899318478841979205814260962011998768842152381871578793018004927797080176834267748743664265999945557224941973329087766702087291021619045077254864798392361903949210214318440140160786152468269023184091408063713487937535432580065850104260232626528115037150867565708366100870393435878734222185568178847298522058898313578564966072723322140155660632501756863923959473216644088805291798794172766693007278918909999587468900165607353935265464442033533221449020578906556900370289002886406866531212104803424261498514541564272322687377125458032766065509758744871755168765170900461928465978432751159399549919520293742204039477413823713117946146790249752688376381232065119961292266944279147422164474039928948103303231935702610873811014196407406389871276296181876589721549947414089234091004581051753910266331621931709564710163072059396375618138030650624534948982342950760770928967433044317031046164598960422647685901979284264869014842658691773211215934940865788799972599739052305287635038341762575474984714274807647050253814914030755138456288257800391776858603911549858265818938718936684874204613697652769119890209945677293719392857801172139064011023430057518376223065762452994181253192863474412159609929481163592620286367982990565991768003544135757232063046122748416644027237144847231882332666824488092878773387410086579056476958890647118113057996104278577497299065618591974824298998698260427710402637409400326706195532187008575285090398648923375102855961060025183452723436982310638770198343726217763995378978030988777579938449344391068085059390929570666557053416763287301176979477095878739984985574162490395026565172361781616743192138151135363517460131502432560409620194250309049527732676007744974506348863597237087948835870375707262424328655242967069450631094023662870173113991513471213574878879936404118164927568434388687868932943845166954909066546255725510809168113188613782735927637455503391215818235594669495827019444741227727079292818585893892140600220151445985525769998999149223222645389881275540789044862983804494896746415584710142586109760282994710263482127315979930316786094044342210885290135021640800989337969274045168087790848584722199171439149223670354991747948306294807951524177404967149357405500277976706202430481987350626913594309050420930716069686973839115464692717905525766385086985152992617388097727083134467321594205977268355570631323808064749152020464213403360078443514271571906703342396778936472777444131982940413149695647108223711585291286586401959295787162731605132144184435049276110128409614746458776592044004779113811314150632194328183514764124729620683495878439514506074705803741073280677362496429671340103224551537529597893395922754754568930234039567408663532510700610352605133010220962876083053998963171850071285597933509024032922800205741649931267732874071008652151568191135525500640845755385254574692531000049194490990898466224972834484611666001426309001605493101420717238234875279886524438942699743030508565749921605446522499677796152540956644276163506948408123849928995322047758215427737902206334169871049033221038289820291801102085526546691015274102282634379295989905836343851323368957892510334232993907968999850285331873720759579323127099799034951014043448630974440714827178987381582244754728830865537517917209719733238793852648389209285530766014349085437363321677209062803490435188188215428488089224470718933632406760334694037082328728879882329080314855458505100270624327580907493743629619319153916756366028357959131538800884412417594099561220637456123631924405269381409999108561659230437521637980083567155233897552996480913661082428666224591051988479879596204689187497976279087597447863240164002593058666034377405309305819319375098014565244388195149819330209734763973455713104002991500473254034096544842936522208022724368823989021464050419120745272774380418064500828680560394256323462018695103526664498964497961114191016568856376154494081547652329843926593519691913955737869880470435787741469577477712996030919471432851226709461766127302365866711864041266724284161180544295169143071693208816495274173497464546007742416038403281125984726626127010092074600924253974692031998734372148487601232925091990803128297970222640028365588986604591234685592809148174325990336995366266649022772314578805898277754180327164226707980197302479946823425191860190632261328860418761045581233829588376368250597965678087824738236142677867810809011562573633528974577144248394793402778718930829063578880096605605778486501503172224139210376979188506556905008210355178862438583609166857848716021166736584903306795668304198099682713850353649693770559261074718145896414492966248783724783237849981869736816262717948450072995746757781154209789135287057823771921787157204587237179758103702838552075653043469221662069768632685676107617113030797854112267033520064402855307518389203441031103124991946743500287142169132746280114960392912237289324259713582605254479261166045681791117688742023586063886581144129585530767550260023485483938273632878007052060810895104970602449269584437662470289952681743774142359760099611037244970047728077369098823341563639113510946436303595667806365963853026905451671328572071669694335533022644277094515356780743935452754936618117402809383031925252308766429007281533502148170868493189225049066148606889838613053595805856097738195271557075745015366971672018050582713260352912437615883336279638656924082597274951200394859718892771372485294161822128949877882336961622144155958154471152779214102167602223721674546123998302563152696244288073715122240464229804141899962348350128755336695145160552306049390033950986491404947085779726339707868445253779263466153713447445554201578075742419018281715148651493834632767026994368292517396848306589692353456865607090903853228603838030445843053859695799972733555810074629037445779946567854532659186847866401455523962190966372461195909222532815296479038418943937289305414261366798398225660579330375204512071338342358328394683745496912329113562691165600224103034084500467794625497786923663354417074342751311602571757365510576042332997402550018060045905070091893695144397683681860851972171794724999788425719053418932630833338075415800378538780085429147620081104069482106271797490773715969125599614365988388691417444495392780065044126969698278076420004053268118388199321948204749685505529458949432790549670220486572786741637276358433725261899767207715436713273744148995124469197402208412914487806522509376126530592999104808319119811135744246840064872443659190257234578442080953119165412252133026148374821917144633863618114054822797914145558939338692554085947833534207170694959132479742907215319934465445351540342241309949085673524945140730932177969113976029387702499901249361599450223089647088684197343330420093813965862508544404850063152896337667551353178976881605757101534374398403111650106324712965112837092948014509515763488565366078977698502136998091343645489790460010561579402985739900311661882195731101378353998813296619553071024175674517376103882451126236447255728403501955689346489155537303194973111730634442133340267041414630661585419818120564848989868493338288701591978884977959260627960434710830415041657373634460988953348989569814810144011642326005285271643146558149170706788893316885763323058033414648781669045131798922385117028220219614002034371916295477855716087007513948397900903454662879462642995256413222486936943635868147868632922619471131618214868166467175309753036172990186008489800675006200999268987541268800571662335179203717310593883860592370607754946252946444996837415437057921324921579856293885351287079403709080610611673257701531911188568533210330150369756947440282587508368064463034145709423496683417877589833992551476185151947944295791048245572272182207283057890607563609285389526654625261004180902524069799259983510969764643552153999292000966409739666984919408317851268093126657103354799882163171938852377717130613167113048535202503391960541468287536119452935678859681513762831126619281563971502509334460386276503585223490670845414126201113851600640696836985330202931367304450027075369722243324264136870081940634958658457838972358491383431071993514033747245951423447200071466328343746227826494193081446233019598277887145770307412757648319647715711287740758367323147826568096984497805658860548381066535181508984254573302013216607745431280145466107458427645217183151369194543292829523744668816972741180334775983178150678766473526321601100449127629744413468000607691698511665396687198059900973777420023607238762830613763178411105084886162525005603406463141890032901785952636866106723100898953538305366580167154814348039713433888384826298439843284550104025518526538534583588656602836123524314782074754683010683063968255300562403940265657734721686600870730879691721409982698038691722224114107164637604403334388753012496537641828250966190489291193755806798825582239036442219200645032940462888777210624127259307888445756598785401242762799211774174514361032093111330594285056750094368050796903125569623025984004533203672266860386256490300273972351849558724263962965171747304076272169938046799932037188536281101629032209119491628735102845953940544077221416688858273609225976611148327121941278439450116973074777246560672496852731835358411349486507855498121194176142406930034010083984810599061868983682310639404037762766286200942700311230149381575779231116512883713217628818627797997495648682465582549340652866326425093371556318822341738261922306546000946626311314015155753226809856847912401802256240979740419524659623181191738317258907012922246691866855510504849233225007239941761397205378558095555948287279370450907716107348133387689952624505439273442477966699383387023532999727968957197527332959254265887220763734145336960738686004105045660396573861368505456653189681224148217860063703457755469880125186499514653301496346564921045797555663853775036025796058364570731026299179053143874843509063701410283308334116190652082457652198469882430301328275053989029006181481261042664771789006919890531075707479610808361069275619484508193756916683866965108133128334944938451444435691504975320126267511395053075469362662386035020048462802766247982500815496799019894892292473958289845710132940223572140288608638198001231553008475619697182467897118346258195025921698908903917814845672584232547465826661307207841061016872636295337769273184403153204450768137930144101068825638828831592218050086268267655893056532213982977138901653681375650017463944558659217517228109360660800028103316382120721473521580628976266550047311680224218133241706194174433473720341270413896165463808330668932169901470259648541595751614604378405876245033676022486678267605579494994500026544151828847224073003411950215545625374778367552415075353444797303758514841703766284446497298704637086935627566098768759507435713306160705353269356877466248931580548638943748654632198328821043383795473756418961515727878133975504718758362128202403733567342430526020722880222612096486664273514886274352256558632632243210253457505256933014284942671732333945650532357782192888109306637838449224714880885909213831647083630241260420278607896206073369640125624750983988190014873413659472015890375515736177914244623151613970442023679578824962368989101093038660129082001029773836768590997712001481933182538568635056197804269377901707885980871435484918975304413056608423160236050294206629074622744879404978948318403936083047478114731311893379876845877502216005003676220634337189078085431690723244760920777021183069323119958913174775381335736306220022098372978357968677629405879802459883491005039379048167498572292977644425223709885328900708444133471383277767137850335068479182385149412732754489028010042189394826487900983855238036551237227280870854591050141230056573156189847063029530024595779823030122822126435647288739381811687076486855624780333231345646465516055109831579090573317282115808710724497077219416880060352536772958215733868804347465395135042235707539733660946786621285411301427294608334882258571331339099096668309447277152321374252446551331425949013286272649446049810776407874302414564841078832136112752357627389546336549627210598761745999314753490386486725020668900272033925669527208089405293040023622635932833475015396949724171809977618494162969129978250263617001198149609245258323767376836504742670474966558436972850269430382164527367777180774433959708567594492356823545189780879536580080452933725761105232767436799940556227240412692702011110518469896224773038859849824553956359615849168573663662741776076892864881065756895983461780452153747378290300391863396720678278365114411225482188664871373363766270672691054689741672158968666705502086638101530789227771668480241726974389621376325931254388865586666689501730212544830872401034980873777937340039956380287504282716654719101471558258764512158390157056798645463922448164241167914124312528751536268770001586838539567954576442239140952060200981416552603973792239798864284310311106052272336484743815740819707628453553899381314847107186425586993099502303882670758695092910499417178558983994644872874310248245883250347472009376875548046641768713894405170614125457326052405333471726415186118262844906060367645240262439459452881630902323657582362115440232200556068518856997036254682495482037802086832017835489547684839620279296601098305107872880437736628972805362437107334716035201448049443830886328977961355359964067570172153420085865959197494460988293696721846639208105188417808258473864862941477236813478542920106132715756820246905501984468471989883333290957445941183555139174946155503027773023601858205291236867941031328618054893128752209041309359571207538966201011723328186297072144453462007301910079988104053198008536530296226854731070527517178376427992285074829275347513607557520171110267716888028676783827225215325401207730959330130890911535000590880705030726627192069834671668039299646531260095760586710586981051899821392741282089748207661855405687996477858090466091832763146353671306062097321906866325021374425512448305092574425003169981325878803952475159684204616289325273404198797614293383116627570515084142052120588876312779042670209186461187471952117393899116384744009856188667135615874879913621619592016854988015917946929693548648013401026594935995631001773734968326451292443405703364501353722890995393256791952786875610950548381921135176037426355049696633510271720883661524389402176233541936853142373110554973249099090780616943260173202010521196535893342987246242763321462432068088467047606275920013400561039645152971709233597251132480297488705483227601512665233475519029283638369739670459339361106929124669091375900327239323072813268488896404094227479658910319115480628750472256062827451124328591238443149258066421012510634540022068913006408826604935763705565444012848506409492775202172975917433395963515148210114034227534115116860246029120319338011723186650592845785672963890259793966376960024822415627644061643045314664869889392704309420187395429054300355479774192815665199198442843581317407502521715159812331821746834759057071561279466385455675898197210360100192833769553789490475106179323677303692917672757005524939476638684807365552553077946594170944724558566748539345891689263442911711672469319447855615780759156788092130629365511994109714546970653805879851058728394623307850827782077491166063580933621602429057467442850730551776825511648590750763864186744706189541671998798452846520487051234934390014364593037327150481413766879194903220853337053122682037899428011597349473441661100236892622364324523814636843821150731459907254493642607735282742233877805086832745437473029656543551098725372245321324952571335336999751874469391828166808229057613867429373451002897487881779123696657136811272055240190757238396024649873301084163007581719806213293413626078284738300867910345944148432522704542158026511972040054857164431799946541474371861795107730248073979500353132349978477982901301596394452611961320705515713827296895975686308597065284687122641977716109891715896335680038401670259918984445941496568089544797889944950335412740896427197660026273752545044061143363765505974510746549132698768070563653941216111622068169857867381944760338081535926368606255646071426535233987853224649787960093001285395408521196793822351550830513827112719193171542415588847087456481378654480848874197901203939889037613365966800239987865210008789257778878000681077005178893195137656347958695471447682001153636499892543054592330976983518059214047550349178728257019959639859739530067100673308180669801847263270303347266843367379985355684559940599963126271311470598016740157114396608355258340516856910158132151438080003975327358983517276090860563033579184309199710802633876063389695049001842810058312181709543118376621909415393331695094159083321141935795052315693067047647279836953322087276221288711926385758556659585557347958709812003888219567317032698827207810646837123737691940113025106443842105962402352917835695383018275645808812159563999364793973530251700428271299327445072155397917223902381268527790444086314700526276672745636584083660146711566231487429140395584491202708232030699692246438251686056704187713959057551551810939778764229053033885498790482304467616730357781949664259958167307130034419101450239023880677880534766323830948642567016564563567244002629516831938352344543914410803915228070202310440767391634161352887521408205230088025830359765134339071450024264522932564775769896408772733271559339355417143376563755016637058907998462479385916930846795983691364698061282365453828628638372578624813857572047438741240025044467407743493089546815797093457514948311638662540401125233547433118437208842895676760240533864476383726307357050077732272556327227798603919437612502092921201623425693098185970283681479358910726739033977821659309404807029161165721393210014670224647149227303199894703491123787772323081271627967020695579753625267222214394126796695091649408021550729223650880080960009530182161770182368891494591372286600166822243921084075333475185712074525503140622253759957813552575812196515570847183094612575446776726004763750946682113147702075739145485487110219264859431917153162578103114747305120359004697741983423640808837899415156896673304387870865650565681582813954812669476832085430644346368622771271847590222298940171294113450034597174562716269966535792270554432556533691555944912146795700902373404060333767609347050037914368507129474806494245993667343427329885575059488705361050134785780011174883572627532106320495342186151570804920681121043608361851189476297866358498588988034885777424006161341522246453893335129586441619510726264329691997489829099729440724175340719706960780436829007916626701788199865036108719473489241448607308622800947696263570432890831595577466750225640873020785334868553228771108378421198044495651694369552362205764823975533207983353683346663361425025839410646356078607126555340293308991591077369731706341931477257826534758906695175538084408512957982556762462213353255108535670562880465788774237735367402542043191122437380740889922864501977965867868935450197445689949678108775123058152113855573933107641302496770648552807913863536339838211871853380814175310066917060948429125490266956727725065192231716810088220362885980582374636982864510604238182071045423319616521926932388153061505046792299555814523153223158488694640945159958522901315831656020476687018004017112304206925341016032360694714788965679453230001973301315446931074980583082911648811916601351507824904674965622539426154893478227191091881509292727236284268426555900782475102888155481285325060029725129580580475396276627087724299084950904297870312104655176966102888261098568233077973734858986863125710738914540119533505026026899586985964939474864971757148501770033503046313695599401920149281547303303489605945771816277597086309678368119728561314477939882915033115416440896710053332977042260818420653312669675681406925746446124820858140517743952895871194726845310603290537282478143740483579668546159448091658773044411139423845893962691596380901843364396143102421719910196830036584967117137466067763885572909538001152027816261253699142737794584021198770068155452220402584676981324981724161305573107301516609204181365478995146830620802697923005694293151604345271939860625338333281807311641225680283146907912437686900349269602657664847096269179899561772368708897944659659069220355888898898363860086861774188708506436701775051412084763154084305418730975709047411132002762664708192346263334404572177508445338741273697665529817401792054353299987684147949643893716155153721725886330053127903610288729482745023434033294785988074368229186733831661666324801169797443941020848092661674251548217776526675435849383194166399666701325979273152159317149761962162462911903907320102441872539828176053486518685109463242627637109643166296166629463520311680990436632661416004313550891037889489090044871173508398823747069387115049791928918047775804442282280306688782779846296498268304073515731690768489648104634583116228455223767786495005848684395790465229137932343248457007283752321739534275583210792445332915712993165405801475325619726553186632615714268989623532676386645430486757030536275450879108888887143631002615382920169954072549493531737685020997543679223596210969165929997769451235607928368741292947090878985414935527688040834491550379971362377525127894907839182873033581795390560601523328334614070811260019370657641421554337937541048797832196696899116971404429920595698505032849921401149090559409275430922714913053145095953330418321937737425505040826430992831024185863946610013150513063979002328132121303372223125711438639642657960939671941631144127378362261035322255150610668417995286781966498118832137922836015830225525160878880987478879123299365897448834976063032729585833758845418894217723446250306844411514900298571392420614218506413049711810500225340445117565599399668173656725000906218467566961879430720333281890247090350663521548522556518292802077829499437272222707316462440482710168231011570680080463180529078012370954433636682513953063133480623365984973299893256357468046079938697067365824827564121631522382026628118059659762721297348734349441995675782084380292261160304149439315742932502178608098127407821783652574303619533159530062895941981809387829589287844026499058990069177563615884979978454159118844311016187464084906064950111695033168837623409417753165423275735123764330316753577150910078388179346808878372447202829516880402632056403083082056410058629544199880753189155244855107205468901181183685906743079586893195965849389116579576709922837532257966855193779166733701920996022154574716052065327683067708960882774019157920418279937161501232024459231315189738073127527347476444711639093146438388414911772016357689946819890959372854867233745955793682256438361222684952889241633452430665506676496839358493368645591264451903458952632788841372719278897347827180475112226812959025042026427819576915973104165202247551393140687061579142386462093737614283719298294097701833413455205366587270491130548230182804975944009073894549267214870809067464541962089517305911547977853924408813952011981632955109408063935153195405695288473744300664899314150857599832379210775236385092730558121949762519107941610669362458857964519256815641575091344524726130399173987894413907641925417111671763503477246967871835598895435313954025709096484167792477397599350193677541535693806373900000951980233276863997674868111984055459707818821654980784151634521550599238400617381523659305035792224129025854407845713939398435477275548348482635571510324411206498437770881378952405187501863245112972580841941398801207682201437857679758934684655714810453440359471037683836494547062254043179329583857084314317965792803059354563682595400176060170127304944379577298233091679159551886152536292933461900907845715549601865833621726686368760291234072837223149811991820755808674379465128228370968475486888282866593843352689211868677955565207846619905984641799924079883144177390703321448913423988409221805682265198858388597860181290268958564625965993424377355239786386077548922784589424959092400731757314771907629598617722998291839103205775290874602176777419230683921173245481043876616923391234946301804033054843676492223307945321409831944431178950536350979155803846402366623794928766003319210321943829858651019666158671615576171806724403276770486418712592583367744373448094037982253354270802425504336975133885204241312126750444601864448860784551641920360123222210267928470385778945640988305128159791363248971989461532266282193477290222294863899977099780367538872150821047373311859641064669876413006293667768945657678364902444095140923249693198420225318476478757113485158204144462973194875175367823164168144444600498855513638974670777026977463511545862224403312199286804545128889347991004452518693896845105139394199864124991995525276855638111422771000655753796641143133807821464675619225671612969226028018838153224548704139676846588777510063784500337233839796633515637206065910708034110429837949582480086937218991329887030430730352732395608396141817332164178729868928775540543784227150191793406988036834114011426865378543327247867906435144398174951638781449198143601325598037692983197616941771351998506820321164285344299392272838213691978652277989679306223305829971163573422210270128410704418415416768683541797243119219744281982060071958893972805246169048803552072180126770328402553040174878913758679679554826564534399058667444477905852947698273635786833834365661852600274677318323607842280543179229141482465727568145707461101882276368841892722785291310619052704424121802397179109181840382030550671096316462303093913133713065794938676638896507648524978414784288685484317464191494055051365401130678101451608667395826278668076853610973013885318586655649914255714712161472245287430229919164297517105066814370817712719372882816669570567860243260799929620248000059235470429070665093106244042419258084591987815047686011181652361256167381740656028019566490780519699200871722810813807759375377247657319074945818940114634386407899993282855063561058136280316539396312607982554978189546482991294616957699229070836719250725606594767415621579026571594259234118208884145724314322573194419046371953684461056054057797128904389353348586478420420664394936922454455176394074740015082877680121177899648415092818066824755628405632356831465647504733622404889106335689719255502546187269896888627589003749983228372352046930315405207899789251718979509623187004495735804543925227340071315859055705149356772958689464847557463422784288591156178391122269486615817273746523970739759110627859618881307898141021952925093281987164511804299731581446354441700813678175846477181190126634293518076643152276939273985710235910946076427950025624997095776233469257704598656361789355915686777163348669316633537377646494622367283200955644258485544242687654448524434000368295009935296097188785511692217636072764824274864942490542004936703475162125174238628971388531628970814870840412519429891688053888201958989351208626485253690341606420084957552981496514736830567355014145411684356644784721053767440266736279437201345334312538768827655152536694878981691598600795802683806575974507101880152699702840197360911835530925386840525028915727159770999206364976756536615562748018674347266011628338440782797551992041868139293008706919165500053728393358263652927537698530729794377761999980179564702726556411553219424701000245225473927048057915023991779241504230773033420360127766753104281117189980580814215913707883256199210499711762614595249258231236019503709632492618743133911866792869890807705391596866284230498141476013498797604165609369443919708002831383180607963386542478893523751835924500603779043081426522272851447321071016230377020758025946022388311540859724261878330641783270629862743653594505527131676754908869043448205239849600155347743775332653608137225969817864305881876081269245686301851834370226306065594844495601440136530860215691908745455742023877821790938304041734557189083221540982842129293965363932390989118051439144918306122522495999956166344888360056366680487509050193599935989593908028657571790710738479165791897780324192548493722606228153225405421855115355333294548047335486793579802189882624206906263843568894715929775433800751428392383830715330665640317692347068802092405549178298961397434442498300767925028782708403497651497720230154391946121513862905633330228091978538903407109482037450785758183886531292982805986271518958148733188689929683889801420056130428042282852753273803140534797060427177121340182334068357551036855093460938660987318904205549127478926359951128812552535084699824951276329975085484285563287824379915259084827097646029033273636921066766824277617842581409497896008957653541999403782178303166745131487281379127409828152439658979569892747486459471448978280385378259277095604469948877170533228548691904590581704120185652691556120270898210030766796522126808367290010867996861796774105559970596832088677273172488578077967995294026044334671399070937339972523183054167742780811077098427338004183424822346485503713499553915045521260245928328833755998602009636389440343880170910680774049137857293147575715359214038964577396192588389435761218128908407401075820251205447418708372375321255068776253067478914653863533911278142685038036490577508538807712712396923141056514030881900685693042405880286511986043336243774772185592785899887277426937739278881355227504378323161386310994120170108719193246955600781648541847701862381730981322701883540935835365999813921274273231857490139536129413091233257212360835158138660489022205867941834968622547532819949887659150970954299282303001625143195710522243073822887217449844534894686883968315363901915195389879487409607766632494815406320531383541831143310839279354602789548543734365338049324089261061801968889135499077835827358296134431053247189182497405844961247710836057428889585640526495903242352782014580469209600248844776517932724398353531314507552544748484246616835305900431710559892459014870318293177258890027814906365898453680003065861713251220403738714944739280620134869655129659679222608126787913281424984706780644398848762276610997083445043094978871839124562664362305825251071469493632661389270997808214746157923871783756149681440328977001561230934593751146924049428392653489759972123546235378606607275126835049511412147911380324151122478600193627251523880662902186948366623352211639252212459785273809752063733499936164159143933250895148724557603074949061044961312454020780241484809981232596090932287361380865026108065356185276727527589093212106789929454186490145317718847622934730032345586108353370190002325889974836475988041623454991232882036064817378789055994530785645639046816970187572933432515199530633801403726599291505293391664424214075052133064120829814828961294708533437243376771376774882460742078329266499114039550884609225919408616030336489761191238168963449804553316887958368834155696196997277906753962298796282145877230022052269616623885985349205556214937255193326664693292667924772063617403538559942382983571207829053742216541409273239297837843270155952141901468645153348917366032918187991896509673297196077947972034649974366174149545193087344441828323044940542422053461754288454863626182092042117547791941519651472655941209243146185139279609274016655628735159536973436626356928004673923080312037129384107285978047404580503291457905802048871767938978256460537929816212442877144919699538663026086483049841143738413875603637730080429521930398613470159368444449475628203171063443539216485399688009952833893832745663734269254722381859095607330118077149113451040406223750758261373626587213514127287128183334111082025100331624707604803491918272573609613513928526910433832804972181898190381676305286657756136848634662050466084223906346126643332586764721690912359062594578401201785037411920143552617355553525021225542608464169822734035590773567791923836686579047728090490245127922921523346796141310331192432145125234406539547314383390658295392532455908903654700798180091388808739341111771962583493917712410708324814648752793988337674002358861888307724157051360964476845711211701610223608225156012193760183524057357039914929902809203953697718338658786414773315436423433620486623226790690507604971701202847100082782367794477956452364836584625017548436058963324131312181614011795275176171186680620814712934914650501747498517932158383080323457041171157986450179764885838326282833026782190959663135592348279855618362093850318996181680644257261426768284232554915855931807755074721369994355240011786434222133028112589471201155580876227592548630024126860127656909945113175459133288558396053391714347262850576160196182213263085215666919901043409091306573907025171084040832113650257285758282834188670626836697449075798295097193623006855033737981061889854827275831861021828836196816625467443716345725711062996644124923462886664495864098737787328838244928412205891053670604119944252781410941624771047308392100021474108457980188407876360413922222633739800565031185558765746766608613674203495466047670258792098814709170442574890510526655731090670682747116076209813821333275924863221097810157601253917709983559578985259295055642637289482088999850725082171297318677553942346890409900043285239352972373578850684277860382454970910645477550651956175991245914189389092843338348294925910200026281211527446377253954883462376303579262962779237116727778930757133526702540883692615109269979030068516181235411070664384467557708121786098743675915324541875202003862967386632720265349722454214677453634274693891780814735452524964115915236521677520377282265164731751957737277570133842970562656629891052392112575729512502987519169854585080507114057338854435621038189477455004805310343530191616647343865099882634614454509155887850114756340198117959162961184395431730205649665093806748118401566247325397822763185033772735891515888365308270113290033649470845844602734452182948719038433885153933790370098897126611351463667583995056984222748814083594363494074516925075888458649238425455097225925804756449764228347826770524206536550471469370973529931874924303920283313207851109347252716584518172061568282293318932577753371663660330521041382489383351696424696522399179259689433155090691168989326309854174330411778397252657237398704397850233393592476393939845936847563958965827262355335783482839319974778465957614032684230413995188143345679889957115297680517587679879861652984234014800707113042736027450302812165217093469933007527755659904655509307362054832090331846039455430326526150552963701639129975713442718937703382230862556909230700709201963642238256748339199149017681212533601752674438317400534298178817266774211001083328380541597820505434683049218673398768744875240426685419083114444645306998726483014164217659491901320039808190683249879318255493147448598950861326755283768437180717138431692416135832041250478143460062039875114910101100021522002363662013054300854031301290482118740965604620348801181157840212005045308235328740916419279953638806433924315656806467780898644238643915310261524771790012471090384029472278775550534054491350508345784137962254852163133832179898772079073561123480817437274874321131754644128615437874370379161355053741095981081566668369817235491889572223443729715563901890004438997632894531869772804250520108581486792297893664146754219944449205173991023477937870129301911446517071873388838109576208224082248050434541805425025068561036849723128155925578552373326285771914472996444508897236539004497817883420356288520687792744281880130390598797963751682961715921767414776188109139987614265797187536572167304665698685797908103419586302226666942937037846599271051652013430419214500968651168290412784767780767864559040132974652031100165992254182187893840065449177630370336862022346142755666407719798712492268154111745820287272738896395092059435767083781535559521045862605149000057681126484810782583331315191613574364919811893028843441799937853898086681655537322667412700365819161360718464922980097556235302799066073957968458612841484099690535001663138291826257468001019000854402608983865994150761224084998717354751182777606139312344576544490107916643582173969203899611047523210123035063298483754840436616755134821538272384182833093105073402299074612111231293733487346549690860552504340059821125291394576253244268744006626000562479035716207558093862471612829345940485004333253411595877293296298162624615511695480346124845136302116362628403289919256631142526641602676227722890323328654445888275328538895532924696479062864625825030753947602985006994385065812026752988769139113167367148214894039327500054290879021575601489329892081282459306214205760880171262720203087626748901496019151938562778697481899247016432833247713697995684076959892495917689817223783172828543994648620912450079376775011906436060263869045165269921856943478400927304906702941522096815989924280009032391661580807330093741860884606520063800337968595389298313886093868501542942189512097167356691762971803343642699421405486573580624825041487484491433873707045721389072782917996728989707375906329457469604988577607674577240213868711879766003067016395228821039127072334925694977107988819492002612163377761777232874826051450339923100676228563364713147506196951102322935462372113438683693918339679779135077205035135449524106919287154005725289422969849674097389335235746628659084303285711924567293348952387665753159293410388116572999916744374120286291327809076482366106716384958302218147715845551367892729433664648847574368277136491290153387926416270501551097894575270144880899752322055371768074393441979645310852425723681627041356289582248527821332870964608579820916185429889417231124028127422524151648195530010381549538859578040483305726810704020294633444830967320931435104492711728462197990671833263298482966961055915688905341495468728425733205862132357562160318917392302178520477988171676998215831234137945534802268350916613721244791848656827634072993334477102193818581452665075682952780710121167170774183103953298898146052210994736457875870287462235388085791200614198525932450148877249964440854848652676243207684086899375551238029656342569024283740334199591004596365908656488584097624983356269713661653330707767148934249058320063527990618541400214435703103835262179521849880800240225465302355900204835776244099868655110770523474491208888706099033855991425649367947722047123569491167916650224395999201850722796466826054928245253944366886827980436956781444176885078485992013285824662825649932876992770446562629572819211556193615918034374274924745468624338638743000484467017391141714963262989237050646290600380479491761869815031155507329284469654433928451766308672438691698666069308681764284981748715801505166616973476907976520428103090382579786278571784831522242154692774192869358755293275435338726568976330283166233934522326452061300682633152146940802115203420600367976187951398421201816870073314035215981523876457893096318849753520140346822277868041273484215686461221816506997744377468020901537000431587175086666661405346400842294704599626477493637829501118088628437121155798672733983145289387208116408004501803195453299960892084159861031721764753387040965507708294649118675490668899132228293043949385702171533824622190162077608696038438746597518192088457156609425082328923596679617554648840113893090625450193222757126863884065215321049686065522556569504839215340726051938824932437941117761383809318993601107133545492550729463960355363221855343014408740143038297022075816029731758592325696825362061872217874393418644345588751197864742804029838278378551358350259195407701443993303115560402323310937911556746847082290589806069151070638013199192634044486209643846998391819771862190587860316347369520119173702611434043330875713546767066783259213206678537550777390851822541545090375200273256457780667127330200447901083188265283515637449133571857742221382564642518608691484374323044525980236888418138416044129944117547004143609694110031408230029897975844321368811342660704401443680388892985704165667252754036804298708894751945705304414719803204531515844493833122046723712013088029218332681255673127389839748699583383041628030211522171751138994158728452146684234128139637699282782772360369073595478095817007763403526492050625878251734126114752461415567569017475081076871526284473606397733440109393624148070429552493302165919871961204020127903762612088090826788045150934721318684329751323576097919903772143300369136318665856618608379506095864187546920554243446776126269022822631853589130236665015449090798007668769770294689169829839887570393439912824889376530200801718851866776208262022482811901372560741953960001214092565592333335849945045622930442619481394354688242515311921372780075478643744943017311353828202001819393990023196138281605220068665342080155561601653788690719851799654739824861092490294917590109536019516464781451002030387379243764977122300345247882093379335121257307152857557327085346665925096042459027347087188494594342075359055635036911558494088855509953601414949389117352734347575456672294521799031732627446385880574925709790264147214787491461044007723981522494153424210626779983152264734647957056394477772944940958232899830073302316216949679813375308752475520960156711008214452843622620341005361183752200527102585628911390568760911005070044946158194251487684810521181966002014089020755726483559565527357076628751658625414656129617043875509842761996364346497459982057690534699824378864971603453727053912886579030987358551918407762128483425305200134992446103178352777723305622820502615936282685189361504562749403314742024936876494370595052578435524679260589125683324835572672104083617259888644384244646694476732630860162485454687234473371195519610325470511816718834555391874871228696925869079408902725411918733667188626792221632149427559256223713168999924261197008192021797819409718062639138456157793740372917172191480000289455649172096167605372605052632757828412723011602420779766415258622501719417664217958035584878893135659698268888858645631136589305182071488864500124114893469429739572078906056553281454147184571855459579805742255062114247188856820546994786461346737899111330975791420915744585946290172853556570952480928565683903651426376252191429621861518097653388364004821533161018341413062199030542379469285244669007159601510739549055509679397196453151162349507930347764149113244621055820859103308062180067315337120598685039029382439022036841581989418885920650238749288995276646033506176260313617026015608046548682069728709317958715307814373141552408434550786300802915380539087336288085550524824436600239473627445913265539015284820334864685454969127231543655258080668802047113797748923592866255168768237764486199535633183699498979823354968449319443459528620143384950494099311316280325499940958823123128408304073571409975736337666402978168465190674733856177941298357040444172265668805282004584047434182494472317297088536989692366835361444361154459091419673084197301258803779161177781259295527465565550993978823620158666897450525151200211420508454589477213158436464850766048181147653144320210051861104326976041002548369942163157482180755767670414653769447138618947244966405069809535260797983340362494817103067606298516247063911978171781875325210797597104045735625133051118424294732734501449564054024013775925024325863293499680332449005036060197754422308268612947757059279001980461023845217004846221209142769992286291182777394288376032615116639005896110181558732530633093598463498632944722015885522287321000733749738148172279969426079339576854394924497389972020938589437968698759928395276780802537939068776823119688849352065409650098819426902592528950046800443999315288055816567420047700915861442629304683341831007335175092051347054147596475843933410703397267891637394382710245999573309053111125370687538860611388917434141311146275478909769832200301140247044631745923945758619166276308210984012522010210089170708447512520091753405566874173534956532195181006439810258757611529854151058478201459038399201704457454905101644141189541715617171523415750271202634338721203002321598919632236254724794600060971513381084884357474713422623582410487620192143903839998984205816456391285703976203504859875587010194847420910636201368722990623938357843277819940640173410541116243725435131099819679279434497859095441449913619395962587364103237340603566401004741751690497150361521851437560676996287469508374871228401521130446437242912472056768624939348913929488818242839179293910892960163510628067124605820631702066564788849639149601590919825972632275849934814099761112666144113614958189485322555367857955801924340553215354742684406348612652333128038907509967915682222037351820966992497855403203539537730140494816335137480530411273184182359552436014114079094951911249060006530475868293177530271059342601262196553997204855364688829979065527143696108233650548848345693750751797860047666046919004385413766185610012516108507499980223226060926972724521052306920735636380815070182492377340229254106275033819410645827148607293216714061945718724934374675831084346541212132457175790138178526952821808678181971275334065315913258018722157993333196160849213241414476769952985415084696436473856446752266669216845698536980833896044566977050347548066099925099827375647475210039800950703788355406709112629847257486329799449520664287326522988910049512093218421207394669694562141399538644503121572449169178356362369164888073694560030350166545690083627434746237648136766632967872374067954437962446717453671316020825167364301078879554865814070165793500263325933741004724949644614818432395047824645232923364881066011851183859310703845614723852341320539711621484007088213812333579422261801721996754656080720398704287067690739515711524371257221811795533412204037560687951208583319701534095553795199157320524820448276433999178223713750391156646538584316068296058666445771210421516859048721160944042362549324089751312934763134663543228045257106386454269505349498214886451139024817802230360652630372649850819006598628856156186155225393953240823461356414343726943075182128614878502601425280545982926566631454738512795390731980691554125455279604891463635136867623219591000759179142633364160297036071568117473508448105208456107155424065916891955979490185808462934770505208916419248236539917260197622170082813001723978686824031448286466802337307840999656277747652093505619493190622767031864685654371486382995290431234372422115196712233759802259813489681346376721839699970917612070657692691023758609983142169664368939575860838851248032308918992250796221227959666553943190723805990204044642262800096068613790088330183908219150739390324849071946913928284310025134079496543256585663406834404706152842306421273982612714883225979496525319468504901840770096376688477564916916621554071854590031419506064883342360868144682427021834852175358775943678518462855050711869541119004898979909069730346564111659276871044137372325119306366631592800936463412346270089812366606480997518345934535016467901178090682661191752653324063787743510659314466283487918382915547275397020377814728713580107549087995258183144089797688293859846261163998827453594226756438205415949069455883528663338476738532369381792997776305455352340749783897251400719521447280819801716763829139889237945691051408069820085193403384796066402621633294062055284530341749107912778847575731551485381409407893181740379190427150424580429146301328970734070693476879791015896433878370524383254933996237762235672670773184938894253279803965507131198195959845974289856278380213609748258870427298105177290914977455928263931881694339334771147217375236141355322383519927083327149053165150097387012521009225492740854151487114713890430369155191333014709203325064441971798619863401686644794192632788673972885103416434875371472136700450708405858792593148105063550625395239084529221723645335372291116398346066254893849196992352812135116657379618156518111707051889268172679449866461597149923401796478750135764551410100438954975226307015999065563039984678721249333427895699635303933101322113791338847755443250182075579605296780677975160734145490647148020685816761084119731996629243267553190799472018164334671477796029189446633559157085367670413052381200767717155601957065895004888913338218720933372652820403778135210943605527602582681518403986792144585218202574957829885677388637816909798511643579844573497777879599537697434970789427311456073789849376767842491104412165947191845871036796063722079532458609182631681583140554802242730515292011941944691203420706380114443412817065643922276485705111807825772238899517360039009643823579699979044854030991824552254283418509204275558039598946806748370183742630273112014580057972945307186822946169684120112164393983215480030013779793809709793566631262860664815667487752757442183403992008263017795613555683935120998253452956097560390495643407221699170087556728585756082896418556655960697412151421176328938763629731166394614082919718128986477378340270831946645086235764850008290096350505901964917948705513044594005826479010991357028451890919361269405818019938445397354069477860195188345941007560174819206885685735489323182714942770887372260819338029484015255294612009567112420331496876194658720260393654176844901104364499409937247679450328070473848871525151825496931134410257275832325609264130299687199118706496562287927262698012602390651776500197713015228389949001301044622402089047456712990192236061812895897341703744555647601276387169309381005169084930624022890091320492154419389335707681464432264123683972985125144657202975581246293298027815516242751741620802011519442441785929972476935802523989361092824631153752694631873457410704416186377318722420756937593785480858863091264758995474563372511503756807228873919954745991648686492722560405783792630765499468821072868461726518766403915714601820623247315952430578147024335400867455063296161733491441051332023703483134838651987380753567745168595077356718612693456336046358352602948363943406096344447778801610940265258747025183140691043954173278588810673925852193557560750405885136995042149142944451039769071360695743122316080211657344829851927137319000376060697695303549158848912856832444846575503004836516808377560260700426146977662001012930145333597491011213014169800737276971453930927971910073337838286456628396202408245191583660459389920125168057300596969395383142168907722950769924612856917346739228920850532026792024224679195376919108458058275243777283111265614793579421615602156446035888800202679531929487202916890342739786710403884598997740853702497147912398635391180334935995494962826535461269625854564575148517621304899436074590743996317412789674551706271927284959195661922001695126100848850023436720080546537730843251809699547763288824852811637545732927716793744329903800731663588122260655172629937560151080454046235113116511333671081284692167494891809727157587154454182486389954835382151616900313978353626326468162048232622275393308692026431461951929310547354153235668499154540613053817836695920851456617515621506962692399121179217267501860816608028522693966812659154728127867992405557001955674967598153203152035639787555947164331415930240113896376348794071421807087551221000781364350129608316475891060500975589345040586490386256299427854176355129223730251161436292217572665378488189044464985476313995561621596814209554915323192970574731389695114787058302270938899734726257828752053162911518110828410481639782354336478002038070976146210619450261607720546612839991160326125261151825459381259705003411940181001377289718240697741376633179524768267539885434805010835439818960927044414129638095165524099255893563614042004947759888337365799815519084968862871629617153754557052456020737504776538121031291387693976130193946643453187957330429976537405244073574959411364950782657248638276921209113099706152676328466558119426959741946654970814357745749882741035883639189550202797795022673631664433215862514770038406679094301288844039748812965697258455252692542511907367066590875100770478233373413874281909643981682798294390773409487951207780661438082583565611054232938740002040542154864773252231143634274009557891183030276557919340502646611558986921192249307296423745318952506401463193549368752122804743267283570056960699553723382678632267365091891729170256276488123518527405872104804157261601218972313656106762803853584430261192631715700616392250631876237377602696286864208835499974949103207503045452827027164030352123080942362440206551643985159943556408831296709851774772308336226442599017923700055840409643002333974154117659000133352227538899308437806437355123689747749752253209500580783675106007925920552911894228356605590871103652099739284812790650866922727615615085191939801290794281636060179037976780721656665766465554826494888499268403170147825058402971571765831516018454941581994360047958094253218285613274477153626096304215808566849007653044239425352434350443460136570716306574776214851471711776059877676495951987435341934529628029993134328078336187463799862201854787429575004035382431638369332146055397874461033210066201986642969438239489396636483805827354653812667422385973216674042906424428541242298612999250712630221494859090796146542818139049071364472684238304380797450715739722201652857093783676054498312485704228547623862045243694626646313003407308598289606465252959407489575187277734745322635263757944340009607804831974993370495300789113113852010680254245556291104912780758773462736083855220271984224519412228564410567130958722529342890996944616602645268574125711821676307158717114748398769983887597811092933812552745262922002033335050282037099475342933997936063969992160606718174685456850076659060287396386470585046245547615988257086444026046764850492622095722478397011647118259802461604802562964851218800518765446829761538557464392831212160981878875171194476892261248586070169261176518506350435718200501885624054720133207605917744917002036824595030806354610420482876414520407524956428200788938906499831122379128709916607507867532982397595368087239519284162094907114961451120041610951065566490094744167182608101081749114335247930888603420988223811546298185091778676098647959046287393081407670746670992898513495198702378014536295503506592524313080784915649740296808354804278924200304316585191717810399366090681526431961759469788484260217580377069105973513188777465931607219416798451513874853828183644729810745979640555459189693000723743228484343310736873875211677604718738820568262036763189485226894005770571847499540512312290771505432328334980178737691074480750504630515606191523341063847373869864631687571755553485898187559635594096747184596470408645656825578808182154514505581217955005722322563722562434408402813370299368348377519731572336489973397708966889266471202931004453674155522591544526591025359958949852135776259246529359961473857737570307603670264972749558129612929112122064772480597178453978156014656839842342981519564894047073819539584267286651951566478025130447732901039532309554612837670168227024764998155043231237990272337664819441914629179930222495070602338711051393259082607085555162020802154300751575276568466195837152442109293231233184356264962431687211086952774621731687841366087104422206330498648927148932248912806761289145952185387845400536179190446860674677581220561968751385734616726739829870816526445544686188657813256473968323189184749056873609158380443337835396095624759642125869106069913276578962775909547047782938969547777118635151277938005041032148496678687363971862925184418457905144985774843377313365316933408299756668237698033900060675346834201793398221701427352886007170802362342130824419968594590694956379784230566065180391113779649165262108265838567878440018680740864184302075348841777806054620691760401559726682746579684773036859167891899089384519637807749813929662130088257805715953441004653268472361617048149918490616177841768141477558892066622324142028540885246890054290577593383121255985160385313917687354951824808614492948259919396128892177287957713497061065171691597925015668741006587610090891132667425310432653014128620703053085297454145252203010023749317050610964020191126181963972863594617322586983842569285170131339443626720520038647912347641133209344069965967373672829882279586554086489851986980405642469515019999213184569644562972346718763585590233688516580304021966931623823870733643642555452335067049929172885855254764520263145354822282845729884462801768157200631391757131595740633793641971122658429600882298575024336960703820847762449698309810115052188874664937361153923419412490291689049434730968720039973307483983113180412617276559544574892041073054282572664005945311735843811664983481369969851219202641529011967370377157409453355707053044956917380478528232753361322488908205834233131374610411212849318639344266879309695250408853587873540720783136939479523604228525450752076488631536893006974022795103022052108916920526975654015144232343327383719124506866137419398752291496834044705307506079755190783137600221251774817514214160864825682604119686549981977920829101808075214844568425647939702197834578701372935556073619846484798381544660084934868384095477139209394703493919605645833745678993097092693546742636039867015976361451436566520805291222744496563328718045688787162686080306400493637899983397786982983397214589257451047017940665797083147980180060825930464078822743693399664221147363599497551872458645577191596860652200999694878225089219528454845058208567113756456438347363339978325611708412267281484893904167072788514184716336476446693197518083049836944760075957913401821871593789957838651853400536489080008300587816994239307433500334909398358539427840386911097994097536304796916692464645191904259323205892102077550404103541617230844059927074745831550280157745659676489608077435912082956618642812082757181961144332928724689426527183070063296023268294722021104768692233981620269916161926603443302544931469285443438049103231011442425438559729860301505775435073035977133785282436290972505283719660968140912313859351971863467790831140194091749775775102793968382448617610135566118681198931235833810869380983592243981227718841824557712862538382403465546661416543208826133115069734050182326138969553369093839624002618664565756413768043469533574333180451087871670261425051615479234319177389856128603505198484956482182208008242944268790533153153924095136515800704933609284003975549897376579612447849249505586680785856856404995034630001671863946349944949741657887406295234536530947254891539464695544494577138445711371377988961901693955428335375098712312714863432771993103029580355649041521352214138981312879701729396753858583771950526764576845324354441488203991078750334398459827866531276009480782915900017130218535761867140373470066454136523948474329934073121805754841311786744488151574331184368421979358651844244969951599019333872182326493739225857442215368363701930386235602231088213003182338401365290777544261051569931255244932357555976437795050238114681163144530838802820235972280894062181293299276175376630318772837380790517232647177642801568767249899345709286922672619514849515855125603019939601028498857548435526113467918885309305504839877622525634692719775085171345455865504614539962301018280717743348649432518373187409056316225965008671693470425325079770747849468688152473326688937211873760134549074475356904682697477455381257249636540974479119591950231181757104011420526457847098454596755436016711290653875577669090759256537237702923973632565668605311717306236258928511587900663224492947866205507876107310455757603785914963629156793520537131797691374506583369058638792600970156843547413375166691018551133508511678272684777807633189831944406719676443339275664718853010065474831549261117073380391324278516481086195712523306178022402178925925126973689970407718847268485113135400202395083237417731093988675340161509911892541881130315736260676752521063447928861912666893424955963456314505728901776202747317969719836029634068311437525806522185159640090385214374488886889972785758222632542672212044111592900356116705331064982972764091958763828340655221735828114591195578652139482376129501858238157729207523274365688719974605778241434108599286599227801497663828754544234434204974058149810917823130280789847613457096485354918907648425555387337248240285022414238788458915372985861355204698323904957089169466488726773744465361234971416383927569456225040323814615764680924721830566811148147959306862161605482296783279270644398126267800583816719333165621171570430563471285163330213932810179193995082482190382890748739004213645084472958112635259335667822067399029431401027435288781905497887722843573687324370886127326199816105171762756932092365383032390203983973383332938592368611083952738104679486181015266363779341245405585405431907405154938004059397373069822384327539929518399472606048390017693090767091841300090648107043314311919484648604235624004042051850578457677911730799633505546576482401837450103723237532427257118653013030467493320664306264543144401101149885231970654044491060360056533219583320428066350061809178026551089573344858475355504234829161689120253294046978089632013972622991326937888444710723949158389957855203189048543107468935328787373332218286334563841478695729178948379046895919186488356530244753996120646284527472777411148215549918332607858861770479116487531938839699692503260446889336663280744718778409435638978256534470545133813882813319364014476466312998192177565171528799855233289750372215471145407552129418249321469474282773571572551749817606918614191486222731442525282865952533957360367202941359827800487232094914102283206071249735176213379315001993966323521489134715919873179014778028330195579573098636021969987599255428110350410642601719262861970274117192710614826368250897348819592739789830916561525566273911931479254354914884113468777923234389896745392975100398502487650897839686243976330250303305955848928229264480526376865115264535952924705239638102120769956723342624163087409728215019050523096715652464581011054980233864407870786449695893712617377689123268030755988108584410540516541333582126092429155112231332160741405550255848819859664115617489163428952837553660553695891196837451003205437790047905148671317900342328502330792326345125812899896384646920065269457662223373506724261782625329831458299893762844820045126378467321766893534726626794065615539751824372605588588996739571513691083486868896449503621336227246094878969696806865108648433653649033951219713865976641230671024042529475429172923974243359562517700191201386013936491340674990327483159916889893535702399537294941086855297329631565602005657677858580279282270833575081982016821488902791713363585449185998216311226348427806855505082947104478958506329989918964608394158061968004277796114998317170327793519466643399080136912549766861392875958810904271426439858444799936625829618767366722280468816962907333072945585495047356492396226411137950467551870312379360453847549796454992350978381126701761334842509550271298643876444612539529466081119459322335004234023221288187087289366326038003511630021529955866470624876492985377873161610429462577352265650671002837543637959905523356406053636040301661761409964282483672691296987535022382139896203639931214935707562244430849768785960670160633762526350996562924846204344203928853207352427955242323050525525267458899805598617481538713297659435097292698478073198878005328591815939771831581681683937984614106156281981108016623602788871881829029188224029498989525119428171962882760012117446596936345214368219313111604447636375154111678966488457977395598232553912058412478455774617182214045482706410606751897220445768764535577136246376039003052924343732813893443064267129798676006178635318626943650900242529466716921642108646393600748841762158311323642774610358728622732526045969939935271744986416735813054297469230214548324456594740264584033980194487328258387113686515529588139095394264727560633971600551889659632561582642526810132110406424771972929342885767192988220063898008423713050377151346310626210143119501058855748348609332289513414081571976696787792946541872619859754829251089434986177930695117561422898094608452810698788287418324310387180854010076445358510542622338950184400761522735175261040055589711717966223391408793953990969387428664751624548885474653051364552525256347061966238488518084042939060538112385029725355645721760578902340106995756170050353363030017198222754561424457675890606574138925970358970851360735798170694661875718592408756680738085681063589400788335523212376440155140318174681736480278730002512964187624145575439604344572174089537162444761688002514827620547139423351027019508382054388911429305948712771451816128285235082986400654672714595319953882194401169785952344590365112969658348422919610285433723777500240047920722859165536044737920495789668858361237449133990636267508882160407978202188557022604820760466138947367518284281514676037643975436088314409074446981197295397105269436835439320503070858101909928030786843252426073583890264345912180150289036819161329692813371501469229042822342656288242003404414199673924567235415859089367535835985281360748173270995991311927471567747573261731259038848362089144179262754397732990711072381443897449361238742222260629053690095450295583950558333967802332505719178540508504637394757747073987575924791136169390473215849536168331002659440233801247484054103881001568788793223364916477318468222691964042485608583432608349179901519906492040581853233441424561804191230771665895698980788429829387715714765895407796753792228467074880098985165467177825143159721436136410395597320730413911508650617302910596468999155630675111190433425025502118205215111567335043992083009516447675067537862380456603503567688671447311858751842354259535411226097933035462831633512226487763418895804107098787272846182411077489632742753487965711958492765813233429909219088015152564003704729229864837817761389937638547497445270536081237257370414895180960588685412815236660286665334326426453481055551258251668143094474229358409304574436271294937633114307358775073514347477663437019010991974891130570482259797688158876894470284137708617305313439931027232454286146053186453891381891750033647179426984926263107516437892090509265069100027088871503832571769425609821513731950034287731105967360871636926241638554162571541681870294349196963931642718598587318799588691004288001477279024548575071258137875070703530089185063127110486445935373838247470353786181553633997876184830063443533686435683938419162589501928250800642577762589353159756460807011353661331838267913085191093777983495708273783231641034658613324825702218738916637227838382439639732565888816902879362255892418107500467331282667456259213347804395194362273734131630533375011876775467124914277352342520050759421501352858705610907460472682618285982375030927807034401889572382164166908211532007398528705934931419524483260010244873389095425910186045340061703358649206724601410772599991890147011409687985910703715673619679067698496997837893863796530654036694984702091834631507469545123965934683367048150252603496678672702352610968273854203202717943772435672379599779718062704509106697876150577662597881525390288789743960973235063330528316210911403411106372157117453065303501849732746256569332383747598521634370746551329966610562772564823487989289910425098441344604960704404779620465354352219621038923203483005205456756488886231588224517260299079749551327781325116531662050093710068936683551154326070009088306122310360549517657942175994182760161000568240645310078875897366097346058596392456601127753416871552335684305715057465593454686806319844981253062317092614793421548010018639321217044089953921045035978555370906441652472446461688478103601883020636449106282750098381938978142774091146507842295763197389287997400679689321100864867795589034414514837720617876866429688500975346441085979437924043978302378327363654910220114475837200323629557852830501442778254498500529119945646627225380645809685546251523774516353564177170733481792892987486988878272586477500931330442091202550480561844281362751610833031858256493322332280536083883234861894404911849786706692624866508115677396328829457858761685719126053929772404621775377647375478697981703945495384445606485296346809323721095337493807627959581250196978306728436762145154972882789576769935481028025266205665639442102367973877414756142777410880520861125101436300135203029671492983849876927580154082895347530957590841502387289714250490082136369348099340769529768815129445514615926629859553135184657322592633538075632533493574187087884735754338732850089143470803083886790204492328773214825095371575029069807284363658890347474240067856141742862343305238951657705723079770711923058696592677840564972273650882068220662154236622656009038111547527086251304984690128981306530725480259922453618952163010974745904080067099674694894935304145061171114394540146234724974258727798858663801145504822694041716312094628356659298539796243206354613868759276707406301661361509768313828691594731228212566606935265726474182121524375253374955074336487881990773417937640429366259048963305330911551963529870646398444010111241057370644031046013869726250795374706900559479852542813316790075254464742522009644129799262714354266263350443696036482515372554317671425152962102478258550472270077910188306273909779086495057261124427373148266925954181611819978772716382696300771297182222780232906133196482659107152869060098251517150361324637396306438092382296531647456039553414909517063379670775719182650816660490622637696971531602646997316498344203456772699254997130111832874979588266004091614983726345348990660823495361817334523290980861029388434018490881083184426650703676186461920066963859491023603572784493248568760077524322509234055327834939291842972369861997108326391350699002667943145696769564658260423989942642522328452520545219754795222991287781726899784160200214863129385647604090727859709550926715893563585092777972619479088648915051349433474497952195346122129652813938474906536543588858305661785039754315326267598601302924967871348721387687412739042011436133936764160478870045027018521496792051288950099345840818618608874304366576328272994513739707689762937063631608299334825009089315137493459976977644682971572529232801704767237128690266737370640266971515472991920849008018834937383173826958905168243083265279701016503501019057719453225027901793441525028566829515598077027471070406703902558850840706427607326806078610884478341591944784955741101493125949946538653536399662338851024183817027118845794099070581081738117368937673293751654007675160595197114969195366360322502800594152730466132973766791421626045956698307796855309072105365211093415398809215719787000772437594199438274825283279365116075338803753533533735038597631762102576334786865046321032628880446935592026704901388236816029668843829264663483502456578571642360410850496585449779714675669572142504475882200252855677577495600636999274464451291344621640307720803889429310734757172492963859266452020204145791226709587639755573616407631804179335597060348412009691851892990310256704733714223298645565501623252965553402460774154889940483196428588573568167285545746135116436143938986776573065887355552819730024790751412935423747404380940555077036957047119817212293767952414471185884307438938888908769266817332867765822102969321324965959955224797906797224600031804335091001327529720665086152241710351847025753287132845188558233875630644369173114682738570413145023431110878981692769739073572219190571226104205005127310930409200224688507312467106413716985277015969690767459380550166504360131339028378490412594677392508360838277200555154031268790628474277987780936748821233926471466517187386734540344682644753867297016046698402884239424792619583273894983261545102995123382942588525868533818760322727450298308132479591782969047305612806297369382810677988555695186771463209846814128216310229146061191140330821072830551650120301431123510776309548100103025613889682193217034009421085168896373004617300510459962444545403052386314551372963438700220596863823348783997669451654978293959253163602080085011426617810015701961762358191403105431813542073921242223498308767661268371892017461386899880358005319937435821498242331900611539820680987631551178338643463429372786752290505726950623715236915668545165428392149529534553135984802998315912173714172455785690404312260699120722203094623359607339631864826588061170457807327198510865099902025900518688399258810188846972463518875897374021603332482750781462092145669605450116663386160927843443519232101394205728879700933905334335052573396334974805291678559856937309336593920053060633075700697976080573352432611159001890321984739116014243019717558829799989126763507054636999824119241226982949258618538405983806419248295757164352216734560670273181847704594269951619814125801907426163415012894806711774920825274431373069409694834016661259444939797026046965483231433719120183211381851398848001167944304904368608799008961672091939101171409871001422308285266274608372078544655156027865288147168435972483634521219684773000693141168387818696251803729100466985326564883859353073921208909731698600244644650791851914947776619099309360434325375208412036202010125976323433369614045863805937084305037130283177386959130303909163574350151403707893786856673157003455890628976375028823498485291337089170617137823110842410053283093900869350659424730554932027746705147247159158871888538815420894507638370530923912940997455777473847920929833657716785113511124029839090276883877885730235958501997239057195313908026719017582735015582937369394952882008865797316838455103942905613864039903355009714926022465288257630102008616042003541311415236413494395670034153057144786499342202694890338663555289254938650097468257800519375395032546247578850882564113557255926249942681005912082271535306552586674132798059839190264577943226684019556929751777942731496766895276409120871757182234653321536727855640593908078297094230523308205794070507587980772529478942950654201774123969942126706913720170807247801840482873888854301509759546114916631091176683415313789058105657126975323658952197648592665243391570649667836536654979208721728048234466746203739184003003509806790421133983399901263614857012950943402184443350396963027941510024140455657256986282564072100075317699760107225976049267204933175368158225370951773037858693365765593039369283097370263902825037998583360046424885584566607162908519849411549530627979141163751003103844323646893082890538205426743643979226286771218002764166693221022378224168569482226445852756750946443511408843762646850021700886832840146463649999616139105336811902979960994482574364278531651671803861119411087015004578858355259619392820290354315451809183091471844827323837305066981372323784091861646121516038267224922598579352870194631483722520436117856159664230114344153290684931464758972572184711177962534337587131876392612424718601428976499323216479063318560826386346065729450593329631908555192389882910936387435915205506172116053634267207669969912063708434907101509367408664171795200660886601838388225331757844363857303881929409647522822281346605472202784171726407239771291895564334234554872519392565595391411273708545409503130474964749144700214089230376738072213991060958771900000246389217481437537361751509065173251605870666722817060272031747437928233968821180280147253828670645783782197131128140069992166363809140868894599375137048544049427407167242469346904485199901729017534044697846429392845249275476781762526233832463176508276171601176951561492945571730949032754259563125875752918732866437437289789420858831953982034570511008852432522190586281203302117457870472216572759171971466336678418446194875290087088473485856243279716694714642795933877405176091266280525215737009205458244628279938623120708688672005360316063780706242339247039266337666341613082352998901598564827788967212994873932427648594643431688889330417193485563838307487266919757916793906100001009466367361310077363025598832463956953439574181063471244366396481423542746650401383006371346076745012424663822190223637725590044973037887090432518139264419913908092957075506054793966508753328444237353319832551548116110889017428704324330237497437843277246267713723847274606173407846005531928841390491641446229318805677772263683008720622306717181960442036176830057949873608205342550361454467169928734705881267091653968724714825761035156846531259550518497991978039322278924225583519539108886687109201289235530485547110004158174040984347238842711700175584417481543430894809739528551735543718820423129960602538829372432498178625549558693528072101028256360311395645832390835819033181722739603283387612416212866995077711851914525543581081569597596393039915539604251298721211249580226273666275699394051846548988400902232268355684815579824707223869745768432425982927926281110319320362230289005591884918879239725973735173355999245872043721139563743588997019026647272388691776019796984943844241509177553459593702357233580863181371059265175510291600155978819321116206626100683618017949996950570254853108423329535535518920055352782594433812858514123687345251433750536410100001138500123625764157590041101156790795347868387153920269018078382110747114947659644362404705147817225831085728546406891057058340414945175299906886397400641419246384877153295261866815664685871746073189599782038057940557129476374422075541526504481620131620389693479395216505729441625556349851459021167245852270608854205614521981719972678036669692138415288061000239657338267950834710382168846952706448314108874905024825040863295286346884748767086206333328497370029026997706214256236134062227492535700790894359846478542511221869654188211393727652746398570230630259020869521961339646270797390954043057450091834599022644971967767983553781340795566128331187842118983936042144095743953461029078247159170339044995637176830151835102937121146895738189609559228853864426545546101923251547409414784410549508762903173676329447071046200437529551744431350017299342323103653868840972098357563653214175401282961088983936759081965144033137711523406116542616206311458904767877971549387932200128772534833276278528570943756967979108132334847612258717568230859331127558611283858446216972880572012147026691207188537478661431671243853172124204623532465399523955733249973439518024679530995932370198001923393522428060605451068365267861518317002995090601273970144438228485023063558673714125064251070703941936403078360024896932719588749051580675744129851218080083766754167567791945157052316280150046923406926774133201754965062183456201223614362980035240846168485673566132467701735851931759624769379539626267512705145590050094164034356676090349878908875861051851705519181209097554646571293794985687095950353927119224306601797081145818444644727589417857730773960389684783448571284895195746858346827512796373027405273372211598031315081859050723645563391053903632063827668339115106125901195479124024927194600755718110580164196244612870889777205469542879111335719136702576977447858322714910727606462195080147762588772255424197434862028477513964434132728972628148305440560624769885747689689233677373733609605758150072669558408493291100818998239692816163423436286404090438914600507061619104660508739933131696625029526582337123084392712268105856997964567701773751310678971365023884902725602321338846673498799615784861792866539945312262179235958141257928772064002222181953434000094359515205502624248076106450397587268107514223561046402946790532998579180620891068753013481187310256315264198077507430667868996405262443629219005538536487769162721484843550317925207346011704782510145378148619762589917695998371942747681533791824504920782087362350491308144755476812258405935038148187146073157115836114214625011985258700244521670220398304958819457735406647222752509161121471014901423263639555286036799498839377791406217982852521699404341005546920855345190688042121165285971090137598066544817621628916430097689080376269970506311808509347728932541346010151210979851032726083314069260221955544025096921107046522512181009740869757009396250830121497681488389228533024188569363545976167800381555434870521191934181290753081013480546289689592804595804541148211543552793850782956603917210735196172877452134271520513663374494493764897314296602790843816679413266094161603937253404150206194265173015578680989481129183648535023442787983482972424280588969379186690464783580285043633674727469660065579089328474440639216237544908796761138238832658330816311065282327179446957685701876140022905005412195191394139433346712317830937144190477726887241613162176425613056387474795122062691136441656405080531689779367284480375326902761824915932521548186012882819685743534563064021238566822930983955641726149577374227247476636629625431981383187004708915878920099832787025177254156077815791876016708192106515417387711387390265979641862985814486324380950592105104607543493580177371881479011130544615492685531508935648103947831487279110217068589042390571473743155620249620626524382526863879406750331621680253329470638098026834552719450225631863142103054043778034680217041053022019302640339524347600696747599829244332864672881401850376998034421785825493122356097866789718975855490272164781940963322853443740054138875194241955207378730026460982716057684876507760600291985463160430597678472080238033359706584919515452794898463363601285353539440298093127364262716179551937771038785400088892436740850988220647800026088850811190879307537530793611337123216190224328422264603922036144693065809230828321712081500107217688922459829836230194334550731096533240271532948236987289287938519136523297474620645169630340030781467305174155349294869625335904168605076293676018444235695520121575378435814064335912484879520022007867719118086866978297957296990995026961227358014793409038706128372086581489027508967844393874595474399606042614108044920157794288291583200631629537804055781198508405467162212879587697600764206200428591602692458264383434361684408232551856674833145347128876622666269443368909973839907407855832911088354173531561134588032491239446312342799572828665432945828819858856069310995047153903662648044332961973912871912278564587478956282591033460323467361768785378286691140195696636277506887404452550727284054795679370055232340782621530352930226661697793451308769084413773861895306302690609120590231875771189204273868397172768741339128804269462582830610747405852404638621035601367482831413103231806345123087451027948897829057980303764889963097116770026335038735765308601638620162255380255543021487293968334655893446997531760207229784998203201532218222763693072317567213201528442036719385187779354306419769039971278889619898238554524340638676078770242560140756772174915484049432847640433520870238373824100428539836158052862223395848787517357790433585316382587515368599168796632344858756003598078021564526965675393415604553527201722658971659963834837666633707779197608238360019713825337637851074429188580806567969967698382895238315870374230092409292070694026804126431549537383214842119429293574638783177164250654064889229929309268725150967382024500100350536337847907409373708743970898312743515151993647344948676844260924791572844323588009493877443426146995815059267823838990233977928774384251729217535220777688745813706292057037545257278840340015746582353194938852401359889449840364424252910395955317704696986006046396515663752075505306164149481317569146271310785095779284723889212383351368052349171801605205536520009895594556279646558192640036011175527710136413223669263964740317218691901157815811716744049297350655947988304823284612265557672788690068499932328153231388055531026957561233803104896028980940474113420606169667769555595160500946634445391140443182572591023701073252988416110008919205921377198859817837119411166947871624731566613595140981671788256088003707704863074449532330256381196136513373712495774621018029441666509779682822632307407805847587050921195859960246422028392909381896610337153098205796461178415993276982662806626620461109923282691326556792719671820584615506098442451452556200164369283898931247050422505034959572970917964084084564436762762184785210501690057824774292025669815955105563509907221540857000687203923183396598309636094080655635223933393630794619214008875343323862547132357849484193907025630700417969259530184228000696822710323428043327659211179787610725969038091983602546077941602711171038916571875787589110767261887204186831824193807750162744583266790069818655101104645862348604790654134579029975369879042857326703475937537124589808037859885180223159259669497068579863213700943638942448821440402304440059318323511010492441129589492788332701091716464078428451216369629823178155380842735417654999667645859564002339674119094700739025500358982993551183422871573427621011614500910271005327611638258875347755444486828274849937364925429996156417374273355831436824291795203927507969771406050811917640804591119140118040038669530485079786072203306680148568009820695171520958821283609413616701499536348528330271409405132096243085733839124955792993762344715884027487033406105914288852662249536768437686549068246461827297648315075337444756275299032289248345890708224334296575156423907039363421733235880073050723103953202976046862199776619628315839326811132595164907154713964486004997340459060350780877692645424306410147405557566788363314171497844042008903530365914679522596320883991471085024754830737505529384078952138389139045616788570499895394718803004704739727874243362201879086816443139703126418877413465287044307092559348915413803822795746613967354175876793450813369487002137412465248897214468469626872740902489121969242228456634435479038111990084738669749009907706090808152176384623561239812361108957330976302537412369511916444082295084997032691159697338795740506645644932649173964056716916904937273167889439653553280973206613213098162213031793774646881139472814055755131185972345850171036824258144569299379367516039756964696021306789925866233310623471551505079572675770159926276689396444884782483886798691214211149012759545152109470895143275034894441446323310548274953890741627081550759101592502085117967855337618576214470039794903542740273720596446087744696899224209518251303703018695339344705483719373740094794762430367496046381665575399664438501355511076892736298143997643074148864169564365319127264073946836724189858206421774460674989581628666794525025438018775457501068844818889975045338856152105632808629823536473223003344916035611791972301320134755720519675578071642400069466297086119182323086400936310453039472706157236760287584625286263197651666019207347697895411316613106113389522080456590040840940474903691955632281162061109877370414194311331424312723868536525315840424371766625997058757501481459961188168354367545206917955929742371740597684550247275927049260953134522538113810435698745002451442180601490399046403193201889522758784508426845255185984964829272460195699082146164646344913710984789027628073713696835407181399394436292257332544252248779288894300500397979604295467260770543844246387255742100925815719386116909253204199522053310554476661656019192402995764293446920941662071911711284992487271710902214757288626380727224522996968742503325742648635258148523215548552304679899147140357233784183483373957038361326784943471764788973578798505522027982043623221758822971383085192173639608913861465434967577860176631251038806375748174772263924353559007073547864025624540974572811314608227884698350627914454806805311923757967232185709550710450385188856023139121931169663396174789305774280179017551407603984381211673264632559246656134973355221104277209354170809724757737082429217155637488623193709094923088989524052677502168180560713093929731478390649045767880594941943360683390775778259911577471840183492639172484547912782426331663012155070351888868908358946042878756495980287917568111429468079821917222294128426061554009001748810405710661587288351923573826407461614952236488519770322170686398888154428910679447257445751132358386079682997782524588050530058637945212667327781495845897071310211529848340678971205959863312265332661822000033595197062380752625490020981273640971594591345378129684987636419527546409920171042743522439832046276287775986273451965999563319105403708200874625524564527816817745204195614067961449914141978255786358507664248748632040951366781951325199823140337408726645229669796290457624562989423336093780828975624543992999111215875771966070282057237627204551602887196172477941074684369697824919346070082405062468202953139787856619675791244609711972960698915643936863983326996921919748644625876812234363290921057260662161981232371856759115628096565589562161999578472130091851274164706064328313804022841487045617341711198345876270703428852265644530541267681052461370645605769945117355200449491522409794943992042686977250888762031794508314673997012995720322984558077315962208081568000177197159409609945392642105119318033127669414267064810114315896687993655166325862920595960363304543908740310329150902794490947253862086195063921499072883406825185768182803619223716650787666444025202721601212355744205613869816630432921791343814885799633067505039957088750907748854684756006559536494721360187506761652719747891174608247599480208012625702895867714543541862674312001166994241305471360949394329505674562157062669506934837219336038407215522583993070594240505739859608853017047957113283679570417966109668396645937401411939556140986502915782906840451453855997566402342126507207463826617204931219248144137189754189985444726751377189024860721572560940739615733386613442371188388332337463111844334375299101131601175511891771635572400248855119195659923044995606016373282021395514238910700477167742535877191588716326695313897398040849631594442040005470680857902615665197866667366918089091413957213981473030103750420299278382445358721832768286173483433056248791136680102984137341964621717793294474356964691613471571135287762467016320171847444173929025542575069806434103188961758390815849358300602973895789508277313458386302096664131331099581972666104378534683830932673924262507776361026395670518804061247270314533289859737002366910050046827990040291105667240124996490564023741217237068035484383206542881751677782253827589332276859402576283508335719009063080089914284288525365054825147902244862201777510753509821906983025551970366243800903862405972540249108624623056479761183454851328442398989246166870515085422493085128573437795640881339336709611274983019994192449211916531458576305262482263471871881212772974794544410764014942240071021692599833398168508700653809141943585364863588678931390984809762192594681782648872412867204058846406395825894702213405324187551673906821261991922187639718305302964969004769480182157220015871731034745565393854845780696042343317789059513592889878777033379565986634185909838881211686391386368566680969936742277083861242833863252676750766740463937713310776505920907647747498087089070771722876009984268021941345642532045469917745686145489052689535383946073837365512852570431262792985844232974541195267235248405584404477820741032752451313115652111253201302766202069595150498634782462028082202875115982892306862611674515300247151250700374853782155029218344281809632048368907462715931027285407864675500256287063071620210111252423112217516304129528704739279518192644428614420077093146318114778336686761630277095569279299564265797140828922401456110766706788940199939505336075077347396874710315300356787224075478241475816823008429387591662929908570652124248294722636231664819599184289086947971206843657036103852352887981941505492165740661184960063695046025402154579582691916112694855006440334577060014787089813791282625624347429182133375021383759472447889638610134337502769449892233271489038187898864031398244741095093935240075193851949181018894227954924092025264201963582593812682816845012232242731061168725254841147986345338218992324241870104666570196144577050395563999376483859931375296568962464262883373394447400733363289644279614246551552585171471787882358487851140461558823445725501033568323700838774514591738290465976300963482723413230584439028225308920854365067303221382510164129457700423182636424954313007873669605670475104381500963812169497193698711727538827097721732726424956010676564884955749806225387434711799027106816231810282652919838792515479894260755825783126766995010323451838523960148786888820744507618784534342144415192023151480323412913716257609498204406936567032884876225659912882084074770699816732895669404094985999893629069504919133543855849073606532050111813031069235329236763237681544885277593776571733499763592124011529510169734961030654779652962412129373835861892399742019134139040636836153245866103378431149212574980010608731816073379800708675740584461266258725035876176978738115594331316102300221220644494849222524116877812510405705468703659934604679966209359424558189234412764269989032201489297071438595052040930770454301971907465240775710962679123307115931365465259744197376409780619908396413343930469525350814807687172255875094843363897896134059434783739717490534644250222933423081793623982302318093847142768777895397796473721570553984464175422447264372193573412181423349640851794302792393225639196905761947432554907326321963288060669980717441304970363539076979458060533053046609718702469534279838481934594403098229479341271954070213030477622900420095739558872129901892922206862130336535301432313472604815724350164203111262074992440960820275763903009789636395454493073378329668525733476054675983024337939785963071820363058913369850144975210865819901585261234894738210074241885778890599608882561596148749353173013019582018465112635000818260712848861940373034354870160968764673794070719955161111922080581577648673504963460895227237649979554009240029093758968779134065535707252008552452618253716058478409017684788086370231310282499530558694309240330805036842477981862007847054376751148017399100511869733946486070841171740830876076844198330059946340114800570334879687359539211817446235401439697036025660940561500293835663606517395225307126114659304503500191427343932489173894301313518137778707595707685545202584203435662700423580819123614024295705763738006700681418104171072828623981007041427184194706205568536460007154733778260892006036646409098789001508780610685793183966883146648349254293359189252158046167330490511399397546641966150996650882355259489063330722926000542059706207542583464693160433942409893055730093638398344002086283885005673084035738079919852147209646793809358537788091127475800421959476976342123694197229021051502150225424534548967547334374482043795917059636326963660013075818621873477637089720305604069487568279808248972871337338295983798953668612632898361468204825443546095148095431986447912010037861757101053247428170970949724166651553561642917263426498616569007099434959304628790523283562141583233676557222470068181117580499683261285839167529977841794470583167404848677125027451046513385964663643877905148090165652694499864533906661001494987949190948272508923135485861497930580831428241223665960192574046878827149988637807101255173173350447418355921179785950006423508950857846947508168467212664544537002660034319580105970569025082733471445133080791047831678864213611322572345016717097575936070457941757554700125173646292570090536238275054863054221612862870374174423206122938051958643730953930546704950677815336800684030911432610792150656764509896898923871318257905025611474272837057225457582657602564843963127749106387487257263290129242544784864186173691584413095623007236504450760399838945930801928298283967701116910065339922539329092458383209662134676626260883369082590937040717911063369960925263810182041245207218826940918327443061602126311961572013493947504308494156620573305036358345443986063619484888587668478763485873754866200699769383626076324718147440303392791816586385762284555883445512927635482450442866976578125577494756645752732215411339588180766307506147776447258268546991370515257212151748376292152288102338412800582867790101259817713770291136561109093136027427489554863835924274941293131518562448807979319887931720058671291116213881865759162181497885977154104697530006400426711005640428547016364445370983246433596414863021558419006079734070715897958730259490357774489684234446542032484111819681062428972564720021368049196930115803538139854557424121059301876027246820611911010746520175287357951304556400039027558898736626704503872705932845281312738253902502197705648907702842158452075369672244144040598138179586138984737442981016980544465038231316415520269875069218933813660408292808174367580882197419401432317393147150984690318814156118738277144037637105434682381710291054323529955752688696127619818578340868119864296957529974798340234770176355113183044655596333002695889781774546740869266009176333153530511864463095739379424275609953310825305245337173453594202249340027935112311357356122083050464725448110930773575748435132495382888325088662639803692880196679301724104411992052062071861834446978292946775538718295178870253095264581270237246428405780204355473923845046662667904531308606416705594876459829221269734446471995949992769435332439202721294538762032736751077041048562966228372241430138874709990307327767701265177979195004681319521308748430754078203630427800673469917057938655090775121196125889144880358357026888366992257481518287029773981938945942486700370556201773382090609559159048357322620062332508778828263231445504426924546236718815095192904338007134985809027423455509582179719020578312848103060427009036871271386265153938447568594643018648444186338257577460852854353463960194780279073829394587029390739266135411748963334504095790153265951577000941087411687625999619163442659380066838234724459605659192150324165291249589246058027802819118586202483735843908756611593876354860239956495887882301412200713141062451483119958305551884150756831822901668752459207803251800699746621070500729922411748455791931874510134750185775025881163701538484927942043166093444796517741501397180690194193118113767847259628325048168906926461728245470844467031700316984206094636729041870822718373768587023734410892992615462945060867134345562901586274608789801634292156302199165247570498641700499469437601349030636249082168453987551693253320272143320867320485389465251041811774228622640452931102825435813879021016114250733620868076846882213441148033119328763387859879735662802578730915341097703206520573704594532942598558921134636760961008369436733371875021152039575551848264810723667734700346663287135219345851539039512759605938527155009952237155875198193124014724139485290249340407782760797645597127392217962359375730591824162636707675668257438349474238050001166678926253443360479911759030532561821381000790543057896443611884341113490950021335243702510818733174046798126912339731553901857511248126619883859917286463089722636848359022202111906166617910078612808145766190176734317024415400502180615832002102908449635568161291416861663990961971108686639543167580327048860392531210873216471359034942889361140739961574406545008234747231557494525469812183956687965694153279196199825077976457204011549808414851410233451578208167615028823380873224645308214452388092930855843009173833819355823656224133420666326972241544073856178012953092769558656012943019053499171085549102500589797124098218005350665821995304323139135221179931760749335726285540153285426373645198659759526392027090816576484856838599868513437056780963180584486556170357849479569644887912655835806118013268661870133899396799915408037649296528741787932532306618450022307176574247204085913971649965473657679156918581964052019242670193819616007852350631676372385350024968432430382427330139092922311264185992114350129596959105517438066859508084362353004549410428006302970995480680415860413597558991248238358884927563900214849587372075527869489884510909579975865501868345958838474726649940720235887805461251714851653152164429299485504028621822215378651780631511522082505332357763168466009302367635243608481112708988588009963499782658100868161675054289577946308807069137068787853295878174197592545413925600418440201012850620160614085522554896697890284383121614837942839609598786072396777008393395418341791131360823622403136863132746286142974669229749960702553340447510176395498645306593573766067738191584312632367529167610083846906164618298005534223828544467322539014262856825715142405241981442294966316396801410516999004812421824323735450794824979877326680795610431666804037565541794965124484308637811248629905512070975314941702910713231299996506932082296053935003726588223205430822815311894998989028069495507698782493363331332332571767001188408162191430904438002569944422090866296149718420458727004374376017072877833917929461200219243267073181140625377795847857045690519762678404435795712409419003888003219778542390453405063383974557323447460602085556173982073039054608725641697386518558643136115895818149771320551693123976352356711313592854823738514381303586747864626512961457162200698105750934217025284905975863784398237996723881691624651999666322760775937405759535427728064712600241060035714369755598962460455176623423077550008139838959400870073809374342278050512279787494120094474808071969848539122712788331955325557828233819122057820138414945315017655442876728469333623227157516419901609734962764955858721474233933962307804972582541103555423639267404496821468722910536066803809986824941805196578386768440076669003721686344222910879944951148377326710834008810666099430552942805760159891126916187568311582580750382296022504870252291815165437422486122901521318536065877239818272117399921296886036584627028137848229841166771985053840695625890095049405752200877467659916013746203369972518882210353298810534724790226180772123252665839070640091464510996525219822305978278790799189014104127390656003267756066625012423067730553498875856095608380553170299220639267315438679564873618569996898507632673683453641071153559876674100107893939584432837936728838132494048985613717054083170245381028908991072897899681434427770595702580618397366010503917908166785156311904418498067336401684121455654250298911017962894868279676165966475330617000437576859907912348312023094504407322982509542766057404119896755467996304286524211767756481545550146923795440910038754321043936866861899330138022789940553788393407120846226566185697285097639914594247676299088432894104122791703330399368984297583717426637967950391132946060039328674416659076043758232087322585644111154908137931239489915644112036927072545255751750146977696442493046101541481994321705872833907457307960386376911401360915970363706249627287815547067232292881120556986263818378437402295416619859626280810189976292829465434853135860107433358679034246601358818525177535329671806543674469093983801765652708812030851147494989915751333304150575769096129386240506612570970595129113584738254992623485972497257078655494569882956764919328989967645139191857886910090947139358932961931583473939506784699786725193413364601894630566450795466946223397697509540675304249014354690610148746256396913476603035562272317445934386142707953735633719629891005903106075721621282121376866479220462379760963170340592577655370830201360531439047686734595859358148811738923050215736027627201907103323206970892654150002289313393572225139503680216586157459509883682124087512764758473360784407135061615727580466057100817621521229395135506241047969903823967850170622271245458151226749848281120668337408567526817205285801274099315690007470642289017429172843419843388178823585465807752229880839980605539167232650159059802447245017354088664546989259756619116840254944328101853609483693376379459670565325669451874117646270239370820853812678209464422828386131413529262011888897861648414065965452437495056456337720904588500985959140851813882267874981166883988431752479252067131577699078016199256825216828148190931096807970720816588288118263415823283338116618821116309704164105344224589586057485414384912663716034739507519818042877705719720423992413028330586820862890331483096644115002463099445784752345173778539649346884923244770309657970033110547607872354672610756758029582587657020021673783244906031294734285526628464444741620726525259326435786321878786694730588131872057036505040816458561095227476957779052364811782804958020507733646296344334769098293776755872110800122531993379575089731120031599200880930979925935963307020271708897146195075756129677586159653180400658086105322749989732030630353509632679726286240343260999028588874578970061436443391905749727142402868048908417229290092057600340117495744603128234795884370213938244070659225168748145064758442741600030472892017121858704178009015140106919927408008515732831054903294881066100758730836079088659732942911441211530885865340646941071049464849363871260484241199790548577949164309988290255411455908687125669395214607007899964366441136575167902766385149831392804164183310117597202522603834108979645165661441918131223961784121152494275593047165889452154984763367022505458104155337307754162665881866414518714539768249541451037111023674246998204878102489180369404066571213344071386178543859887644686530409817779543116383750184763804618951053950376668156023230059867344084696972618407219406279001193659219168389417952517026738380750104988416472459837493437550805950628455647684262808240560964716349528892901720349451549309430888354318766373323569047345956887644367219855787179993154355358856237890213305183174435804992908081308876315760187389163512541616929980255127671126984205774735638730440524255417454582617037384202934018939938746745168128424985866540525283605393154245348306033433656927943203251806059405831082409682102521603083068709472651527584108854049748424166231412777630773264966869237322852491769640048972165035325214964463189886145669974076336539012574838193397553854538448850908001204370452571948158173238398128682460478992289879372605433788476466490118013956644898809219194786747552827438661785651522295145988583904455673863348813141852542783158502133072976206934453419379087331002741583940472107985014830286866070035799700338206825066044558246699733451533552460474377815116395520181831190904995618614911175403333237092329435755369194979703541829499239631875004067125543304144537740393062953557727685989745888286166252978111386541994765204037822734190494227356357357337550445999733814248113327275386189091777844436267109245690090225329006990891324691778341248654582296024731037131955615069404351822047040481339262791792677549279951495104075512495445706461084235216491101964328953280357023930625138920458331062507244518904637219673848012581693982490248570798906941212810590537406205337339725856584802446095947969259878254444834962574661747026245488248142718702350358237469168931772065092298615655275878294983379370133664783583057575303771753536160113684514005636309928620466097693314352781129507124967984741057762182912688011742067189062407766741879831933281205540225721839894450630949627412937455416451552908360705176433693090999217538759966241455071436432240317775206615420421651534826229875721656781210845954927642139203799551664092873311605691203157114726507531556106121585869905895326614839403536653559868150154334617139370284162184446988841961395036112230301859515588207368084435652288103243364537995402456928224399865176789144118916580547854383386958411655894593073622274383982774708728043695755020849685345048586832743060540982789300486152270372337899509161830570141814537310244906597401296019266956699820395368792537393526867124288772038025353421085827982679426594073546332993931462647873401354045568903455626046381188313329791584760658129675796960471693952875896449719877774935979428468610481284203033929476317616447517457784838099175822897122874799809726694716556899161920487593202713116546238009121879270656840100095154595206984029801046720948104898324936281753030219598113123220470657981289949869587460761454415229376421136338046302755748091432145619751119869565342204850685467106346887185135131516370879979598220214175614272798149130459837581597946538740780948650247534810812576545772685060428805401498784115781268474190765794808138523305306920417872921996337174506054007399324704892712856312476416167733578472138909545676424527378037031928057123836165605718545598674558216319500145772414208095561822190330491634365786487909647335776250847057835673498676233170543365591933637768672520599079477529866855854625068924892751796790376921991696705679267855249440632888364486013034973637448021897569293222513365360656762061343187393226012693114479014761017454469164235737200694104893579840192253366048767151952521488954255181705391061747553901505526954652110785138083369009818285969645226397669427037418683457411850266794385391139021882880818966259922193895848834160668621592208753609954275076514208300316834374633191891975705468247005338726778783864020004367246293615661938945760982840905200244837422165690547046310972239981496558286682820814969319259351855173698144371910377309273359663387709435142960529087933495477945973224016798424737334571592030779936620774641240073633196088506417583051606820052472517056073795826594886907407631128749145935820955642523411856596204917363572553388930348230418449396770551089525429211622821333462084804833014010695643066603872270497713741251652268252864909123402793000616720062063885854111009781843278125487306335692028713015761300491017885156983890577521299999532645806617910919596007374502922221133141867739414139882933102272144944746375403298085417505233145925067089027417051122729417632628029140143993498276158183917658463907885656628255762617954130215297798580936784501028449341902950158395184478221780846798829435988839738884178205431295243627684119205965997604560440442749607412528376736282270664307097870670053118951708155031617086169481582494047380048811194552058515213952119816425677458804300934317761443086882803780576502257080241831764590359491330793308232989626247097735903255411801500600322264777700444656432432309612141347052054575843345384431063172917725516115293302824752512381839210588223710719646845468731513263790496566242821507779032099722413673648171738177339824966866117687478168809042347852860736778437351980177618630038849594007741562655015650097438689863544882563128393465535153221078691489433883422475607231250649768754925327000766913247010864544426660570518098638544305396536293190986659190676105271974437807586315183404045245979176839660900723100329310466598504309762639266227630560599784143375807822693684739095658469990248691766307039030066758845913376744307919235885780539667848942734690062809267162928769245531342203352963127511273167083657506285907231793488193671089580413810648805373064764837528128209753184638670028179791073992664512885217101469761758439513476511521978239133595235409118834348393585286565257516829324690197510355448553597124011059436634157238051178232980837504443827367524682988400140420606381903250286822483531340641272108710722820378103801061041476971978899483118621892682362533792010267020979547692121062795573522625487300482798827371067660209949238732175815375464447720050441622715701160706982303775569081693294661707029091125290243666624896270704630530284540370214581144549190339943485185201465645733385267852524916308686766459159785349025549442761936129881611850118304714813611303287844837436883152847352903971533939043589207947518189957174571783184280199651558323753656468512211095945175973417458502800176010453731946204357836222283203654041374409228456217641396862136498766291849192027723449882603069861877147952913081320951889998586149269716034486942443843159581408310133677171633397448984570309788693959022546211518158564749276197708874806895588080574233879302505329277939451705604034931649761575739802529833365600252499270809830787729226867065429676797670588868812762745849034357159735687980684005499442312678451877219955827932013277522603518787817139795947751022318004248044821173498975395872158852782420137535786417272119850237998841787568125489000310200251414150100460002295401752610350542412548480533502997836345730991368721362717989881985413350005994959309355162966939105092394165062695250928304405955588019606727029386361713101785098985189622034955731434127441035275790891755667534881474556325594951600547909750189306387596463416026619055406950678438755155140129384080266768878485838483258144877467508249839554073279467687232130298301807738382317402933393919924210822347494461960439661185643110629092748551356843749533289822558496540382635740393755038663821299297001463510693226837843181092526080264598853142106588640368493990468024100475794505982105724513706679858284621503079100373511571116101270848574534993439111949804578339583877815304147831554548727469033365340458169124668620984193998215160441402384252172123110005387441349047767934945207855078366258366810603229336479290766592294493504122818475718620922856040965973406340008360210654320131007861500487330296556032486825454693917678039282942770487380826392051572631260773888139382141741499084405271694013962351837530587707266734598671845516123810429038150551578388365181534730274383824694481428930035165295759247478650829460635433157510351134392933694013027038390036475205465245504312252624931884151220947455813824090272020451224801038276923548289082879108861200785126692884322760285262163462569802970357465868613546411342111766453847175931851885969753563987963825553568093762296710937865799165239368801845733500073089922958829775966887378908997385450442442834561753087199804414365252437629342763023168763512081346446610690225612171996909133788424908415297714329941118314849904240365358360321637393882696373746304823046321546763332039134364604753091805638021895056112887589784455003422714241771301864129247797676095526864678178161395928207818244171908035912742282835605881780683685624540313675427909469039600350795682335123413017276155327867570614871218838473534700564994742760662118733806405902138041355853856725290863011169174500485030853359694921405807154086087998414125481678673251879575535147240813457295837492810058062573151862000359603975784635718977218206426532363278290077234544233653082737774700569634769950315571571470259464952061047003306852835142245553653093301427483576633953982547067947185384544228086824276228833059865920552810552681764482337471168042257577899831218952454853638618912256646387355258334677669254050706309052690258028471915014178128138137577587752793713855152812053130598802442765320635106173715586391404929033367951815658994535844483974158021425200619148335591313894974456741186530014086479050509240630795596865431722953459044784488769288716850010418534356415231285681249511020559769112753742393245203818897364173552577371811972732050629548497042000390382090389327191488005134144602050265902727188412397641250961675081076121110854518703133724802614351184692652651997257164192910345124414956347511743140986922387687334969987669499692741041177509167835841748616911165700681431090462267337918682027908609157951113981855628185739124653437543388924857359182215442830630075551585988276753684919164964747048396828456918729186042857796546886946540776412718921399415056851702526796643569168651374602206187864893770002820686219653146842884391393574136285160793577615942330128483483760430714363825704164348366592689614020605477563681777612334583914485211152039196484919570241482155782848647440643669819960184573791134493790771262021306148058522407230017577326148459739988654807184084578712991017599590745540580538954225415609335241686782639884257398938168580799111236602698839139325602910903985581568148804094627261601924136736264069335735329563918735031484786234945162203105729051919251956622590545568341059067593441214400745809219401611426247958346224419091743582447416298050854946451806072718636497399340098812591994593312561169377497683139334437480271308890988519741298094322343179070759998565705879972167334967544833333494117533417158358020544727473898720197871762504935641559564871297339499983384797622081946469363636123422654148432355412615341149216670695398811913722735373791317085263253032563921067637452447486907258467417072492058777635904853811681057407293380982464655543804133581910153461835808517772821358382855526805434074496441590877371729466573101446446479073623470932387765659462638078856392790608369565912137431930594038172993943663330409562515120790689094653519047011748183527235430064283299993483661468415982447574245946435799211053621309111853254536732279169807990729977326006561232503257188221389324316119927223370363190566174633373804265573604140190605668949268066022572399214432827246604619231712757967448983026480221990223105525912721559364524694664015554759105573147577192890251029072141426459287428239814647244391886439902032471514411653221883721685556325151061813722766317299683446482275070058018079633170451575035576279946129716678878618273244191437180064381544209013245388306786364591128234337326099382597730481895580028972713340947149081796363510593036421668758440793930524012229455324654117225446558984943207226611458072823128973034184505536242166581230984120000680896631081656322173231726189303981465820089057932045257295308548742076502220303430473598090647889754736350921380030466908179830647251197159868260108969824164627512856643354296897193987169351496810099937515021195328747402077825073988417943515975035966711706997983041425902892620066854763479632725518686414617007847664838509304759020659172249708583494732198938799534672222825828150304388002861575596866919126159003477750189033206972697965482048264691758687667686564143034363224310329161183573289254140329196004642735184706799488138036211909936524954026375243312839651792149672968465471601480821387803722059215058462543527988088747377930832906864632488795230881870036760315449520973322230822680421190481553536444892670546433701947567366381636524481525636092232906395982438813914035126586746705959517694578835767804918470210555620435836793900583296742374921790955614633623933549857104264276861183585898567532116402809022827557035550827043906200780415735844673255659728197429187841111078276645795047375929379891730689909733162601241950200021506342666438966077905149029303243946617084043171520675961327453885146565038138113013181479062551552606129655444576801389414122276990675347756860401847738248402909327990076723845795499327540722455098838988460286176120972198104420354819824306491090805100033041035947374326308094137509695497446157488917875585943538797172375321804903912505133488986930590539148453734168568012400106633818170652856941252198631175973924877765242811165355739559164692822506768670057996201420945354353147301396765729581267266117441089164512020037861571418930250214513176814719620225285260730881668808886329765073565367039489926112454867507532409985462490611994004084612011913168213622358690855584670909772214533507991622224268339669791372879431162684137688068128502741936369644290873806502492234648939128114600978080104195819773982308553547420818387713155796984438499608767988697496906734650494171021182132000213792839060921232126467055631388347990838749460863602198138809064326213901248348355030425403452854622127181081914276125590068507607171424542803507268906274355262510320155877158370758695907020039657242734185606496352185661626540228593833852619325155217506370569740503040191511216898108968344514992176528303531614027511333007439854544676485847016388424983367624362901432158457084249759651950551088908510753115337139612149132441934211302258569576241915527104955027312234295080652889829903486932939218182681809117841480600653357775783923309950674339033240808553138680527438706269108859933841069877919268894453581874943826566396952663599484569531347381132835219242291609956321406716917278408640189254227972488048598724567400025707233264719389000225129573133353314845621707170991978322838914409216424919371703966935234455025077746584623897676933772630236964092371557074002826340997615090538275132176116856631636567202731873073270129946429790094687522502481045924060128829140302150464642478468259168849325065982525981445435944474280032435048273423591352554439278458096752360969583812130631326240394187483165923946298641154004635104256414396767160470016529252846793184875018171574091030543400287775884140638325547425247857615311274004403735131575848094420383942130322787120002525863341835145127996907264195883147993579611681579485041651209206548743426122776692634671827919256461438264251277980735352322238831791041135728790524133960125573054710237832435327783953442399006907388683477312648781997009539951493160258772148009491259309458272030706470747201926385106895612874344604307998539341194038515414881948982179992611790130399214945859896646657872614593551137645468025070547461124362416116948536999501061631885647304984365568416031103200963937567673376690459716249863830898498892498219430093315762834231961980874083755806839805556402478043251995301538346622844713385881120230236207155916303134505046781282086672042417620429387273257659096288557285130139669197459203205335923484341680022632879209197022037645051041366400889296116942614120380164734596489244009905449538438103068563207961071660847024852019596716557256679099797182452622436598970060544975573456717999947855620880661033055876051574620760014393698143887201479678264864447637598461325105099659760126569535988625055929525348353525691096616223939891322340796219025482301505751442478532772040763993602752562134148366772193901468534461086460496390351560521944512523352204956228471699954299944571141899789038911153989405123151785559318531829920316326602977321778037362524032717942398559750749850775393031842527577037399306096481298247899761493329785969682210803905603927563464243620289425318629262540755228931933521143570249100956989914191100687329667479243059251894167823185514909617086215468699481575545511536787931465564672369105172776163896917948388843821453690244642459982836241167737038666096856482936315828882690910373364943461468873953354219244151887017130375345792827360303331597345920268810597173340953612919850792877721869813949324526821471038772262446054064268186954984480344571065797779126498466352145776928035708330238763229038314744501708393799783342476449799643676815740287765981818922336262619051383104222887611401633294087965760616104602542457029631333603469145209219098759180185911931716386664892522574455425261217503683504799780380783637725463017896978135771301126950303555833223168396721185513660279817710372279320534080602831689642845075653191708720452201129970999843995912185491974723288115192720778295269868291766506206666874501577760368078817184748279504229897050772989801801171448704668969371284950136682489581594173209600874662154297930316827931306055524214545811053404512384489720720266128828255122940162637808274934855836170294214230371952721073668074164096343050706703688939284361241203625883279957026196733117020477201982750463983941427679431061023798563819139039461769704873467524249184043037314848365777580242313023506623215983014672480893070948393937035146028276178536703213453000641776672369157119101998917179352679646772636649041874096466222533754520947268508935176149508953690648494746200598763764306251207365192490131157280836873711440083856714984307936802001709876489468362445022770299347750634735196410888082999925700970397626502622069189843570974981670941291910676524260559092820882736864129726093239219285007863943691333343869414274975014648525560562291878974767444195597537663836074917142306797339859678082451100831385630086985895174566833879721973843756300373554843751564120665864812868943289333500260247399545544378763423367860373240093458066876403566866072370197401274233551985774445255238060817691098451772031844116265192892155078247696739299475840030943268886953741078675926501167619398089320837754489172074138510359672089687171901102053842432504367097032028878860512607684179164972490830706301169358725657790321677445932631698944123509544532530919769166058907032675441466334962986517196791258782234527426640792947608095244476467146511266407616927478952981378888558004573428271014177917741315901258686859341155960939754817712651549380186776679238550588146633908748248220740163701853282450720673515903673773858575765464668873100892616413732335964284716501170818163908948423061749492880545409317821164915440942201127306974553107918841526369812442142920004747718190214443042477397094481279369906714746006064789943917110404508931695895610018720817312996516336910866580218329578087835335810446814868382310351341312364263841658078591205484847249574871621899363273773518165510042320046360996740654969810849410894359604719216051699374093988514218307681502005112227829783808679632867669043205976996056791292508991461753929305210884698808577008312951173137526412241002941762502043024608623065104904310908490331121249711764764240994193968119120636837654098649312961980798426095083377193624091949043468057577892982640802837911298125297659845041208940135828937704102149900539752334559908699983850425607970042062750993048191434920464952005387796384243012929972310475306230549644053214028898085372789826637334351036009244646679305691850532061857882936406244908063543134226657381185539718014087275579226434733407362772917954598084456979887200160409733899137844509060887739532744710494998542011693196563314954112732644998538829832909123696516751491037266819344967218481088230056861753454735254981379667810949183512417975749779697912722062760358294220519839612563693893735865420927721815362949179065041674129404459557694511414095251309641652247438340451692613707048049864517740865514311451039273106915294724820921760465839670300223963330210793518470173194650853504399142825402307804957779861146448621529110832227327712945811752195550521259393172808652476914950325039198407517900695513413285220430115575840986475546338399274538593887479447709764815622406754129251420358750677343806873380406799839191448659956798560274183285167439249758000316227755997518639136327495529143658757533121544180137826348920042783020456492221004058253495744775454533435082015035687037438600554881250438811060279413954122372006000163737643711116651864878952455088555322033432304778955212448922786178485597939243871008376027820896094549447982868242586262603518178617295082345464118137826278184348776746916011470314069084488227332022401127175390717920885564666316024649589998541150601509973582492202585189937842898466937755910051581177785432133750880764034564792680656889371870426680646294634822928667016133130130252204732614856914195780853497331381358298842741668486649315063915824582338160576595288207034183298501898187223449715562567471184262401784114164641346127404421214172344694406010290427479890843192459546642161268547350728340735635945308503420871652356354729413872079024746289958645119652909728665829109531965354568098885237464208265077896906262629321809319598792409636652899815612433704710030941238258666559253360411790171361168032908489202562045100686891145999256587648674946144537026425368707897674205758518790393019749206955328082349960584881912918946682578790652587612295093799738973982607631529389529601327999088512056366054425343553732498762985738665017197096163634826505790881402810509861916334421437914322042678533865051569577785600672285425540790132836063652055364681166568428566183363923766456507095604245954568961234986729852258390458169925832205808707500275351893940274612830721822417416300371022281083337384548147829362184846022877830490667635400098271096483186816391937381971047153266048340490727089036587852426947963479546361552113631281256945102516921759398152045171018310743250636444057192943513129170957760373429887943645802094422377310980860644651618551616415939527949501068972842813669414996727741661009042713883315796768250326798136867256339650340055412427804003150893531071354003113703877002455653661434384993019061229230246294918468112636796524498633218158413687759680549949778565994596385149978895060840296233191572993959787535338348949334097022023216531880413534820121328964295511013431435640279163281409476007560209878032561855266855248603861616379757488987947142750569933007329725700301346294092989230451355736257227443507029018584764831821885661991729956555160259421838047605442474144609168847806863500592106818146182421417638809748226314109538220068669707525853809987430421314015053527053147112646913777842854506248003491056294205530043747784585159217225666627508995034282482120846512318090481609474466314888735303696026480625325146012636500057348945029132499770521731354119746849713240727746891149071443156494081319649232491784944764872488828300169654857366412927312539712526028982545144720165500848108493417154416869865670580409560436771078624856467081383618238358514868642893473454274624736722722182443751929912001296109676781903860677153889521923970715915328146177934845223408189395339643000579632817308785239851236054885303178157119024273744035605059211334389259589631624291632514279561488810066773244271811753021054227388969393826956523887853113240588677071384725746906893470591966163110074355734547213121751659791075465432790167754858169400156984636648785090404536876435754527253893675789200394128284963148698160147619854032372339439700326030140897872230612022165551477123358024588033178224614667090404684700407787708804966954586903713381071650504897975898796669054266953492462425320681984252527637072497190241920328783586835767659536471016345042466064227730222573586323504525515582058970443591375661340435473133308702711116851141691560840496246661703440128384932650054138415418407807681599664488229622776584368931814001062106914011914703761219202571898815801719980453720208719370910023039505235631063299178252129002947783254458821795340803023070868429706401886570610650308538633638039568199729168248070150289375163056414337454541584057014627100612616739621886044206031203732083403824411597578392419406196331835178927958347473393165046841358366730774791489985991590100015801151369432371734108919152392362490856388373869070077129829054561592280246778605931138672917003402718309335449850963661328370147607261408463524997645759719071627345219965868139810194220961777648190326723146787373069622715141214793872430642172061893123110204469444776179795816036433183742261493084683848125410725296460662618892911261935288807537050564857409748228000255712466282319664346692876929348518965343315077126915152787615366824635767442625696625265164536109415254544800666227695011066213614746315565044049153667355482385043165565625980728878371868056003503585278745889746594253533627232215621431033891990204649114705476063720690991940373607948342976826719294035036742600022200854525857156080577495930336103768808411176502580432720430262210302257320111755667316850006940514992636212506899092784730137703282110976865115782262413719497942289945412710325191525830649429041469283735098324723444933849198575811393842064178400317474504786029074796497726400243225567760519954187092354348596104445345558330234858792700799557464094137434231244150841303346115891690241834171336459472677483815610391188288648581249673741766986875796361147002704430543402509717727224357203865078698242167662474517541026571401629568927565518889678942918759695591414585360229236151722999652986778037487586616876159107922355513658539525318381840882406009674885767959914317012937803921858480882066458263894407275164462993197238683164130982416623260534948500545655053427549507843910640721454671166858663363467986389501522409490798340517166438008804806154298633818217785901654085005645950312835708893047095536041411534533050090499517067110314503656354499696454328778175054626810357036069973720588601690003198446865461350202403601738542804177276277900228901529259199521994234189620265274532273811650192136319839786065782237422757667979312073470885058789226158982133609384484742222911433522713344093250170699268717697618318198905891777126899669688212863607216613776747953833915298370704816627167636396453604465137831244601908124796967011668445911125769179748240730394817944306945002756570108869065729016764683265467054794360919577596442664368639081925933252799911713423696484111748625758102791128810040418170589164171692182143425367997166333882271512330376421378099299310995012093187128695762576212900511068358511386005694897305554772609760775372477790961487562736385853654326610804719761315011848623940970071155408367225572870940454794532872481418956515568942517610648992741751795395240758390273995113161471694403608280790403870724289190395491245521422973461032562472759066994725403387782465176464751468576183111199302466740025670885401538512212688670877525663230577286471300684657182919547417442099613694050438205311949903323286708653927728480965945945958691789213345539079492235194439838231182433967937745136184799011913820383806503095284010672383689152098403733055058334633307909449462995404816182744960050289147828921220578859742610060287060547324285108903300546275085277494963262982450280252742379733359476393510140371581655653453169135469951356979334529721734885408058062725076754700165105854272021530707738666233325812201965126612348625997399382657062028322390035456928516530710146254270540523766807039997804645441477779608063362915425319074296756746488870231361546198178406895878259795826068370867085541575275418568323912900760185930325381446133108877787224721887937760077999518960920058212028493261126921196290468298294932230354199754369082267657896471295546551372285753017856473645267185858859860872264532268784993771911145766064653886000585753264109469977893204761675035736746948834265577932652613948058212203599503611277476184115188240865047947862571248292383477776333977700766616417137238401457987531339999886921866454224552405788382152055157551471052011658704644780293306540974209346233895545439781618766127358603057554264826418923743434215782914344701729788966452626146070655251205282819697093928453200087700145123346435316931496210457596628587930222117663104393127608249190688080251539673449031585786430508003435045916332439631020617868417308437091023979789954524513793142237871321608410902640027804025615362279317849275861477714542759696680787406006373370053915642905887499305762770187135626446551221100842178024285511774314228417611881691492392665653713236091691541615696330598551587348585441368153544087489969771569668922683577439034892068801074003954590035885242475721094744940845363741386306998039513512447094082914540349250528548622948129008408116324681127868781224689463882472336951472509521888581539227884101559224470724701355340770822908794008864497610667400012065213945653929214496190582132539762860472058916223233202658979943417534041166683710191921726704101391033508204364538255488118743088614032371153886464245187307522794836928721389858971375292378780391048251535351718527672698908324034858698124710160314175225317987478184755966937964146035127192354130335163429550843466168722157308123254218739331193593682680641260550841868972755859477957886871765257009005197698324952213751835378569300376554811437144433578334818723027345389785108015501587322112763380083928334376745273375253483761550342346728565756617816376145331506433135018648977651714857636761507509133273438559674684827884839889460421390697190112521913507200588328571240302661270343173372916200512344705363534361662165774744589195594938099181130276613379083373663501224304945636478126800950840990341066236867952427857937913157037719829729944694375129103490264730601807091672784867998849106507092561030007278025663385756677350789764512991363073726649597499863267975248250519687633904964003371284169430379622433480371911078804880841631557541921127394225275122715038528506816109933313509818354011566895938992844139943939238047848186820962108925975364108758503717030047252309063784582064440748938037442373782754569671828247089280454306705287661198245076345703441081725638031512822454115582772912044049568840620510310458281071287917120481585291370679788423950644870159610576266097975836358244723266781694485234300368351475699067022591474123920601254209113056918395296684788405430744394966403638585524414615700214656993290470566003172945898964191132276497848879525325562694717593548533693945594880152494218477707403096054282243630929473667685222600710419439924694249230481125472920660450509228059557664898197072876675849620105055396803769995639599001305207535218362421906005937743587538351983676383567646326727460845284313464884209725958168259803881346136720183323831662030484422557148645699395204149874888663179382104620517563806815509195198564987753768344699695781381089304232073235712230657946963146055846265070656994269367690884008813150870829346766078124093155180185191895609533045810980933527235958212771989799773531350116239371293274560169077223682498801635016108306654325729756546033551903159089524509630841921066926835214061286791487279552388775811492356128923129134533659450837654040363177897616815311827625815537312740398176225117727935862311779810800199792713721107155956754826483801193012844675554798924426349477040537798684514832239731362030669487141143735267436425167418904200069945473439055855754471487232301193036939234566719425807946776158495720701898036730535232279868948466880146181464580701004993481107196225061240017708057861985914047942853764087673246579834752304007706502837462178089283891741399031147196301906669720092895310959138179101580455416098429981237828546360233744020242025727637783448899617509757474985510250547267114415855435152213041855195511463890129359211525112981625533028483192774852053741864361458726762900222857785522797815027524268995058010121705602799131933977644508482449061252120087412138424527078269751008529853070606534526006933293546380354094587515563578651170169281112456464178468560360658194662329295510794101637786828582318533000301833103055096411097437337104848640994883940057310548198633617309442112071793482688739521444409685732901641824793053897938480375424675927664697243703432120198439280153734884959022894584025727208120159055175028867499066938400641610600334446197686934991674889894491191407976302359982535988042142337046275095026344243357051521497578497256759858148711918303320759622560211890968532624032844093443750339988616404026191427894485654774318686558808915616215262871995389707924611996779824196921030467401878885055064573571768386827623580906342557134806375249487228356279351912808007538337100589706747507459476223636322419025417765615979533574449498990191932120399036808018710972352015937680388775294151326881372638184435287993256509825258784111142846804599358677897402527384013959078575445868065186395186771611124073244248440957013208205246303765088733460433715054017047016035406187102704181567850641897899405953176440360268792024213367191075403798596257354098362297400159245458257586699134548165600098804338950940312695320361151529451000515846217857439450792567096172238899317684697449283181916693479014717919363766898614974314214684022431470004648455927367333892445347545706734512342457996633495941187277178655294465165266408924073542540848035761512584540975831806794584217355000589534318802940564579197715047640246395575529048960614313636490044725260208819715858774868443348882894383082235823243060747479352882702406024754107178649744634242946529508956963919926555868799343327865295975037604215221563565489657503189049225315642046179986289421950958584435439117570473156760430802401241177788436893223302441808355155627254669581885262399518951056846942181963161961968657500735153906798948394439594762000481935340713275315711122922040545352459960849670701894483443297240160268548790073643032238301312724956282537804361158637561372126847955692553214268183230409345799671093769086053127680438238356759717172499705591264952633416269846464993942369861156755270056820446571057915606966067436980040149185071580877669468808811809714361723121593839794721897883582163638248485887947377812352372353916581074488815997678479062091680875077655676617909363050391422741970406622397557977281848380466723832310715737942988522233466272407181813853237311337706192323193993058196596561508043569774977347953113772518016309270871487513942762649902571202148503621385543280133457640894655388782935299444812527601751946160962317591366836484612886821470964460519947413864681451241926613491743799450849518644027659949812953968010867857185021989144719069818241093111277998383233030228570197608209072349336522648186502706273526166854486744194627113962615280643051452390558416525949666181025461160656953952951035024171527628285468551156352802515444078262908411360884947471687220366238127114329208525627815345404145462753551893319829995453785618873596634371469470431347719436505831326914372674136453323391143893381421015157805533431198922385429536794926657911058548253785365145548630240971353148155051893912222698727058537832728615312211080512475101086317220439126705156616181208084578727743843242170135214715124975041921107503449578292224999686130912486109735481264917460440024734468523265214638032684303931234004254870294042253981984532843299347988123234776122657988451366075097409754081558197499672745110851306337393236309241101859515862312412089333273086769901695719519949347139161567816053597707155843823686723265501525190966588053435546555404494174792709765096055227153531216480036892419920515895789564153860218908510946641310974387627097508870291698797954995370513056062340463173748783098151119089395784184985661202586679321116632007115240573341955888008226896986410695149026292388603143824444863895086473217758834207429512713377582419872162081690218596893583353838222856007635160138127946655357867213470379317216550778698288182528320861177299751109354941520209962647414025136384342079908677189332426531402950967453712511307968277522137086579831325364248174306465463314997366424129741983734975433852108512068821236564177733109864264149958960233532769268846354326696383363092046396055684412482939179407315275426237596559350965829502365865222963189749349934441861627702134904108482751185388349309658660415949613553194748083168068512956500605239062346482292404565955896685531492336401563269002855085899439946475272202548824024890696763110014576158598133954120835233574038773857740318647873147400867286442590831771257112319461475494489475072961150388956171687341324928902995508168946345523391131129965476207673594870115786080081051117761374769865948808521425682054460913543391025527775732574523200543334774788052874687848365130518323281107893844656141809883333571291335414103404590121315232132981231950585586031459057747223929003433206042311975944453630590666415517701355339952627801835000121145163955603481683966180751338487523482554149908165571506286327012685714577958733111039736054299389242033918398777467947271372013930678743418006480196472582477627021246144052238057986107327641198031495908047494667731266619055326555243011457498518768050403666045045268012132591004263838392089519732046244342608292978535979699895685446320809134142359913425726450792526078917789130014961244981423022293674028352325358873201259304717548427624282052821232523655648869571760647251394205741676320573131048019525464939259242046022677769528488974753877946372272271873388674132072759343552711717435605901139871177574990345990576703323071119450032879908067086046748694481052660854155246174675705141274179199410802436452832028796642219353142367942810845149764530438537580565103048931211348342105194755331103116446892354619546311989438529812505934848987428820158293430937737264074987360051568712901062882834959448230889357006758575678020538033121516622459070814607970777872669538250456002162630995747744847680257184633453952954734605546009532064632210651463817205138558801288613750268822505782025250729128217721687320756589979753364343298595792315295234097911240961632005242918207550861600259680376059847934671054983427441961457362466455752881466934375203999262284902537305780645217124202702649780943939949465846847765257321100707181262044406842818166363096255522915923596972886564519298594090364051095523539771272291131834389444278057637790141029539811452408134020829754489414691832852596041765358672305522207546713651361220756445466265331417406542675945431636435983682286570893450800765357732721454511206029829053854627307451364413294574266772791656820928356350727788632484251965528306362803653068122893816809117397828625569351462894381355982097125696657640712947730578843198211701500380143032868097952869154253494217199458456704878345777548003239007918780269465300505417955380786302209858083877290251283544901643431512758792810551505464443485461537806585987692571704673567244065866908957294994625381158319842973032433741324096544867280593244707597577031043622247323335027481956328841184523466573957957541175996064644692507818923369625325198951089701070507785803148159539930922162838987432214302148502361229785842815069950575306094321038058872065905067485980625767349011141291253966172573988868881099747697053928582768763904887367705101374500561486562721482941373453751650652153261151156339707548853134107912881997244711374500268855826969630546903175860879486628113176316940845528023891206204993966873948234170190634826941338020378260934084600937638029662032325838315857640010315162603237134669438690179045347651308838247828291899433731091204000405010010878273782679513963850269482072640094307628845162088970874687083576615145840774804785387098256431364004409126267206613501523718399502053686222106653152976557766875542905166096808661682201452414085292711629041517285467633671190411150443086143206246982786037769394644217022967084859197481241970783083568036767117999393610919396622956984096869418200787299381255581712037603361085225947428305498050999247811360639287148587207784195980745574255403718296317308632053725730616976079466713217746406459333880462032789417735568552281445916796089670952697146406542159895197637191532423626221208843107771958974022699517525974452628635278021461509316642789035440795201472140146572825717413550608161170232445478810236559560444340208329728519890595586268689108505914610165497722051437075341836166260169546903421643047843438430528440981783865038447959367539494428538610529011190474583541900287507428706381803741284386890812221417018387992011209885301003586389804641493783285473830609482213800855514248344084523126804382589214048355734686579320211611320217580847457379075411041238752233340941901030041345863476015912207589620762281593478062761808051186339546621870051415330001443776279506527419154317644034707563178435748458839457997517661498300474745110935658106339727987263315932189895980244461847027816400750357280224539814660501703415076618614026391973942514903181898451614432253884611805256205380332270591460661635777368353125945791381799082824576515288809541343210302066743490020634512503386126270812862233406075722434836678451607907884561711734018408347823153631381296848486028011562617950966868688377416368058115543573880144062714413870859237477432883816522828523714854240997293228955218732934832832863439439765859028654633005576734370251301909369041319818003187506198443792043613817514466855101848985730963740550072090833662647510794289686815144818558963243482045742540486070176737982302364702184026204654479176379640464386962516145596200840100001257840572130959842348029218262063896656471174635370764476216522193914593357981035647763210444329701198506126457736327520017248065047129837925276865467950013638702181075294208802188153738107638650207407367986247924661779439416206398860083858439744474616576889007599839622882577573366062256304954109676258363813557996872106824602620988412509835998076737936932450746006142301173890235717875173383058255807734884462319095333206785091415410822414976658633666905155976897775893226894653078673690482439513029385873228750490593436191532482591937896113330822469872465524510233738374651859695815953656488669670241068238524160147959843646538540504677169804306609106569728547263042082626018104554261441691421466215922644080125738856233016229648275435097572973593255827309095654321957341226298544674886964746466854171103922548018690761594676900702214110320227865799497817481819074002869210062447172116319478027584919494861463595316156739047789795206498210565566593695871643370163105769114744974422993264852801489241464854286289597586297698474432986861188899545367987236350219940625787273819463569594601825868801977783838346338101213856044895924883220615523812029697125753112150882648535892683180985427711001868216140374588043924250034064367964166475678023003418341722523152993828043283786546542282946902606667854487209645855621707397971025351099043739338557707244420174071525288782139223844835767427665522700605731270531895874032346272955640946768274421481373985028860334147501249191252719173059504781794827854768570141671239700324921667562026819819639130185938816996385005822603328948790616843684757744002410176063476053020096987042902553257370953269435559442586070061684995150543491359750528665236970501171705004289379816210165726692050017760199949804726128142355507299434661031157737571954236189530824645042300300852862894487789946288488769982171779751423928966614127016319473946773480332149878545514536027581513071201371583203828422575781086183551693087580229781651299627083078599235399724670103850183228525799467712954086905563967619031110048837447145145396684131026841448680818467495065441903746705461654716172148552937199691522302343802221401703569043133883495021234144509332427200793513226041224793162475273556688148965118183995435164849000160731512715138185686980038615764739089014803848059717798682363878834891083851409910291939759265648359075318279507881045019359652276773515781531672562138216628236391678240256033250738694091431917429886123539563016087580492095834486624314687633236823052776519502848008483163302571016074984775066866638972349181412249739469886584314855723553404415611429068752133685263522105370577527042957618149974357225841884547848857307574118800226053382883497562689689978397238259948104323699275792716019308797079539944194818597774187958365618164676389429082131304645273855495175783496579388809466239803786531279625624223237713674347046845220239652513676073827747134092456942816467958636905728851134348423560958008076787544648109645558461938757877765636287447203401797786361074202598720262917811893862652282250013969949407560369994457627825338889556153882460871367572255400699916122576972568832585053181564275651905390541338783024994651987026344959407222117560011460303255743902909158965478781494948828591342052309855046472224459148932633932734113821410095324723151782821708622590349618488054048157444322053995633295670492754222648387204099112080613676707696923191150123132391782418136787672480046081962823980855562716290623606937989941392053740112700679673774872170124386469878787970972499732695802713964148813507382992766190907435405393751799339574051768680240534078508268347870524737489451365908814600329616481296884182442253646400127628630577146815211875314438361153373471138562225726111889951875272976137116330111224782242096919730226327608197858151287409849981858194884909146741967975364533586604438265381958275659873128667246961000414455360517186810172120722992323566371443391624351297473240704716029709873047299312804174509073687744500369976368625859989182691662053318251876418060806477697070394368351478094054773785447322346940943898888568593486131179614384843484282895579052979959878099540682837343866030118046265353120247525754617936188134571952080751118454545150324290557817878999385990399611046705655517858850430565076601423994446773861647068404296154174032812047602796002359287266776538215956446644317167667979233838956551303196987835785835135166520184268183644700039730819335724240394437519186078396765661429222888201334475356418260505542096929520989858053535842727865896357121231098811809329621244343502620697587827947213615241130635025419914937696115712701248828457538461253461616223953405690813413304460021018199474343268691991907626533000418681106189485524599514131155601342965586256856461474815816099294681974841368929716797183819217071472030788703537075578074729989823296926690523867150714982469481272157688269116672652199008619077162849470060708448993511942809082226504337955486177510225667415320149850888533327648565042083960615393912207971028049125073409493333213698208505379458127399275876635409125044603539085884215091652909172826642030946679430901370844377451108128487800983130761075577438363644434308881396210886929743343377264607071020025585045854381190953642729185823816435020937147459380496609033780996909758989222807052871511487680698657026217709559851906147963789880200417416143244825519785139151802364475951319521480476430439113507749249606245468856910741085420129010017293057164931276709369958699936996643878596212343692175548094089308908489909544301406498754054391223883293359394383186408124573154926126362962949016486605321005442694887228171855695905751608635962342883512591265937863385681082184598141171287192652099785129344672073024432552854290595495284736136468086055577184421142372611988313951350018565290637000477746247347399099390993883489912661236239008605879853920518307640090029077304612450765734891487373450780590494765509102266554907826211385652122919898886325953985302919201019837392524619325896685953819010818399136238931791847115626504899974484639259862764945781008048594149060303192491870916309703220520789240762853801430631823042241548145230639246084985893550539934296492669930747784455835573087010471007974722202071875186697968803347753310287636176169248968324653437881124879887041640324203311847838535100394469675152442875425924110747190036820238172556220455066154771628511730529769960129836577796655184398043713999713263343741119413059110980235738991094043232271804921088159913794656741864551611726394960629845451644333196582174276898904184269963785086065654074947019289618236682402023862058012578609627140345012600021083292698857216977560591530533243562074859811995477145188380248641612648098717325728634533187892363707177372581428268433976018759962327308710250767365361525204153169229481685342606292426561310036799734954131931787248267562516746613926093300887493551264414519617515362396482621241561909665624012401714076230356397613214427852805121675274730122289245227451664542775527676092032172946060489147202775250262236112231414990894456855554594296589823806479273222580832904162595605439062194206874816593899504357941614864674261399339689822390777468034508053319345855011399039652997815583820838624377979559358793632614991202215693675683695102113570208634501541274634013229939384677182490489408371304893710043916386460745768630734783969824741262183208487595353057127216847947164509897455899226476365782129904326581799413155633479005016796676501289900182535455193472716849166115492130641503694695325545953265607920217464851468023142018109902499568586963391612800190628037766137889850843563937353176282792633347348881692477067535659841324253520999066767821000223033718153081590752642876734591738450318581795730910348417833138516483448056498834461448522736272170236967221528177205119665411623286871188532401361841029163965082284260195113873100756104326429110045153029293167566565410562713441402359254746887822745766104803321730751214935861912334678299326603144399875738836156915424037735788627220802913889153426567694078139237234615221677841737587799666915675409192078169052734172806510723896890187721064842197457600191842141177731539079545179926416340680526955753028649699056393813422679682560650631787570025046350925546718413158051049738757852809861051746710095346377077891441106068914499336330087742892264493799288980926572528166044479121321951584839131213993971602826131825250170007218517170238392779078456347277845586498879344110523546032837963228561246507875876784132711840672359882554499484021888284986779250427129712501577526364491564439376855565471926809801768929283017894241546524477093597252401481089278770509742557700502451667042144763023762902451829844972501302424655990610272408308088461586003644922908530716427884896310950157768202168337137723754708878439779962770609687928820778227603630871023181730573127713395043333163934791096761080497081521514715747951241278638161119127866559201942905920125155585339053503769652883729887134381780934498054292402826959872886323220396430065417375575294717006991040343940327103195138007495656774366593916659614970754840234865241374795278514369423834468664881673803212482497706258268637799450159659593808796894689520304378595829832314759131744321163651104393787826646153200816536158846790399072428166756412682833790643414138940896942751279435545704849859524213562649954571675458559810215362605699343576062003651594339937213951837482070780385767816783269797314711946242358866576095825600502681316558878097720541400572636657116205435315897674413332292222005431943926742922448870472954460540099526269726277551867229289566340740271464212998530264678936646512299242417215971745331099843355278018340262296765783228215452271118115911224956919685738188165510809851525730527043113456197146633894791275494107429022923528886522047580988581611350051757951944343575226394664877097534661356061012544174766619877635928784271885615635937189605968377969832552969564327650859580074363363917711514518592488491711408653528885178010217502967184569163049145070181806221239445764805757889835609046591068194955936705006216694797091562471935835006006053424296768523919555660197584516312581412373953558593292492812416060315767604278323503681017444689437605155766122120562147814765562513655652748879844208787361784038893666860536324482557646031685100767892131961093229578043968250266953834975693956282626801865410656227517033419512570518660449778109299968990146857459866581554449031594766090757715035599346462630942571691288651943011637546933720102489571924886214651975308422736681522870525325821995485349847450663139232498034291982377395765524949697653334972082113974347077889134406060914293157999005411431141165617751068834869167637648360743027340370670575955997102623986816851101126483541161361232499427362584020104777569979242189544233086519189000152090547550061072429702327009383906586879850640593328660683741839942102012080864807411581195854954281420169558030112321210955476490613450605212330846388979542555819916719038136394699943567840061611374936626963933170775940008699150722116665892490358951486208440096032961119535664483464860592355099614707823522265007380452164614579451411661991320002880326824671034103003578136752462517248159296629302728465773831306810003923178959574594585573977710696589516715089126826870542008571192072051046748514863502338619995342007734399084940302459613678307361946092916833406561606270616427801418696310472029943648821165864583256769200443377138433753772328059420287187297832079127957063482151038745142471651440444939372328386457166391365482639984416754826507004224482655117044313513459485779127090662063653818854698390648827855353048035229024193186022844915857982309971254667844469157342003694969467086695135883562272628794982219207674421812096207884130655129500512710590292649662647387276906785290286939686777176708352491100471068683982493624517649880658376627180752426407145613557756990238684178152918707955131635277304978578578223436515393324002314433357907383800119819107643101115278918739494456187977172386768338192098949861338442124759812808051990463847960823078429762716273247258151599137941764247069911713438746111933852280412429640153925242220581437589756128057433319774647962921319790667823189438482988229105970287904034129796985717341488845156711588385942730787137183372566117842526259871026409549012107101250663130374908227543108499301647903904495189651365758858032133527318996787807032714691414369630668738608769701667283728557824653632984414420537971301225705838300276457865954628000538019235890282851120559026612316466561243824608587464061136242685738383982068957158274194000875971843407762332082820971720703085052600465315549098769768399006146747211037704777269603727921575946212030183649438978782653050610676311898938815759444973174456088197657568055574930581314975868620211835166767805026016266147544893831800848720316859963576368810737872713989726917845619298010129696544927629695457465390696528226584807696022930781865903287403994485831842768111808836120073576279713193440994357567635212267788291156847592960085384061005677706814218478800273447123115944220172340776571733544041552744874026337272485099306151818330183079498278203412664404213978184068025659594685259837939704581095083590462043750999520135997458428914543336844909484191077196066592368856389722047195839969828407928995023664712211193132899027933354704699863601918014675795981739993572132817651513070301663350740185939452242611762327876370042667686169025165394523147292680453611918928007668165401029961786933745662637183136612983424418208652541901527174669648796010526043165711763095281996490148293675942338038502092327926771012677930567512125842782416994958331629737043822438979800764924957552269698118654598500066947274011057816521692988731772453259449348872959338883526565147805220793760593095940007137932159497183930150326697094988930939384886528191459050520194494153795789100775609822283333252922452897112577948585492892323298790134063438646929925762405156701797394993270955259421662499255198811463689645306013199620775144254908671958150632266873989372869881710191834776921334318308744964628384047962440194046815232927267758938126510244146653637626578293186042210472671668209947731652248973510584591813412149823032679704565963080942445073040164884134466691089320874770794189711886493124266918922160307791139770554722871011370815263826756902975053634082816300695944376384179983181077243205721430058574617038410497009779097229001126712135229845283744386324615828980123280411605541492214121241749393346781353931355699492041868002390626358663899302539386683814572644320435094316779974046039713719734695236917712111713705014710162936446243491817099927947022858855296742527647622475661713226651768762793897001614425951054467091046850300023973335126171422650846305803522523815526650820368419241070885856502055673511623984743007535260208696929584589283072190469639873007011599911020840659626474564600400569940089168135645102402680977403008057762404958422642488541936445998173853062925886685705857408215182343033515011439307994831373228274473687999972500923736868385144959486978207567369474813614411195775611257736402766852446527254980703376888132320584783122927043858370179642839667602459732259097491350147920143017843657654799863659642634818003525131659426982622832477208902780250789302609732964702167837522191912149583393934472028652964024999416157333035084100465347215212296478772594190487480015224872190312956026790463749918363302095099427666321917068981467000059325955965945056032136110451584226076354728174871506979176774330702916779022697405182117854150732404968211660221133885531609018009249886299083827200039210229195437002783430861378559768630989938411220726292984335977715464409269651791625202858347498791461011409106238144336808224275111002506566100531955048109933082585299356453892981211666560143241265970748317125853223560101921295697754117575458566669022218374370600782620964702944944847266018704010184267680307141066705976377969885280545387628733657335711336722523082806983770101226378867096642477174885506302774185895306081814652807173541246842225451872596958028779416879256920441775616207683903376033227251251035824895763741463056702408452364816145856649707429897376841150134804046297020030554076113836659316393613096322725937328181016875437910354510293992892664292850973022648242187955241387229392153086529023216805215534539696697864607246350508450182564974072097901797467993874194590650521855766807671063594449484587137759250570568431751594085196076624180070536584242219589547686980067143935781001333157654602268050750712704418015728716161017056768430277632733869370366328062448370629263316158237675438084772942388108852042641681320916801702201135768546663160848781362901460404520657926390171152968025582403819543593677841508596199827161125312766819116674043313678895598606571638062250648643311711719721285062419521134648307624671196731994636322114003892782963073826480156802589734063786643312837472166231157420948415364679616239717565707605762115823766030141873521339721349033700806699739525006729874840927732249520587467685218249022366472379241647814746670874255953824080109266253854547472099593583149234738783365310912243446902624375422570457958800700406378903300069335509417717892004559943335367070601720979343820763449924019691189685240393461252612912684577258879314243628892533215301068440496653813447417422506643282591468733244723504266904203285277068947387189782590245771331436631720808716726969251735278688383085745391343424486557712300110164352966566578076332740663707411987620920814569909665854209073746034582031443852030885065604274400283712788388830435629301847852130599942886878781286959089366580729775363567861525210873019123315841272994081617454229888319199049372544547107097165672783940767808125282533483543760151006729540775343651885017140855765404104607908650070743046412145299050219150716818259920523427473228389521578295158286366315913719802577549454309317138913169852584653492066858331489322664044597241462313068796293774486087276977813405948672871760566573356848215605446319610822071498710067774512245725889525063216702348662025823276416355792606109100643327783803819814908059260765875414521843535043530075131050903097309562196663620138267435579213910747917915059738831481053990252543894456801340672469524034397957345248142638227058132173336399883991377711311220207227729407910881358672561081233876550848753868206016641581980696618227098783022380587877509044209491603485893477638310834286632463037391912821941455926075799474534496725531371900868614380950524639892800668940062379678963866463800532110615684231863875128330608291563684355997100183002809492908867441480272578976337447318654160346531159108405246976699553860533347839079473324711540580314284110223887539608455613382550133849259341850957461722638855931864017290870986959606392545264317614265692746897088530438767629130029012372774930222742667943718056828173740060699842945629624248920160862175079123909923985430103310807815285363383085326848502295783228419559364662300385123076131981542509009078487752877870968894854347411704391759488727084891453485749455332678570554514243789385012478389511905167375207827342196416014791962829651611552908850772840255958468034741581740466031848909719330163590091616004052485889197887308947117422269497074579277701463745677999117561837914258529509176772679751564696302733975427795466265350026666082559628224986830493138049039707368292580595446813574462292382033278589753727475839590084401552277900209442830287462670397371558646279327021166988109161945793791046890861535850455873128654904327258342942948500982125500866514611789845134118130002236594893312630710868100168140913163169315142693715692385823056812715306182657731885020881983868480934342584701522722954210607609162012493158844607657849965914296808097658354962180449048718512124889450334915826888888164822407552370731131860828346849159521194597400957086541371558211804670329161933891937779791968693590154279566141513611635166268498662840979864087448894060174261234020693663024025650273258449635884859477170849701185731022618844878874688637871529468552577597652534413337205796248419208401087919569405176794402224086110728904882436899516696411131805920430602967917615487504523137319917970875790961304774487230772873104731362302251806316007604161177503111070007901774629996413806419446597875093890979068379995488035966071761489724379232890430271724104588366774722448174417614038462505783993619764923196453398455666633477457898801488090582785735099563459119037349433096254223517344552379318138962741976777011114524391744424129744269603667174085877759238375002924032153800921271663482394008827330703353054965844046717950049187109189715137231712248998670694414489489114114971369673896940203484989298176035100232336182559249497606232677090306835391849445637216441651962895648315681326376619801588242392845433361084245991182939558426304437523152692938724014928197377734394457923829320559030334422969065658208308824721853138657856212346433857783769503214168382745890480739184685561935891717131420483865369464869682002452911859198533880207615104044040090677914281568358048660512417435565930237445987156782125038024949846346183919603025546870696574079895356426077599423483169455262271225563976295508014909515986305586981186543031920476001113285201926254823347454493796874367280670811329930470525852885233036311793213961241088040963980361933903138612343144543803712539481996555188907388771684147195371627514433819932392582315057320418894736349053879000477746207744851698549161830667837917264680454652500303118307395576785757671796349641762509540574175392262267661285508952814181585614304772290400259794241464850776007499745576410273523521213829581493489133644203571202478791668837876481366645114480932529981040475093566139960998687441153093070320666934277433375480574236849290347285237308414853592619439698710311938322129618753871712547140739276587560244553674014271148748454248473421394087286005567039881105490542873735582639699480139263643493193049356872213289529041401380956337284237082110803187290194944372165362626569895147136946264816754505287768032463287060141889716383936100194101674602676506352586150659147268894394167700122414554649856297910436217400731745241646672669012216493017398534543728926221356033970028026382627510660479893029671420972825421457324895126178297963979228166303204684800853376449064706800190033495118868743707608751337094561843495533868073792450719288549634367524516188493198051998981294514694839144108278215663167608987424631735478486177682220922178802890662742153809652595934670448189241800460616677452717343650198093635428563129706570654579506007434592742611000563077372509017870689394844444931295561495969988425666126503209648828295875187669960616756377797907353582845421168090746811155977728049139682224650967747866655659836423182696537571642414356963786183962962741459078890064732184656866472581283576010263756037529250945611427160533481062268367629721110424996069666697774043169804396469741325027984834017967743311471787231110259766329690857971151204218544528020559974511876991073942568323148741485797076258087884556795581283746536979859734390185625857398471237678234859152510144668049197192621018494913869856937668032056939094625799404493918226627134309151969094046488801438484287529627411599217286697289076020201826083678764999266847808433925399383525041890810430340183105385594274126921732303165891140359703583984300112325693189007775267370132368812553954433793162136606151888400744669103898575512840267578722205326485889850490244850494854714405224763714699652062295285634932637871790816669884709909890348245811587768549455059280203073178384465113698467674950905531216061380460169380699403523428724103040010281940292287977261685696314274820128815102832669482962549093024059099998190698716264588516386208259890129590331032530520616115344128674626127110571122246151215045981398459368628545435343820314665276780350366941539387076420244677906525591335325621035222173258946981172117422301719364650090934295400236716709870822675030897316559124353800933715443235502537091814509606272930666375303276267328296733104758142023680612779747569458533950704608835464990666772298953923192678107734779403339264692086631366515629415919214573689469012715478161838337793450314807340033843332527887626094300680809362854180264309903653797093701377809071215397256806267140202343107246485586068939435625813268603399485132852920903420430946292241750494603373309187467039702904104698268878528966789986828084866651087856312573843148498203539933255080406391398930162331765992988794511357666562067119018452121182257777943438028831371647583049668870307118487616850062486037991175877323119723835175490740184493787631828799699559422576248428767080915317578490543066159244830244452714685023551046756896097298573786944043198416366255986312229167119859406843353501098749979274829053787486080222739771551204016303833117684884188365734788835598331468264219342414169998776184617677336793052974745931605370555081468409503694858931124322362880815373298967986551795182762780321018925293471642975949703875577428435473825883035023974814389857533385499086192959877714953178194948757173571571382624328210169283530134435794677071076812737370728665908370591817125071461012664053590977187547828642823551361451538534902913710142431998748134874101071869412006309986545695601181075033918841742977438645826140184902898560668675969247820895501664706864832594024683998718729437593653416870124591239743783409696759177289289457593029325165537807063228171064649801982900160651356356008073468431774226079254500733296869890526376160457345733373580779089893057240543124005285341339737458364474675392540483473866614537608232452305867699186734507721060952067058443873025832763066362160373486803502651822460786074326015476498978995852966826315181238496907848881595558319869943100589898931162919920272404779211883591706548320681063133819683280132340598245568139210514525417272982720749900555502404618095168072738868500480242647319984518665778420688618282607768616487672996197304079072405937038199917763703286864851980173325126710668714857435114716573399893913722037689649656758204561621003315393362446697825743266136471075107667779631462892843255164397650548872179496243343052979473681341153762339032309151504913576323884915733194877179740930475997886335050516126548558119450224554038365807355458620260663128187678249950283011782259456455226147115986711132381454846218049149463927413515454450948767866668446463662844337862794200559420383723139814776375844824933657050243857596977407935391721072675978991056356457490022512231864614183433803505989089344646945758519129486101789858586711539591763126371529326549852713309844830107539152938341817407595651137360659592495590484211009932320590500063735643351672798215178680430845361943874771154205493010706651733003371035970386151428522232943539701416124520340582149924687012632858853658511223016344449209199011453199395470851567192412029417235138835168290631901916365817572809607534543142550604976813197466416512030374941789372923401034771945973069773074940888721557419910077892345299486398283872776483529026854981763565656656995419934580181294437126534800471445795342578590876810760480559376361261465358203996591853157954969163898949701719111335664978445100403689155039906938249516703414189233185962525227082091527740608594609716295700252422273121624970521058613059322380364667077271640021971833485989224925547940148445123830300076930621645208295287778013576958026252903433587383911876988580140735005448801472465746925874672419020846187563936894465625093635618542237079940225133675942040720149899580844874092876827903733572650393445457881938474658449379652426078605878875334877728335296670480100962315402965315148775849841850218754722551848384072826392647771644353179541745861270832593768221165070725922132372604761149853511591995270919151825188356168103130428474230154361866390386236269662705705255117093887140199509607279638454195636298989553009980913062715120866818198697366665361307636808688246525271624162326142352246227279064377162129135421994219447664396636270538431501359499913465357628327061238826839651754808112922527505836983707263566700979278851508613560365530651133620258327712819164956370943216597767820684659868180852971172604592041513452910182946745040470471334121872472915844925384004052928658590740115533852752753589928793319223068635386785777397713156169416616937648927349911547436055567749241728838981068978524926430268899165498099392951085364288429428411205241246200777306712718614685968312859452492939579695475645048595886693285474615881040833891884710924087805257952325013409940996811187270475953366685544840060879818535056806861074217319173498283180033214834259468794056822622964504339741209812351826589255548937515279762430345125420310320665287466061888257788939461153784084312720315052190950358564939685295250469215542023390890374324839896392147003412937174899595614998121512348688551398728865875231155369032962739893364440588334092176422795729863649033953653103479745348211468875538296492378884404856605952491248323324945786326792131559013658563294495199804727969843938167766026404489072506325669957784332787532368506636444010824359755843118574373302307606732066682556716924421390336913113431101089206931378069506451113373495073600344772326361302861350756190545702302962843082186098338044359682450315091712416457238440370533654962770663384287825770035643166523851020119210268186260673061416972689332195709637412042141124685104274759106969463277354627738877549622696022110986661191785856147998401013859741874973993295794267259114387401343078467615819008805593034949235099541982379989978852211396176364684420471339494494246975803351599906004736362448126950282521754772846482351126035893771013723912575487971162140425657458277320718155959473077991297266210271978436015585422841062112690115123276402398921456142807636729750767617525570039792040116225083571655405604682774480078834972668126617721812692147965402334476832267716417308638312831104340834952989820736004726234129284228707867220695060458798899645974920277828167283109967191771531377000562350099429638264786643437276753249699943633940250105055580150267412403383186859072004579875938997992153536670894300692819670443614379802181888935982486142934942513602387272897017055015780893888601566666799137403224485863196128002148782929653756393025003036377261222510403526980584625948270003222948633060647069647332392468081345627998326166337688497350090392963070293725042998802060713076995588802388380755435719179014945899345727474524279990007238049528318111871538641008512240138803617495116505758263086270876767271113273683347414616531869763780062865687793476702485058691905360952587604698636756360286026258823601188295112206311230814927527296942550115425828152179473329060533440057045558078325045030861949411128572842505080837700440209445275827930183730072341424144252388679755647407936616347338307362861403100971396005574338731535682429973137086251765594216989031404252930912245068619064592647179020744604337335613672163123251709276295340940577309367496342699797188146075505353036985002613573325016827910763797744574587120765495469821845747154660046031258322782047192624063942273297912741558354560491232994276483019140178582611422309795497061983258806579507098079140579063541718208596749586520959547256670884410984765141777017426690366352915906785268810344729615002726134357744548043946404615430927913037989553450809295572863489503498133203540429888484350051150031124651219645378243871238912544276539771911140044894926458206972339712043382694502973147669825102457943165668695811696462332833765473860064046765163983799782409597058082195993313365446382616807197266204803843757013966661478578398839836127607454739918071878864527932828200472817136952721359775857248418718403247847398373922045795326053020437014419714559825077896321631566803070976209668203781435987443522107126651470362026676522310752806684117308178616332704319658393030594081949296761158994271825276019324992508780317655794225645540842024689984307829082865510873236478407853360827905498121848960490150656506170577922383066891667911657668713963442170179422332946667441051682676745856750389801879289259014351852280434531733964872672041042044982403268156818039849212534258206676997074979494868091439126963648112141580430432757778105514974724925089295279638192877385400518134018444112250241924947029109240283349600819694389222752793748634932658686566634591548462453179469095342842043789921747712031187644735150091588941806100153005627635561655209282171261590536771176572317963931487083853740599643870313409650204323185097901102294101728827079073662974760759335439529753104600661927776343475022710870208931989554162270232907512521497703466241497004968050012024042681880273065765497836028466035598809297993777852165956672830128432314037219220599727213887149863458149279099902747275471541007194169247777397325806308212674772639834377315853244286159596603644869336125659767980123844108049074568338653590231506153466157196934806475906879453365456612143648439937902459123903552398700394021891387577210937886594885416250170535829608972225957338401501130210341729466081623829889259727063555253783163098380073099211721667156354755400554606523844451759326144691014194423214226844134705740068299627311299898729708178697444561135280323611598892921650463822146421713682416221478129887044210775509853729213879417861489478760001545898036074682956368912190970460825354948378078449195234615740974276684484208148977360892096178916758824085689000656201884366884055105819550303090606133740766805629760296954793522537761909818082919256051877434405021756623137617357372972180802086732240875253510822243353054194734271298246904229671398593199463564397574848943045694864508513299944761420916346939684618320950879569612289350339029723033682372937101828778526307567883273029331318211854338786769366318333317008498286344427155770320937085708354040074768608247643631355955559641242308391487131682902807403939711665772055758988821740732587406842818702695066457872109915496298255443427995092072365900711981267430857180567685483488824305326935060034005808963928370859714628420266908042167842593323419614425030537494453409386079949802353542332700616851072608056207971622149953817186991151555845983647220208291704662376082506623460409186707909154733194202669693519293978065898730651879921346688356564898911888899413154010765376627425769318772762530170682146481963672370510583219977124957329166892882990002596284424975836774335801648921776992793369227401837652006641883262156490602332158041558204192572948378432707287247699363490239994688839259943096600740115323307723478861597262436254511107861606799385049321454078969603973131209162127444991970966682839394733616876201882680552148855606905107331105543219115015691952595303851740216238620057714091671791418628337183559621334269815793674970403022858238103202744620304328680098536582279985502725796031195534670138154509131306247892932384728177994697746464492015739864710418677867182252201329198966833578505947058804462692112708825479029104492372398883993260536331087087552780688353383681982821567281576611776276375593863529505735168316507112848964713125849069494091104230683777266888387202352771163657712420800467585524688957029599252045381454272427271182966331626061890980053028834551888811975767959453582298448642327796938717047601760513530166359199919722362029732192381400948538015920212811786121547621397228291768141300360632795391255858601781655264245551738863484993544704804728759868081180050520480263117867652583609122191548571440424324754412880046546950123221978067750517955897902435503755788378803337287867745746100029583284917870992574568831109386899503215964798923676964867207971468762740086449252109427118388544239993599664858418366064886610574496190618114347503236721389427171553501493771021000718273957545215995301238860476118669920003138307785779304697258627709769328736205925389438455540642564159537505155618111382556509138224569111902688622870999429544559353704043127041329305031289397151230432692146043062509630884533007363249485737727413677830587084324516482257679322650087709755260705768885457876276346326592467622384518193250659704935694864992548902469294586014280835284691666346419204034223942454459732504517291277192914563237302959238759495523197560328932271348103512200330170895169889366887119817214149956823924602918931376776690266759064252189472064248207190742895470175318532749665083130519190518199470332022313360975869604934714662141666330034409412569337056797299695284325956307210296019350652027682227979906558067999738361362586340398365632536446344088685902931264784907666232339283109051992183018343668883132859179071237415304883510977653977806623887763003540996854692889104259421385744863424865642570502544874950489375046154414926843627878275002082684461267452659704051292819825069480612871775196764352685402374108044629970030695125160428546172389020209189198168839540816963084694742011067061369473178982096916066919278002986382000926428208736504171850521033562003025098393476312561722717949796607076837076389609163947550907286891247510076051379423216417346983145383192588125029205276007316068474619391530944557829734467946774153250831450589271389766252877069646844071620936547814872674779559457531908070573666709944137251193514825148402460428180010127718456701828113760874229827441143387227957114794910722588844927663553399916156402443237104986386470506368201776051492836244492053414928852231819599243469201580407376241641534130428121508919051290024320442843742241881180100530447014294033526181212524665085069335430371006458635454726835995637172806540064887888872436428538143479667506883106850176811321232455606342004696695256863277321262381589479784037112469350037172978040514933867178440874546409941117495577028653662747262821252193615845097822272591426352991696304733110196166537289503418811137054243209123459395491858348253331216518501687053439757761365525126686222162079447387915259201029753107627499921481505678076910846686621242165729310654296451657039590124824749074763610585598203432557176168169567178813618648802425419055014394696975586845855912977512622923275984302230839717516211117726354202557890696403426173589434462990726955738907204308799058276357191593207098216474469897382869728712696498089284980417990544053938724741902379912823526217263210765585513246797036953893693676107514711066917910063885338829350208692979883330964349979599991095136228911532517233172685468077156007097795958393082470508624407770217158157530848898596942705494064580563863280129402942461375351937948388124277240250080957051184785128034535634481692432578845375379748036050915335830039484179979084077441800691866110199849033726714933966230173011498507861363095084153897778549353880916703327833799355046626390166035517108021255027161869500957445587507591697847871548699463166239694568850594987399851566034420854914578267196711457741048006712484081849239319348842787900047890487047208684514511985634067775994454496278426998955166476283646073943897721531877299098906129633575938562732512978237149231765063435405469065301215722777071404593165940964900661485739737211947101888106640448568853695744890434117396052813663000582258956238494919598313571852353159978463563237556067776349757301777517667151598455437146171473728583786183884481067750972701471894404776249370131963359371282410098812241969048952829320806234895827119024102730659911409451932363495796847173043263414913379014615646994808096307931215590734821755531485696657600633605340046525599902253696242333920221548307373911933387258933144610715827442272548576735632510766065000613828226784937453866347091929922726048208691552968890269774374794322874594187949297645171638213947922100634679220141658693914430492531710627856174861354831526961324566135912564906866230312045967880710738271371049159124063309833128119904316472166583677608468795624560230623592868734649637359916571601963462497734458087688308889971860489133376685711176305481600025712855829233830940960688312204341466942691805186989954176247832027893450559022325645260630878541375138075380351928420263171934296192178687591576648436531001155326568537341941477591097311679465328728030361488477616116528833006800527544333722036951149972643628862047957717216512920800892340161094421105706178254684921357044885155331946042860300980668800226833458296987651383215433744275981440315306616273831262704032768295582418171029134876082807661154820443382878182963176135003313088252819789589110121448697020690422580535632046954150548581692512346189849283967432555175982306153184987656421560321197809695706952435767426362191780743411306429333303739190129778105369430031571308813575918745453101197925284895337536650274321243376340427520496771331996128871123146588036981200830306198559304331617820871550629933002689005342587600722796658684250429227386161524412674612459527451165945077634841694698133326919687119219689236358245542532801807943705039330479610685347219948714063497542315556406008823530788447907018925142445416509188819593380023816015384072354238120416457067020141174825182186582424057174015421869288300007857993292268307923783503558347394523794868143769890204950403636501931902390867481919584840746723865505457545323403031748639549628848096159388396428182402770806792957306084023112193402282706671733987097642944838152402549338930581056723138384733727156123061952742391941285142339241572046547786201745424921792661298967056104823773795903165579160333723000187634074276524876330689181450521653225368782594745822353020660750036093756863264585820196736615807237683916638726299970626646415885391394217555108131850257081812566448348094094634984295428721038743115488768181344075197702475794735498019901592071553889109987669434196895537398228129793304205927384424319383182298962961652111706085261710114041331489297492505528457921097415544425123657218310836411725068654954801937733441531713288611653904830804708856126465025325258510133579515258426601533617041277957320684613760041685784227833361701194266041329619882544301661376775228444560904753351360194802940971319080842273566725574510585195865608628122435079161063568029093984245414012836739420419473764053690530009808779443552262397835346408471501294838764309881457385448552926247057621949193563082957309043155043116016327321006515441975734427090125075141464742299639057287883679564853198883183732498460592010499698640902182571845688253573555533693491152113212002496171258204580742932271139829851137533023311079377756079189373561826033496565385846650903277620528282974469208582891290504388430725670435796920383989412302480657596302764705814552471009144437847869744295904097592968150015693542622669328361917298410123576754569128480142375652183697798520252628412962796192347452975667185864402679920811737138253589803378631805429065895074811454771291117786132490158484003705500248818497751603262586650894415324441261069422634038359018765910367940561284837209867937512858584157424364338289443617736843759063087309579178214092613463292772031865934522622544018970461511789771952772082526362769821781950981353306174327718300125937727930373241597025253198562314902296036825366240235263692210783439094785730879355330412975249855878593168480959023303671803050289722593334463897577350650016236835596991322400755147462871279597767214197412150227302274779192267766952078685017916138377478409578426861749429127823509774231056496549967420329526697710302703145984119296742336328293857319522690771592915177552737310725295128722668954229961136552414957329863028131994891043822446141259154291804424021907109616851636700808017170271619681267182271536744344744220029489353133269225975506395590567927406367836329476417591064328683205015774211510132534552087784786182365476580789960042237010631844285527724278529108642722289985971543957342770932302628441252513428029306115601530261467114400598881154533622204555661584038351215410816162772217098050541705782720248035560543261374946339116216633293404165784837686300904068037029132925720873200393581055257622148424389855037459455992308659810810216806162513363037484861911479787359164956276925621351773652281164676393076224484275381945630015131761106759200209525529657186062449957149746672285618812417070965598369836790854143231862743243344614944005679602965069888312943110029679500375770032623235959004538738390553195736325103685506437390934838112295098959949574449269580857664343152525816821018929244263676293172940434390821710399360258179910441082431938542237870678589523773667453263647121669459724119896041333214401961615541295823036106166362331550204505135755161141746663990776224527206968368964010935203350298871124724455197266805906703117563687642788352669362678099651679723173358753766451390857836972757647709413891978844415776357776393671887433226258142081390228972914514923766639431980414424056760944778760335280662491184234769630468737889232588886766680499405585650638560022184401929713172726490409858350817514095822573991588271149867904985227872529013303262721916138112122066913472801264718802936837090062334052346560735658481195051705574365843354866377070386323887021755643255581062409380237195553424016811996282583676666897784366053756494935114915042728917924485019734489093081451763712163976412894841690428830817582297920514362403973607548897035046132144707538586465317522539560727663048986934102722913284861005162241852712043024513171151854158217003721085787278477943031474459067997051865813403452766800128624902639810026338970541179452055961722234535132375831280232865143130452955316316614482324681922267178363129290714152908744150962956753228548250510469662541477977559539427879298069257459821397391364903487094212626669960959910932511459145683535508364206593376195765356958502103796233569459038955610761200954439591148223474215737236540414667513155870784792040254291232352071958274761072052028411022458381634844849752624838012610608207229559344108763870435896223555042491547157122616928005413087060523325781703306405462182797699428596208659094275276412158049237169029367676097424038019844068770781357846651627607149472121807116391086016309387964957677079902900236292029909420809308804911003461200164818218109651153991969244492069620256789842657034841440749326297701963150411039090055555774189561329410217904189568315029467443913441059076816487427620280060943522859763810093050505986102450950124190330806726449335216578262618219242425763029197842214537357914493434357813866415199087365371779400989385213630131522640268984881772290711364135653989303745094646425088439631883867933340604211922337779971582168737924429046423649928517384664315642181854532260630775637829599615724118784797803439718531717591640317227687772337162423950292877616114491142821805192643200383938382274140489929371505709759490018374735727820795231548203002006262467563469170694357279521805228988420141273336642779037964337497790177947934453800674843142398167251276009973691123492183509069635894324199154534049948427793450962634010145002104619334843414661756986400622539938644833920798964084033128827344612226647684980832986247144586290930810646954044819941772298292715258617633925769513332905459219399065922988489642136806039881592556226264810072721434726236354047530260761334980100501451008362551580730500945062379156918378517777913979007822460784192210371141713475955149437178200007249626949352727281839158289585448562298300410169316256029820843284872035169533516391138636139724005410444688583254787970835221400262714672223634543266880271965123467619816212214982773643922690885918611141269559128532479330218449556877828258111202664257273816413357312808657441483616042493159037537828294119974255253179683279680951944357770566345982733867192932281024392075971890877285462541940142391528221168909411167451734621734849713257315824014790987698619067807607471534193986287042018756700424638136554199448874505786173573077678563324759390110344142114000446343831575443481158770987506666980975077284636592488041926035178998262910252819688950897107387383932507502362815771958972150056245721651166134932379358315133245664627361784898375812178473523103667312240446104279040673899193791681125262335317056632809155273084067096904853558759089637327264503058272695493378193118377701922234551894091619072393578298232374090018447733519950834782306843326872503271832398049887345523710274128882228711838998478868136321280054795531225417179117535756004468283643073592098975643900116196697872556173287702553708079965402335398140143690633040546116314976257804467504628830165871580695432057341383198768794401313402599911742256653443538951403967374149374515553647007203340129400293630905443680987824165397247500046285272110729795303264115398929607472257668776025383871941660680810287113281200240752810087143087378728419299518098801792024629986592727547867578849575177411006601916147449286793531940456487150334466316246379356666227076569236852750299398704903968253841331509169932901264275425785957805634756483402579849720370955478432962043539240612036270592231772111419802830393336641081954102900288945215311116306536072412301734740117207256739582586900058157788070252177112294014912711091229309411953322756596930211910642176563247445953222297880606672518163253308134626386404037929018406392445741201267931715674515511814968348601695124509700993765871675059118286052914360517133742135731240451121908504299924991092235888731276445730318237908745755415117998358603219265512934065086846730538851566146182867922822316226645916580691379400809592214340081632432734685854175077602133418057220336419124942797206120290841575458990511245588738636380609393412445200137037868490062088024509136446053659424303431532828626015379865714160896083607553190422533456928506849449247308102582597262576051961121113365762900590651445768260093765316463636090558734484331316467386408578738536268757458174450331345232907061875348037906617504635925592549471482278975232867902120397680065957626465315655699407788807819837814894806825302616553142489692732843763002304167833343856350266408866487005236272361647773553765713434873415280066770901013619389892644933631135596155058997022070098346475197432002183915865804161452314433701242349368863850474673471026067354195770391256825107353687057717254972849510129100175198015198520192880866932586692928726107326722881977578008528190773163855989773692675443897495102260885105726375766518513278437775842074619345757499526680704647742583090867399824502522989429644654530473786044221429922944351945788122199237288861472023376554612026846363972745079952397242721639697979104816772314367097459394945797773413815364216555529809481559858981387319133681834117297142416623470251541755311584627377685199426283059213865101543576651596939558489879797869809923009936186707470440338466867359119516417741522151251049700187131774223735668743272700268169078576894538333823179965775754777923663897099345747328870065733310252429060237309299223135599677866196007226597848389904042454415497950219981877890242272660007871287639558075099565162297127470003633466891007919791698050173068134693450451116191294011183971148173293889088715509543210454123570667884247411687717659685806317652335255423885825095688193984427640375803818663893435960147995277443142513915509093820311062679560657334611421048016582951572285169561343889604792387769157282139513886695936733071581561097910489724827163476837117666408273374771829761255691643392604410648239645622275602640619991504062800103103728295087899552159372257754353314579641177326486598293052867897513295197931335682913458219610121820985116257712592098561783580171591530044442089514755393981801224130898841553856357061016588899146364506667286489561305322492642918568620635836190674386245799605141103359479637068037457708733594908259679768028163870352267411001882745518943308812280697359093390648216543782738760164124970364260639115855363977504540966501076344720823425958666882468439709354108185312444591428708565760885736729248252991889854563397308872585386419709782918557202598890917892417097813780272346548200056840825916251380708525335189863880586697206972745731025713004779031182679145126519373152789247878778500796184894982389571432828653773878191360614784384342521065643858595928249722755832926831158903783045181664669067900221609563685069071768042844936454854661331930018234988099106602146512215394461789997055415482043156216024018727627851593856902847174833479045023251996346913255939096933746994206626858785670069272525812392506300880880086784566874250622506140512012958411099175931890588871795945091714216401838673625755449568275992434942997526169130921001292060272308276952225644137440638926992699357389262894279471706422699161266353546293409966663953635105149994210813219228818045499839602628030278880665663835844475404330378111111330581559832831844575495026400374250306998474555242464425017582002026361189825676486007527687775729817932766813130406443383646550615830436176434585781075761643036603030955460180277546304711625987275663134110897536875351693752610668265993045251838736485972406318853732019780094098348701227643325179569501679211989209380945740961563510030065549855489285600595575698083810241976467710607129802902111070820380959009891619066076962067874880827018111453022598989293786049388588526842393134343827361903747048153104662462321287382801666618065491715481333089469817194293792234601421092158580600390563922819758735118527295784446528456034785118887364253658395486536495477987276372971032947386416042200107394391109041805075312535122705881680632350892004360999083826172637645628630970447156224591358734401615761831714496687634232453758151162991857184344015559540800090209407428171556506816911951832116419720362518462157449857449527880298376749288826597744244443366377213299865700528585891889563705664646546270776892648116173735417812283153855718985233989155846958607987038445199706262118318384976260523472894081999308365388358443830017258624574748973833728288346903623530733300096619788566225279680014009895020253684268106138079491362058487255960579951142302742352414376100431239336293934881806701320861259885583268609824188100683810631824397259648949241780415923734363345606348826020259639345924315252368233049266629676455783274689462074620324233435156907468425561423908317516531365376825239311510481616690109304640300448006503816622256989939164644149538520076468883721355863034648983548269995652396150718289527606967383768625794888050965060647115445433445051985419222022488763362589666947476545078546001707320541654331655745962535301856564375903007001475501637732990013723614706596291208002235143400931349412128183538149359566033403794359310078286378027641544770683608538772053859923109706442556783989183941790453671236012448506565310590967263397292117337829361450032129238264113711954798842009505808743041450849429112178034472366052174011187008944838103612541676800593181351400094533043585546109976880197307601542037027976095255937929475928952898111118031775712138293326177245862492764190727215891663749706395987669570145289562536424102668454305271569524825515755338504811616057153094221708492880294693224989818000368721117569431505054154848223300967146097367415168121725155032753624056433032363134703612602471977702425715549999932782871953647412167160985483197630086121551744303734759190301566182258327628832456921283239077845462596220326219816300084926586304417174606142176766642704890087754808213979565634195181165937724562526853659060027293367755522164722691662365015341097840954303159403736131813848912860473115176310623625015259771784149606623989373950118066257087711535544902542602230119590465264135935255895338066722328983303747994149768842685713458842562110800732413075658824469088640197420650655150119867867073756514880241680988856524312137525908497290119608107232565335450203192632820252660962485281383948240772559363524949030643561532241157187590041563748253887453433699875560310180314401569945428193664689743112131830046156678595034197245530448443678039846011517591291047932605749045199620932588337580644472683586023274456707691785182398971558749983822646052958860860565103454925372335591210482985181741654083313821564926718665490195009914995608780602545312775531514538174229137709089454904391075278904559909511890994011073114940678541361553972957628147148165315149901137746753595097904040288538872899602627968911698319300172740500425668802523346952689402700124096865494303950915247076985597197124140548240418605556935702277416897039225266102773415200414340972948378208636528539140881035702751005504493508100781172218926234755689906337252028924102710447541112233065832662375795944229077340902222648970615032791198859064065489068514348976982243249833146786623438525072597093703640293408812718462751723022979890337040701065469650332819083070374018276490692862665120318847275315918721553606499683654374044196577521539405287802942223448033288508104979311504529297427712245767024552593281741640017828544408732646390797953850146176668499967008397777091971300411941699876477713773919724232089524194829213667413915692667134950199946296378908533269295523299899696652855357436383810419003066898259320484702923503003610913470539784379316673036241548679064067703126403257432638990036642944648288620735004486685075630526189911447944706382183084929843833823271576982922753826580962152069562141152759234278745151913619213924851977727688883220166268869742737791068203027017926215521282154631711245474990838945429102329352281284584029820735618055250179224932427964337113886667544444912308435331831093667356960070667450697805887427535647297469088974367401097861513055994312766669653251717443352156778222439951212016433592252044078939837317699909515870302066492066986177798979063109758608909416372925967156994242119015576789797967163994498917463578457245366396229137264721651402649288994689782217130348886662111728838393363216122434999170781645363088126908057991807459025896877943906599420872810979666357950429437425815319337652575850307094777003855908060768674497058194292495815076109846923182227410538548148657509143948757590278390742234226525207031250294653124965696705322577106941922318503247821479257824503382864207742561183111380013524045893960911889278572423166509994082672567679528049394959466840213469861606421909034664014611754418117403404132042836861291359863946165606382083129594880806417829520172548349726667888333146382365464437043072210053770465246750595746009069077618900354760802924108375909338955948841670031501720481662752594137434501003591656323072604286278835226142596065473941600722104426548100111854634146672772122624697695871107714243604679644532051796852396514500089218195031017207268913122572952106629799262672600270249054753045194024597605213812057975624862238501236220963419660392910376122904562671075771270296681640615870728348566090006527919528698840188630560870228288953980187107992076267821379606002986953046945067479313740386511610348864717658624251077906562872935929763817674890509398409155048695782011740376974751336395839646092579583641809423659108287434221539729706603358807578214524784067894739418107339563330165288037372768945023502788018894806459848079036919348045189537725128573957609317305855630150495952510819662677854525286366498923130277966202636210555471017619413299820650545276308940122834677476478257494628318771216479700736887676578448978291968873708864920581467050576128460096653083488090673172047779020346989965269557072998121274265894782604443768019911745478334596320450623259831799066206136693702227529870252143943294771548420192186998572944109174325381785980634901305023766314547637289978090995027623551165679288660454333810709417673121908958590299059782275991255354531726275097362257630367535901125135290518012206876906343779452130738858689023662231796894719808750478786376714081159770008046602459268640023669861512900586967802238213622854898212422837266324312812105158073909257542645274680516491514857637610389934638230797799691929837129557575327137296772638266354707698590165953612764675474179333164483830841428552053851736275918370792777005237583267517620599079240267537071513798904683276218409531822287037040436396167404598299782156145878042467409641536717919098038709892341925906077182188881409864682967686472083152317991192881577743736917614985180485497620037510957398341785653376111495886150889123547265178708415911114532837976595259428254688824779407620052303231979930809219511385304824825831579548354223687023466861498254717273622556716844170567561113739732523876376613953177895896893049613360993328593735066346461378901843968636051402983841091254902837114622912469079186889817218407964458653121307044998106892682501467542290560515576946604975539693224313393684945412393774107745938451971189862717409965414531647409044111686190138724058025319247759996244990867108817946073055148510087026782281595259545462990805013185536346117152449721158621242559708962792072785175492664415387757263829605092778702272626843792037709971434847383338801921889905731032838019814809680454444977663293161482591605447307431718293475252924298546912873467958969950569614511320013727040108215031460528108195525699750989299178672554209968590548194146016749813927843638032715335035609325627102877432304985032112696831225842576001373704002861794902260982923650026428632335513304684131536001844193902438056899216931454964190297087082511227060950427388110673354004277641709592595896914691324956232006689390147067809184566190101788985609192725007928812775709887398910199520851591799795416806317599081148553765833896969700806558606150195978386743127157408824435781852832561292992060551102585364024885691986320225368800625388339933260976879270261478643465909696853775088532000617287079688212268220679096929289529279616445477902164215565381612194671842712414804415052795902489991442324514099987796985061397065984102433995815923477706521821714070195717086210232769967447190663924920945521396245489240555185761783934236426498674624214807541450232116907928296574640098747261534217056868598324449448680119371798188526465288305874787266216875448033891974073466714759868810551557190158430596634612257346434615377037548563592084106511816402463410837660312563143681516156346668651010676764877421198478903989632736738623037740432424624504478569360229068294436836236846387423547293137641565032513184575283383815830385837163414662929178753866065362464397888376436886769084337113264277206037660818830080555765043773981238934782854659157567210330155882013074093342840877614172833499757896858484922158284450486415302387602285880231590937672737814686798749863053179225084443221813015175364823450142632545956899891548106950538805846095901090121419946681869068990026902962415329514081766969859293260322559623313563733540826844802886485767416653470374471151135078719379742863197173800338194652682128625629822843736517442652656780431478505966735864907631771523754910026547708801556173397875452749121589452138219283794724206978184837944202695645508367587758914349293767678313183790227824578786402230437955689301693242027062513340450999613530184469245533752392572406639373690279202285516929008734872015380143321430733952765969945787463174037209135164140774757340428539955614442228858597599184989660661683745818885778537922920604081592660560916369240172008345593343039800083080461418989815003212872918831324319872663429269009876444276950126960511760743396137324436936915046256338488146601830759556941697718642928123341526340575027300966893967790902231277307264678193552198747767953922226909285026795605533226568276383487344268517183942702820190308206101199294328651303540719631242111738668524738354296037851909824327085560668999212165497794649582233978970703724217937904884328173425477326910533996591058115629290660027027430860732327835629641968035958264772809184855086992870631175564175090291802395346049960470817335520787623874401983725721388179056803667596715424030274255494706206175239774636438177824390778343705229927890859239174535635620358403898559059713350750974356848528242286802804852812188981662200215406957940882142492210548112937329300223868182745397273601052215776668931867099594368413644226063491247500215485774714372997909708646012844997741933302673132743257328299733655363151825122452469053159999405212784280759869226168654202942315742384548342717702730748288321182903287422328451698057433138519483825379735416983163100015587318836302494571070868497500691364025499538019409951635606795395183900809698493376520330445977150554060222267365029988129003793013578741343353802743157776949781825346733395559833381568695512053063687074938279108408049881563293821834649273572785235303547310566273277266128146913512611699401087300735541581226379909500892672585230752356105273716482433503216006954699753998571029289097415310506507332216173139570455346084298929237602529083626728327927295850753226534295447244678660723547631309865246097766679877686483617296598393900802769656805153711065702019015437383225807681711380616927862328842969346436778973456057935367952113957028269452164814156789089266528418290209289789002059254979065162714371654036428259404712749623069701292340888624626860168633428802035376822116234295572531035062388356369296064641657285567517925618861121125615579738738334783700664313788760633965088996732610068116951146427871494512220853929933615816972683046165288677696948714054690175841659752877681814062746051050653164516140552183370431179955742388906757428636813126676537386354705444155681034849525754320514800085158100165574048668806170723318580480848043228766334985211549225417390298102119735582523202178987780267950843814633651105290349664585044352239777684771057069830979374055192115811521227697800068682173360742410525170673940632850859561544588564929560355792848184570206652446497629661270875169737355156347253684048036382524328771532300825789541929610244156869777492925431102215291460973342399170489375154808794696766138151398583258205133671505529331141499852134061834451968415926409299714135479907825112728108917518205847859315599940274873160622234988160341215124005850728195139088379450122444417027882546761120861306141141150577399971825378713175931336014960107418872091164788535106254447758533827406975976199817529018242994407026963707805923386453716467045055290767171121834204675542997851518834282317358953236026293245134383278027616760554076360188345037008243131524845349727493839606123322955704891504210952344742841083965749047818889830197496411486743173039138133530210983765859142136696070288136868518754627501471218761723792069282819399341148487900710610236886546563105215374651722384923826241391915076451439309792163518420781639577191150303855534171283878698077820491695874209895866253029432440832323415727429764304733190852526057850897555490256109548373150287951917746132956429342963349962648997022484645190113093554947131297652148343182644481973712347204135829774399930750627242933164222911667056786410012498822923063620602847093545448968468618166934203726772160615862177620776511280092463530763334273418346474301372858528991991556227577779502267310238566145261378075872512151558864568956630429573103715255433038834052959618722940692614666792980573372551407193406579982766738015972409404970892385571163935540300878472534416995621906836034263931111032071267138156773191733394779878433334825094964329358210486016858171857590769016717256376142216977235280495872707862496616387765661951850039503168726895096962423398290594988588433792596232305006785071198063956545596362752569044073509171301396734374307592054909378518641716120854570164543054060307261272658040282267018899251679665510035303219353327819014316929661648045624500231359166614103580828767044466765693929052545444217291225935473020579521839815869299672906578201598236318608697516851372182554698805605483412231609685305661628176838750594505999234358471669620557679636820153193094148058080813465266675976465372709642828583740850654503908873849074853766766524487998321453002894927972434326681936978837264490883054949352107536408032115846988250852385160772197308000721155213321423050099775065283475948472972962194304802217574640109403713714985020132565001712661020568207863238782972041854903722377951231082771032581040880640143104691744607561665812039926993126009868025244839986855319845844469292717623114112967570745839106058876722002747578307784769255216339959513822087369587697461266562502415035100015453727853174192465876144580142565970953911521671520571354458482980754976073880048354736106370250918158406180056859414819839804626888663124835320971499531597316980819320631357762350008903845702180208815729757085075282859400832315574560764375774210028822794484960069997793432730064912740819159388079929321980355159100035249692558914148319058236166010040162504769028101522310463236595875728338163359902850122419967530325127366277716069814005695376219111597377923667185608339464919796097786056687107630404143777684440545500824380438363128675287221415546993831844433567819218559319441207967866258392322288082857754065202922562832507865803243674235902737958167689442955462235908766672313479831519079479241036338207483885206776341084988281866130433158285363860098679996886700170529981568788905683437185065075187056726078786614881258740350467269561912129007488984574551006073928813980485909004280455432180470612040494650065049507595575529621947382046312123332226465653135249133137911398346247224254744585697874887750211599386724692768463444638795031372321316054146234821931995315470706873434734544837263383173734295773338264648689415845665676405432576105290403075843537014336809667365052538185853430033125624741092425357553356788270106426511723666048090816897847397321520154024676985897981274571220835923118977557846419248284085778251874890385500128805800992750623285855882234878290673255303580221285057484768458388571904595589663101289754849433901014974704621642460655912448569697230825349392659728125214626283535317338112856928072346964716386564241328962875437853249968170078265588043543559094550641538116455757881183623224669175637818896723102574062940543744841110987354019486905805340951656204778656185976552153832488474421420882899955032673118697625351058528303620108245200166663792831750284193915166973986817469407478511657197597290390838427468948507708064767024952357544115275642521828975943989200996427393161558899811129472713954234097843770414636510181340883324588454711831977437837291471921865774116226130598111100336339017588679752125614395096801722558586438574364616804904369404444773892145219822672317124631507046142630724284369826584502853982708608567647657775525818011851331454437356248226338582262770152439492973670674586130730210013438005080427116230078460167791280865672061844680599178844376614672829248620799647903863938484997006101797984025669422079156364844563163158221194495770613765433966228620979784919146537058733030822132649621740589317805417136550140276551699807760932225106742152727325794040567792837281666758753504428912696336265429695215331833742278087796151199781409167153170620616335939619167311625972474851622453681594066917632452918217387864051088986370203059701069886172390139313253498995552846028302844234196293431208550244527371086705895177443989302559111879194848038147828270387261486507712319455282742831607541405448508521241607775145077943153844979440466753403831252745552981291531594613470597780508495397556452584857629820050708717266926303809065172964144366898523216629528999130381186505493573336059637523705425403098660104848359235804599455208894305050840803620198927067088031383653104502248770318741570988482022696626026781871601325526117203289215652170240635517030121910989697953164690942157268784234539210107873728936047463309533001936828751979556379543512354193809191085278721120958856377854533198302102745967680618092540102652962941182496209912315169690180853303405112061865216188225873135658265283048268942081746510698180214513708455531749115358385404612047240712159176320047459708375396620036923337897406157488083420207055410988750344288207318921736518580265247872723353697332208446777827878100957919773110296932876890664179569849266376713235081035250772407827852488397746368508293561552821403886029779178818261873569209584361072763519645131692479758687536031022209022210477601338532338252716007955058240059486637203604316194762357830941493867463824108970099257767561414480196780230707933674248422330517505625308471833008766750174889124206338238397593338617063424057314177100217143321519463625326374515635919018848868898698834316391264117542655269473175671643407512526138268902176379045653476115222036665209177416436924060051012743401898945797094685156301533637032863385673968294862014132379864630018284515995694182438564699031161515252258684091341750079735993305451004199105891126241514747573846012977718572864763895138330247562113645781521397809676544139696797489821916807099361531826686210945798193606859800681765694211739645800016783464391547746756210283177877297784464752362478857172261025588644612193724066634285650311052261840736669927436288175297284291977995818555382938714469469516025004112653367552547385930821382621174783210745591955541273191535588089504738765466244375813955845980690811381644026127004160407569071024600115705732881041433482066753702788018050849250672937292933362966753942805096301338631243314898979057700533694046019248823807926781735573716318095235257465867410234554238399893721193237385028948697062994474244732676234002076934854229272407032245566800984550095415702300906442440972979219247644316397775918815468880689931480356760683315559463186410417463745592360473490655977634393951730656817155175469687010597426434422698772397962262318474049145181760621727930505718599512048770859330436496778156658798254022528624956970543784297369981170797109491931414574282134280206200555654280645061550527433484869298616138824317819510540043405499451378865790171057763730097394685301830603594661771430568623894877789225931370415179626423926842159365132879191023239848562920112728134819257453771823671933323444225809620899951116599054462936834402251054092120685841674442532694832184260769236647347609983817460646799606951372422980953020074759814939796550049662769133703547069446384174758828121724308362384062123133840837181446999117251874842373498176233264219086878917191466509146805403854378597514453598948302458150716261109967570429139854242032748982263286643470387111142637284702070980217736385390800291272830669898138907750410262228449475252925104009070931565576194486273106252569261842232083695749686551347675583470397793563529936231233883552884675191059772757863499531746212561774818164897160486060369923258062130288620790766549973745263330369459910822828781217819559200120410227256404735344769928250048641198828986738934613874601761280741670846260335840170988668818126085285771317627780229889999404072161069754076663426046292165783316454681225435022288373194065569194276741331184847878645996191439873969220341282871131835049020854907073629021582970966034311095770296337063131533249904048520782822323820943419293020194736270756099471935487158887192847045042371437151489551104853488504388960983999645058332765596393273569908607025893561046064242927710584377075285493234381997048823526841223077294696183218277950341873014105372158230560128553457229939144715609808583453484778220836855761347388635850006499242558023247487939860246158106931765317003610224532394276088532640099998963207319685135280672765385185869111507636625051699395259604165411905417837483887159885707267643702225417362157807342513748210143233731610359121501754744523051140555298997947908762531892197140119506309104167473108083033285471203963950474430442158338811179839825059071506479667614219710225181017961910214191177767437673339746274983517845333042035843917245695539542405712916254772384459328294360838730055532797470342066951315033311140618104707331964979663743931922345075926572696628408662514432774036487579303046885938526354407598933891706721506751719491699948747932227438980114898742136839168827761273542374732186250037123434143984391541251320186585124491135841517453403000347149437516950608253848110861856303647660008969273693782933444667300455266093830426535937532597253956932527245090564947090669166202942477141001462385324431338200625191321432718145403469554257007789524130632311402197866460430919836200700582750123823012810824962653569412774431573913616482784640807247949704091079757772241940171703995656041844998195091251098813795359439847283287591975722229382286813967855482731147504181047503085050688157507919612270683884109967020954344581019396887561977482860250057810498312060651852481494867417366714305214730840938400936232108761585523889940276830760534368144801537837726470095925888067094778930729413870440612471510131718856321113057015366204355406154687522551980812775427042544958839143907061715086693275852417324030191760393422275004738326376130723051635571169635899053982646812608978850233551453864090022684289699160899764277702399391770814705677824826306126936445347655307743649670535237430828403532403350888332171522202158452320606047784193134045425662286945222005790285670432919826715880454252539670722375594230577581084238455428177540202156584228438745533757131858281837765333595063523295677973663456605259290342403127015197265286897003916806035637639256667940753174094634904250119721054901673914355923657092629374471088001206037870351468423486845250630275757833193728148572950860034045061234651895940685831824284688817315208450886622463537277777055036086390778272593261899533949177066110525494249004933767845359168894864977424948202085339588066708537052011874930364859999839065162592959395904259100897603006852691100799705721123470502396182198679780309045589858566392221697743295438502894684945665407892170576562793893079561340509725452972336771337667596457765916701454958692976233446366091691859283977968396860498765206658975242710467375640947883650898049182293115880573194347535466733186539769069230605052930138823761717812905341744314612046415588028008940205844062825744205484542809251675122697213061827101930643143926730560483267966521443885168373499692338882349358274582591897282686832611985690312068485435747547267366890876594256858610103981255494958070712448365085366313453915260153906897673183568645464458302727287666516464048410090631079760157749808860530452795902792590367574182429787494660855210815741026992154514687143314975609560961064644801789930137484231738135451366597722260138401202263842862655275372934241652166169334451852827655799587635680011500578299312952426984398364346643684932719411086597807542869017546971219301746428964916326268375643473404569711107644320403850881956240761123071797160971018301615607735095008449328780100671945968218737243042264122411186579810053194808578829576815196953680765874957221457372105943182024599437619567946024539466581717980123200521506970802401306631878076541805937237612181821929144538874379495714220800535647146298647952530192930491678552246795086133743605834957319135890846894911816256547736328215569022783166086314872757055595655532526511888685985340063490529682367782144077853407839504121272220189070591745554350582419508580737594171617055134659827655959408374667966285074067070949595468579433351977289629483134766479817456841299945698084002460586763878884997646457234159810429826579638955010420959073028548139947757103691765849438376556666940139774922283161839245524562847831417810609828520565902369029952347552220508879999144930393456391410765958380784607927065653616498704052769896163941717031955930517929576642345710597487606311913014322111130447156879467606147016659220916880215264229769982315142514275327089531362262660400705209556176182242687567828084465279502874330654309973764897282779107529849090187724017901857686624672887892288321118854177260055980566729246005540202342914654481428993275192611801356537918678989304687633275351264784153604200510409156424823949966138469467540274337353851362911675968685984857591565719996025644227128584947031313841286280596380150730801014011409281304338019080495698061647273572880467704975112040586784024531736397262072886654542068727082626682429320288968916659534427296970189152237421955413931207431834674730501661905685199331892424406501373121262539291324714593114715482769585742645237144617437384273300064190663969889898146183872404446815741563628102501052744001461867242098571465747012079358258954908898274941571301458379111686324938195064013853849666933513784689570953724065709703634003272784130761050438587941792169017702410128298089821454094326862192485034400199180351618533177943366286705663804357952349303901397616917519108375326009160055191539362735261018053636293047714406565004787266919703970931719261678443946722284372270632978814047673655181802837188758365389321287270738860625945923962802265674419459819543163583218000974244235105930108852669913352361032473457755897845845480157737832044872614488493308098813199592765514045473914285138227235164967251611485042706612523778200783851407174300351027720393164420667155711489106286238097781150478454161013252325828359864069796269223892767132086892306962805154657794796502095375168810508748124030110466598005805038292298228920649156811784172551322171273062901378973470186983435396317990394195706538777410021080896712353845184730350861823536047231216116750905424904752203676578450267147491791168442246082954929665708795061324648780029906877815086879447997027751183066380766213109347611458889359792433906512447656943857352375580083208948142877432913030679991075635903696585943267119585098263563304596515588140780834456013755129922766002253327802466847116723520183180330628702391225100337839066216773339375239383729145967404600617328217452238478104233985161692089026319544313836372095124201802889381009865836950403068176791047263672638130376375922628358995195616528223438112766208968019680419130664954095603694091485914611018080482573830181508051449833416455634723691646011427123707561573536437893276727411995345753075123285673615762738548292039318983610438505889722253251847302251396829987361314326560488901180574711788678561678227796778016229537796171967480019833552151786927565260550981547561654861238579985781211314144364646707038825857830358068007345577554920828335005211057866207669466169295816717044410807838637971366779554131140361418523009195550891981131105480800516925918101477561388749718870778276327139705479651198684230201605050665579737814701714926935645001173073872204281467224056407161868774113637874717857161407500262616861537280090700248324925513623551990837891503976052590873756918133573938132709442579461315896810546960204342001782865414831776511989674612277583206720812112141589781860432718823121879699866055762251529881995817601875341028014944470029933944579655125006513161511017959213742578554328233979119730637930314626620187508503494719796597412317315226532942840861856442042152145747300823216180330598487690921083472135759109975709930960557047453312487362241872999227954010313976400217475702006197682591613564299837298367011811543714086914611941971911141361815676985167867640965470389905237427483751221700501845584526599897814805959462447296926829189349736011625294716312183731697761821501374262796249944503251801764462462435716128898381590710857621968012117976668860775067978956077661385269979937410016254585011116994323633822365239933179887030295241123822906917989306981818816112247899491966458507168900768635009536574986669902031805584515539519769542831414050137662121925434804899829886859139829425368784327011462145087746079761999347886171364187874526523198839919583104020186147303717036874156704678590974937920624325545221157142027922752575548337905132541310561520042656687080623223612196990776736150569923281416548119287186818458364693129729197603815098955748971838028234715387972183433711010644000711724723850404523820404716999283716257280767461357101562697663884585698684895240067944413358449382762808708035818767143827378269969055813395805459518842349654585239873137018212565042970672163990217440140284035673775990466335042091435861287959402969192059368133658740524388587325548942141748080931644988857942466423005876479016681033113544842999836642959624312658678838202462424012591333758774551540631303269476387109132426820620605045859804917718110169951929191710311195118205215519162992115737649247728598297373262312627507144695275478085314753308322801276201578289868401317283392204519914631536207941629465051826733589969651937711996822824235476890476278661082277909988978360675024591640869267307905452528965152226063477354392244460110033686214856225326367612938532591098983393506514459778879505552127820875217856318865575152194705323799514758442045247740218790038339417938713968839917551394664606641079098369219406651989034361302007531637512477577502098284868672844270741292836104532216446661989590222378598009836623761483980664551155337125820717381702298123444802655090729667251010871957312382545515866139917838390204119375549578889272928719752440095499757017090232495967088597891590842064164136630296606608621414083782312565348252477176723813732962285966122979839411170615632516483409963477209876510560193592652758391602945849592245804162268148693924424540113333062857395681643801182095161440822179400844301579111948236078453727339979384212213781059695052803983835097419812659873701807964862450284897652949839294206506441478928433031931506385852866781008025954989097332738819200947482263578003840435738505007833374274161968173645109430511551794997766202482211516444725296689115317759490067854880510177821320421077129765694222236616457241531224812205367178777021226648472626243122656173951634609436104456770063082232539308677014076207002122187760600150821361555947516445126947585324792051656494701220696120489249727061988239626004587246673563809371202056106715106663410058347368658225280077641107523228804807575567321262840995711529613383588465107759845891677544541452940320703121052812923832457356518292965711461580983197073089930105227913210127356444023600152887193772583830582027350189696970240460463136832688902983915822065800674608590622770620489182289653876239089087541643430154619888096372764407072827491352997227179631552934880819025112327899616547772555205280014773745213013959035620456547613289525135213544054517188262131398390275993387716899032464928828422734512577150824458509942175922059164684886119903948274384084014048720985981609263951471669759275456649723297123131381603220466295350765150910871259384349734450253576996832770287221885049161927575857800199869909327683442397249008878703504740049945910562426569862420866915817033975107251699443461598157187866473233974840661271621023086337314971020636441333204853687604801784559164563967189731179553899892260998882708874611218174567830302714521710552597054074624594291197753949714749663864752455216046173303621419672722083601852863368712325705424168816266835354300879121335690795236409679697808231687906916368628481394335883981651950055970886829305532219801562626685336446931340228992157046813251675918866862364296988501827941974001317190736587041828967781674230967463499067514765314719716153758091888999477138757063154132655364701814819633753129045973304063700610670392729744200625468118352754012818131899300928592638054761329358983629007946174104278722512155052723807591106587417220628783391894448966821483450298933029768831584114486463946377018002485212635151519138874243152821123733472469648200294609959737639473181816329531029051018623192136862422174731307820860911156513017862339295309103466547927379422656618759481268034832693289236210809835193328743808969044900541396940794431583286016792212467241274971924881449045478630279955276623118972038597646866533536853251016887366281917331540100493619987249520439080962785525388215218097249510947701128870045729305572038416439872616190227052233485252633205606127962169707725917083495583181049123037495896659137507694415795477431949528993984837494132920007479998256119446010776718707975281592238881428587132542944032861321057137764399840935808578466261346333681870875484327587495365910621142012850553695448134818787973278849523547721162586397266811671333931532414093037919106880143470358985989357767534291274692204116060425624334090850463357349508741068911098067144451704392376246729733259844259332331310991051672303016070497828124413137413083857103024267361490551604895236604593587321555178713005966032541172568400759865241284854587615010092310089976916242225873306593809258309990078635145972279311657392657786089571574502385275012614406143237395933573256582942531003899790673102790378916644583263078187507784976592289924302717479522459466413623805578229379751304553810655084287569561365837707229934179657620075086190010598049781279287317618507296149443874065660746221440441040240869762710465484557310655232362730711183371270535019242560815266083940885253771138642883094174836736524776136177092208084086254374278603975210052363406626612743975259394157952271300749290110385011794538575929605482425043666639833875818370305199010018064068228357094442719282003184362453466905065655958230452389742510841187745634120318214042194689481825284771072964018897213367404020221379236754236186329454729863734168151369456588506347489661745472894680294351164321445312694720554746658139218926397802149072238441360686832328030093042387409051154063635507114747909077518191424360152448676387005676484568174570220143809384448229823857315231039315903723473225899938101607648734505293410956827034906240189725113144425516525602471043816564454470209097135615324418762084483380614101640880971643386910129930321588098727134730615860902747998832151259796064823509112274901663720419288736394187601052267727140845423567651734597903923019380999785000270424466305464364084943873810898551078805717252631071849162756005992627620466665251674339155180635247730782777626923577790399633034604842400020579965523525055249624526971887019133565046139551005567582712014263711032253603557499216555064431698255427358096002897252158964837102989313826807859643353952808266242362568639781577977730858018076796800262511157222022225532959568080937596953870937846628120139596348704453788864768357925808790767997815487361379180835227328761401788318456461731840252319014380969657588464285719438822849397497138498274774712082091598663502392450289362046016509855283356145246585457323765810691912491817660790308067557281463718383644321822409722732889546568616437268376589802881651284008981467502427778626151153141471286716501429244565968445751173794455576010712912706012255949133872709307308066315832861566650797977637886984618944156998692425374861357561069756693677171801602334589773545738788884268476831203384829726403002267202957563720035699678341605835134786714463723762778248108878666444346519438964001282457755026365729656080380388508567981118666442234322922768281082370670986691242897259947108513140309864978704784371514416403959313604123833612838682789908479399473681181777496881106565881837623039692271063649919467951956961813111875306233056222083943156618251717248386899005867024146721228268666193016753119629045645298589733930060962209041612433028279051028796202334449936916404933734905304380444695208780354913857331696227563691235369770440344724392836520179475468950428261281008093350883554788582211327168513204896086785211130969171867916184031487869114348957767912155534042947620433359376054665175021502513401491419201212348038386527941204657545717145057585245276876054523235040868141172401668672622069369230569976116002429973957502458439467289031929462682484150604646437457412660885414996365193977562563899989054643061967194463009687495580762225944181741274854420816282434805978419315725955335241278684872261268289801700712464984583690963033957219042135345256790108246106400160620024188459673200718522958784594187356147084294414425455671093378021951375954482665541187693170826505995344567554713785472822111497203441006361158248818442277438509146310030729385936895408624961569887575137104820216695928462722211042752174069095441598211594351416379527582622648018247570041900224211934698595310273366462217358825864251252980283132884890289151064712443073672869474151623881274410597228455108711029737834397851403013770591307205469167959987148858969822063068454811240097851043416800542649521359767369655004157423902525821276378571998143715247684810784004169291812493125396088329605069656822642602383146005229922161386205658178945785240515907391214404747628226732197203741885275267570134368858795622814322012329602411381605577488462498030598498346274173067227449218703468943255993385988116186000855451811572147241129896818886896072508526671615960549327498531874479009057406515235611906822762415729116696345759586560600184799240449360750059278218060756379545394398818068359957245602296537430400247916260159242251502591144092996323990313245956365648679703718211647870367807218508043857038279292437645881822219898210230623825208178481079164780706214785110581626861004694700624976927742474284852085177274114144005250485189384521512572535000953991499379229421534937551242306505332408041231912715418390652562185017617625662863175310643251275397449084376050382515813443067007692983578772080365485699174430206449555731313791790768770558227110778547583954131663941009304396696510504559737024339737170189595546277234873902667509911116139010886864699243476966932622837569258885953128599835644307643582894830118847769250049238516963952133814822615093267122845609534002735398101981960157532927075394944519839947365760531722321718606407303742999182220560265779554881524844657557840101165875702021386578267159184009096576381920090747103012312378904663764966244005669102247651832726326268482882537488317606441005820539326538374427696862469549149906894101331930846300477575042851730414462344243473829091409825328425798349191356068118639527625507251947083866799286048832427623543377644096747025960231309428953565351607912823918293682242912038701611313803549392694411342626713586866045109709736338957414926963370453131691952751714607940642251754297459603383875930191231842014383509400709250325343508274454734072561655827088166728778859996976099185497227603869932576857587802104083330120915227373077528411287659498121206295227801070896172770940230635371514948752356917794725474332879822510470444827512748670893800128583933569625577446522203633423291385278164013430747956603887642312443229903503032676539196193285122729526534840580560406266259712151665290697179937777912990759940150132375453775160784833877077836495047375946845509469601039882841043049608745717071762885493919425492319900452571544010390497330037246842031981940251318817437395692550202630894252696992479354926138993304071521125126747925907864757477962014150688105338723868474592762077011322590182440029069669565950476201262307243285706427068237023717000567093040106354491201879387018866822626604830452912802937282028561863059678761194255314435127935818612935651534258533754157970168206956906441703177324702282284391637142996057713576507480793395555064193015544403748876134029286488889709877554054483078219375742610977053390640541324232596326686593494141468184642076359746871062540879601480045320639137058582792677949631260337829063232630187816536798436265677722129724227795478067862425236565055894665494599862096624126315142535154122547028323570289731512646913583599288059413004034034346901327343731973776505404672203996427210463633664466621059386718979474470548170095621708774452077787092851176896869962321291571281354060819982870896859037628736257798522252251566022698445533913272998563799130803605530817552313496585955492163304835029069620221025283681789047866808234534654491381059857702914666894253666064532111567220423820964070151417434377456462414752605661567369609895490756187099866881779810047985028319303564714975065303303504095015745261554993795343784599084309103588254548713102011880288937347064821002610415522526925835136778944958794848834738166346572292300511935664470387320942689736940241378534833381352961207948846653831002877103914649365403828803983367986524961295251829721475641862830855957243273670432527526127674237853098865217009371091604635271934692493834536787011403298946870372111704106191030105421996030227124342439479317469826950183402570809941246075402304455547133392009641445520497960387159229653869349599982699821946088974223871888731039780854138983270616410788854169150030655399050747224911455186353094620551460914045128047371880368177516094679235016521609244290669032264645167121588565119272702436724769038068036308381883034378757374291978391308993853603134590513234186044419340055916599903717155552168783087977479541635486045574421252234410455808777304903204075623305487208032047628312279487791987597543004252883705976172314165792248203661277421490064368073996828169677513084310097036774370035778327286543129560352214716007945353252389377770417876836166658687111430738635446590177356812193552467684815764079960458435820065906856176208750321911686678098099459009565005232935741856442958913062816828491589418267986506393145743278092821436460124721857443842762171577368600679530664755913777711010837187445191674569960411736122364634726349502813584176479196506839657492763970795752394953765633289314437655371535677255004701269843899701641135414287473626584838233384513780643458985552662586505205939598071675175788755382849094368467550285505171602377424225518016880013758445724000125036704663663400047531547813065618061377623019240377586525349863049482558868080528796969106491684965607660337271927897393225456515185780181462336857274495345445131445255418381210969356361054638287743427715141165047555486147107661581720521044948008871380047641073723659673779680885844983039100563558681752424765045066311984762964214116987069624551683501909795670535574280367854777228518168418650326986738576780961481120900305934174321419803387843492649613029572344365861526715901569491683488934524487303418887518584976721163209219072230508662009802444240294964091817855562435523293446634432900785869604716401749715387780380385778297125594727948641474248539711251894368366906622582730242158441644992368009677961233986033817318953859505902608625112479300208717621970596518792839928908990461456216652300237787233265467330180246454923661825428018872229715112243951174196571584965282165698170853987935714724031188507026975624484489872043419405088096174495450202751207595283802779220879072051484713009709037713634283090201971745482940958707500027812641528643292904013508034042954837955581940775722188122803316076832646550246782628844427526512127268325735926161077266384616960193135898093339190449472626234253995982609382318290202143943580125863319900576873662374914299436611578848986069119518223043603094044212272930956240156068592978773116428233812067436622996928157148390056599471892972648001598707866788456065837376218180776871690502514381287576529688476206696010212148530182234626111396446216924366718147461257226629251002254552596582617596315475809579290497701419166686338102941381388135993842022209530320690205870490797645441504269654401201727296185901453115365436989826789396871946323366218830690851767223788378571258012328943828485213011363127334937563594082511913891878189062667916341465156334563417215299681363966743953469339783998785162124253091700535614099153464717026971342738265051975587795093312762371523657554153140260314654539309596476664481352743556652289124855215828585861349425163422157627863670553975482189729774773969466806023229724028108012845612107610957793964761911723923261289544911295742107915897462750284922153241972280632081484530006714857743408057684166805359721965464801744025557110955673459003944567896372517228366287407625501876500872124268984628486384688163377958305456768214581169398810277842616903743366467532301909396440867336009891637206131590572345590037891347498143648500376382938546074338020840698675989273749213043728107491579598381839735531990175091729673857091552070324288266631300671722953594637245176186206506618088086423253188158750012805966797872871200969005317873193403781496644810250587667258263834240394498857506301983345831455453455492432667415768997754205281708454904641905154486142731999770261950453702669636279460337056149709867793468560965490622117108121904633604673339664493477493104894500388622495461657953149790917391775898768960333515548113913081491482942157600324464895393597311488540835439648342431743115541255824571963320681396090100957572592103681600773828374761288155248072569019204736299287423626067344038020425210885372305864139927407307679882794076166061796226568534634909935031964162385095313770929501276746542682247061607213785105831183097647917739271679297782975693494627862303439203917840646031040336708653684037144200148105662791750360806422498844058956120438230823498977809041638900557449318265535242336767773456499418607396630277564754406769491661421322124643378873840633590489881737119923445278432147838449566584506700244837396636832327949639141828635186471864654590932885924540863070770933579467963272201808922501971629870749052375982347795556482602654617488099395702755080262873473221577411081818524519383792824755775676926360205379663805518524234864978013436100214702390757932055055371781290516311948279444463555364254650906873305700450280072992929674208306976461249319409852118740913217800974614215837167812935283479175149629888315084447189743039440536727847367561056156969782534438334320050278548999108641194161859340102439708460095873664566288823633213765297634429875209870014735825804916498817462230887609437211468990698294101988975476997619377173181634906599739816420785616488150296461769267103537080487746705529084509179681547127353626542983079589909980348188796234498613491028243117394207961911749364481759383286817213662696216251038024537035889155705788670895406397246284635971252409744170634363509392498910578694353829946207251053989160641564692755870420414907590112595861679628704046831686802074611903723239369049232065189772236986038964787724317000157354529009274386921289543882306468428737107803127037914500233828604396532439946659162001850243638629852639762028322820204591524050120426141197526831520737993992113381066422118119266926865453057038941544413352240910581700919194455536291544444947237967154347278655414538033034339646655870924029162153818954444063572381622417037144745402715801610819996141830676270746338490670771069233477546205501740687159859463749169163245570432544299101513353312254503939880454853121270580213349832557512730780278689417352348187571061659275188392463222415710482027373094574997869757865497674360372825150761283800545981934931049804161245089469530112765009768919981853652748373027557942556940582061823435215882171054787730927363244965805011540144302867881512372731945355565820164120254683117640771501200848824847555972370930312397492155126565732918721477673248481514999367132181845248859954422587725209244716784178339768982583571222074379464938472558252668751969057464637080157800657398558808431609709165785665618730530170800952929264925792969295242857624427705972417112936591513037926358655843639628028720508310287666278593835471241245506174550576161596450642649248443406739268045692161957569690684113708332740276525908959073302795196363840331882130430398829621290976003526195420811388458659634862409590826187575362878924641771341482479817470400371649343955961190116877593493317744067908838605231356345821890420033355701886263524823446540531335617355916318160233128766739468077238890044315602174840107725216434092787930560030326220005153173524492509876708450005379800764265027805183048813461981755686549868413672739369676764764033355607156181146829430063359039900701466549165773282707567451454470415576136819695773732225570845846958186163281092641273394064245738510113830833147678899972072495332645130070912034256148434124808604422842060834381166467673504179451606761864146232264230558874311943516537780978506330685313511921605432625618726839145649695273838562171083951597305893188528089557339416784394278998693602882992933619451293621402203482652113384242739063850657020113848729982839983179424617987838134084750831119743945070287214880372078601558102498718198839099339216605603063328712596188491780822519487569167428512730872463532813481143842105599920246135209526680985303607953660582989543071442794885527971594829272748196322428557879058402852794511236270541071076411776319001515785235680562556825093836794881006948525518339789094910938034322344597370124363485472490104933169934902403849514914655253943511409950711742815079086755876925539325559039481333706489145680865583635780299115051891919124135374612803684124934620932507774269885869459194051209475491469635885324109171922969333361678507274612693443923467023315182619299260908325526989755878413714388351770744382606616236415414557022633122648684752863521614839206159157161448361460075155434015662774773864269832838991812218933702945276179876667623541427286184136586060646005333856529490388800460509847050327033335354794594525514405889350167544923716211710090234730973413970791805849406170712854881486975294285036426948583216462006807525724189161273857768555107828504765183358084369986077055091276655324484880478171487763779698948808452546058638193487546843657464518671807828256997019698308730889910262484503154186243771358254364111751005390010746261286370506135241558999158027542776439625797077571094021332753959631721360852768430034999120351349875700738675625349550419279440136148081791914264916504768231879526010404430760913836045009615272547392594300389200726220897127775508288324065591906917985601004989124222971077551324212057655742625890835945547908225488016830771059063766243668868572625256685270697102095868189644086950976456761445273666467632132442763199735764327641131061133889579149807594486148166874060184121609843914094434708438325156424244070585752362459256326222461558698329795394046527628639222075798852305588995951822170847025132225451326423215563114064903228523379202540567320044516550382340295173242613295755444536860345840682929410511579535362711090595159774488054574678050005612635967191725149005005027352974128670198548071277167260600911898964624477299002853072482964468020847778423797841440650411296091355272230431479177957137109923287627760054570374265818168006248980178864664345181769762857140901075310508502875535119718745337873333755327736530076259826176787822812981872801261186722531443221405413709516872992556412342241576909777255018275025870437121256480566739671144607508701961376110981290228428268034530745177667837924045043933644221314136806053241374806555804898209027068931290946806183251538544557223403224360319031853558900513008882237259928451467109946551145653863550978071112466645838704464367917033027444146571126901659679273137553953414730789148534129891791606507163339735713711777690233210946426353824696501505947249478579845655874122827844242551416697842988080242145039124291590396905405272166380988862638084276926419485798040035429575039741812617229662113729415990724823814078384864360314398627689638390379036502499733018110456627324048807284391751689828986168419085125455366506133219146985622785064412201715300429999284990037960583513862684723971965259790161346517087227663563063029078484550474295165300388682317795249011118831757868634204584158671604619627227001583251759623251169191744165852825431137113840496466956507192544929191936567646409822285368403400759481373613997381103614549659050258818746287723783823391673942656963470453242974123541530252832175065825877494248160422088733867254732732991289786636703724871910127089362410736194998080489883341292532159586139406306076031711741393268684064587341478312909267896109781733989576845440399242879770898289511051264196629644180246821279349040026162869771876210423591897130278951419585498200545395546457824518805387648464288424794972890613944751553064143351387108686221742090150801714725450041705061369126446334732547135860567454975581610089901762621273371169841986367963133294982382505971318588044401244336875918832466306724701444683811453071923200926530327765900573208745425258475938932097907939052547504737737164063060021415407888702463605541272479218962450208891212634568443174105004041997821996103878253408734260663726877550820239592961763823571064037874480383124917479229775010567312871273170336276552215282678722664535612630375209020742455661705214610306576494855245558976664190215663175905472660911254893102299280485768902219926771236343541143580579664244102592352207693461120284423950838441082796439418842881176995605302956726182004575516617621122403865364037188817960950987849887239452804928711027658861566181659381682797983899879883142558350395045612645862161112813735493794285515786361909490430670905076024687097186293318313054613480382083571468652466396360912388380852922038136090041930286638576728897410177727733872524338917167377794832861723450212583351269520905743688008688089879851447912619823083461092554631881913899578394378841145256524107602248065712380139931006180233758708038093548618754440523565941788897790413194627431297248233812869676937282330065309037222069788252742502875956462367825662642331743280827119267913216798859724879782130868097069471003001235029782398426051664590971875850737468981594791299617124338755708188279120447458587782729625069662378175532047447125533852338760390793106935819720200558233204512494231892748645946371734494452840526099341521743039572719697600820198623961502087842656873854966065435987148009618604189217702966255509733521398759297229614689819621464517737485810471507417315428071673948333725661965579462703727866918804227311900394957501584686056996979127172465157784952379251533869622736132786500595703164336315907278382846949549186184288692497219516339422632541430618098034315593308818446089047171665437978280596043793545159516298721827878939832807241353429976070054463204833195775806657204182482762321947284171615508864309129390613293810916043713621844612001909604289838740486198728802449225872611996032432654728042877579644457965026008954634893959399791253964448736073144068727526102951397765613044295380415590431729614852606834818799646985137181034434892805801367731122555568162327380831702053273310947189901735936539532096478246956833950178474518158327958887147205363311198077238998473420249993672428540020267002564481146602173792487756701207513215469358921718330087002994650066497865395032167895016231716544536475519899440093085326624619879242406462137892859427698625628776900752114270113879871861093701358862198447936870294822778187683366375373568442182351600693454450034347633017957024924854407949859889270476147541177066534216014659657212815736267190873328752886742767089995879551942959447724711959066853659622615317502700857767062611079764580136099258973862779739669997187089060026211941226592240758033548248766254987648085651176671819194350060598825586438665530723129974410920175209435507590733838253222988227310369365355314994731861494890091472941543940243524998289852515584312160407916517137126767800406358846921683837284782545807135696517506885993067367873516352936904428132945960031168034534470390834061031419089906694553378410206983734305361884786857478905678100200305201812708678670256228459658903231816457759338635193226932652637628843431468133731006095444709963024150437686827234667392441927611486821025010574142548297079173344741975439724723189356423992759857917340915696400489776999936404864882650827279750101339036997869065579224727928651126997936215994560193481076205145837837731066747225676030904738838078672172934742851218165223859242116587118946945815466794598197464870823332703243446381943870276930339902499212246746435140408669433260551388938487545706165252129178010862686859076717355639347699246501885065963472700920106669892742558949291214876043250808624546803159186246089573546577890359234144785683150728464896647723749619555331562866463980579412140976627977810003936989726954207739694236412857648820146413554609607013370296155365612213760591516832796060798018987614689687621329437191955225903061288244213608488137293235384601901724949227972868461432502195248372169190506352019296807023546344485967486308246937688217517867482978247650740788930614790322847710398112161316107485451750279605048882991612531427511088347708208016820384015518967749837256420179357261587516718336204494381086588052731981051045460783937018201549219761037544824469504442786682709669801068973816428457192447069541685675161058898355411751252290542268860938025267015033999026201506726513773439459988373307111722489862607127702132899464528541895538286493652792582220305939060162929717468121472575862698472593982529835152758241218690121467457432319766900145741129911740982724958407012343593670015972470482387457074214437770512951825243454775160029420990072384626567172616303865208153371405055835934580328940453780570992296148380679300354570005799991678008170727265763438200571694732971828737366806823046554518155082474840039810300593173510305294361027466656646901840647799788666621027307797007292437363024017402295765362403644547392956081897385266394687974925759023763391215206313339929394733087441971700189948757928375757473766623949945361148535183360916299143571477274008767066091513884357543732916498833640852261661878441412582378800849635939847186388016308681329132793745457536086329383396664449365272580765589633446293722542163008061974653791263753466358806130729362922934959856012962502944649919294426775551451525138262161029719520515844257549986016359372756428019198705191309327801867761609748726902736706489492999137179560124173185881897841696062892528052553932385553836239516923865170838983269520293753774269513294563909539293915853891060790311743969437511049936449581211338767406446847635711984876785366603040380119904531752950594792073958880939657227394811150118704612786545893302009445430064791803850209554465637687324870238293102466053997558064822177404942543825015461617031153992181200599758954476581352190893521899826701763376806026837330023109264353517414315408974042072108762005304721281889609584955400168024296172794605138160457872965478558676859498209753477030562180750799386186288604956771949667714869715629485742652547228436341542195354270535936992823175221562711580075186202125166470369033378221817475901128763261278129720302939890766751612000056635508066801042321713420581694264949480592324833126351895344755375801434750972892850491913545164876273223630794749602784045526029864797789589597425593732956141457055312007128925718363876866544860438983369383022835931513536051522018576127526571638145672017350415692632056293139521604534865136624918722555048660421746457729097009296564910593316395606680107385922942120478470060640075052115887953760352154037117793918818254446342057920444561887884936774846570755119816818665086756873758775744302957540268678167624197223544503684635555392683198929811273304186276213070178329902054620501035035366887379903605103417822604079839150850334962287424585050809569918577874418194541438926157130946707297519119803209558656596003186842750800841768006609751754468023401165249515094276101593190922118676819275163946538771891750244617571891699135146120901659950489650918900225645396002327544193781912560074581581142789089213550650817727959572078697275168897337933922959155129992155126613952007640651691273497519654979520774457207950990997022266352497228811090972653094302468588541769937114216836053830490154814397047603108964258776330258688888370271617844915131294794282035616129969931844190640959985750204871001100622755092355019112630267466763467617343329071406373230875535344185062857837146409530576892228016271793099876129012198554538845652748756570472691825422234362893317279566933839460364180118608141340977192123088483288971566573654487570387968584627297417806013155839171564490536657704998022100004690947975917440324903515737731410558940740309244067611207850529916274590448559371819841383141600872744152285072811923485602453142122762590328925920076845816783644246379692866838154299014422978927488445873621207988390819242100844718312140777929423087425814126421452060127447021243497517957914084807540092033125599936732460713567653784878623295256302273659883784541989347412425381904908591936578175378295754812469573447351133970590889843848945929009223928663894107931394822921559946103960193657183302436661539809995223686050645479731210293212947995531559017855565437224839410477260859708409844264064640289829980571394380935943955032053554915026829555089346188890555029331944937861951636819598180665402571497005633315139179773515467455283440445461555503369253016706750766569820690926706569136236115808188352714346943646346699102001887113050707137328311151322753826310570177464696181947457342646143987410860013266061506044586011543684353911796574100714350669200106983078367714575716301254368542516372228389533856220214503814830175270033526992835488167866171064526719211971613644873657584093964853590840323586371071067181695838631422485675638589466964542727005005904727973736348868416107437575688149700888270597053119760660546408176306236640444722346977191727865523962441918266445920210323489179047761898830045365267940986437885490736949229770501001563055232383122181695524800231112234944233295016981323454612264296077894810264769258634175392190278582391679518764884282189130578619781700726131940580658264369288819198559489746817743583049210396134401482293938212865470626786871463163699202038559202770685130952979181796530267470178573611375085086815114023514554999988946837413430997572584760735604152643137550728593096716946202829415719511275371184072110597890788828321578507651556859146165600430002873661832372382735448322776757566947025790256055695600969677792087515333240482239615154533533229339441657562030010651808498300881176664622353280849786648992344962246085638917656459777721011821743819023520447263511064406642376898742897354209658985127346920767870031355781083957986897975139631124291090253458904265500982409775617094092471318461351783158565159376054388973771375711616667453037126170191034290774578296102858205486872230730517665547358679788878333544639576650293239348629638941149494688489204482854378587856776842322737283508519957161540778309631389010682784071603292124597309114702066016712827680007334147923625906295272313830717703684787013335143251259219183103088272690843478629890062462437371937314614799769748098792109643739393914926359820399686254937772270603888146728101599840229302960191940185815324360663774895466071716430781960215256762513679351874080483163607964838540238376341638647894770612911781566496010224899592722472247929426473510657018217979547541430883801120273909599121628424314252951256880492419929130425333485065652594544005268254758585759557830543290120854266546449774314504813574588102426611698766227450622648256417903207825433556313939541566806057822449853281668740764788922972566241365538994296829534035281212079050549958963326821048906138661912135019529801796204663232436929954616092308081991900086321358719143083147999233474450180188563191959747256533543536497599638953848010239939102293440367830707979824064653194241649993736202623296591835620597825567767092711703710545178654002507320667040939033255836459000617121399890537157309507898325492894835143971948108036300492474997392789960338390260540448499067006715677321644675536023962892773056738884482804868987202554326527001250203796437949049971862473244997231193676409404899934479306845273889267391169505209204372215943249505505561989025865064730573743978117910354812044681294721160876065647438729347771808705073091662266379785554425278200138196313317301538701333826850780003574939842888891183354638054181324830751259685216212930561770306103729038953426829378791497495432867347572978777879895176635764943209348528285259557054103993307442530488092875153797886980271875862280072796478494591547789981901344713345486552521444161119848418026947289648152769347379426115609438982406649760937210106393487477862152082260383922830207522565102245836672269269311915336175361359601517768484060693366388681328015083883571314324225830494672883353701684785605166579298716831026776684794121033221155841194393610558855586832130010990366412816332311366981063485966779195153243306448503663441988733064899776271132249138248931854147281557191828052113111632485242329105698385700186155261502235202721590376370996976484324245463024328722052772299514595024643190808741187771319437184866920950014221183000316150837888847498314291014153166943283654259553928747438118335968174879348364132247199854382636947903682581166427940476470402113221900534262965968361549954370847078951193627469483576443213975820239348643824516677903131733736161305643567824426528261541069673008845144777156036985462324763968470213572314947960485154694681466860834730327779922157837354575902534291770920692817375409325291809764296094552484808680974076686421656096641050387842721700151970283332877734703933964446371631863580171798921078552919477930838660931338767964677322374092878887711271732840839171808568840551298625046500042323794429013752661640675940268070424186110606989330691817603122298424101187982700513982909865039411506075711510484408176915239604370191591889040640826729665345434316892074691704440919884985041597266377718438106135411450180524807185686011487836769251611277174359194857931210294448161395680626423322335099961404883383530932209405334300898764768625238504225854345680423616064722652289465480753956721691906548152662226955484705760174463838797993846195340071583207480647472165389883969788060883320159913996751308698035593316892700791666604874280630251713199378099495364203649850450918244679700657594419168169703425842714940998746298996388761902885909137098041346081239796319650091942131126579381694496888530848225300181130982259858224654296213630532668654462208286655599023616839918578292401307781185925793665898311998011238845915169722339320182864716955734428332707330745467640635847833842906665645417029442752566029316438851528672265033104171155145133740172496618603780819215359269194640927203263369630479764696059822618786621938904891900791671141758249235817979013498023929049680875976780877708571094224031128298601904034053844777898841117319132288288406754889835494920080619804810263464097930489983678951395157700240183479086544655988949240128450600221026581977180137599193908432795258984704373323847682426057196934745870314320239307643920867983265523656563942688114736492113369382678003942471213052294056021775593207340067863327402545817370426753659997649954480026886903285369008736381484478375482011732564055473704271811562207708824265372992812220189102558033417249114035128376569323776809396887501290236475745286155833992898644659149019273073735518626187349025551432046583714593198892800994943155522927927545259472580972542072945971728984217371588223185989389814526664179463504194761357880139499671916788570701980032744763726514584455790769683206686280217796862585146340019199464598032438560096888192705187262026344994734975099588952584870420595933469592830725199677813923996952126201257351776386674775345049701692262261953210339099134439929364482188095480017498191694079242578466134704557764265057863612188632106238565796252600535390187416967587872428973611545463228213923266508497451683168350386372234394368046666142381023915369604973351560706805987034578099121748004637284435971164942872565765184323747433945633012788789935587735906575957720820070991743617155145410167036112956788357226426436381843769828237739499569324229594363209598963784981004456676292290034205867004233128150457402689425021188397887789106435444971333104045620591007221696450723361541555929015426931449293214527498559317395345639663355209086267740050576427948104118450104914585239538043523852778268309709552895337735861998724280298007173632902429986502453911776685605880928959476168294421755701132873973589111702956460950633081246415103190345507447186614049181277411769225196614795158032305594963255549182976565324135617227983912009212360790756051293909405560217486170150332425918962582833572254216002398498316587633479573012247970291493918722648670827589286322055264263578762925665935699309194152591745736515974357461354387155436970549820454860406655528468049028638708879346212911477978854875318143597973010899252977780509268684673769417567145965988595126553220597417325155064890948433089243452329831551965127096415939680650986568415413052364136011492394054175043119021738611810070663707231004361293491067630395363837285285952825199165215181201002971666068828466381465695326540416690281544802778048853450163257969512193749185532414700912184979631594013562860882264868878894855207987312527577260818728854851139653278004510533413927531021643785218491989755720626729818947135163439312153636990036110022658651203068240442676939417218474692301529252589657133207609991842819951545696788638092579425275388820129187010193472372043900988126328312620293725330964970071589639773984441472121005842350283777294381860685437289662527659672338571140489558438651015870933434491293158610578513781852606614610797542393527098089130480193444912947864316744268259211978993832156913060414186033090750929787283796311196004163607261016537613591029625786693731610989903779613918671015773258178088540311010270468475353125992261776281808378832225404196447149381428078447950081638255109912721835153763022319341303003872268274004584128491711208770904414104783569170346443258818978097607077691247676263341521194577972446854738740892885021837488208667102620283516197071122715422676072864955668275866641583193418896525683813784740172480190313286911906456487559201851934153607144635837941248011652404880547833624544453218908670816161415036756280303876891147570954050563639685606788067342721639859403338247908908423195328734388077319319596084884473996712929365782019414252681492820808332076348529553076024134596377884562662095390738540137858301102330586692840242208598724688701869769126650677691157786192466812733942682375906233905755835284721130194792613235841762423343087050378717159411009026207746795053589044098087417954265734018332605012091277381300154033127349280180901767204086658013518379944342930203257183379615929590779475281754662884113432115140423908871538673866739867308167129423039884675215076707847558507775873161987375237318772093999929758337168245410294352390700994859545949753286645397757608021219022503723857350102216730767713010126558359252209374795559242206945196370540375658462020793848468388675233839361619700872007014207377677180343067744295120200205386871216577581238272084812031963723075086448080352537406938541260243791717115066350042418029370242521715410555073447416210733594835676518680422095823770591571406879189492593767408122960487923761189294537177724818160815530526869080301996006461197739313800191155996477618590682280345436381378754758298424061136757669824474644089018753596194347209840097761776672130038054393145361373011803778485328245957116879044596504777258641173025943525668751991904113763175221162257237291417394420031981623176435193930007613038403217938360854317110563548365129412864127885049321639135064282567517639853220929949069720567234707867463878404548000449391025893576948994700770763055949229906179533659378337385346264714981735844250410588166822802338509695434748307857123588210595145461338632530818231019522348414497146849350318267715717974423818214601743422751927002142749093295987984588432895426264282232062337599283688391530356313341774208998921417739557336793777886442552593913084087185614783121363611986009752470957543240655501082536664831506786889328733333576027925812144730060058117142994195144107090590632244514020708924623670816546691014665761649052570537537087864776191277838223451436682721764683612347773097255576279401190754155232469471143636143238858389972432965638006379735666719053594263432331520396091636690980558118697729878385836116230878470603265112493804304056268331025159966126160824377965933479332379557489882347428813628730791823374127994539332592183451018192377522704242618840098319626719164515674674330464142114554068015835602577216192301146009512286064687598481088074526882814366499873439146610879192673321621032115208076296501660523194514424438231395162481974524408231913456324453682444212215902374610758685773351109361894996402414728962143826193473393545692964758119669897376935044326685498833360313962324069572859596639151755126492560715929131156431946621027253081633780606173031937699434264172695586210382533291353957383270136946669875263327364176532252384173104862373576685527441784263311645857418059060648112880402845066108803847153843899604503570708458532410927797911264367669618873360083863298447051040700760959728476955963502456316217117219141894667350042719669273385595855825547713844056763910497575527646070560612588257384340399144517981101454248066212416606636034221895514281098467285294691652436687770072396361624304196871664479541942472183821591933323005100150386776761453977674674096657892544724211801185711120216115786527288735576953426079737031537852905833806390599796848002032575100532853593841355144241780814309210858194447051542045760155818402606168934356537430590534102361755026777925200540444073287633376394373692775140548364468226939897915635882376419649144165438881890907751173983709660624373120454760501146142623715151130541032504277836031204844620276677449719528371614173160059785943116192686864026066887571579796705202484940659438348069182031099717591211781922893478475275245444323503123527241921270267086941665292117166500350303404346280505164578233808706926324482518894240584917150789995157949657293417909311181091336372194047867581422768153340787160499951914323875751556779301903090111120915941323637917394939489081626387269888999411996615869840947999457796297268145167957555211600821486316683758074996315199670427641858211370665383322289673238001255461491563370266091448915358796278757825278158316446206939108652274630166815276834336990517767014759023952898697710116967716136166526178550605081571647060048523316721504839476959497165060080153711285929274056358603869728205392704329798755744357498864186454552320271543781142294278002377920323052409389040225749317217037656539127742108045080162670434010786883081732254176184497397248860442283889470922200513785922361640971064807718790015297707996823140424123364274937902494627628095378665345837332678441928188051168999937159223477224410753138643780056313931777592132674817530572343452471452087160570505943965415662158420895684225763603633097859870031475864064912393085594942957517145892508388026879621201226110974791222482645532681615736245059824307063303022409596221323049236906972320062856049526651559744178969017614512935818282325531489882565468101069047770767447291654679682554629958252226424956359503923973976983295874542704693538797822803849837032144007392179818921648834810991151069124238737809365343357109003829728316319778393341193754472546141089720849025779670832642588148683401110598785483064578375898123152356739036472585779632184912192419466044362483097339193173888079612066384075160988648147299718573110479071502186335208030319768136150767265414089276503308629088573873204001049394852540815061820133645088081996965290283532136326092579958782154650058107214209577086526440802177104697059737779242012774784084795528729087633735034693090480750400635260168590339329335781570539346482707267154962211072968622665261187978521963206117534779280502560991603145896232917193308028770430701333243506007905329877416188944581602690300086974834907009820870982290158448239388825903424992205161722062503895835524952970126839462460406093200582349394860720891456121122752920493103739057678348972817627923035264294884315450731494189791491032242775860998361016380653899170122973640987872132861705686024867920618691183094222278713211533856534234257243808090774902281244902944435666407907655367305310473039749225650595285736192197564026204123234642419163657592416181378337299295604607744948312761835135928237763513542530162010145170039483387652645361915753044872312819231577537111526564138826955683822229402546111631655103538473065087971622678121671644639022341185569640147793236065148139899886619436311911657698524900645707835162519763340460191450902284434048120608239404618753928661765514952757227789660449856145267498687694587878115583532476362334419119293404135754767761058959030216471031946191950305991549982630331226108626722353466549266300941695335019011606170794225258715778151281217049880480372055366317812890236733015330651619328174426652298665067560411972680490480325085085199820120953163717740893478405378860066844444924772745509894528448256294123011856058358351306764929649319944604795941267507338602366311537251976506194716822527794420163205595945230651260509450112164127445027636266780398893445898948558968763608097994294463345140298730344829084781603958665932311701304174687224949431517542635647625787038909900387150911931096467800985127497790939543116614570158160062638058389691863698049281996201989149975415266761552613367416661380685073035710445684263977565298465835737414817254880748673745558546339142853969149172739781668188946342169623657022980805571579213952967971182734377849851514936169315966151123999137282491119244468808996352895059028499953737107272219465439693743960485726697002304807252949634684640511199676639956128498164189839313890677497469239923633530790961470675764840572097553056042311987052350066046379637473001330154648749323989653140670252162381322691163567733306522293333755844042830743430207185545826282670050772487902739910254955091651924165650002568013936549284827822835157298676785370990862997116867489662510847977324938204375744727586580041996977808719816367067938243648956743119028172027347762054471421077453748708129220506315777699632606573519125537659759439892884043796910748389291349426806352803956787616171192520591551487722423127890535931340892556050403569538650603900074964089487725465927612076819367873275720393940776201817198236287476794289319235320808598495259395579724574150757143166159153914623839484834519956534951587741279720433056362158456617870485881009005340340572393775482560777608564540285658528788664135223468106025513038857999450926119356492829348243792697861156596041118250309032341083529971999431400787587972047049409647508753666610639416436387576449261125587316774418089631822572288825665410074368252502547644728421042290043323210666483036286533507579732475033283063854099740077712153376202342498230446022646993906623232167962727753116688684994456491333764574650101418511814023099599504671716499807403612611323620193217659660602452623984790591317130040257116469598129668916097766614801633785731687814398760664325475622869653839118668722797433275876345081826477343018540800660051327484405942012581747669610988055557303498453443504834708977142980896701071903915531274872108724264238486892859715906154877894034963054239004702566896096357676493133093264441820298172070603100190115622050718562568705087755254796411448584370437412197198736386717784613433970954413496619238532800153192115550388816366959370441608360343631488434267117756112053669618977665965597254276193495674971649951069809739027986842664253018555346158581151283329474944328105051272358086092504029261774943686201120533426153548818993571667639785798981009709661573033923313650513830575035787999030438124847978594225002500998117392359784590165331697494997444277417025269265581744357975190082631123978757788180043343763702695761213985690039320255708108275285945101926068547845234087706396741551903976764929414978802937376936747263380393264427289871101188958910554557075560420313538346116653739154586692255403607222141772650333990574812332758632248268102336440818308465436175977326750424432471881776494522943674661694937197454525311581215340575488311461507723788372341665053856790006497465644674077030690185614516249256975033410542170872667290635645937137991017907775234119680603686141068101604968329807041062237275952975990038701663947028774964095812244542561967939908709962187306820344576546844551494706550082531857530532172201453103122626640986131609282454337011304509267915713316945886284470858558289786627507844251654752884248715175946745470643038541907072759935245863694876682938178120152089280474596647023525107200973327395526809200021341437993037871176589110258592534555105753515958083781970137376736367104750772506618287151085545117651931878410464022049844886403473717424726938902911113168750616662314473309185113618569130640833129064217159407053252368430495263745183055368001370720496791618308159390609016205829425112298126929911994493957328036901948308412440505058080546491584168451495339589465748865311533746164534107020368625009113557684556782228681559405539252418103254130747032434525971334984785627761479093439607562305770101066952263785891571454464422840474227626298959342543400378342731313020827974911914952708173413816252494999016202920349873604053704814449599162514162976858480455662059382073775724331091444046370301361801097278567884252428717116737592199532354055988222718668796833120871296151350610445606432015907983842936290246268472862801916131188731650040009833456888246179314473078659583929232302808073960080474323714218523539282988473217586697534357079447416643480333251905467335005961877009730459716466232104541062771110720717394357074192389256992695403321730995693589830788833110721043948156007734975966660111965180198278420960910698375867995756671814873733152569356482695634340007759168277604491376373860584704702079917646562086180076212596624750019475456541958866837787887685327081437647276905465091784337945980375668786600921120357758459091000255570158849826146063051399097632179462148289670882071092914498849595590227805836284499638604451046966177138351080563365394377655771411690253586751701663224155135439689861764525306587701458839687928074709067296101176159951052229714462096857191139985053637853884561490365728465342645319653083568749415560780053743289242737585925126931074846836324565159172668625888984735002137684763860946111170564071014696446248085549149639940079247615841420951540930605801766829904811431363504354940216319079873270666778251194537700686607361768011318915599189002818570339004758569224168448514619891111173620098993615894809829731994435347567526638434176987886484544155116994861203423635808256149600663272315018067301021334379699087973887358906390464587421024140356654035777467694934736376953208398155970134190475989814952362373200204829624467890571323075336808603592258463129766143546481681833716979522380665274230556705479390789934285375016756536968671549399454581961249420511012672382815206607358026611501530801158283147458164756721184617194200396874200012000255258094794439162851230000314649578274882865070077017599156772612798508986780058593746627388065018104562307135286117529653261395419303960169587248556888781103085638819307501975415383527806489530681450173684500076050410190337460521681542188158129478241410082078675994580505318332917659293971813838293105289656084057182049666174088567374300402805959392237223724648617331476673693232956861695343432941487991675955120857197769306089728952699457381272702494783356970957244532670481232167259578489437826625447404196888302614296748249436473930855829499526710251767526049415094349339512865733733692403378658115429658538014459692608539765412192777782153764542415574165767855289492078509303820021995012020453783054388654943102997104163542908980169149848494818515901843407879549955309430219458732946904969383383402778541778756560815052051330364767892620550071817408331444731835456971487252673065803843179146847364549879225450774062815454547796364091022027224084410166944812441488952330853139937187903278184599781765007204449545421376428005119461755472446989084977676203493802265393566673073149762786215244496674660106957688845509200048726521582608317572463594505577311704396567421660346198697505271049674936598239959731570359673692340184126543907988951183895034296524407738109738947631678236435230004998689043845610705639175274646244340053022980250699206418905329130931151315578368946872256419979309340754340158263350042261470737466876174504683344608753265431162444823859875014176646729427242752509253565285477221058138337004814410805394034057606932378657430194386793352946677541073610814382217046525473883963036133497108298483114385661381539009578634558479962972140412753103611078109723619156220886951633031865215561486259914776995177069451276253417821347318808954210279894483014578035366517998463070095012228814726709287064455200929771140799353844320519088550477150389586568160696156439655654778809607285160174751886614220015855384195350028527470884218495244001683554976646163109104517153274647709819134404014519927229637233047685007134627038037929500778489616856607578658743994030951070113730180955272776946289179906117946759641722693401610541213163444576820242208068715952379277854464767378681918146516001173239551463214363709108509591321125146686999965540539600519837159121644303729944792255296581918692521805022097190021395480396013503086897004945157934549288688580763149991135723478673922869593296805948545597711677685840379103944858784947035285073508801544897331692081463096832213890275525756431488172029270695364100268544740188005005832184164658893935516644068150286762878544901196522489920957239345661183217205440084849739260172709197029536994428825754715915795939476796794410435935379481814724944095642092871748596492991105594650268297099146258049801726985415501095022290902869147626869198371536773955522470846582873176479697984229883557369053042619475505185096266944614024889633742266535287070071790029985127366898957525266590686424474842458523427970091271576747979819655758168249008366057930726600269341569236910425592326257857296787565740665457180876981259052171144483439598364047036984988710962012769014248630975949905923716483676151039465563209599945167390802074001331203297339117628777209982874630890361353133141023619431848592885092144742182934947915110779485814868823644133662134651815390867822107328542568624571843784194785866470520069902062801316475551833166502395811798313634285786405966558709239103267201989093400085691805817928265118978308939160684241959782976782039581272970071031336843348797288900934097815503198910831184507000106098501137334943810586671202308516250720662887554656306299305094494906981500470385027750048302630419078971238605247336830614458587443980466480632069111128013709072814394405720845475350520944549449273875712091799450428215733139866083296181146789561372162340693040331256344611195821588939304673387914694156983420668101529876153545711840389408426146659771913799798880218388549796012624974624951572512080320963513492569590664614738734294009294502437302183084255540654211075859168337605888504812849727647702402098439144964452073934198948192120226872584570040237474126000386713537393149982328431982018740992995093710648198220891534773921675121937023886872957175738810028411214243006787833810055469092686691603115314277065200839013235315181579307547257713329733191782900300437850038246306615656988750288069891022994151542394044744845432878761166297443262871283019506972253903533074784490966678195564049788908569112593735948773184082549929910404782427746495550221130898009319261777371781044074554093429385541335212191441040472245109430165058842244074365233584290168018068944116491881694382822389365758030923333071213955095699617640610904875660702082253762569223909167724754314646088883328443178411840007002523734897336569231561511632209269663033081220792769484836625984793574859311505210770379237142981530241752635285929233331324141474623612220736767071868416160379427313218932593902404912237910927054672298785724129433139907257869926864561214677898763029934511339982684378601580956750165519617404702445823644378414348685585538569049165466444749011294538139110912411081420215138172364792175663527586302074276642407289382495927356774149532843788615542248873215360419347648735850543103881341354996902175508166349384843105951105172825244919125910257191212150742952640273706226372650826440478601350335665755211962416192901603807103823300554262765395063219001182081788926530249353261827704973497801661219426976872748677242319629876299813272907737814510384346711907239529632377210335512833808644965948516664004266582265421131974380656563447860318539340159185572918207408031350187777269698652096747606098057698589335629700853330508144447184258787006083040517353264420290763247303638241964311149580841369236122078893854168085602209765824166431986909911094659451326166765502934076929341177716020682824110375605449294542719299899295467445911924217750031910289210808507259478926210228244446155166624727325875403870819413660838175583866081723841980086224059456373884553204244826461034989483636508775541737777886982225453179507775776533125658042789994416362149079620622388915654874499091921445736161810971569256559773927041201673151487604556705899420781882275363438528900395778120736194737013867912623365496839120890379035137627178227826954134434764006447851076152032104833111122052577258259341467490727575623369304285733125133116734040027534618299946673506162308350752939775159454973530830132390003376593143739815422854088705743857439480595558211005857548382880482567480986640302664202828628395791541347948902759053018789414554812997833066749850249987280321302245927277361341549018931257647200798958472639819384378428965865379451122957603293180352437775512355095682010432878504807552912528975525044070012267987109027067619599475372493821237476358656353578075277275838107340542741252443681964129801314171948350687529381110262043347964922317517963435200199032320757168891860884455449550594095751030634616075953688605649922120382547776626949710146129056375452479455016975214997056343821554800610419208672534943279714064706444439951893971400632561216050555566836156676473393756505250172056650279545661149099737668503332159123407164684942998789840240461620867323137208667676525962858491125623501165065316843153281517112565108421038634813823344582288519223261745506917738623721950940695064312763486180270108390820681066591196547114118257038154348036280525204988936290697141688029138708681755636844072796918817909774329923755057852710967515132752884488993913490592275000567810709582387469540621100063522192340380215374258067883282905151450032820583342893268726695639113047126933279704807171868315609475458140821889662219618988700162371119215203997815670246377405792467696591163699609577990278718064546283868034871057426882450651086124293982667711703290796839119234975790433642584665399108291191173460409934369179243132567320452313501168261068808811420586105045934437365758572553464705895317582969349047150546317037532121097019395462164124699457736735974030661130279124924482607954749405023346413120847005224439653653935133750781903395254063500366150948440000802000314499007335823853156652480826338163556676537226886102026541896783171180520238381238189820433358968081482399886764792867763389175225279279737627588085357872155660313251864333541546438871365287905629057390110690294052645579517219931083181186450273874088444419561184025188634038915539497696339463858936206333142050575493642385710512208106296980927305625851416933831340451999372912725688259774717533268337271396156637174186830174922236237606100206369101339739842153396503719556287083868615476264711187586457625670878443151474507787119278461827606568595739325949371325308853284060038102110341042941364861002630975096961033757102395091059191495655321938513651165020429662378318549510109161237040477654299440729179045580080703490216184849123914437446263212852904531368495709384046577811381127307420905314009146678403304067847991895929896716386346216866225750410285986753940443042439794784807938313340223246192894564758437794809893672508389004248590538984584787785960641082288355837481403555088430771926810926825145010926900760665471714131830795081640058977025653699060172559375209646697725896708319685071465550806771189043580878222164801078624030330073181212360590008704454004504666789986897109725261003964961295866604562881358478131205705767578972281675848539786078517931391854861456503378736058980302563282773655612072065501266759216702145987600947872935404349519251160347535867431170717354556199204578734545095250193075797463358772179703985011854033662148602368897033438284675336093509839673360774372673376634297500251904207447865012516192188467689402895457089885734796611349088801750521349224428888787535021374611028482350636530474454148697744011724132125521885885057535837031272292849898125876317501742092866776437192767601526978472729537852120354070571813574211595903288139840166381440488444500398105218971479863934959879234227309326764382902841972910970816303397741813199607122788717756271754052439689640901192933781456559768016947631954647203627800743380221061402693058387599698242304612389003632127677506974503256467491234971720387612042861916074728784828824805756120841163016275211515600762915894729408989872112794775773343540670279237136271368557482560353052522176327231714910949659398959650205947842479761203357988120969511703477113983292751668109892041365912615674444873147528788520642863041626324043716693787695968998906627664099922575947967588138327827660422442538143325442307680261815768746531287236890212065984410599603368622398234845686247956801656534930812110819108740151705112397737702101733640263105914507703196122167570461195377651335838460312041802062093168027289811351340102273002911841545117085715627581658198513461966167175014696914110552451587246316990369827838861558520463697624370243694121955613340929642613713067511895100748522857994497723361044463219599973776956187140404013619432569090862902772782456868631238775166415530253267909833215627611687035261542885405837686719211021089182101816482429181998018403985680721995020130791908679460536540453622831067324590465798695055060660699581474403439209133478915657639922584055110885728039967106203405482177532413312455932110750458919560247938369654983486055343683044504841206126080791827997504020395001592983849980023245271898603089541731578556111932419369824006180885075542917334042103393607874441080676520411300213993263594513232684368966529054996834348309576240487254022194419117488621550679865890795116157301305181670161961454466803256891219136263467827612462799130636568278701758613174159031010831364644101344969317480290560784268196810657397026768908541160389114365005385351693578218450710992443409441581446628089986481376559072812352384784165568823035217491767860206299418426979537279881968547699655713927306644323979070304997886413743277209329500295399909983904350705077534831210875673990790464594066317963018460519547017115923771244687570444865238606156205431726977452886032277525563349130494474143020945679415754741527522342087532454327530036298536210521358850902329910115130610877569326291264382168042645201650854260730839072439085668806155576633969574582694066432855622822382350581084175432832603189691617588767750848436337831625864141180708734859999103474802106601799922620082813235647780165789999867533674354762796518981935747997724664345343950531199956724027360686834914138659215578706561112768604974298176008418455003118016031421609959732263346436415719213071443310953073013810647260666890035630174131664525548049950272212362039457604755429135426739842716876818607245538813894403448022865578287658995961239951735938211928833409238569218064923514600836964134182644092990166107283111927380849884579672778267142563945539332689885276621658771564112043505389377684803362303247043145215342448698198257895490535510947256730759471920585244168728240306086680485877866103854682961696803423788416228882365793753844397758018523696540542219658203040863192044993509709739793230563924227891446927710221493051700710556816115102525861563846063372334917218632799495272215755939135529840723041262572071939641543582021787131972840970300563527694544488917842945969309449083666962282141341336150583199897851966184413584564946366657177070195960324937727326221934609795565893089853237201096559753431659185111529869882806317734018012256474581312896105724611659175547083282464192962693637766216212864703015753766249183801604083810799562577409904894296841899493308711229308410403959855708699392949489192123234947699318945340476321059860727212934827500403047518224051302841791738204297186841255060118075607538340055685332742536521760848884926297184451398562698745028593357046237756760714937148631913833645216353885540039013357392886282350973526200992375324476453269254380600270834019711880906620104555063471149499175962782700736972648679258372613321091086386402518260814048340783420995369097197300269955477383802134479201687890467786837936136784132450793050078811390625874944575638096364373543361991816521079075220167518539856586984136700087531076222761158124735731841766472865239834839654173470876571787805510593988435957124024733360428004445891014768979904509640699367680885081111025106821947517603572607508494336510199951929947629902914437066928645819198408398686126235869855739609210054736535191499250339961973496738669240784441289129282271661363673042626176807769510620396483746485002964138212297864342767750058949954418301573772260458434740096646896775328625801911242567955998263466711603422172666822592222366491159446877744088104984630286310676479492603112142805954861008825727769932555897860916491226018697086902026730946671153114385667167792143969721101313756036116395242681117417669898862235585422476616342944875990624163917260252831852707623234372504291974501438266102333391203131606950492172726478675126816272187210020605496249175760015613900418301479905803315022665780811468091244276709275414882558776784425122839363676608445124482271407936320753499370262734228360248557635466422551728408093935101273965633145401872926718420082616145374142382499730249860969012084875825081168157756154691701902918440904557582196751277343929719465610826174845634602462747137960377501079135458415538918325618726639064401542720258798435704447162735059157048633193874193311387321858906224270398435202330019220997503473026367877821485534556328868371857207661040725789738581220741781765476995273196650651588378184110432053137764508341571186697909928689374120971207005102986500993890044713542683628552756591284162014108120328227793828085928459134818767852406495159893780309109549657689944104099317898830169555841720350114456580654941305050456437581966658203331610343872522555479857023478325220583392428022579251726743063292132525393582710194897172040455893859837602780224207235178835733189223348991803655642360682548573409846960249136733304954831296342248382167250714090060019676068744287894992927004671459314447452682379766767278403636290047734123277218759672634899367628545486603416123624119613978568208764843883300552153498105119056915431854753152440428792698808316795046004290499546187893809569991214284059934501532003692012477791856652103783758139199538382135418493744210454386460229934435267102440413336340803323966014267888520029655997539972754929888678285291256460556774687616295818494189090235771818355239856538227502201073535084067650456362856612546811446874217072171845072952248759814528790504146045103339597258450994017154059103888651268062566172610818925740829923236302068860108584087256162963919531672681793971204512163432740817057105954563879475351606588750998621082941991110745682993262004819756926962645846579610231865853894174535580070128993992150759671718495016617769384467662807049286977746497371515646026623413164124699816074714378847560242658275675936488441193635949131447383294305417986803914633685936939228951477915428737476642773521192052728505258642218698546530908616595495213277100226619539190222270594190863061013686951715126838554702962789327391496960462336166835590557559322676006093152585784454488241744125122020188869557794386635509403561868704654052267057745432958220670511271895721065766813525282259740377664296170918165565472746910719027597567138980509106537221979540414025652736576127228032495321426867263085421810822419366228393328096187615976477391312308094228929695173207612262388746750470797278983639442047877120027279654279559220007382857508911628359953372645861188475947886612037484348427359636519760787832249006108810658491683751026847571351122166248298806414730393512435753670908038173661845996766101741632227958560948874334830901502058102485727766206545056516551316306275891424043465907764148348835071214853605269905061689699435888777659647289001961021037330859765540910508967705137276390244944255673833275841295944805750665118756734565949417727249576033233463092281687895536134782202462077208437104111899621018226299344018530834068204400272641558327033015881361688189318196945374202211878636701030200765374879978845773959246954752628575795088603470818191706211758595290010155869104068503620437247500322126195859854640751601323993737222275737344639304082263191171834919352298340377969095057956556542183870977204003262070713854666550064290288879381513700278581433478318143925733875133229756485383978981081822984610640022896997881463925366279273463473106460825118567922489404678061711906642105904210030515925323371412429892886098967017080265060459280385648654604419914891290728898061014284459791178874640861811633862626765029707702743100481165226523526180801556209269663283873283808911656219200420919660905144943436397109532111155005038645366637453690378548042673017077755881574099918034181813972594633676022908046086396622159162061479083344637324350801223368209261709916885832420249666082008005952620514693682964058563066162758508588585249923692998885122342401750010127937180907518024411798442728182494782881002666875805626296802632430587989638673706993804500484909532830706174293591771292321953545982098067235534523905806556238132522675759755252205357930204155710994899299574372891151043198451276233398939920034337996231235295259103543847761372594100305272818302275635318324514614223065667646254075565748491033548791081566773182348271839549006043234378536010752872403517175667630164447287805745546273880228081526639119493268782160528509339481048724246819529084449646590641249713076098472534712556790583208195467490158998089336793192665082696482331810377149525762744865345249708855937107528855054258867893486984890171963829076126210046574556306733028078207452399315865396824813209484101447785559015361372328080489542533867107161843208010258320796183522569776522932694894527149222282625750042710249641970815774628974284009287843888095847908963504740126642262431073640314598948912309795928745307619018126628855725650094264358422374105487020097342316357704761964994968249282048342903404294511085897236914713342405654990489761101645268287948832772254635367848661218208575983203452378962641867063118195216052727584458498995825142766093765006548875052779571300719733630280250816549329437095287705993116468514141835484478383716870062583797809326766817968245748370882775282076097579531235828971837978127940099515306975332364269383571192188220954574035086245582986675999691988727625046821235883135376052989038476855739926793105684819758262262380699156842869475726854828619881323134431376228040942046159646690975343618158838638926867564392262040395247917190199243483447749933518203961306908023573453043325964360011984231334198926491010321952950751632037504227235288217173155175902848771376175353092457026977773086517448403895949798199936438226911683693549273598407115434808901475258277452901710374509239624328688423599809021537432230237215510726570417237808051707536229988293109277880694899944910983820863541010940781217797829941665476331139194292371887230134128011293503404886107302696451004193020302398424757503696959804569172742034138734753024919772761150043032581599320579885732855867550006162731517112123245230546273058476882130100422831656318029387709625763319638519467216910294375997791305102990196811543072528958190111218172049975896676188588342237945073158529645445685725464971383811804149693237392083872079663324567695041055744549430736228391434597575652221553010461107484139341566644559541750197746478478862606870031973433218544842905871094964196203562347961327764261060088406778171723841577616463589851762686397792348188664316389512744880781060757328716589563778078263250416623335078326866941268953159285474051381320366504037989508222458286150945192736514703729114375156920074586383264085840444694578839584425535658137321004091686956299308199553229559569588658701452399677778152207825659300829900504465865196376727833146115208182322368272691007059454985744272963133005423270816887837901137971536011555888419084134155165516107995541993550229788957817151766961632871086820498632968934091247644846158679033883062197790311860737782184401556000799963645653928030499278670083191283766300606546271595723424763212961261831474937734776206529494828469098227653447910351872020431188258361794917103381618602775607505013547099230683929784209113424007764142956985695147270071485753512762384438649374705610217981528334522821028747305836933456590260127913270501380076524037246059476118486096758499694351664277899884909853035807156350520812302729404424543873363485288181541158932193184133700986916791282539925677356825699752969521809799534846718949508788847220685120542204924347929375811170021263083200377833922048449371678873119443178550739532020943106031052349561969737579785536264954782051925723668230518358359402013815900408560520474792777342109893017534645902354459851338824645098164881125808292298863475474401763179581776229673693647056118922449444672128317599582738159391872224109330449565916623372944820642108639732186753962216907481718734300954745951227016036659101233288533221624179934535007462998311962317389559569698478724626816078792395240562359653133624621207909243225929162804670872760404004197113258375643737297359325961250834551975020382897269452175714795094677376406910122152092755962099609588967695241744289865115655994177664793058767066722514637177926231443467216739315360696262595954862760946210118762937133778217735209448550155979001602481396268075607519389677106433826742548907840360927329939257431075956155920406489079295006704172877396342896789469721032878625201504652940660677184044317883912373418428111414725547856074531676107629115458514778064451061760044117741101527052439598115095979922601000560936784860032498542833735883133043766004213418663932532693832907631473915703659390161320759542580955489513638379766383744604418328262683886686213699307339412699903699577436619902106526951559107813925620624392907389931072268225487127155090523601151646460682685274932859028469510435175830294700580825735422507819089955642030008216140977012373377205113731848044006191841897048789164146635438339479832589677492263279361800853269727749792954444143826608329983476351347472756562840595360289398299259444422256805839164970501459853840825847746873194912470657031911971832692793389155555043392496022343988829368197506258235048203726820782997703749710530433505763988223993356524746470733554580826122297833496270254359100003788802057692248328817284466712867403298340978946616533856556804118735829961739197589430391749097266327557201802839562237822957112358856504268145795663364314676415104279794615734052004640196720078159530523485769810769909005836394289528839345386005622130740647585591617699134183603370548272914668146348589982119547132275109356766044062163811499948101702691586445091136088330749831822083934754286348091213164231849016024836588584691176514369041191325264289960456652169269252632686827402096712554597970190241859881354519479701416828283507895629551375355878714835180413947647660420741302155361486145703600370532617680652767166551125393890922837904609484015427288639856440775000123491598245071921193825206021124251782698977526997285898392872993386858343073043653379970561599990442871287293019555329726580816737173641975810062703183587668916686199226347098746622179296786675268619999519802477706746478951638337519505750468496734706718944317821767953263385932719835387571212802092479880233782604538195418933125234147850460938182497944678278429393419022418266676556402308524600850875800274063171496151166169072903326210067381702465435282405476473665623737775222636343316163536515572894663233799072971292623353009513862822186435257969063173104251556848128702308329450467006269051059976828348802593543460524123776317680380107116247672522917307230725856316999639875100324123858466540308498252452346854833154246711899702356181731464393886388207644541262013129114581232356767410450156043877543565801176798391095917107418791334028311611692432518604499683712672561931675162056960625360238484694109169244618349624398274575140871455419415293110330195166337799958414551769946750105980328740858973022818213384483293615601640441609218449870474729893158168489015414469917335799536334418890157308777914696341873219743454668218260618300311411876260488903305731934523202022865885571990463842709799284032537181677901391397797033894895449128371588415298338342453200316775805567532905655279321356767649720347368760389116745345487826563357522652009498574699776018521398424255147396445627516029147269939683845858380734600969837500283439107780799862721786084372572407370683384675503751543381172039240227596466639121036666510908067304491774139699064134074926142641470247390079570894455160883539818294413192324364909633879286180522846116626780490948857641842530552615571313219765665207688629731709198406173083941356073217020185917043387695475077273555905228269493750380748877882049328955052509213458763087208214392052067225220242580777776257381896186219558760502504018752819491486216317709318089297341757687914869406558790368811194506669249916370191429607421243058335720293228932078820247888926592476245913029869060554883445212468597088071215508518565461633050033325539276617501745798330275779529054348869548586579217637658305147469306463144124428314350522233143221732276405372510423186873733509227444810376713825279797953737002835540568083485101595116260685519385474869080846607580302879696307188630677850264296948816050172774971016108031839307592679107233506334381927871782765177815070802369169071292852246451518528863280595628158836244724614984003481281173437987950977257403093341456751562134413943451481255164843943799843574131039115142480006516327566686872043125288553291429950826606629232672330508685635457083530433292256401958595538128381414965215614684543433989287691560689812271364732137915792572232253747910727489763302588739746651246709397298742278477668300666809274921107541290011786178910853816323965599847087562863109345771869069365415692479170010626420807947603640122270440376310162568968271289067354433037501747707231161986875127034000399531549261782984112061989634273698388824484646787355764080802245667098432928621881374290917787043339747711248688743701641871711603564772185657665271161261854549766310404185529145153436692611829551272975353132493050127441522742763670307899795997597599813844860379223616793282478215452534818462343490002464280590992682348706286596404919645043660750462727796462265868499240321978263745337535386456865062271964053664759232374143305164068891628904446339023722545754856876526014141981278958593734007072047178992555371777074342938844956455822265537124078407488217877545357810247411480524469275529637592680519356481830801593231420398557778422081645144161277796453955416200554448669095546475428009605756420689476586145913419099174381124527330390609989127276325392234513764307028848926024290868664763266061414851001873376637241419737953817941277315440806693721559273288708077494065019060138159831741028160877802747526320778101152272710395079550160216557808626830000270236337701731608172333965060202574748579914051637471653717004296098809323241414126599932478272114064997847816672261721904935140472284403748531536817109938685865845722562625907383699230688910200816635827117583490820547786478224378418318080806829430876524603324989291790010170774017771871095541775599043005510041975905442748233065345057431353811753316819541816947961240981861741715775944662925848503466440582697870295620561605164777524005027626773092477450592523437897402397423061057729305685446373453766696211142697568356988808053204645562431784748686173962813958448513254323599027545904410146608761015753285794372936874317207850711391413532188888389791028739034809948510029613768346424935400750193367524588635603305240389248962664486501783754226285080023280966448859774771008387335397443089902809860107866854406238690780882110123736611630236798272322824754627134464166443858809989198144277174987347164087322176730321517273161229875782868791171589235648968497231833087907909534916131945356084040984500481245511084999568817128379691668784964774811198046969327026699287378257403346667830620743869115585656534924823817959911593676150644496846971835692417324023709404896067227052762946995241595747632841562011670758278390825246681173185214780468943536601568447387589380153122026076972874565373368646985018310499537790970455868989432481579168887714535046359173170528869304526592576549378178886505695467300793707134358360031385739570643947773560786559298596869224568253947147815886102934935700033020235162703879373818232880916332790161794471169008024596415381891278146416562719491171248207170584030316902750781391239766030544194275076668753607806379047245969846469035613660830973343865913895068072274983117849716961009701685566303152204297911849186696856472504205774757035191275426435530694142220724920509487628252943749684746814044736672480212115307675093992219182927055056900528259887850235014967580562754166793234050081144837088621353949347756035901682170039105738195176561279435116927578358862307500212954845072146885427788290561770483826113665680713815970583773616969675775948208156920001132485971279316714966007307403127948325118480730449736882589780978332522360917719089792807018103399727524281112241344269102780375131460417391040940655444145667954310843788853273023673433830542181089296160103380397067547804270281001404479952522505801606994368171029032678167274883971827388282709313397376996484959573491765246102403450815932178918756288382735439558068487077298534979232538887679362173639803313406651456391826349438959032544528929508202857852853930797606343052675782336475181447564850004136944174942723255876223176995461521705733075564461529477193371919037354438075815652536410798323965828099185307835883746881091183957710375467771931372977861624597148020818863241379921772223387564135306839799239912871072125311513101464140285349504970022714908720788640356717020126815107269226905546834096139806906196722308047024514743783847385225800008733815503770939943611780494453212131556804186866643461865882760833980630188350777341717201150573178666978763358270486322680166537844362077400668981551945103213724068303932039404433952894792743287041262037453231025329921307507002498306320065586067585588376629276171501168795844249348272558745743876716101565938567639388737254190275269262925873624835466860085289484270064745836854603597198197612563356961683633014253352574818655597015374519098797928226609583603785616625347359809083753217948651926601973361215525137208227330912254355394904130544500042834836280521910634059116975501207531085322124040142357634334589115325410762706426572425283821181622254449540324965303117994351400947152006788432106762487273371728267197761102229792920520530254030936005516712521641233847600750569403445390743413413889394927500320878283462381006303824347773300628107622501425587929956710177865663748646828013565794976341280125321321184551895832847722502390740696765658067752965029550258907007408106385616273131534010104785102671104347144297083996393533647993966658525509616869272424727617767242864784662742116733211499395535460473472400153923989917886215893684116368593223754249216933249662365674647060737520572738733045421344014282925418010902405637269737945573049289575331334632596980874954618357778427451167713376481669781516553834424667578881646654290701837607393040987079097272756528388775962668388391296438658846952620396842620799459014407487638763234127067214797268739990064643577369738123379886758556210509538614178801257474804480980284435676117520635304225871234908279232270510439715487877234423697201129267901254597821388613050355438053250327718449146531910282883393202658664438819005166567585379538889271339128039097848832073611663456997904538458074769633678920904299882710568805831139539277286552951282861141262005616974204566274581488325722658845305790918819775623283298779695964205419994190452879778684219114082616368306015874839495720083025541316002689488963365251077008741377236626496090440535091192862724192902452934067508483870947946666992888537704495470802402063884705837888800116795580001743577591370860827676703037297937702640030721714814976812734409456027640921082123340683310910388306544146869269438451439919284794120044873801717406751573357697256202995153736220638424665897510798223990272186020467667447274719509895865517328465933697609654192650412224375500717420178172129638990459479961506195516741259751666499123023308921302398893329616800746917396541061679773718002343317299992546130247162743119594524586877841684151924782361288584596574740844815049725054952181266228780291209904484212060156769310534664749401837477924552543368977169996207379131002282652839094381941418456797742227276639714643792985718139127530034448807762290721607715199280193973807045473807946034404150894144487546855227530746064847958318131229510918725800189873579341343947941160188295036005715985576535002865312089407294789347978247708580381917642438836008301291653652096519976338030068960903491950701452510418191494935476401595705240425443968622941375884658476354650733758666487158814982510197143114791001904138321382929752143141803734784770122293550223195818742304721112946957951276725593872849702213424129121745794895881502690079486150357652034772444958877263986004159273929652367694822620276562077810468561049686847355419597204169946106031848096995669463770513320220848450402933573847248378993629267960277599083139816172981698103626722967490507234496001644908315916088570081829995770238244393330827530965036328438546377077391025733797635483830621493910922052747819439272088324254676297615106742248993560955800874182841176838494141364708184155378116576200249474913861162647158549415673179428903893471723405165970216396484248595425949370062834774215967018123185856595946751711172451362544924885745826522420633756319961013251691674591130033530351717224750504655191587039950146894329387517778432983143976952225193170092592479991017849315641240224889867008813550449130553834129510888386817213499795473616077182473683742065488251840974560469310598385940055333456580313643199326300508542603708510521572262501789225298244226935526273825792602254010390898680980914553971032323385136488168667914764159370859308754597053642029871902587371694042769968576288858614841900730351727235195890380585782724260338965117618649099745892880857351339214868350069346791842446531920824633156297043745801415102632400282166739887722765629096009908232888307402045949320773910953285877310290663366015824023483018009213282095366691368674945054538055739674775307765300069841082892442410998510896461081240635062560110998848483837634031329460827777192671559586522901754674247770688748143322809814651320094326435742546318747681252818642805219632585570295632050749547948432490525853372370350557592642249589958750321245695400492925662649884625323402241036752640936470830661656988287348690298053338964338588602385215717210482234633821712027211747148308006982568289325242780530518074102260375484952912303746870569362267735136042154170630430717475310875733744881065224159494519420795677009051448790808795113365526978001894844257942685533604325296871420230795255222041563149199290013127174789868516018699191849947505193719564599604871418708476442344378644986577251931618924760240888984173339276536554848956501249939526345301858100241739790988479845781024977045424863344733796698326756319818255147270499582301845809917350602362209697116343207324623169873912300081918401161744549564587177926476881224533473930035122438694572119885927786761006969364516174569502609152700412823326401618892030297252490328668820663539564393028381948531229308764262652871815897439330315208738386006049913913160408008170145229661180409731726402360126032389039039953869245888101272476412267570551729669860824368014949723198309433043847404793025878482663848751958224977006031602466803693158914283693226287276308442142478794806828597416144215689402215752859858454728528542814072423599355353674972048354472226330747634664831657672210954110370929169691466441900795192426543344932449152424420466980804207827729085880899748359123041874026248850067005709969931327161859000540204005166313653436361435894532793900081983970267228965766024401990516535854592145790427694545279328705457235793376547506342032254559462551446435795972231195301954336478691946914188827180515380823240255631230893335847008119252199761554584151561417086135700227806811671296379347385365959808234994201667439367587177300973872759115943563888362342841598974129606778627033175931735096946838352755523717407686444953898685016314960294064904266247279570357652779738843150131461594475901600428924233394084529298003053242586028044758024246097073083049479733886721063849560101786795954201474641590186534014258534798555584909367466509101695631750927467408500426561129750941480237614514004585488935826063417222221644347502015890968492039993543676070907697786922151019138714290743912257114317328674116665188367653170943629618347567497879763958274736420076931251108278432443484181189735302559521723370828678762346433578046385023466228953315021256299215331596289246170355591138835360902265208018895644701589030117560138330120939898855365506865892977376020388325466631775124162478281077983290226724126293241906203607962060961436338747644786092228564667084706765067753115474632578672232891986431394980318261761469722756305254231907963329802016596950847591446835571609751969338474537379425268923242580277512290704879177471579797351153658675130739724800245631727260275081184680303180503964000843617313344336748903104565814712517507340836053343652669375156753943187476525631353869799463765733010752636304256728072741521915322483255892788602544139267375428980438200896501180334861761951333857949130111582014818592934411018133398646126339103618872443234643042641070412585215460105029554699343174617354450141863866780249708951881286983722453964768599521575768565350801284697119696806435992753907301323918917961312339676558035217100292722361758096208945390403679032938685146225938014404890267393678928740274707875195821270333546136659365251599254904582695085620233017595265353712984113181788175314268531413351141202520727875064427784875614618200786803713507226676089438741095280599428050555760070574177744825842756639510792640915151489572173686664374384455510710032712614074332249588392035567554251048239958985164281114659004964590345477437673419549476446183619957324777055273103321398168149892829317536278241518153714211318190376990563050805380144165970475343516026638894126477049803669457470764299864663414872306280787750189980610435123647010357252289526122584489716051359551835529177580044251782907473024960779295014791596998594044260225635327658127361098638167241998943087451689599853357479224121218324256789793960506767026840792187304505655568665096384230059232268726645092632132215169749725593829586705000699796495550370186297257266760047707042033379522494954268622334722504979508503563094239581651247924333034628268385429108105269150078196380592432758115752133962447884987158214678223597543398592622745797777801612312307830853559332836882601410630706729136750694242127048898786378132752091430239844537394415968051383028929607508445441135867963483932589059224293827923798896566307608334964980696122479745668502329648824535302836438925785572585351119832987295367571612592292798457219715024835567221414812387116892014931611731425280377797322221811340339090682587291760094531279074714165462688707267694132763219034263492442894130456894803545659241361257711947815411231510667252149493138885811857947329761782725613382894325917239079243331185978923567875438502186310621888486482190544222061251388088948402296650696477624490927654489455978523803864883928948877824238379876083477096948553512522577435702184933527331413108636604571869976158903003870409412065737681354844906567104914244731231746194851802113884155732055418781499179329822845335649851048964366234594562151206000087275476099166884751410204938252382448780733937338186700597421884621998069698913908064220617505676639998032257924498581744546137117199707204919088286294546848504138427960309960253413533395188636069057902850500239090630261706422149550587741696281936989569250733088128455780130336408205282087340860648329111591890961249119595965553544897503400021570151711107644737149487118413405443711429719816236975825621794793291903668639213241873101774056169476097498196270993445895897063074136043028288958434220188348660473649577787619028964698740930564659658118304408166253856417143964571281191419318283949233400902711034995532278877728000458444819181117202862068073519913687890804638582557388674351605266752484133661991919823002002059701960104778479954163102775727459117513843637628755349072537883228178927224958442376183435808182515500621031317320217178442201589010731827631649212135575376974645653060402650900978158995498416658592748758425986419144599695461218563384427597203636477194239361472651450270336986850388405774146501864871314433834622238167774996856485760176078494598756255467980335937534948388961941326926813671999330600338422750716673542524552559835153220558579973405538118841214618833292862088637870483130605558793702012229285801875287146456662153487676064736709587227782148686120926617793561107022966526751511423920511218320523251392270192065150870091470646325472621268806006392184865763291682225331634889593506589668621686487642375920920122043953500344618288006751216834732227954499618681633621835131421749316445315292063035404439128427201094925740179503862674742931052964833292064186373888418848294538114803659434208347565775007530980828267941589323458231681107675171719292568644839607123100207514002281070958348793015109788389581756475018866154882148652088150818335126725869970161974468580913767559517465452603319651070982916086899204199822301489569485683776659636610266428712078480136275333575302903734525924177032147220916701385954173483454250546017532886889634939984360091166395017995926408401800653185957905688489109291053632047363167580660871674251143636360771259368164149721367963623791524372414697423205220178879716047786260329132118568396968451906486113775456605346830089765876625731791572176592556003804938016222274069314060899376437969516910128621220632604415627603588412950703788275256173534968270615305403399678000422346017324120589995036663176135256217389207685635288853386992447074853166177002249115023759690206267424602570657961161429194738527894632353951766828644920275543416131065178826631371145727203599453079821008158377654906181438190542739480540862428742925219151676225366657715794883295816758943481266691875362834783948224526930785640033901486102867474339930403039450551494526878194542188966988016742989781838299262863413914391843910915130030807606447637689166015400412795563997455357633253892912064603017193713484547758900101538329495821138885333227821545653824431703569153331069354684521565431581513552463329062839489699638271864743331620053953043664496977153869800602376803216207288266837152668498160507154833304531986965141565469623846299993757970065123773050045527093094437210748487846401560143532046429399692049397356410169657278561769874070180680472444185279375341428710073186809755204077138251324209338627906554609944985723789561651612453739050992452271306186468078957907627875467738156062946290919132205326067061395329663841174225452249213199442031858794806773865315603473201768794382444633114422603320303191600312459477071172384114780075892584716948698506909615451161758688071094013585458258873989184439488824995007618219993614490608135242424690205977522753049500629798701885864943557587059333982368863242544908741805846812188611374352955040446358173861545111942844811679923281591872129036783635729817480455122560496140276200195950290443875692589480323578422492209183063110184924993884479236284742179907244974987871000000488618179820221764639020827669744892082092985099368098268098320095242943173814971799174637667803445068715722889238471187455720974060750685602834335175843722449314328965197280432045463191068139579727262759755879519600079594496791071430076567685988376277672585411890703000483191219697844012231399876719071162536556807104333564556186981454262038938261837844089873822730140475218015693330638218883169097735233688080525731411236362104184981669285604481447817338542588001349316583977114841097064437632737933263944290799431548899645101609222471552315342879422293720928150695287087484801298724898855954525464338533353145982252063367881221392794976454351260593959253396304240043806516005741647432509502419851250814163737574002194857814846876459548798813581554726610630516283715253121597177973047597079390485206165329154930620411244520354378233534691652461906397655478479605833662161654869613822267533040153369610106325506758169638555569306532839231143161118530282009781959834540793018479103807672061919985424844589648918122982442681669222150072974870848885391272269407080080588253861600068103801947101155393376507254823094004917384937663885801106774009806030811832789812451986415999665285625715043571624576461448468507758358025313003895196241335385328881504988266074232317717005727052844154046310834110929277429451553601908578744696051452337063728593015262218726486767604399514206467908764780245309821581690777167778298930771941741947801807330775096122849757347129504587405797762395618483795984807515012992467862223588004653193640794652708100691939252529747906850001355488966943283893833583500324731850459833578008228915631822707335410598294927898453179559417370606976325529885286852637644240059713345402069146264134034593313554544075432116755047259821181434661673722093487559765389406617051140723954047579383461734468680353445539032231863105392079414127980994328635207792835982206546300298199599536905491384422597218356042895036274119041473469863944795678963434759012754626228329448624950810571340511247393180197217716635504808228381031807431629683827721630622725921161617833492665195049445707160347439327430365942244917231053821050925594902222746508631664945105626288788756277999341922719873359132030555263014024835624324179783527932954869205684306719021832358744372659626172965238484166276780838739501470611736352040622761407209878780979503873227136284368460651884330785826040529833147754116300909470473794627022008159491966159612723241621860439915460309741379766389721463022713020112146049813323767227672098315499925916267991521758492383064729648041828194693261372762095438573502263262077279634023850545002336761849476778517957808310562094973409688442733135345206693142126492839434858186938572525261273136243772024069316887609012394282114700955098173860739046150109874869116656426982625779611148157958916053969862751612919596758931054878854247949656103835535038672625107889879780479482980141925312164442307966373272860595577087777828339238487453083752622556269482527528117658948135437824904464089038268578075016079377739538769510132342477908626617218606390090236768004124299103114144208293612824405291136596028016626329005352201617612504796956944308175001588150733362205420546610689011861398061495977258409207107547179038024041956355191501376217470626461976703396209657781390903594155710349181935555646811547072606381514364192870503413343178782103808500812831724036495507606871647810163203879463148927505266105020371225311802921840398042013354662697457561196600560511289917151774682031607136453024944433800792005352517783722287568583228784672677560639929220771975594594101851791505961437116421502202445659888534159206472458621867434487019775762290187405271565751458188909808673712073790736681135027663120888605608406806053231282102449057233051626275801788349258591621883306068642243524606825182124421459110034173028843327914199276541683702048940372611029109831976105768370507919315311122855489381642685307819176284276708579058157534264597050281834628749903415151257871702201415710427473572777965981114398701535108147111681338103062041974306904620376801447817226454382215880558698807758462681739461268008309466114776268484980249765337322428599553057225066498834803512191569600682194519953941676251344862958286802431918722668085186404364203773637385936496237725985775932147578789072745347357110325661902845984746444762492467391127267217520635928506226245294523883375837775263785345686008359839796422494737283247644354130226852267916230420846707154338355606931851225700499608723898609150498707224256183348884983424130363266888797786796458035837027974543322540645251993131345753749713531528733563461912997687233357107140705610839104080323844747895302587066850041876870831570084665967267081645963791792126953033250285054588679424548373145009829163047264029269148522478818496450837687786861687622754826395312367724495830271655343807333897033819786669331702593705412805667712926461376545664601725342141558084145070495440562745880878094952240975997200090481487624018551123719679239148127003037073882682616736886131455268933462633247373800021491546304378728971198049788729068002840913023274842903801022759556716864881370273702622464987259470262537087714784804928753995457619953800530128589943253092391395193614885369939653474102566537997960855897692663028279847089151674590809872548121968494551981433855941901045204657063383348284742053740416870750953410189357419420604510904979009021373820669277571210687646207085752276799003096428355487132191671103409412358520796435065226762291282561618263344924145383949536785211330078027283311317736513446081197041343651506064476276897527175525837356636687510976689763206657777028965742921602940437187582715070658890303245430325800949307131486567071832971916865188609978508760147226305966163111352401251415713802928176751618970531866549663160851962223028001857640867975520350476818608688394113930871082856387694636141790332988928386761670943551175324957429467321449784075422165332690762751579593268274665771507910300008850341140768128455529727669327276009846983028199296981872027716985964689296598187512045590010662030753296626446727485402890266132717440204859161176619209185451831784272782273850988736646644751027950315568737619551166300607652518659136518379810980799142420759422742814356020106415924826757760007252994145810406555924226050320435596436558850814153442485708802726023296774085023744234893459369474418479860680521977188544917597779545177934763285104693680093379179766387260212365114924902658699603188772290415856488450481396979098091895455175021367673510704547866486417080822434034404148443044025788752390761608782603764190960334010028489961399459568914849113373921652616581025801972782519486573785241527529592337031795174175957316156615690350910927631352161996221913308082117072723026727365611322039810698959115182801594703687042058135394436209173088037952406257666682746787788476865410389107610509827094142571138167832382110149838172446289900805998459964997221183474458416839338701016037042609962814359264679449061923911722824154379065633163891191189941887531102699161122309776752476125358069314305472978991201836126323463389338168298474050479066889131354809184768166697661559961320356145228423029297320690817855601183592021854625968638087898438560782212212551600460910665491219715808011950009094587418540444121422357569542676452043329722456799900585446215337713723670857486912200587960361584318702455896765194533411535757328144504229194196067545187802167932019456582296778054722393386491218189138160773099276579441272693598841326401216553122677354205119551653857804771986365717354117688788989589518673054437849221519097868136347342740716631668962072702528430765721256732238648249602092448985692782955592170136359318489070098817791243493240791596767804439849011740156787312092781183628136673900772295752665951388402556036981412473421102986413234584867443246771936558247296766503738156645899625537158610920440882718144675911902971286448628915779370539652349697804925234595758588244918449730317059559485114747816506852856759305672000437215681216607992263530721707985662658014744975196772517938162530753145499692637365773378356657482978974279490233324837598026693852069014397626602141717206741018248960473503181144288723212610929442753264071459015290269953205296387996891329769328131633148902303281519141200494146541872144069957943768406593580103893456030281254202801107520161330918992475130382801414417764098086207897728136520573970291708360056012630333310500147308841386458514387610163345238993609417299285262077758947045517992976663911578617526836600787221898685094365482448764148848640568173087240628508166203397140556564306336218664252867145285444742151484922390015719078129266031354945904353488212453791702105897323047861709396462028102903149547381203026018455250109644081685169994497191797144663643257010551800507045658072288387973833421163414562001223060878545285394597275752961843174380582741732592686809350952939553883690975507730954569344292149295673305600788778155345527254985718011613174061071047879385732164154605705015680662024757402813299582929811301553716619646491591581694279167997881516033301983743009153873406453268929072632790619446020795232586410013379613153968773637010136309662562280648120844653984907115215879721182353412466117737560077945312962951462277592310045453696289610205412080141489328617061772084772159642404908943182629185285166568226885102986337543101829811693873904215911186424782382578663584287094427585178474889866679661910089590391380959118018129333623245198574656538670480959670290532286746419377446035796172954740694185279156266951276636099189547884643683793316910266985807012234049878069661226133912544078145015723601692740200857728197508574294017078113154944081096001777004645377342730269101722769175461412281803363152750730449165380000404760885821212954955143018398508141287273443728998337174243601503727994133975137043507273889806317196415108111748487487321569232430564292969397463991111354862763801465323629302631474192930658218179042367687023472113009610482805661062809947923547317897866873744189700990653277968804175088136243992339523178058882174115919158042009310386762956983179696584806683116568115238870160973528105207621581926928164325990534024309070007702127591359937784837188192396631550316860221188454191031017799793828303970037137687523251218761087283516517737919703106272129052673731635480629319818971650472820936359359379533925489908658531005219546717876397386717918772248305445359712877280195452180985252752721545896871500783158422070644637322623186027011334252323214896728375115074274670606576853855745757497496934775099211569818160283435070754047319515709213032229139252574117797459190820321982384655571808559243954920887544123407963031056079022242826777107954403062144623985897749494168166082949824840844715510243429565644043948867674991559546696776118281455439434295535910659789163806177222442917720425076453613789658051126549510470526341847873590729276418295161472339881820307878737252293823235369468888406906485059549101939658598870697741540655446211533434688872661774111817840834481797842705901533537521782468841066482226402929670891620879445355477627005823665200006653860392684695402062072758805393589691969129984248822884223355013301544061545829097797834958890335842087448620590229492708806659787236121608637448469010245211849202118377545076021550965884783993815188388792217399120657711776620116093962605240677670222947596100979459019546412086036728183902370552001965972560513684926757736777996876290689509941414786146509979580760358666512205319877288168184582970152193211055589375730762842600419650853487407831293581068493013464912331721667490921629438416734603692415357110497194123838008352667264273790216263991773135345592178806719366350785843418910690548599274515505692787597428266392304656691218872960455982925971952448959700032335132235888070187866284770260002436788642504899327752319937177023844603229151591415411373064749194449821701478735003698085511653094587234941512663506557620425543223982974883760000078691247774193438485613368791953554782451351975470546690395860261611688313489604521563957427799938579308449600274704172039386450973268437725519964508203463757383008153202896933779857227158049959859121663242688479627835504037446001357288599229511445035005366483317044560838537612235665775612033922321395098862567165799645581202694672289847621983011296201253303668538619004214024267329302242630903462070091558238209380227146671503367936180892580215909220391068391398566698560169168663291241183120052069559078317592712656406167598036802316073250307144941867867391374998712703111878378395584535864223750804708669160189693699288651164476668114923491121558575635398591745383666742482201689581397691310483887700126475274852220742166275920284301882649544056021473011336522574316022090975150470731795590449536295439781264437464115733357115175264931113380276737294665033252088927993822171538604949544965603249129414502761600602248141613187459952882793955805441118584935687911003704296726137652931856348532284715920577982294785272382377631723408219170857786921022884669646116745780828453243162985343156168594351934794373035422503334409389165548287228117991690087455601418091267720490564690189312882732689596005919236507820242945098545065189347835487610324156970681902679295267643512759913640773592873121449086952899925059278120994111568699007190519391475996722843791077811785368873217767975783741640560513341626534276839736206545066266155379619350630537520726353050566420340221543856070402985403078681166413677223438222585919645459477368954160221271642363632976300363265429266166521113735704314695882800112979483929311169634893282982772294309233548937052435871350056716235012372547262361973242455125057935591716879519880516273364361377878219918424696016568232919769394313650675708709830143949041447939129158740234767135415614305435629345694505414100298555629010306311560608770859488788344550221358568550870316723567097038592674124621825405703910620130703612321091421618187971535535229826225150162802993014371277045803362661884279797688458957568724582533695702060518984653679808169032734107118210270269565607787497724138386848757441324896160419314758424825032231451483252938074307043299918937367471325782113064925622850905592095717695730008508716464942415927742639224710682361765687728684776543375803445052673906948044844317491434156544290545011584591212775220231613602629047397907165258238366647551307973881086634245724626070945104424060946352204706282451288585610354967607076338905628590845343503763703677316647723025134885252409815710237711672979034708643192704256648653415217668156591593109236999058913850591172971147429379574204092856975160030878304089222163143023284883150001566712973226013107225842544648409406431010377419242722871374595660003117488622943459152606619892250762102104537643122510486017762924202702251824155598300732947616682308358436638631323695792711516710606331801060696514838451091695215348623522440865267013903735038729340209088562574962762576377005578882482625916692497683252074748722745265194883112886108743710611421981752889815083613156475727086651255973680114406779531237084028105339111528054328675547286062131267950800026784142954248671140369256009090941151624617445923334571798951899308838526753913754225750884504515399108525263938531510021913299836570105026764035408531541415217533694605794621939995342024296960912347311477216503837608979204539454193178915318230847100419039050810831262257370807920641565836078916487836637137263997816796842501982767980037714620596013794114722480420000079188402377086557790452189062670369934838785419154338500914240036410127608401243989751629932300732149657802029747397955027252765329201371515862253017581458038538729537877393733269386574142968980738372545938138806969805884878866775362419785524285419895361881026895824859372301553854506269796095457956033590257133849240556369588437366966545937591404593730002215947214864456155714637375911323440754621506077409726753650623998191035998269090634075707060647515629655042275250794218290896755211192574672428922119472547609861571792082168377710757531840941088268800324992116421902058012498071870183715409156008300103675097919134777390054787890101370300854244593869659501349522642951571758562575255563156126847696529955607792096914839846703849055955460515094671982614976365554694860203213751318312870707875579904059726953049611850056578074749394027970448149291245210427865568530699465160791556314161529334213227794494405706639886427792851962133364582156475856612493708405315643952279062161694079086781644240859669937478341784724569989947580884811432237478337235015024726852393273476595638539911480924001889857601544919579900481973254242461585382394446884965171605357409598759159546048878755596771491407468305058347031429893072781788958348468529334154416525227688620086962247820098613851945719903057454944104412862608501939321062521404862855955277395819786160661218750734145648334631523361771478161962274058745448280908462572456102973506345506760568757371099418504840961116728475306919100021924448353402868982693718717083925904474781184242107619479408108693610861489160502002756210660413646109480222736192572800040110592626131160104720277101922777422119120101910399148390164440433537581869498880080083816204867690439359441331294027482127735332233412817256789122257634363267760579533953012054584146194695747528595762758242568857016919120717968330341703030807162613712217095200602009426862421701181815494692986563990213194430158751423747754555046191208958630338158445293462120721476724272631283191527762524228452399384044114477036082942690424072869447398102156773312746100576305048199000873859161235109111298617862767315151410478417331568395767266139017547028470584540541226116500461948088233368155577778724924659583110960027459704013515236794263876358971434948269868275413119398289365453255249063529359559615335441946133959975815704513911830432483832211232267041311166060436742418689479884854184159950055227902630930780772330018735306269105989502497182645139947392798791412125197960555393743770681190555530629767785834357775985327620710740227286935725899766435583650466045502926824383479844685390140716070441021501776261377567004228881197147094618753860363716119734469318379634012976550122805039280036331039134831487157811863004891223765547931039608310645029849915519903059657933521942038106135318273570827743330186267461393009216877199460232677565879861194660453889965498437556500789666875718709330003100142870432158971678326899572033767954417128632924992402211915051388542848011605267047677448887895313502393543544847878296299342106798795198101431431333967619840002446448462704695292875526022908362745862690812024049683341639779479248958381895301983593344035163707324279535044123240595112655322231035981901264705518188062133425860422064367212532595378243517864966003238150775465597619229950676830660732620363997584982122137723375211252214398048733616394600267758710070500136689594373122543249162328873306717095866413509711513985153882188059912790737011171303489856900706595935758690929054266660046630837879356978287697829004176750705226823461156959139836772939510608966344591432038957160924545614885603431761909559015343719665392206813808042735658881899260727538361242627752801115854370530208999376816437046376107865903504102752655778983041897309106132432713579758701006933161060068525487882611159668188728479163426877155420669818682989561298888409636708240570332196851886820405243079828719468266731382619668027514668989699790768848193579985155262576406739416340268738035025889707686084040892694570685220784959452891979133836423269250489018696488780956220655709572499827771563376545258868778812031426541016431482863682848393903831010012087129743609274127059308642901620857352549874414736875780894637483947050698591225376925398956562369646214093538811041531724179034280895124083188321984768492751995360972844433466493203949617765554987500037392593865949615003130599978551585008312993008800853459678355854898233782953323139574289606050414185259611184693187573344857588968186818472550440331376899888809336125641823247042676171367548026255363701222582106145597917935535323186015576876136609691017185235898376450553484620704252593771262984568995538409474900732971174007558575586967364179039249569658777074660195472618087151972019032093258442420041126366620676167877590601284130497887791698173804999118160019325764739568917575068261134060534612936818635650570480360106888433089847330851024856630547055438638537381802373447138223318019087175435690217114698967679961642781822742066227857628093174466491328602344678296021722743376877689522631297189563367715755950852397418625823227672564951195858146416094930897652934327574186072211615210395634753880444590673785285772336955533521795652938866182773067458671880818316275528579292683689620475560160965017792736040021882154974884878327127672258928963942332619292920410116613023006700064777642999515110854892994962502166907557938129219844187334168990615512331353376086780363093578820913405684154953108567487350533336407956459824860864199143429982570355866724093277690626593522904375109889980782730915085286189958214079114522259297402361514563464255521734720806496020468369698572657738897941278559922778476283080342552436342047871089222768616816753478701746994046250617344207005659797404403268236227815936671840639503915404926693594648727076613491542293583034804447456804246680655215605320635653051257727711701752924376594385773434320742098284676770144858932072764048382406078106250574685913034857975361551381315050463464271181701882851967435270590905411220032254669822909558293874707344179209570066593944683671034492583660859759134735849575621125106848977800870537014249259981628835766241500233968764634431109697671289116148979485034294361478636032113764115730783110404715681619815929703822585800787241363303679031705983173115743616396664601341589017817802392765984693397413757217467442624045247400867789513938544597035445858925641253437239022137304801337990771410913135918500587444693824406577112329510825824439607020594160771926622171397848618472335612993167817076540995110689329162485812159654023620603802796944513162050088699190305772020449682920785097760059410532194730045220157318649234520394690149333521186886195541355577009615533946134229360148342945115104245685676947878333066105425635564161235702313656875450329320925034906566279053499286953693208541959370205381514303939212352250489408683521622387561841132871278838198601181691677905220007444193376118278750898989712461496604156944518136421150510624892623690761351822029151735243245957097538273089790246601402121276441865715815640252970106857412113536273131382885862789188723401564263667266831927460582102510304201430794369058435733179105995477724078937512023851572043549529062141868389401725704772991870644571876476487943632329046152027568813513323571667207567997476818692933263700600084017223585425239944918911917083273317092659815145327087455898973293759211388561484778414825901546857901708493274720388942741949973282153847917323840817193797099969718146290257611167761431275249309369883282167437199751207523604203022169410134265823441574092911644971109747201313476485359065801635767174575511429969812633418591371949200094795610974413904311295039407692725137146602349641590518526594741453882608128163273421954575629468030682715082916660435206882812934046754042846569799145205910024568867124674090574721372305869814498340761189303828863088851012082974212135850820554317459621552919946248630594383410412700947751034620372291948471962702628989631801956386900848041182404457908915716963161805315129085280895675058274669713949069119171247939665213478362146599019289397820541803517114538020199273780933304424627076019994213555909923765859033909479651907110995660348060580741035693222251891419939317800390402335654263708158835181973392249636109383498728478524394942041248146134602455232174908458901763098912204263705486060820620559321625988828676722349496539449125285937438809519471500357454277124159869216071097032810799836790582789698559865899262100908843282359402091342256378114354411995070394781215631134005214094141173323480749268391898890563701790120106242862513563544943328104684692199474520404729039158585863206832726966060669912263407137800634865918998379218224295496456442370776806312535366776730977847117469745267995130850298056697122032444992466581253482896974382172486214985280432141210341463396420133346448557936671067022295859001064758512717437118476543132105179883631996299076843645251379606426709049134770366356481994975885952767970905718995855718534165728899903868142206003835168016663017592664683202801633288846338024227099531369349512915414859042318879622515980496477098158318923762338630177780245485100875933126085000921460761040163130191891458052269675915332949738105322935399643874037021601125249461551150508575672397420320728657700116400467036489121566430827134833166876713106550097539319788142797957214519917278928696905877205749297304771397414689545920544843023012749931258465510324828713662854356544667294081493632042234552603336443488148461094191586085873100441696605240784264584577407535915986522404023030350993930834889942534170886870835958263244385710851443467668251467485190355449240609410138566835205650038224359670864182856758691816271274929458388651646822779370352622158106926439247539419238194141285247793975735977674960477672472291025132590366386523156390181164891103939441130472206406067733786591862231784289618740345523272615160525123789032009384223271327761583997878219889773507763823226194691719266111101617595279375996465536428329318898915563648561468688581793583843856201074695593488250559515697585993093881737670009475790635029725856327570642681685311740213804930338416500286891034278777424738097569349308767590931289874877834556778060891552151216634844303375978618473307329638411566141851166610817664746866710862215031935014671770623094263141762383001791968428391372199216658566584072524715075838370510682359629136670149810263082293598804512441086636759197590945909326206878835072787991365524668730753520045176731778731331509258750698411627252230466412505525812287504326736458168053533169419121136585094729197765444323344424323400496133672484294323406480476812966265913895866274412788400499152080161331418033813283271232437630027214210613617443432756157964186903560654170944861720012914126757011195035165284439263326214930978036803699375484014556556016300614973594934087605324474541921959690085805301492712241214614467585952134060875416384516356836306139419500453439576082263278585452450372117998487012143215150958255454489508992859149665976749162694639015906303574862343326165981527122355289506334631702833121573131113354652983845765979635148168889879045195197539053643783015691840412633119889962718980749651983253107609196510647808156173303487188955274265294801870001183044248743126461504302766773439892368099239860268968668235230010706134614716342570462324543249127303172877023543649108254951845496094570074985401765803933203694775340606772826539806846264138165206856627168360696109537673415841049430230218161837216696805878594751149039382483471385097379052020124039159102475823752239803424586087963865209399857428806523177659152011882310456015532745880631668969180998534805549347161281834712959229999913925570164175152509798819538750880621248222823859471832322202899118685897574226267262225453023078464830858202742501546589073399692256416921455587734400253868482596283103611856611837430689060749865313878278683167761204511518682707656647979216334120243506192488679319069299341150242271975972722356090779563146479792679731666563810874996398468398055559863751656923518862673221934958348797499902041903887392645270150941917757972797414236484632740586320743260285894225817938221151780475427345255495171404469758654841669799559320652562962845885167243888665134052688009332901134835907879746533557688499231677622697679668420950309761246711468817843342373616604801839074733328439973319922610740389598982667404738455761647027314406658994384610058466358269930881161823760327097397164451792919964333895651205028379240881558502465281388437188215523169966505281233871741338074522817938559347386987150884450256723033849251518015508002885595614728667084815902129119928257436056160084718625368965274372647014799787663140293501947599735819457503012457031211567265098797710497115061184168840073604681058418148083261134119343664248662168465547906729957419420562355592973380925122215783609683357288688432925626478664755308141640066892273335950748357515789984524574141976228861346918652750142893078702667548801090572976297264887333674852445015960248053827282433653636584534760503963480260723821817959714503469016944286929878257352817712897889744634463885930174433627191147788845557529843229337748267853733077917824690936208220747752141727700583080337810279621011975633880471285221790765108537720992875372355838367480238841118059404810065934633459973580135750627390153636466400254225773178529923546011678536991714118333511147367450362480199238620465203273447210994592857329512417518958910490045460459217014484911182076129227495780730120374594287991363354039159876191366518076746090197525716830430622260025983505294755380817685193185094313078827954726786453664175151138281870136630848446303842529803378738987720955922295842218288938344857297939407681371549401192511593225515320475891581139450003526247666406909612145869881604478538332548752465646214364379784782653970933121470855801710084319521442498418111304380334637530656544650502146259029410244198911422462123758767748154260455706107292185156926586333272650919116066773620099525943728718376457825678672150407948457818140366815543764504097841794022164643410004740648343240822858508968156686982095307412029528234075393412630754095896471832692675102421580121137833590860972637926227696225401514672670929247422176476877638562322195885692076335260825581293097149781885534180079220825674575449829985989693936940109728032685799082824906357107345986128199688981832693986842787069524277737035552929871920253099247638846339627963170956116924585767304861367248371984780503296293642223945465812329071902552832614746405715126662548378764946465456855061899102692915509099203389640525237537395951016481653770137142183525813294989729983405177209310996086797010789177048372060580523615579734914381909886649264184525885945362514211647319757894341821968064366092550958653306133471777957294848499713882223276632188193640121403286364093443532425396365706227147545829587287867352662902107657737765990791417426440976504718346455452513007649197356963232128742304960181347358403289308960568644278543565124631049699524798374170552984529986326643624003816063494313709867807233073496497384228587849463777081253871897885097352985913916154513766813185985552758734275584387465475499610973516906608159869310234038607319796824738960465493344028342029308069275814682808252201482091050346045929832888242103652418777065499544319063118142121433602484758858109885066899317582143055377620446939105118787504447622101200230181442655523987283978057227146371412488309102144039729313908489422687632148554038094404391426580835803168339143089102842690479001477406204321960186509815149947483563104548948749491225822998066869698270911210982890516020126209418469228902964894044901282300772131689936581288616322228395749684761754976739904523446566369191088995855420429374837391204255539006737670190401231708195080489049919951331724501557376218233683592669387799327377243127784021907329854867951252085956874537085506449717481741311948305526343740848535043098684487166956169265094272696047982230459738842322425318372670539378963595748643711145545093862950915676977841121323346846248295041737123303943147809823218243643790290231404895168875495360715844467068636002296045924020210874263295034997235792451919671643432172125567542134410489266547950189983805269775215311050788114144139711892670106082963112790248054592362661241388528889640759520885449055498831300337567567084063994962827502268983224624202105783054612889879903667967415909303246991537660519432673101452504623525029827367732538680868826433914754316186910359520899774623327732385879692345511979494524508047504127471810373192630770982273246075103480101268788501646059997073007587990669493939325011506678735136158247102447563432890437751460041988465195666871989940228540066860119178429883543010520652458592196270949144479637675571900097583997252823231382192843526619906931224117053477535076340082201889511503127905059873267633188169989171409202249682098036927910989156016691005080510437168677344640787684973762247992629785366416042345529433145289135409263752343144421194602025076725007274481057404251082682763016624741333472649085307264371348777497678851553625116776287761469759156885941851974616748003449490411018799860223754452936125961191435206762347913234944830511422545854770549463877395651095274667623525890136235091138864592482576133746726240192457577570256058394500175345760167065170305795252053867261912419539217724073268145107907718436842665080396323621223149377301198749429277877350522052914126443160851265294887437023645889623460855056139393514586440059085245899464902506996290740817888836638862837014732979433427922360507767099542760415313697202010308034692352577543921702052195031288135164712957671421433087056090247943758618339493775232836880683357879777992419698373446333615204463215681518743174236522008761454710218699048437846980828079479877199616149586568133836006550633810734096903218233252752707826645450559123329860116509249992689762753458416971226813032729638990453501404087743654620566134567476669469943881528094143428335666537389596433468341763532651079881320321289490579875978252488254153995622339288061491831556803277916653203401527519809256463536040984154613587494180484762393239179027525643010619764866046056494259094138270577527786401597966788361763271044864077509502354115562222928917015193192436086045190951047371175721072928512908027349477611615330912759129179489182814372218881046183548763008908890609025516449521286716978844572365471309890754304974498335961169558154276329923899555040774144931972649291792706089462365436935165983492770804010701955236337137921375651071839065094918408107668691348184694751731584304111269775922202762965672022361871756385241283875837450618385267272740013426719883381380174286088077981998063314545601684903197645045159635689299147461770256281712795291166887284313313189616539085818213077890953581065764276666901105994709065520044649697651161801075968296829825425153464847530567047606794752924076307735654818192720964233285941492032869127994601835262762203449722340853896894063324781558629864800781408589282315690065494836653357661122700578412432348764183183328607766965500168793920277589037373571943720542764745467256912031915979172849140354894017551396282082248369886223949539969860030451132048999700631822347716111798713333517358656306004878921704921859093004150921421028094239873865966570742904732411551284188455088349914976327629439685168270812062343571624600877816140281863465676576715922424298041462570076021721184218533805867537929342885456962241995633868852251930806806017166648581329380587039736052344330719766106337644507917677325596977981916266474966578699989990137378687716115122918015776645272626409865410871948617970092683722184277095753489023440877663629721432716676198787549751532609908760311800891558511968123560728262675403169353228401982945441688111335066771627433699102430761768226888375081725270795662028326251112886898202611986945699657795277086766584626098159794351910783176946472438527404570949111787235569390623534244961656323599630865530145520219952764641021457263853694950326655904235275744451443582695131168792985580098397629759807139201620341660419256742890025358010897257998312975718074312313221373805531895819574877734994844037595520621449781011474310595603636309661157334486168538017175998977338102834246808583364367367745800661117529403574494954735974021967052540905260082674292321385035068289078541290885767042664002559366287196232727861139271152174857521017292922447969110113141539190014922425028028778172071353514262624750772433971143049000709205817124248611473598241409775719633016479253919417163249478783041713657112105310062454240528660620745234958570587644874153548677695245109979558569297094090847239360753034134264252618518811726095898831854620238278714764018267003000666855495430697022599788953023410916899061961238511390526222798981743186497876833927867107083496739048765282848854746079076798736486825178816274285608212275440605813246403058900436052948137622361039004975957776429982557012716775852718845035626418489552431498866205787834531402649410505433838282532981099062213221782363014948789552168287822419419351211950852525291967587689156217430195866863192941215420923065277007063458828541020851056060892386600375645285656418186057314400911473191001840687626314806974750909437969563659851792776188350437932374268354449131559780998098519692718858048214083663733962928763663924224192817600308137702164997015976943871815893692817803666900732139004742498656414760747561597670424998108679327690276378898523734094028931166832297540877304584842893385899754943739504876756499517508020857144017121737326887623261308724350551502765889908175393996444502712243675561601597372116780319082580325982790262271305380500611774701072426679708478551505422404085722807633926471825691142668616171053152072862820539701646837073996886826358151107551935846563700257344079117218556055705104479117398679134063253575881047131975386656325345015876397238671252612699325137958870735921114610414480518929018427966268455414469846503045241238435834623229611169495268267195219851880476494500463154667916307098212729162661502876694253349474156906197497209713508998952429789360561033161455590415894544585122239899430405589508895654024362701902856733932599687622952926085367533881960590309318568105081415461512291783069370015762346243683375684539641305905046116543339003847064035948382572273714126004143016123043793192692236543784927596198845727888635316931531446687485239687096353428647404379085368697884979736438007920256527914989490344716021436753102849735293941486117128539470660956521510651892817775241121496517986443234750312041271187136751747966684306315074910073590494542140191738894381816953210400303228925899625957666605370928704124979007045151807802749503918576479717577222730296992344314759903708892241200006266133595327549245392845766403509794995592179146302193137183623684411926392122209737629623243752890247184976436250604540036060328046906715284415744819781741127903657689754035226497613928760978173280456598167210448386465610978756759425861651233228348987524330228731732522051998318065685891947749469091669949890433897436097019346716929784203906296041437159159007841839846163323579639817774024252155597181808993230502785703782338458672310209888599100327284268235718090090409068623091688002309166555980009960558864017991813881271210408651018382930653730422551585147613007490439356477402601059945538761664857634466565493553305500221036073836463390192262869144005513736181560464102567006093745161105694848863450246207973919880304663102571008092212307466555284487081234848510575526621823248838254565893496663819246359282160129062645798331169653037983849821774584212054463437995260340845198839182478313569593075020132181141468731648774145991315404002721186844592008991583114062890272436038156012740165490409252586864658879717209984600487859209693431441819144838600594658194800306915613035300682741662667172134972598848143671012039275296026857215308003478452360622043747006227936471662709488257328254531739454494810480605114718241430871177095729105796062906159542662805979721273357757217936916323682640241804303578103366089526411101249308647346113031364984074381445093294390848772332030482929778631252667135092385586872320525760193846769763094394701353787956258555945260520435292977249073432748659522452346097047782395771866154201874097379278781038206998723035489587576792014222353291410426224936932389394638011811151594786421780976009100184726351660700338647399983015548013682934102219981581313194252938649623932752858184386823640012639236152205694846782999595153403928623276766095310201142162647447709556954330835545963978645643267817734673155544035021993729160840911681260505537161601600858708046784692211073670655381243749205288786595698362267459969706567975184830873904915574154445098941177076826492938184044886113602141523454960825509606222541779073719523207096115312375854362504473388105741071920558180491502670936361231476334978068167424678457243490216319144467285758380544899202543128466516152244072122667443134084582554377645727526537356835700973435863134885531918098240141804880263706065417406459123201923414246448464682641681128171023744694251141561183882146862993066212467875980249531556061957534588663953858363175927571316300430451535501283291703660218125226820352811639393150529722039665424243653418999182450568147358077578570009595290880461726329413706310414608163555610882076441780487086439430750505145427697892888259876233087020851333040691159099749629321906351237690430694348679308973674233213422468110745326192814755625147877811823015587640706868684449529673733616080503001356056591401141905676901873773358908771440165416936721827873026086503853377102089908092062065421497203694895828593566491679272665439833032977887319673869500667398295413368648855199483736563907875227335144353903149968372932311861535865353834316353642692297605127501640353755257154148639960300904892296462607227284259512326259092990846389738784687331000245251085953522410880837770081183014352818123402364995672611032720882468303758883017731886154403347215977848089548889620326188397946461150876857504659130434786564415512655885489163674013146145591760148783579039572722238038945935461579951788042614291288239366997256413610072098346954724743645933763216865257813838469193110710483229704157000828931048765111630611773222608621102298992095694179374652318478200440423504254712994537073912617949219465918667759077833580654576601685368412793828700929757975416128086801305305726151651905444899883272348666478702257349026163246969539408477356855622473356552630756497990837090384561946162221535522149831237245769244271430349695558599521852646473095388276961611890509631501604409979360265242828565667010490863350273700667284306307060277606474854802917758863183838856083419793589410937497542768303859441424856499779782752089283077447744356436745257347872967815256357286763525413400093109902026191237141539588986584413013838000390077114105702293608113453376453914520419732904459502162767367070201471275119540636829021124441746473800233374154513325941357602234737569969657417203259509573683880742216734153375630235813002094076536426196238296560906310994426466372274134018980899615726918488675331332482733314753911493067295970020756972242720330203445563804245455810137800627102128392980198977920468471839708582647299476041447685539435891229344957542402971074698951188768075733865681373400011514412197158816189735798017350956000742169807906847675922573130578865931473042651037638423714131651500822812848358661293599337668183330223309957760521701768742191236797991648138034543992396317632347680538561979423534065519312039833649782652596968950181747903232364743750779639745239322507081744872223143287934160901211136164801039788774932786855472363738504701391980436033234904778520190255658433515064979132580953998007874072840911029651557522838750549357157214820853739526012548985989402655110895418366360488603888835124274660067182310383332207669561110464188777839463939589086660915476405364974304146332445084143305442159288447728018553893027872008284135910310860364632466669458731708236382759732560925464261534846323301169476815142674061881305450597483453360897368491534478913050874651055518332998899231374611126902174010564780959466315952951458580694178091145455260896651818457840830216823039094376617866715273184615331227617253340757736069621747469151040173014807449195135067050510156532045973698624354977587097581458302687799416270782438186268466557573722497997097285672750829281489267877379321654274556852652822853824740920217924123019359545954412491190038705093170763081314626188585506771345680062357784479280346040986448803134720341834490569075390133162008545110809749968924487610766887189546724674910061299720620284180109617545394028287456100044235433164352156126744803971337950608070089907357971603616285414261667070609005456057633588362538302671018188082375956088380699365978597006966236021481310915588778399486452324057792452958418186122790875864493062374274236368556625558702643070904266167191352829899747737408305257039497910723564642260743651839428666476852628615290867340738639702731579073708336556084557065767293864527137589708515175540271671144575459899020385894529344697554261474017318548868415394846078654777951131597182443535546868097316340315276745948585433472342111694346414105469043411989781878493283260205843123310197578594206327323728886621612547716820129047204749245564845632801153413538933262259088247957498837403072465003848956975630745239854561575328800993483902986298584604240706730622259646439996817358423497682813241702374670519752348333254857140786225470195662836652556425670198168237744304223565597508560725262981702093103699714616290978538772082946957655889648230935234000081980170064127710745147254263524810821531241364740510402138897106529276123518733632660787119624226036204502479515154146942848554034929068670111940526150063527451430512938448241984042679217017852786209838203689937856776123635773244902757059015367981141392117867331894543418965158326609863241170193524165368428363149788134944903678568421620133684830152583152846794080598732751039092943870461434850419331355148189005986602227981179100669028782768716207361735714693250417813448932989876649127789628381731386033020817985373149745595431494232295606480355866957853889330343963082214568498316375687718750518953782809570032341604363548113870154136511303370022062711564370641882686100845954369074836290081987810124668552145627242487485303701183243440329887673729081533461670613610582405816831656219450008611362954282335753763565605728387079840756197505111734389344731267725623249108712626948916650706286946608358885109795872055821360606941098063176182742874241091742378832237206483946793169066982079044758351529963494165935343161178043436036630385048690781605272502295101608307069965029428955485376683503135204978979354608792138784816016147309582311763395337069258593853028489564347992422369730282626532875555050364084892326091813747947652552757993504855137794532831898065844175866685247101364423060325983115425588847114471655597504157421106169828014921262464265774988490622808155178816488221221820983000414986363379273510576763357508657054344130777370681061172031956140615751745461923951939471138943903245022859492628272148673013860941203969311817953944594612484478155761998170996965213311116656163627838404152124300617444508775278958679467381649964231332652378729367056575287248940179558486196127957304481232679233671011459843632382194484734939265933638686068522561810834640531463801083731539011067375783956077060559432229117378151665773102520781147044429431383380367760627927472632872940135783577844082539903581022936214714672299813759725404330240309642429181210072990843170016621559695877419588934717447326670762315214346950126916637674000766621846887817873551221569226260155472649193982334733056206501072334697950309427881462072057164376060552324536815456409042964472601665778142812131283387697436121493647671782830995577019145174615541842182360287798380481691787700937896733195991342677895145054043368745441207873290501206153726583004720683294575660431386429318822931342210161298240611312713367346258120647431194902063693706026229347027501160813593569448359825091260610380944720207286512539779241059831652029439083330077960892624900266044736915388164692814782684415646354048929911964376607356588877915272667822045635433372929227434762383026380023367167844651893690406705093316837268165675892880442427402954356779358659557092089097076312462496525414485581317216225808242492550802834635398480772353209731640078147224104547110553172979648554288455591625504343704546807235521272455438459548468236587337863661660954722774708905249517347562459071774491223088253395956018674665579391491492660741070781688862711953062537007001669243804544320929209633908948484309595324612729853328636566353312642193084233368041024789487766034528787603479002441373832910229148429188745640400421997084428164099890596301584202441262656647199240802777179971293742654109563594083790333810312702771912685577534460323152795474235464153873988394438938803365359240952936714639423853443461018829352710850861503771723280540936833623331118745001565770058789955527119063416077875999891756238495712587812755309546028960393775689440412338012878182023203189476175051001058608145261409256427028868419937146650547427502965073780563835617815905322741630447004781941811603950368482449037921329698581368796827124530326817081033301843703417610292769068801711747899415717151798324082169311333544000589680875557325017591461533170282482663578411224685641120450475451454739425634549034316987264795345616046915291584878074639509442639043940507063087967526117868106183479667302192781980499674217968294704102041097196975186706453792389491253056628707090880145823291152711523404824885852778790956429412302513601252979382786226813556937052407001837165179289531643827112141098736405145090148302085814732509791747283946857857079977130413764248020780514664132379648301016582061678026791680115239825573068186671555140293462997340544309683755840390876263011873925816050268926921090245552486544207972621662649025747985667138037037721682618063768671780006321735741612398210862700068922455739106904250451735758509891080169857435803544924625852122540429664213392027711135744688100449655563106203142029512659221414949217307884752022606407089495603431041692869851404941598065018977038852565232168984364467545357050987405005618173624370227640910583191458864455938417324675332751194365033524307915523584816169210555774664502954245350407851701694870532835970391316474315268705697661847281991886786163599383284309609694381991739369224362397229681497550073492343941618941222853006041965671325759428526555552152170340554511903403722015201422852719861154488749834143388046563800553112785412695293599151645448407730118830414002398599688096130302203674756729228621553364766070012958751240267783582860982304283527571019647830281612549243842364329577352986697444620312774783307552110064284469320298410275220005937936196112417766256032826548719261997920311269606957448608539325082730405922279904582951461900793540475237986240854566157240365379710218698693904531992533041529295537656417856529635325538903742247123238211969685849739299889710034948491021188277851010801760083137629154384253570808022755405250527224487686854722164596882270263129567618291802889851492592727736401702164541661087226019269122223365491715182912526199882824191373468316082215213421648485546973597452587645324133238633552045847601388409184528327796740875011239322729269424027025891819202532395290052389767920877419884443876713963947505907558922482303737662334628543978153745309074702548967451195295720721148418801855952749741463976281399575387510977781616921841756683683479360202163867634554099854803506516743297927233031970486491441744953730424952501537524331692127932322939765902077874511499084090072811818637189286692994444564925474860805222886311894403386403393529872692772971320779191223682404481511845598383112765180910331530300959302949230738992753621319876727021526282220343954062304671796993781102176338410977124212376959657138426168385383525660072724872600912536087291104696650431330409663935261088634141838311947079241309939715919428480471451984334536683474396076923114633531704452501758848939380505639124823522617551617962456221263728753909263469345835320566042140831006395363690812952689101210074158768611837976730229974039497915295680530998465630202006693180438376138556836729891777207071516389923722004062504165960495187587603837362252620946372285310694612181451218036318517485725649159112621589804067326896429796748627467272585488341156467835997660945986798214028107145968464917582171650710545525110845154840311748538119160966842686186231236084695415702291168847722868221774895138415642004008425817209688034909286662889444669541125704990639325396993543121084443297416917809805987943922424013993083409381304252965937477407670072932391395818570576765697394476590139953946288748602264671530122801714153249887550226881056900518206880165009571084345323048295264774333263074671864954211403214112021816376694722144240847229619673170887687226814708797396435014298750374796454544318162291093926890057519491089284725414008006026546321108603141815733429385994444609388661185732162465669985080201628445608743312295957362032835149578775424338794813971977636342504317293041693681154380566685668758585341204843605680372407701025430447229601510466145448051624563085944648989818781125956738699718979738589804750812272306815474203343763253315984849992005675413510473511902355904106302118219767548374423497496510992648065174522796205535638169664005535375436448624098814696749767453697362104380629321988140695080450285513525165283719758173922311457169854595338597022701524697177214854720937855256568510783307562947734019537118599822140266502924067444174583118614609496196231334110968109306286676266553221131101146617626579067978787826392288386018811065688978995483284195800684801043059212108460822604974493926442133273342730907279747704404328411619457775488120148403756111770051226410382804214649131698390437588553504562053222856959540054645382507080455141032755805419101099994591399093376075768873371521749824375855577607588048658306619662097688257113586609919760891220267302919950378407093971151263402503889969620354690546953307883723396224993045969699695002901058349443294876947902014357442710081725809938190156064181525281871636625397352338196415444862927087100163268514909098838660997638435046173706158631967811841514625638508016261575488869245170864187895102071491039246934768542479550514429185042865525640143304170760175228949692687603009253790679666894764426217475945327182484263281996163135150362345790858421234307396963711139227234646280620442543610398849795546927116031887236463464123681355291963076550893893358264350498173290805160822794440123111708120763710255718123945153032119956622166153595693918075296378405503945479857009642784131854328716617022909602325271351499106638946030225083496549992708183963376876424648294810424511474283909201766485675226410453763597194562126768934617551637218819101714302597748748994679767108131637309315573631135145444983742512023435982554039609748385443712150401473944342114554531270550010750424723783052142324549707360510197049578911063930491018881984234080341312011191554328221264080345695327652394487447948396410828314190624552038559635626396736635770095150562216586282975671243270097548578427678617442658760524877977121901527647115561097262086898236759668534047269249119789723206415361905331396568011656219202144483216159724862669769222209151711119614619094989014658290319875907325551956061097257052930109527993363820028191421271719655737253140194047831495972285088597277366328072181119715583486917840169831368555226142726673862319339966829125658592412466346705775728484855569897186580792065917243966961468007671362917145254643065557007118556204565598426211367180717158208859008335250052065334523439333291271321352055505708834463482419774469480458777107145391150749652629340118899015842624606391834240834740787463715781069971710607130040972827528120307225557652394412675799819129286638793958789689182126425541526838970559304949952168462212042246050625291042155613424946314348521132552902579689269467536630743218560941712918894568564399851199592236207615181647213795549805626177501787751731421322493091393698873389622877651691588297895042753283573105286894987267737975653900380967502852483270246334664098688236746359495923215632677836421756459716790895689571093475814441440294289944321711525151921352369201603734418898910124913008712535874110952701531091278816931591475483730892803815075859555785846720783838803545056164586053011182229727759132950646683132649715625181434407146377090692832448687837095316682375778054389840805168166074284250977447702165919378142447271762794588280507571565915992989889960169111295368773238407776775595122832201695135329399009496060274541005992272705313497966582738041167446352241524544053771717952451749394750251294974890827029642819307906595406698628947641735689892235115258989298975031819777450202845321537806674180465297809940143654327782515133484885818693446550278322715380241031599778646402459786798924112038919482656270660438730687647094717212973670445085667590636486241418069232959295098724421658702466483872918859554631738679151683562337644628977161031464844044909074403961264786369374902053616892950778534532119487106225855161081288529908355834159314439258707188892100424639366090819757640283163513673354125208165720404961264792048160019386734844577218181358815614512387945718673673203686457835590334112947485300959079338369264956779311521862569871558206426304525932340320477931875562127139454519388723085790799394150420652501525800324982647533598563455478727582194608323261917351877043231365275771924259187036924290517549690184236295374744032945995863185527898766313663129393877784730661970765146353472960145861330267941686765483599610816964958846928821212756363532945502234781564906984609382404264603203491560017114883776070520262082837470381729796410368756508485520923729361000612425561607546991423570763750930900112729458747716287896604160094628434113379822177430732252733687697230339163222165790360655995729590084532483839015512812533314955761303138654038554663178529972708905657495100595434471600431365880986679234873066093241687186579043816584639400810813914057240507170238623697845549557463221757195088532889332885081504409005771543231306065908967583430968472337346388300306124620042161277455412828253428744771507346631130981170130279367086687235768225585416451170041515274977882663566225078259370187192721516795749434692589453811585170088759480790674366359530094040103216959493876774328274182981518574341131548850430974228624337479054443872424820047580843394410284973316346029057170437253264691677252495404228194012841346300636377698490901408653709045838063870696146865861915491495228394608174613813127651261409500876229935067657880553874792982440378017881114177274704859882808130994649654143835738191887901159594230341580268212433119170929783850983775958664571320907517946952647758810369365948764392665158842995168162159055351601236905005852013036504634185265573703786922156251605529704834982315262014074863955160055007547672151312572801494439272366490621854174964207059545417131371345569276956941878631929642381559365143448187309794119708312353884528729474980134974453601496325360664432405221022600524498456372894009367554061000768984542284919729671092388586812544961142280003712059272381254489946752184523505193121703948925040831498226116825074007604687202680756382534477830794198270638868140405636746751551591558440572921106201196319464762468992344076748673423390590617360482515994876763820977379272418299684180056751807514539877369174429762532601174016194666873063934251756802455259830018681866150186761909737041708040362774395461683670397470870583292112241947004218751081896781329384433951666799600608464183329634850219481666225604269479098322856994579898995357089241560378400849419604187525290589727627738781479754601258321399274741337173355970925865568416974152924984609858578619466322279692569298678663561430197094695291386148541247353786918520281918915275743007252992954714055220102654456292935035760253199836240468780312050940857235602249336930896426697000234509363042309022852001468790839085159434707875029166207329627723151220016290963101252627982592834160857236566264419255981030285597800464280425365609159441427123216763379124324175916067819886669049516916071889544285971708329113684183624813875301558574482931426686937311618938961381755516205021584572061881801418756292695877862947381319459510475409333872720665162280561226534066836243035838076661334996336026947180696660975938686634613417563950048062033288406439660208997626529177381459898685245320660659463617658807294017365400236837202342805366409534914324350984790351242539024472673001572134632735729148515379052056199901855035066991400910181393661340038130721478219325133435258245613760383684518840162517267152504701546975714900300189700774274027553799127565303063410739010367532354430573036153356153903124572642127535591705684939427375432073915026847538777854430654691489450370877213121670180391923036172124946086128582400896052110380119717566971295794038675220218962601894692482265855720043057100636612116513967578661331141689765716050651983200518878127582939360779657826227092016750795071431125984214081245399784622792695326578421672340949561681496860140396708882172321841348432182023699055207021356002427091687947150071865173309098716691468512326392602607644060082760971456203336693151185434206189398758772672953109379218323814958803744211071208078544367190419043412445074971619392399593660555910199611414512707938361915273494358999893132942016978528728847011476509510436502483995378852403159137944203384610268775318099996382814660115717681339364469547231273393363144882488292054855295048759343710990235580647031260026778195662806414156695262385441287304964098978943872200287137900692230164672176112595485951483429864118080685782638529993767484940517706295466065919331283395063415000036042319736308535494013841075918519077668204098384304470914758848708687482695024935506228993369362655481617415562111376534272413541640718551926016790106354347029734951535927016463033543444916903193513861724737719151159617390698327870585161887939364677802334277705446457447230671710924210894344963560492452331957701866979956996121288324525823576719511867090899532945259363956299522075916130684959909803215977940976394903656159763005156590413775726084055893126287276032679651015707567377043246949102558212315053040475956536515187484194846545228212990135309754176554733566957333683416260365668063305942422567859121915470396206193493100715525418125757563988036161551881884849265068805506457675431868120349113898304273287193604577894835278386320569941827387765818991314700452188406267321228466961454567292468797136274065951837695817444025843054888736815836352591666447067103004563797695836090247202715105725852584498440443940290220573000368910181337038072801572808029110068712681840962311884089936363405671358226734477946379988241774431020741902973028312999660471670577196886708470766143657999808102335710023412632339813802606316172979042442778891140025359929396629571724327567258661508014413298565167540211646240390986443396069567234815281363996391575323628770672965154473329456788010688043108584759658460906029180827937695634069930887889519959078798679366777291006247915511580217929926491200233554621902084323299246740019520944269701475235266309472715208116335925507699264484677942352539703406609933747087638488546853923083005364741406662875655749526976594509750106258726173418707245290793638253131469271068296329883080066435786232116820849235669013435738369623942401962913010496508021921298350147148213634719171900485164255050565597683025851145203932175126931639818537908969979245807028195102718445988743484946456236664958708631292901497969718883545249934820360167271686839688110935449280530712693913221274566850262899893470034687980333568659284020800060350177909362532866413956701079764408796776638246237363325561331789210474840091605770948217723873717226523716879054974058101843802060520297736330841577680699151182623810379065913319572866014902864854596614678163164697965976606137219582531541501296428288316393055992685211004781368583921339905362533023413360325650821732225862582355788314287967332468691381581436984864278931560761773332783616985102087182222386044356683156160612815565915989859040070498858793502695662973980606245774665404979209565443576018706277658874517345300925980480722061486453653950453416473881596035667886537664138643741020382456591218078741264568980581454297887123747679977974420437103131567474919820927209734134705470207652253469470673444754689257696324607516283256942115936093114027888754658771603969757952312864324951874620345130539337908759187784973864131295686610895343610602496159597078072871151151189719757208119006895708598233335314803177546837207208724412913332716803408256193353859231907190506637646509135734128831065357309557770417782836818700188652258499609206610569543630133296551653524808519551249914006107733771536747085445216939233389983411787738759441527426266684982350706355485026449851298994949324154860782711354875052686322331848575474136251155173814468078106210410098763637192950615723347609118856713137397113326375539830451077404633912813312482140227452324261471906297507970116321822416386376872062189830833933961145099196429794567319732610500444791724574252600778935623816890854002459434489357087983117991927498961548990681661859192500468928165131616543532156055951087999483601249332738714190511060490562312018274284143032710372705454753615238121703327157831416640089024664072717772006143216309695177593250227745292460362663597848057276477542160262432154721692875168095110211971661182259792190461717168686031648137328829753595118219318133460834366117492236209595476681844237722355778700569898409279308108727588771419466933642876102246333278632563423270873211327472064803918715151998783914341447613781420803365531790499502053558385850584758279472114871976331248691929598838095340637343553893707276346333610401485553183171728233589668312962529663344949325514743181896574233693266265510168181614064080716689992309122473367364985154472473961474313614509569264469086528952869776981777727281106726428234438915848521629450090850736642000030796965157976209801725757950398341894868805640264667442770873164050764748297934564570693009988784535712432005520942061801295249342847146566697035696910236531198014952326813470614881060079086155381967515939352021208514428198718269449677991142354449919697714092784825996788077490657069612591664073388696130112521524111438582841245723687583773007685735993535827586599080121010948604478403752039130240307498329029418823944179574805943921269143924039917682128093521097100130464051614391868411779792330349191851894692443106290471729327194051685946654947547990758299018842479356776559532088255356973103577440351756962428674032852252900094011620588270920347586862266877362993967480702407905134489799362085276713201081511240241879278721617038189079169863152576029127213527281732818771332661175976395552287197023046037470085041043941905235743863026355590659581303232329834311925497466779069981558453786893635312139128117282836118713306309252252153335131891309757874207854377365499932688429097360466423265110343437971829394545335616197003973267224313596693697624333685507147539747982704028645503993103493475782386368493909806181740320637479930981684905548673170704153621901408032070984667725134466560185713352520682378435527055330401383051178452666763109742911399441736199027907922612372645889025682568180109238112358708784586128655048874804965277297456750876485035782478704332259628736213554000966459913424226616212293117175465848515075212796469693652198221864216457476597981788272882541310332609976531665027792810586192253188075833337986707291351476230045847874391586339082152481356101144160678852528483901690566152146379675712689169790035521142482152660577728123547841461837077505620063061715359370000496497521302973744341094378744131338051943774253980024111793699113032422873720940489331355060805288721196201675538204112050997717845905360638760083801985966987988864254601495856248703411724165101927994573420315813510298760850745520658169124137400038694436802287216228001329487394648333679326439830305215525765359379245103313512926929521244497205742624551165437811644417421219590359058816989415245913040281624855627949288199650659638596596868989735932191722849119357083070357590140343918455504912511958098814564916625947495688040586203441678830382785906457882734138904975822553581628722709238045403210794732058814739507860134114913536969404585347995547956035688161581185913149443900546923497842031882220125091630191336658423223292966404979953378812034849438516925050715118436135090143087403920304048629345552502633797857273193632989526646744806394204246854204548027071212856617000653451403180054529705947869820843643179909837693632960843699133897613732011163149108650034387804530578091767986104805627370512622965184406976482907803783804784716936281444341645738029395755727674008918486669366722705452237427777034985464642305885931859598778802010743324945292528459026823280195477437764513130423897628417291567350808925604277401826990602253715201926784583399313067995547423563348936900566942133648633008177370908412976343068955538295216961880694806513788234732622659653132215530524210898233649398166467992604971026777600783303905036757036231681463016727197672141990554092647793882916482720379009339378127561312074421298419711010152566577065943667988968821812844053476380314152990261279660718018903666498165584757634521419855429708030487618640468914053026570989612945789082110611084211503319446206491723052659609982278880284920150680759057858675386936500330287820630520255391409829694658058379520071843451246912059100616891402044392656873382876178437195276780022621070728174440086086142470971458698561686425335618378260864250871651390316196269013851862480193413803636116538995976458016002936733152954451717867342269499304060223471828969391308929377099877402200197126983973367049946079197565087831212508277578011728737337018393160342887366684397640362088708982380185040311345677561915535022500547835525110825690465839850599026643442778856778125317509473267082458707931297322637943038427336726505833286925962963093096039009652258824502801350232433690850255968157062816581369423525047096472721236419614056796773037544139221274744299524480856104789448052355292046102227821454398655305380538094969203292575846641523196444084885081139397607221239845085786217506728797840627670216882283629230113731087060918837876065242646993374029268392855796770298754265769104807591698855858463680006066269468225555997225832838159015942763096292584805887003309571114530938032131628409913181152968642972262375631642438120322493928006350358454812605350022079616340407437520147864462782357273207902355206802244003933324883150283862349933314138429626875687294884380411395655260545250575861502597917623305031172655248038992553792995541421506448717096278846561428660994543246776013235048381684412855590349134588042938496591108158876768578204309665322495575176168103548362942507497071436091944162086560900879692973709293745075284619673260305857629798479936619858666267586533405621865490122230495266166833684004250370986334223036912452323080646817033926203151910572895380944247235409714720749943666337266705307952273943766820097606867058244729683102164572213896557146884400311449571014522087320959823719603835091754831833324469319794429419949410691365871339109690888949314236737878662835044602635414683559497584663964927548121690423814340050115713186356963164299105100050291667264476685230493982533703633414527483443912737508935009002515655364053464993774296512030548000232708809099498526566932713676674525678391194886768939991669900195012369521372716976003832816427316306809562437115373727157375787083466552592486395552451775780024308215854431653079749803290839828096054375921965460495170183973923546645682301967966198258750850798981040260010980440650597820758865605710520265371982716825609643991170267776435828447981628606190391291443180947123638315232702980338656312713967759055927693169756645748722899039085360855248944676722018799408970454684376989602722428799022202596917390894074230010247523025908446949352574176311763921209886835724458149206833559006191107622530945127825980294452774763979080462483906059742445583678940367051293746186467965270422922441539958581647739838168585936263648057624780377369221109443951336261535455648886725344389824097385066554856867487722123937394033519959968908008507052431975845051672769735838485141523640232766281144691844007783263432364532198298593930846733514664212005303211119085177387632624856461727508360102660262914151895111307721216006416361800132464315479267412850677003827878306116635956371556029372891045680750912465160612984273321731593790176431717160482187171462263837289915641188427691127016276426087709266338445902918155647415195046860039023597718117404148687404931451194892174346068340669062012260149946600952760784805730402707577405412578684180628264073327411416502550139397629066390032305176637126822281804550108581822565395407062232997801228322855747835052863572640356805332025971465204960406555277353620844521557724106387131899035997553885490250026640556991950314041042709746520265506203495504765417829661791064689132583965305102910202593425096445960775061604961877414282405237929414668478460609887983127330521478520938689859795369149901833380714549870927022842752382204055731358772903467485600530390322781913107225227413606552807302177257240582056575219859453561954987495354478797718850401734031445864117551009272488105443114250218129442475287942825249441071207101893231743865367480773291265777654412060144567024339487555601300644375886928205892908193808946510646038755597631496220196788710094737818918680273031021182771122083433696210427490689909227452874512160068112611389561777202729748515815296013578086138103351420635869235329522174915220258606025182341314180984271875131947110901291909933726550605366906152352257353700855297963845999930795705063955460678342429369981374154439133310527347586457349213817923632296769616962623846295138126161358983238904318156411496029005454260077183789164429432524383190650776723219533587259798924199197961898355151948769615277655136827812015162001020514322827623403867797632845332718969385980010908370944982034962627312707701605185708433130557825975936379820179067361386201010161904270653804680976219210856264926523143826900011365233068475138731458389487777526138915123531405903108229003814137038815134593530090413610383198141412477313552813037229026274893420345703745467346113738099706541451970713254863422108764828519541209613071855415782929885464349228760104748722208626977306855332997831977066781184690544669429475716999403890381602775355411300083228077609438213310849011110643997443766167138547235970986003690036925338620989194929470316847756729706067283174336476356247321660421045701197552935178099764038405696290332787062929895997328544650440800870826946911426428530515710479013820239723722879441458887987133187715091696083477082988356124507618802533273212439947341282282021482551589552190074893787645391004944997175745672763901723279797438499396301458277789663778016950947083303207365803813185259726025569188161389569601315411323498855417487778151385090712264787548297929194574687864218182341818922528268939611703318890350792867253324023019717362382349761215489681248870971175800901736246371034827813463934974381538527588169495305941918391671445996865179065576960601061224966166286744393648014819497973004534506234033338234186521207436504428622765276253552949770641414104700757416187389284856364993576767721336353336048820309903386016923565385016887263161492287885443191223337860022538457568162460774546938579814824128992343398038870356398649079523762111130461873250313280992182776838979193294313840935470121090785690907970294877006041160556627201106562182940584408115046550265866533736674034661939259641087122219400250916292590691796526312560014964477668423981137688765680904717849773275743486081701400150184978952859264404469515804902997058772430732069576205759230239587032171015533786885214896380276220985101020857366986475504539023510417982355251779307214227461572084171926174849039553949531422419293060938705291686656805226995716069053458283210809138081875337998601675850508440604355393578798577738484270450215867164510786145381941794832869383072203038811548922291620041624220161984157194896365639259386804970309982711785286099139096291880415434962776639008443774867387776685624607265425370311355926965392883101967197743565030351832163593190998186385088591282603618047003876069564471032016627954889822859758354888144908873989055335405225605310546479015143261422844242958032721751214884735303361999196557537945886545390066812438491182177580510858636210092110882357105464494153732842267431399414216098954618880844910613905442639696531267006089467850639471807488033163505111854827468283651775901692445384946481069634691353429792712455135226977409240513432800058831005180897840251367365667548551562160887824894426480512243082247587260331842960613194560612899662548890393503809182685863056881472837844486779125723488280538502026108289376635691168386014348699853419345201567658597875283825411076047558548780717778181206221853277978804182878156297518286907890311534872887897111966604148746143592277824755891022218546100452023088108530699663460128209135926991040949701770755891312466291776492917395540910081382628551339768876303853284113924389086143148795049249202618607964462766239246469574077727710053454463344150440922189008447655287267226728504415744986977239217922966502707513712774125513960107220052056757566348258209454800408563335755177981386338876646517176001736060917171746887073402135908381661595058241190497277501086752309281108536286555524444132701708944006742319842412932657140078191333667858201551017429083958385468150571372000595354037028660662846029963324476983639806999148536797836664165364662788067734333964447213607790936382793807347403792880850443099422014563876463773157228781231991430586578518452725242282487447473721550018156101573051809460768732791927670979174694994029402169251546226499280051188728270107105772533941836112484059900242392134975976533139006256065413882834253167295136299127040303429545267590182588142900381646838406642477369476032413478178632959847198147048087987166436933540812056834470509635843144824472157080641302885238329526103555380702873889548667696636777365557589133120383788781168901767477826975108881147955682860217509529515055475783723550919834677588735607174597176726700395303038354403967128089770251506349198063339691335159368345577503851982278845723974379900020812459948827001208510285173612303419412479304321970992518907087269065479996533229804212693793871222383629035426941944959983509448324149234092743299126856192602051280609333638983805382579621555505575802493076917381278035479034312843372251286833914333998131916178192451509603001846108163865141124161712620177745644281668803228148888460986866741072199998442312823067681267955597592121325394295311587181379961763216470044011343152280474427601503688336274832656871690473904466836531105437149030371431748932355278615915500457440366882554459421935909503102086124047000576863102993408460761178477171630308247421340860927481748808355978955320431820176672687765598342261643731573738637038513890556176820549639967737053124728236459434982717716666177908767557365227119368492376799731139240097163162780323687248887920618636124558507488427545928958350955562374864657457385343805868037731053992151961406894902817385394498944501909563388900563331695023531425518169013220535389794371098063588566381303767594178993587477710018264083544773839082276734003793915780952764633587558934292850623011131469086588516874028145217572768961640411850140738854694208358982727567166621860045798172712050698575817478808037276185327555625041920436352730273716305136776618880875264175851665654831388215379691929587813819811133106089354525974686933401902310584471807483116474089383495215217406509503772144587989478519843795745636066191267711754549355146688650963749284853282704206083486925387115275719611192329847266915740053379542339426950600070216620906031376490925604413130695540829434758007482817790948463240228856257869152878858096582463696196155952101205993224820480851939925107535389604940993312905696281827539730930009571712822982534720793032396210717700601608843546314288744654505344671080208113829551816635130089103105283629676183235238420315339933276888754980698407466175233566381708191669271813117447105005032958279247946284189920562355027513331854210766387310106621450536444340718428061322638244690926434724164512309135499535937847338317404254032446766767460597435149448422225344019574812351859606412828929768545231460022922906472406146993617848069495098957604656466768420687220093972789909197435890686709182596108815127734909614824289057671130538067936545652019592793962156964856705452633673573968214721278522474056166966002364655072664759979875545915219892552974058052193566568380576229267434684648468215496991763746392570171596386965725999666663239909345765740568466090124599774998369219376144139009831490380304067153338128231351884909689273958475535222885735593040639014306167567779115223466096438627223591787474260252818908693767625412392254159838327072249030974211392432725431903725887554891168763034336808050025778097630586741312440905461964112584341785475437640036655764963486602513309006381026587737683739816477345651232326253828811236046380172819029340130189268189293006056840085017334604107197239471615851130237394895204894546719997722624401927044420868638241161061779593019290585817812334684366160589514573199995540118423807977784344760380554063323090851054224322460394986428672466229553433485039334059159546553984658815136207154970006388200807286502591491557133862121651963594520327051050671846360264709803519124232785905954764272908510057703539040814642194099885006714469887128793475636177464265896057103760965146396254851245766689021570060375931052218593494951759953921254388879456029780600031565650054040737951584380958277032072538972003644336758872936474573198923154350454238239561911177567322173653556004698697542115428706902009560281407891827859592332244108130543168672693296826582349211631780217973664852158790495576477249007051008574702118211015125196840236836098294131279855721909647332071163453286743188362441914331112384777880639383869646311894479272939652484080914836861855071055471303638246622552965044938617372107063321764318961323691922029073871801707494075704212924146071882073541592358282618920142830284850270150726636132146221415333812965274944594133701559024936530012437430370066672124379365407875537915671803210547270616467617361077683486017854583196801527749479037795293463797119141307043947473266536160191323937218991618976008992861076384245034700724126971964803910260384711909034112749272421089842082752868287996212231785345626329600664285723021655239814308738504643075595239303240245353438239887307812946381462191040178526739295218813679597133727519440985650421808054167952906738573754396929236251460163244972060444093199064414706591435517378571028015033475610945963648710083975982092114589348118693428736353750799526746342511828916520055586813962130015166453551838838039611788289472501636979765069824288278993988860114136211034884323653019530257506496665701320145592389786707497095801695955557351510803404642411119436370732258872456745895143854693140077501288347251464864109018502735657709130059968450985307235884982950514862859714492913537784332346903236860650284719977739157922156088201354811747838075936431250116307363504407109953001536070150340874800759046029347617361951141778275855662865435947813974849079735291443639433136218507187151985307430051482665060322369413104687566475866251834439938863334599777597264484329273670766638540163664751345210315611422544069317277832458480276727096274248488903561759264363862564966779716027922777773636344219382037809402392065717974850558370155119603074076403995284732409718927225393753257712154723346375680463721153328358618505257638373463845812664166766530534773925799894965236422922439514154366780352285856202426723918875558415568330358497330723666505817622504548535328726564236613876820285385743263476224583493902355126071750980864072404135015543713333438469337531407691137493319825226883438859552007608120007697387058771995046894731447328919011707290675509457299143707996226489732185564229270722272642637746938293353127306023666801783361621508132030232998395024674469680878199957392160741246023333639879193282496099750292320649325017824361263192628800397183712266675792290792315242912279004937530379917542170334192275175948313202665162500462592148107284938768693352986299231700922526766931828121391540001197445121133706916687772634634873390780267714166962398510503216968658203959714294781739005102421220726649329385702491719522921447610614819983524781337436799044087830245967162715709823365440449720247436423166854317840219555133472774273042525214812941868389061738493534545777618161616997448400563437704861804181441661467647807223383133929452089702374907472092238773438945152088794584847905998714156983452723695458988022403266776240336572502228757247215739064241337017141317378509683112407472519536005414602274896143613992875840427565714256900564731801798747124538318709178936754366116869536401131989912313550403894773663111454486566951950873931762851541266899384053692357235439698052760716777016427824741157030625159083362196515413653295986709372031612006690892722087783367696146445608945320110858333449614115325670268188368813845257170128919401416953806292621697901253386092631065308233012457922442933658572100259455847022499856398792708420481743293410535573637622427075642740651417179798069969186778177128233576487722869621497198839995047615998265050156064499616702907118179373536522345058991937942755089643207114390334281469380609859506405767057950526546590956977502871671287109903299744710336410976047629002405829693525975929720034820293301801334698404534410543894994735631210882283205610579411859224913734751334080664369292500854829435625357461236143762401140161818444357401554742920981114553417564106792977354340727665485649731495525235703074153308200291525691966762162450254714165271847650839304829719221443151861701150681260330209603704615849166760437876692119464928795274155652176491131393166169806644923282329994941579066760408998573389812632761817507424116165534516694135168916601165573610608375135807770528080779166263660526927653826435789830275251300319744582567645299763448511385866500638642455618054823921918381492489603778910179437270432151461865097744254866230973312734694320569347840430229311017440064272410137308686659584857681848728167370051768812071384303479253074535548100115572270367657790674520056675375268385260373635820527225383479740872398702109593619959234522387360555871740435967385708031565942055537074795801639621497932187245352023050826097173537690540081439291440959382452222194960996555405107081113312366061323530174604158118061612774722034528094281575179752113267962815170210300549304831962730523291123128810516598167478921195950163335079014338599684799350428479605183912034365595926072040625665990832393121143108892170045826059356590248571260436917078895644503493064735513978578119363600227969361600822912041966750698911532164681314147017370634072432690701447455760208801134162649096727312533683500634091031361773247853489537504875163815472106479662308446540492193465688061737360774944999148255324543589968063630189652814346413633002664181422570311520443189653333444826179596959249148577202903980745453199641083415347818974619445461197720711823499581757525526117925680398992219339887256441556744173984273352995705131144391246222689380420627970222118788572429388242644635727683440751886988217766338825093882202281161138960868125603226727796792704989172874605312057606720380112842281484058713749385932582135751318734631368703724710592322388584568164817729547962136490110919339085960176404318267148162063639376182334695363980050525157458465665836699278506945288559209439902761977231256890720612426041647373750418786909031064898871387135840978994943513887198840036698378672594594119601556521818845191057954601505763871392874746336937212500807157593447582871489842939907400349088972063778832603934855376334494405050620258159718682146556980956804289141844802842795952046568849147600252309045948649789534952276732366023517303313969450594523267476943571201405334809123149155776573723307952502610012409716096659430495571588616248271273264685637119058892624388050153831597032292590961389958236723834117316269752208669854892982639309419559859917760618787304384086127229693339595628104496690450493144652181430254840851958652530174417049384046122652284830517099885781589724695879236449098076620935766186501174011522684120701846832358599179410703733696793470634936071443833637872919295317696759716867286566935437365379603631379175751824113867589279276898874996556339159380782053845150433601514805362093168294056289969253103065303056489131480120304300979178075635221070399318709597546943643646214434560715415936052697375898594429087706694538829685502708881134454960947113407388619159497456813561732146397689115338764243262555635342634080603855226855295625276812398932051591884106541668028968299317791660890208106671323909131879082032220078724251802490460455433964537806681166293658403409158358925743071885625931847469024594291640962638401303372016697841407300347385605706493458486478795106908314561747647483638429515794600500329385165513229177977568221621476839755557327664636142387512457805174309613287418412784200818826659712620847739646714139772927124362407969248138687940384298549074966709196453169515131065609562108051068987746112691925793835491867921035034307030454314077686975809124398270218391077682394143780116765125741100085840287089643905090493965406738329857342729194886406886568119461188617981555139425561584085356762346741459208444417413599571295307598804031242072786083975792387132988427314334189105698857125875863453342247171233896031222381510171072807293303288807121242819642747938106716372446739881053135363813279330844482849838005097997121759211512716333148110610266730431202869495595801590982552780403740912968654952963438613432316218684080601144326710170503932749676942312361937788032067426024312484315760784531905858881495804084841148487276180477147459304120403794180459818422147541139550931921256153722952628608028773233613438668797940816726155328274315463890713814095705203176126224263450735225347311713888307490347208761496183927798794833161758877810539616758492468380575193931140467245489897835536702692207848370535001644219467487622713089816101821051950195010240184510679741213138453977614478044799081883209922732300075339064280828378769642054747088059380184009361169604214269589723065608686390962145154252118135156979587412895310234465488395203433090200487963286239699445731340104295601036339674806691631107812156629464791906606843296047896758748993537442170921096625432251210720253173659100945647990746462969423857836562392166061466734224037528348686753017826430497288133284838279183161296639905839690678027012312182563652242571625372264320993156419065369276026471712831048671463653062658918354452395389816510853001361029804281658157368933204218228901979345087787999352200725760689434561909215130638553626337391849755118258706726288462612559447560563824441750144153526682858978536772754406261091691887593385238523566605231570829981076452736515522252706797506830154783371485754444324006808062667904940062949516316117910261811643387112484358055264273717452878129346676672537501794135233287645632345511088006531808960414366786437071386921497483006497448107844138156801314360138193278829355168394582333466185345750863706160406687023800095880718682005686723194175367420769480281975245906377211123388623902177127862041390882391964261145407778493338733661622397265352386467616302732765319341424276345386316498329295862739650833800003278571998835524980250596453610829827517694302557584621940941869695441928404523421204089538439029789090335037708592915473946063274862836718834940396734128463729597070454586800386434777545472422715257672965187652942360531915141961482236927447306041491007191461493715186608471330911263737188749974040868014855046596945853700440919689712122982132180726935514744184710833060016403044437284346025142524913494032678090457149845751443022630493590505043814393960896557116782488912153077517621559896431441480530665320541061222795438746313280748162686018370500110034309516739909579799543084414274244390765161211550332214313177299953673477121566188608498957258173993762079841534363238623864297948554061057335114989219150024149729566201020211665132052588136619098862080202452018781946078431273590312869510370991675022915736248155845769130225406791202760163586056756567937596704821420612955290708187914986376280372187477773322810184967175405663528408973216350588191662300955103530415115025261906684494836868455631858489736008464510911898782776422211428159484575036546007351985061584508260088100861038537441449870695198080260911934525533181858435860057420403906415706210873624472880056015938023514289610637531993845334716615787015542097643458163856595424836645702700772717106001840355508821505170273143759514615789484546042999881572872775389706924767548309972276182883702176194012755078652644912348649945877995605549880798923982005906209291720853074222234472449994587293427238218363226503495437128419554129015698248945054859892165110326219742084687200553330656231820602484796082715364231359303879495345156285381001138680729463428142063192188728678139807640345212660740892185018264331561728643267318490536334122493940133708580226410984685038806763510261318595343326656355640056764960817596159032682928047477972305118435603082919332844052621958574876628688922661395785053039145959386332129165113408819549491738927893140251284646159827484771396991340414290739291494747274613047650921559697763354191707670585304130413287399324864870258316851650823888767472262685993377581950891644119996057053039436593286403923273707804863638552397541119701277800901224189954847168176172080327590391384756343384211475802779316858246327550588083997995281520777520165822096842798484673220347573093442388671091553659750996740903131407985827294000229912346520008547945211405297471808089154588566830060818312376332293965100596692078118306997775188402495320570000049313147030778682663606954047676604367489613086406188035193993294981425493103433164039084872824939112187931245872870261144685795234501788342965727799305037801026602824957165634377215262189826075870995422584232748684566296848507505668076911071890278569493281504858415187593135348499808395752960505578827188167552142250145475223278576710061230266074464934637212222530730219993680614841608164808020722685779992472365884810867922533462120110624416149461696642244517817943161777311594654984692902442991996786816043717133646336006462414546600675201697616369552628433744263708827596006436320924177069134757446779689638483442137676358816072415630427200469527427436471887227879480138221335847627068358018522489501878725393815136172284974986124926403526226884426414618441283376120261587996096407254123832281257763964723137427842635617001505270054989645665829420345368434693792426648939646138506691378350879915462313154591983524040184857064597985707830727434136801633030457050561517646342323441548821666549013412653312907599016586421375864484963202532216657633363416437145018397305116569439136704194812624593784376291936534596798554361086607895148993592983588588218678672071528522533734076370267900248337562804675655418239206662089066928625594980336957766679825709149703574676247624720887452618974899771524884411622957087241858362399186990189627318877857160353586345013242057683293791867049896767944302740559327916239116066910617115218783342895195858364464486589527593489328273641384442589702478770929284445174651766756256407903855208894519519898910678907558412254853977568590690867622114439692429664988538863260002404845268907379557889125966852352381867497994889229362703055714041137268441285852223837611045195313238655270431866434041951219979152847132274699155413399052334137000665373485996302464693668429192528822765862071316572017571266666236398431492235625801377781293134926622063124621707434384020403629905165545124157177871077972938738428615718812084957112535558696553774922193393110585209581475843145119306398962712673522114658674626196727936793467845213226058675920744685716734558756206321116235403208391769807494384189319797996288572666618692691644890331757734360753222184576565830230960865881504865838488858914454275802417204598014311918884839351455816406795934542141188632573371749641969477834318110667595492853486949704840982002574472301048139469196109745141499170183521935688721459233028785340192008679756230154324953312296367338397423051461220441809962199079969968003413232631771150157805928306284440056088280224038444481779562298850516951384706881936714154805460370657717949963047545850551883214433611415549212470500073573553517135944656894539523409292665725007662639518061943475409422172804931733070682002745803025551467615467125473597449035679745535489201613395577759851861245503320155171089557348835269676920507270687334887949887185734738982665569439488649384837004969983876721462157399241567355086052097909792409498542777227952530485819771584879998169740397800434615278735684736253602904780402894603792645936577495422079701655083441718182611190560604231250082670957968421165268412260819915497053808510489990353969672430163285753968485356948360697381624751789633427365757722852598338190527864453519711104871273784859637073431241352936185445130610877705399464976345240024632979230907715916970155666075240396152504410132964988155366839514064358786172514034246759157159848365835560706661750567617237353099551628433026866448330174229613789208392361451453283998609568696222534560123649075907840633500233877639399390660789745693912192184870743640160380634732929795897423803596964106467749262070604591789961632916714763579774420427578472735982142418353879587269128821774180381892541896033372865736162233144344151906205407728037811651953082883755930411800560664955986593536845047337593021590000014574202032745179334566250509273253635298897744813927852669052611434188157606676276450113288505280852762002573261941808782019878885073241136917591397495585092700774566756047978207521022880687426553135510577996544826405263397038640781947955030478243355942367975426473156780047500101593467179096715980768413160834922527848168713702030935953550835228150495636270189075910550145636520952291394944978892105788112341740893104463301635701476812623396117317709081430334264791064480158670339037784799529394806614495582137624981521827385760878243273701548969150128513408154383265042383077163979506944651694255847498305137113394999210059944304297367352024101592768687587992613423643799403146019571048380797149202421201941860912520377221315228964497418831767140201935532888839120146005379797937340995366491713765352625323635814223749867326533286905834350962415416528230663112490426821389509540723586200072400584807572197077174190612425990007378148681403502063228309537632907214624200296843395370766834182523212098294479005980939866399918765968733707274802704229268125413130390794702440842516012202924585938205556863484310849249978587047251314927830121531417677238494119928483060602678199420964682467820311603365705776166361376251697663483379916510729495844429102873252306473311921470108849043682320849706322948330569633839993559039446069814733733429417792623966111377392961318048306519775285109838596416717495595690502235600281090980453038965577590455179291936641899872535063229060042774676262693976659646797500318587613486912589649991496675172929755289151894683608477593212091315389469276140139734981563618237149228511223035382740008091542761939891967908223376988056038062862715638927874826392373262678806875153946499394405745384891940341355079884905104772860310324303176153703773673184846965170954683816339364281817840688713921278957428616128737979155978398995418151096895353544796506882730460254822187323238991755959039869999961975762003015046530608985053142158629234284026096750738193333364100217801881720466978155217088063582452978148228394800828495284740155487541134474527151112874854673387899269698348682849413193044769161207575313364413926543480498587853289184622239866154219685624936046497189122648164908226122332141389822085249733855409186806154267116070547145009523818534885872901763260785522271819104199178350233529879216921785886993679428921582892516588023189772044856931916299652452082132791236465011647334261507239244921776085823582277189658934718111388948610719259617109510228481405441421697982092201622511992877609283922283942503548743887898442435997808382174804266467847363570669994586474205142275292884224586995027815670479591044005622060801559403512376267903401361648434428831200067622366122665191874278735433663198719646271372784372360127214140643088016128089345216655769750443879580418727352382113700694829900673916352646884372167481310042608284595189990557422762531969444326866413163142728541850970333838977879900091823989873997005310633174345847262575242765668049921333786162361965134360530311899730855177501301648656306774176250970770672596903017731395298452875705519877052934395772970955192238721498195484851103166398484475988811514607444622139450018934341734448951334069590765857701529262821366512202193664391005809087843223231035398463263404010668333340540401733824350863600387173105053192144135832508700546752380406988010520676283298395428008669815783202559667006258391270721089572970874638773031579059219957623123942871523684456137661639152925441971727449740399151796003761372938117895737535711058470804876900957457878353728499231345437434703931534225252167430943202994178635494103865561832837246933752494160816687069585335720330470251514034394155635914288873123880218855542107813181571828569057155737007997191227155488654894644370286149962765498918648720066094127393247794943305848714313360006502130516851576597390976540321194762546435355731467405238610386764092527547910463339714063474690219830189770543333767961758762120454372981869077905757563839507281809784342681559891550771064236749069176760251714360745316152826637090885066330312550693526208674117595121324082518517100637208772689602069492311428449100880910986961034584196395582782849245783032647021181945707516642206005908378465830951287945136069336728161973696087557588586282678154169098734733482342485716817503557835194283383855973111401804099288945602631598529094265914997101080784681279921655418052337758559677161103115139829222273463176100717245653245449972022867254281960019923297791487957649827745613895669204244074159590612699924289865487483481820846114116699267013353907897097707711365511077781830918575621986360441565531839614317233319706716601684970889944545940144648406039109726381143586973677063528602728986811450527903396261917064605879215186103387727877581399177934886537523034257911103225372441606058302677696977848589854838521836059755292046006503841911001271759919272678122382305823354122668070193787990388769752946819734835961273803616352602270673922898007764023839668921632374651190786958360303833782011743745491154645350447281628969328928096026820776562582161703307987327485090122833750433097549237721203723505330873121075108894997183330323940783603332453514103432713682925156656471676599022731656167212155828224094309636993963843257032542774877070966154982402800852319390637851173986055174283844059947325515755252154433295407433428172315746556313662167505294360890287113235517429710581996832904414577542665495066913652384311486588193523360987926030139515383172441618124126341287461858600350084560619414630808798823499524245085373680804292148463376353082366543508756673087062674730638885435891743892733687957570423463374330989218102574379717498369734720459267347402833592977574130841240922355626079138322140683422814575888972898936206305520660270407756835695446840138878147145025817629294742312316512815380788332429065201759001213062993098084731372576049919610995140142556783593774077485232640485342631333597213573989804362836177648911381911230490655213604649212603341948065276488558916015470346639657739598285248515622257947055788622284989328151045650967759980353692572060031004616706117201621900600070488076463466116808407277171948113816459518542364549557881887963998081372700281325087742819020061228466715130262529652172706622073771033651637330245872552200668069462691177633409622997645186646186787280057178275448035315956815876045559177411134608896270255194900845373014152479010698938553421209128038983272589262005143106665690458728585537079073390468616330883855896715726666851772882557335152932003280106335711815938941200200263050111106517923716046198097798343007884944185043248447217954222960035598637041699351841989561132322047206911139978327384625391708610205414456853879938680571086936499250682809943051437776715498146224263896629001335143046239295277527508757354390374612434173993286918697761129066219198673081716283395650448494885538021751368951115946449998115601800760341638700853631338001862185842249391071548707375924601090203904303455997011087191709194889114640481523286097629980342475536865338776142950515091783911563792116853065872712507215732468114014638545177236269331323126855414403923268802784875606364410793913829526800986880083836759287349678272119857418082083244793585461974918865596634046461270423058644575396898919657852589961242194608265225960796978231626609121326923620541577154370455902743958121425646275858074198402542060871860877474034292159480020780726949855534601237890574172324308793129876844512387748370850596190550878774800089384164241938779489416983110740443733771232127161261951351893830153290996603016665982763735273354531853145665844295289119307041894283137448297473140165236250294127903258980397190474086241034493308189900277692679062239156525591345935104390312886442301896628368827032627826601425005833378613616266358870243430035632498566746530806024429198745314154246499914466413164537914607683812594019484615827911345656951847884748006138957695574309739109751760420210510880842809785371940002737229130067577293525728976598995371059949304744710713332427395866704587343372611769131505137359625010766930965250481332616198411597069698943928696797309173594766285595862948751453201292695147982161423975917095642087913211335827421577215870087678198249827496063956088243724244761256338953103325297841375611212284404277920692196386751763266686585044016798265044763769797955497863836668976431060517687434912880941540566627830222189188375138317990581731266077977447563473241455454884098621288351177719363824427570090495235237924711273839266811078555852794159804089368987229881759317508087271684623280243363300956720610664915301187609300925988199005544319876505366381799325203829231355107643832554657542910010699523396318001784763921758090951314942323807035862792499568863493191850745288588442752406441124271291020514947955486456666499309276118172258130477502064096239028100924237667700240627822651044225830083338973069553739555050476881414703792459142190222352808124181060831954134197330573924508849064969905372612034414998854234027542191544840413968230541973494589974824728704339448978816142194816602035598109569045842585176273184133830594313752875808064831825889273338514564518896507753601558126835580911134675245799262591303807253030021619697260671502948151849750074921737806825424655978426469494958756431917623300233695063104921227791668726573222576872518711504185140790891776867004816066739317241912626642478359603658022902478754377312382034757971089376801313073064257254334139321522447717213759294376732441398884534530430519205189719934116472837509592781800960092868688246842699395610547410311901106340345997549621174296810885008808810292597999072793571553240302824231328651554391304689444084403346070416554065939941085273646804760422133500897085923811567643647118661582671537869262263840487229225461975468050835862045658208386833307658253349377053078161960839107510616796955764840481067814714084370131779491429382508119744081635723773958745743915743981127416489208781538530735604389747089099169954456253403939027903899806325491242952958347262252180769368171583748880578289945539312405950348367893167701173850301816576435533356087401043531780445134688784997144206855357682737170702176895600633048914573124514978793860599515704716818308840515439312084797963754322527551374328616823597995293208902171744843597174249713482003876474202346686377117783723154121628655307218096923772697600477299583479505167867639502310474719704754186812134904010716701276954284336896815430245032381448457817976278486474235258012482885843297459122610804122414874142368967637601408481895015307241160496620973920089519809876073291548828598216162159816099495671293704771892478714199387090917090014376357752981079440519757878169449742244467388715863306978573154833466646028240422318505743211069689976792558301947352094494089799035759908234220066539824360804968031434000882717067569692511714240606354045858192854703993964824478794094343912185133080460548398982603771323232331126180822648058236551465493866876152516780988581561064299103608184978835548471732015071062086005543996985536913670817849973270155983653330036960195166902003132390133454886923587573043129327921268650457878512500537155613578669399735426481521503887653007174969146433362487627737855817916918758148700869186013508741181056137285335435400067459011789679145290923847711530858312869788585134966147707171904154068999681121507376305783949121365226147250579211428609504301832193168440040899698249825612964371200434833180936752508838932837713009059747038522662779451684284310497295730853020861676097692017338456643200578482659194851260522398931434188663358311644739406866353478910751984910591507599828401391795212509296339813760008720585653575317541382336444977899097507849654533401873199051196432400280551835162787196671801722903376003946368772779152657768182020796129491541711626701605716013448943429608336561367044536973306228238244418681332794148968186493877677164273045172597647549031706554825656198714834471416662016182640099323582891850757469828101147701416098001426412516830022931069494951561038145336588152376326001055457990433203553320547162641949009649232453815340960806050526249531196279760547223155354937754939430517416580254687035442552412163387827436820539284492383213566829021571246942350705993667026302559137881872428413411061982331194126708454239280001620235679889407979786674220294090833029203893953573340193471232990116594276702923719378309486976225845747295781352697639878897227847384529060106664798281218095266666936090279841508242804761071958897077094496222340298002921392313620173806618367897192360879434454920131729271063748431023901162400751156849954693981577273096282537258681797333956589685383739098195005008447564109236461182533320908210333387115129491222483310701026123182847956351361662128887941821205383309870230132938536502259201734063841222129462569847785114072920319464315623153637669781968887705690415163347049713888789698644514649834333644531210497784458572251202573123920779169415555653732207464606945576964872253121412445998555046748497106417399519009809973049611812198304406083439104788964659191778902790558487504739972854147428152739600920169036460707266945913510901631910126990847031125676373490775435832337851093045829291482315070316405481542856286567033660491205428958779023199085492012331666504199104109849802171141539238802477644237093675071879797018142850874455290604855431016341697200408672894038716929890511928388197330691439575238491644994353087669703745780987576991606060372716577495250521615001187848294831443252533331781945248647133759855325650111800525794100427567194511783098163810941697234866659468966867403852189255549992176650668785263402209299466522310766729273072219659430049815801783656418757107421640030285264628168942190656301185453941269789061849447604936531568193097011605519432014349507411770026297304900133584913681680634308298362400690666465561029668690136741205620027697623702983325402555496647005813131785415575726486627406934105802888765009555370675568511721975253593650149375267997724478672456649962475660603714606360079348624303397632688306264668931253116657671580591625891679315549003853063763461326430027497761900704751092215930490490570799774441560688759188108092552319717068297799997392354301415764719589263253979015147016885343287316167138098239008281048478778477823768105223409280341774513815353771143541686801778461374330033104203549643357692801304880987154927123216671564718085338087742009858762697466916497106035943994057136825694791534922286131502458139708109357702064483663846483188234850052345367936766829896595985923729109621239457704201013551662400643931496927475075457693094516117888964556788487742932045945384403164812781877199844219360133133200866090759332625148984772676679538496653989026747504350337907294780662505670531034909281033645375535702755389952670384563626644646122698812201825385273927947924821185086777355501371947923232579315389781055247949713320018091988767056870078677418101815415124774021480156238770004012650124017455592584289606704123163499606244867330794602510660685409194035001047407243235662927842276885128146250158824530911961642551370879842054567853784957387661031616746345775880016318846001854808796454979375845855811400018443473538940230908932029047718644480342668245846911836726607380288704713709972561586855589275381263926858317484726198214798340380359070493937780510570608450251402453910873720009452685025540054080960602470689092457854277251225494159959445051192768221694093342353503923315337044075212082814269942527288279685630926965536143768430722652718293421021432641309693649016982760117777903806593369958641532680341610759845704308248597726278187071876359264095169317788452099363630330318443576794116646921317210087440585297525474160719768113371826639719604317754901528511302378696208716563083557391564002001976791798785668183136068256895601113122171278665541487138517913876026677918005663007656959334993512461899281729549948328707161386801744926784577368584087667239693037066891897817789443937840651868117826770550239417084608793420717951480056972399953119749431628984116485431269397083374909013206080807485441792775368660542599660256437338193131267011120426866630078112920469229623235262469263988617570171170973980406775966036897862345058838591583850216455245665634028085903062574723098111382099199971776669780143818340836917590618803372904926269733938618726646984505008738013421077638400257189313271091265330615835562744747330875562388074507000328232142279897973297262223978474776014359177499010822152443585006965562301407637710076722794873628238075782138758054256184446229141355009586752036931977818321077027678011486622218218355306097295318363099622229154467103250229024436270981344534749262615976168888029101546176612927832113867985725130893372740959807234266874149251985956538004694783153689797310352133249204648673073605750788080726176038057034851050601886870239633103025820014040218536990086057974737065864656984750785341796775727131101632516019363300193540947573517236933903018274234914853797365113895379610986812157364052435827612164857363490502141113888903078695902014258140186113892567597937712292606590873642344396977841684004715337252817496101774282132859498027023201033862767492166577396104976579182108284795171121463746432756646133990822547262252255915274302129866423349142263569374075762165843836266371468978370255273406081250754227051418242612028225510341489327686924709444498579563641620132836264466438521195643080364689014145605529048035835643707837771313038946606704743742281299533441278159294098044902711832892608062366145820983304098179679198806892751836291490774344855150809788106436778823886040773890175728154094299994329129305818026554572522322922977969107579792204377021221774326666210431813594604936706278367917589464620266787065585388691932116803514994481988879161311981890605562431782303990796712313369267373206236625063154748356431045428883699546709958582331965218501916942681262946764044762606553540274471493915038222297283156308340872135057413357564430469767787995724247039296514907313895734261672604304248655778928487649720033259090723149541334516938512400716214925342265382417178856326572012534201597917929632644825014319304197940031971706890494713431878172332697893720915115335683904294710926723645739963776138786426312098474705045729349400197680816561784357632697278247712084214618133646440453890803897519188018917630062251054667156076985877689440167502065977375861116362976995578557282484888447302255918298178036000757354483189215235813355470234476998300845109284435652760518988303697549872654733029164500855672539546762255411268668293771605544160078849508547752362629286822148761559021017901419589496883808347125778955290353562441301349173121785024283692707616397143976315974525838788197764624960451907726509314644435093393681158082885955732048956636476641224900570627941930481301103296164611259376343231664496571772079554053016584672002099028663647176233287399678859649801265327577416867683319546131227408524969384743370860400298793149901419455386722325497113389227896300206486242888417890898365019314900829498917119922287063733766516781194789846723791927318624618771088506861959321617849737280812464798727805852205107829917074178692985465004181946263287434501411915424809495598354871460633781186308258457652311213605502687394744248240881845427559730849963388703778262088034901313904497256927781888817273659628514778061360525454837090855793459511454049128471917698046697940409331560541305564005107622339021699590103385950354962690717896121390779440123626000169101775099564071563590995567662189634349969943909715261440690843184327846432504326875786699527149686084882639616535224088473033189120492396839246088979520391359428055254534376717097717673702233123037905643103222000991338866915513730357402977648857380747362720203019624381596457284030474141992170491736541467052808655656326539082363269977655095376112837967656994117097985659958092250756572542629443038867210687109597126244806795146002457966081034951817268827574308480765858459868174202181944240291825700219295327271806956415679296451239941699626662183242492748776781913806450071191013751761688934500738994319783256886590753340062085326299611551896065610163002445180700674831876507917551257532663708271966167134762910298825304612594789190398623327964198402240565558499263837144457714396348276396567217188682786191727177879296017772521136545447497014380798932502094499671458099097771859863365750120119545360082562046166575482904406222202124865902796763007180029719437536912408843451801439119401268085285060743383618167798237534814701751589824713879706882418069017258447720000223616856640296189821423723906468284979644902070498112042278616841662547299918367290603277485461231186729304141324601905766901212489135886725899802450362914063421504123928065606842841132463256110191669436193821428070118961608422542967827094847245792458518750160817554312747990633190041664610870376232174399470574101994915683406337883210177639597475485977155521161113323015574449972933043474307693534931265185656505213916198699404047596461948678731024257674963521938599941862301784330100126616140652544615572129783169773217661998148618086936007527945865478743734644431380513885839971802474422970790225990914961553738816703024183795587786017575323046446266945708402052820242021708229312027673686132967039875310153149233059083452989285080675487605511952036930550251688957493701918204398751736319063401444950930148622576202594239811957945535077663919547189500211373735408222403656970114241968905155025524798006661246995456770095916653714316809480736437249489638909802688164853308446719812044687770196719396671368919052837931711152412829074728919537352581096014445681064768254436935567807054529984385538360008511124018179338067403506907120870392814623876137149645490973296531334215521898659931470142271711550226702591112819819998094621816004962258050015507694966961177319014257869028402070769192746097076809366083731535302138632009405723236942472398417631060330736046192830694582109108342204120174742249351762096268924403155465433687061229815388881845581576546906038129742987641201736883762954640186098923069887118218143825701798158796330452336037389614707988177785759882708048584272211464301444956462777360071925389668578926737134192125952705705984870025119305016303573899055210737919604457633038938683956138776837478525803207940537227899454276379496823995175517831599806948960491125426007320191496268701766499826352528065957178300136198260168394818037639880812014935965934417642970714373811666481074424398707909564468923284239408919523170639828140709083688887334267408100889776002145966085594515512506985620187637112283952914192586809404218976172431845302188169701743984823829173753787534562698139978127682866104899928761109111068075076542176878991219739398481038645592794861733849311247446407394037168420460408883424566889220509938506065595368704932079571545377925393395275869114023274903368777290861284704836874357227975855039711081314498354598674132844994017767379523902491360177288111063179022975748500658625315919388211128217418011524243408589479030107062175639950383105896871386423134031804161010733325169137023252580240762296115007604702319604340843071469364099436283692466831964129819325378882367393323559534573334791922206882262166870255511112093764767544486691413689873119213093769106427307435128087233009296368513462821542462948663037483941560219921853534528027680808200833522342496046717646724650289772157251440631687979122661583466085660607375007114624026830971486417309026026529128978710959878253830801633310856995937045001864651962784365531336184121430933237032414300048644234968758303948627059990603733354313476248721302053537364397771022667646283959229106443909354437925692876194775218611129197494034868534945785235506682790950289246446293931414393494392961824365562769592054138620823280251687332617846012509283019536008120019152770455513643045299695621608319690363860337343807838233292290748664758187074845243435297041122947370852638465069284680957163461988314583086165193565402567193196455637243807813263246392061501324883758334181456829578679227543350239966960628173152476169606828569401058506399783037024077277766882045216456936824697711459277566094753218502166569353574428757338942140537912293720060311336113967077053599409840551945041767572229034055371664218278399749921593500879309059472038720775481408665971097754801748410345464656973123499601956030582221429355077326359771516027062629433345625577168602761504082627080656980896340741292909712350004395583084031104199373829910202612709159277253430065422671797961969563676468499872781256230160647497095246839746206204961275928752891617971396878044147679640184317151675257675740877256264695524506609332192105419795857273174424932315219891696588249714699960614000265562673007862399604478261695281344112171110817888159963223900967369437521156652341147150736629887194499707141291511175869230489248898078496084180312743762429877421625184918134313144784287760072748833766098347271950266253813751773467128251277388438561564105351113698938718384654470337743192419637770709509899474047672756195488099336797159890686706662348752257011630051434008609436299914811239127821331951983896420525730432918649721075789884318563337474038337416081593089915927895775299676871100593570571589395787724064564829646701808759333396783432269782484991070487608694164825047013330696222793494361852272551176953412956895378962998475046684718522444349015710706090478352095620497087514592679577617411089992500922208440198139017695481505730776555772499803411492897046412707257873902220796234793875324888872776290024633376223043475277390390914626880945780183088508689998953501368451277733423914881860411796788144204339354922961316461252165376414586035995978050367471540922748961534539819349736613953626505380341083546200786514878471129574259520480142371960705997653196260438559123928440549486129420551890679152185237342261347922120532416584287550688413881913430200449137261849729318786315715122062795104599453238455562142007731020110998427059678634836328950045664544950159880310509977332891715063168665938416199267609028094244852292492819522563746658823297065955118337631910966465373744085737094028308914923111846435988441984831680576626795244272121554749448781506899792673431041063476477445915030283828132614456794902397489933527994524352053253057575440332322631263025090977518416528058732818351172136559448448498257446518135190883990570463735006258240257914711563482282132515029142708745781881682941116404073670190031049132681466152036831681215204592472168655017158184249308636459721575271849361910039001263886686483178370042496211090652174147392781905731704028380349023727912280847299240509746711624249674266888052359944984386659970935303745024341495195026152005566324335440387817017754706350867088454001824731356822551082690281695152403944509742744179619115241201261750071130638671472611782002595016549154435862985478424285872171502750810421610830754925041251061022874737808447626904552386385906706373446649994865413435098474179584660461931306991309322642047616873126376463210905940392601524651024328761893348049528721355502324071179050054327045719715833400736765780678631895279657670337702384506799191677820193358897288403352673684362390462045848674611759859492065087347105535105529212205281985530215885207730082513295576736786474693502335079059000408826059345226232432715922390413708764490124030628171838153474642981965776262914353709947800969282179637712492368108328385791868286797931762565080925462254822772421045644284367742987394386169719491374497211927437039484701114961951855757374978302467976305277987897150387439429046093047679256474681832976110309273234265808969665957118519947228368948626718892019555759961943384004637093978884502860602480799222480766099475681216148088387888763721052715617209581902156244469563913160458378463656002223283476215708842878748097283291405868357116046507627725067807804584565784099941069375091001776822915807316489394888338672651366491850366283656286922541471910411858515130207750515903920367720698305367186079011634857661055395644065525897672280297370084810917821316271520248054678975710956155776417940567571061619697672326145286548807005741594571291934863762776869176181395755276299436974329866269208456084429687685751174371553293447198259128407178913631939777313413141117675151512375800224870029421684381732655068895424252335463640663980145014234635530522132793765709955213288008845335419983117566452647508520930218330977294329558159933799844655181270124724331279791773626301401979382424974285383751117022897366260012553305377517817409695213397357877470073038641680897365067629240050557433706995275991356018526007589012433630502043691302095501031962842184492383149134594228146282824947455045322456235627840303496156239669051372871529726496575113820460227665794495049928198751465167530707208240877271686611944188340898111921804136575037795824777744007585687414068064575110922429074648318334641226362688947205166776046339345623767544425597207675512177433383178161596313881725694304229882798960311982670905670004612674229166799776518720407232323323893097601362300468845165830196563901924894456197638961506800588952861110390207605325790882518525281236568656005446860908617051905109006579432941450556988270580716681424186256697737253147942168851735007191173502591825105746442452077184597389203119177921731948825457197473470626031843764808846259180863716325077453608883730863058685078229269777909912481411389812392378216687559523014354771431514082444932031824340796392979508801935322155570654778832381191659706146513892658134796901360216605521158905396709246665601157062143707021743142307280196318438043155215460092996767771942385963645950121483499395175267084480397942775302381780065096092344353082669474638705922795956451334959478948107320354879794346731588004672890159770871648432323447461020853225729241685242087052510455560567590201561340567104782250937016462365906264058194786972866165977429643405768457440621015018414205978060805945432449244091165529655604418335289415042814950281843994156476731312388040213224008887909209498402261184808774752704773507783917465793603081501786300388616662329493292425808011358550465440745842474979685026235855524205253885837432624795313295376687791884175316499946166548765795403493627220746656212316090540287835491362832115852967307244340032265504589408090447940205135898774395497642911040794877503137223048999676320499028121119694514115219459726212977490235062303017036140141474486636141692055526114538056237371417864184429341752959212657286452280635532216979699669241137355344955097222087877070398591929846239506269799987181207616852042137162633281537652778101504030857547860692622766670142515964991088885733657618900694024749649658573165953881658373798110391868852181125153973295934472665372336638660142113845789269806142213260760027060122290984303731149524355790224459491453590704651584757222698763767024879720903218734571391450690872070283944465492634942965303130678107415051965039186200675304856218727675252257359273369063277272399327732912352834792214080135261832344658218969418983104167876568576593552020538624540325891971700757598867464299045044373269788374835513794064819819475526669622605635499130509096130286411552466395699980814496058045873933615136473133857104067040914823370624839439804246319511115518497091650135662894615024768050198395452569243744232772339453329712304749270732767695493919062483078252031178890716916110348578618262140039496362941584188603784811161263165457683781195364349768922984205509363693745838271036639127542750608201098112076010263740205727739124677884292294912185070678380572176868205129289167538043734105287579349437718198293443767451820478108912733769906894328856155982844882920487604221029133352151148153577884603907695599626439699021872005390723010764455965484646989476676452899986759365648947062934254234160521348368752004134831226665901311753948872206237870376564172153096661179814587947534944679996729792993444808172179463279481288451420449844760396555282934637042416039937967384587415299297119658425486685156893073292688591904904121863283491443551359595182070547463772944630699158770496993350977411009162099071660218482202097337746047780228992001421706246695188924894727826606650850513320576293866167407957384757831159507912542283278762961760249111416325156113732073223422501704776704860290426984204053985378346892028950836833349448687806242325110494627126795793045934139264643924382543068608822229282317874658249720832792256417345455654119234764328998459338406237444096266626941399702636451901403777181574568252680933334241758377759412781123110456718554044529200270490218164955874399050439671059142503848175994771430689607992179837299958162024210341648541642442415534034986370336812968973925614643365479070700211208102848557479860279177277597832268523232288003125142109543728030304975949561846407294339001370476011837681037448892666352840267527506666928666650655903454653796163753047119046907292074500942999128541223508619879380374591346145099773048221033006021093465010276979307978359268154387159838445527580464348379916876884506147109072918371605230588158741322817370322565112871050523560919835610371132955154370778410354064402972373035741501319419873295981614681172630156327180530193930070055349534905938208980708263093176152847583276755175980307132890325240160133775122075022194209761016690384306901045648275289491307738816028315706221547505672919453418095522643985354308619718920724038503699023757790752884212598536762388455485235457195936836104803900158989139556964451033935803431393757282086886110263534160193868539052295693452727225030429053846531023521840606922938885161850698283309392451384540713425873151907590786564545470783130107507410161873104079573450870943905794979042500545553557869835725674014881854670683601883122212441977023615641224694612183409342795864143046251162619439153871545646161189485221344323419148064662588862266376326193973465003135370915765615735906529791153225480094254441843497497431471076537032861667197466862901274949811682856400114245045081623599433161538649632743599844785637853007615594027335623934149844397298703976492800442455045184666964613655030430190882444788073789763867704095594733145253908951254005612370020042001045917104547017307897473683591794851026659425423785874248199917836876769857498845470963212712710025389856938284551004677764051646463405780905000318329628668182911714262142752261756612707193964161406410227653898814591533515460717543085303049846825758678390321767326522409808311548720626017014397648124607458438704568917520703942217127732186382630886370551270756511871338556348603261059300270019498498920810612723002916177104644023114572129384152500575765553231267537715333919115542001673764079886553772145550300720656479182454700538956170281744043559169322051088512805383472119323777850057448018836432455641143434331320497915159307195500049746791117796403554367773863241685914089145068422015705900996561188089373407171347700199588177064499536257099154564663340313558936804464281371141457213983412037357091411886435667744798298617688727255765902609832084268070362165347188548252322220088449970979837591121861715095597454261499665859791263599599416351606660107686102674454614723206912922883029358375470832075395755207050212972349330519871054489251875896470785610532387079087925704180710968338145218812787379315170733279295398550892201342147317682471109344852514676038360897619362553377141455881572488329109608181523953932814941382796513953443365296389905858953712909285194126620399525516152235126633979268428121372802861169928392772557440193621481924792400449163455691079423019883719466840389031912755281405167860001022536758727239450273996559062633534006607295428495133142054125095678965934067357434415234018185809671825956266308542328176616738975083710048788676452945276170788074912874323989156091014549046998291723502350413461079002973013605138194125785728812543598183132850236494535821000954259962306232680354014540811856791013323038408852889684226550823939170036409227008664381346170181086662703218574491780918989299163271675965466381304619833119065533966429978571155453103492083017113652619831845856050032965221495913569933586337399052849956770954710696752628953468817664609506571928822044633342693611707753314132662206129500714013919401173777900428049177935547822043626243402851029000036201235386775245833738048595598539548605986625998475566495228878296226821757083158994212471743761690475397800798056399545555763693477088461351459119463012511281958095175606856335362049508990680936681658438270835570509328518346545043349826152586909793750877196977338839011439905415063062070219532002264524418321773442057732898246778480664252153433166974380516260881974026472561222029096820180300423719395643005974783921520111738841600000552106715562582148837624747783265018326244220785428144598800074370575990172209453805719267996342284864140297035875131789978026642387928349013887218768219874093681089686292399208009660601153054516429205326447273613434351971836050620147009610536026944177063840550297382992781080346673165809519216072831665652560689346772897137578061732696028905799497634212412053903026391877824302689713564165056464327702410565356226086436415224286372693634993993564614756358519787027594030764967135921714840725822739879616669946972936101351794218056212928106572388300867197449523544024085593450065505734371335601605124383591302746380582847176095808238376220612338643032898035138131419364002322126327465167298348336722537048974744013219406058081598411638949272939487001712734527692290601691302146515508760081422309475730843342853023420615440463300491974294610803140539364543406197575303551347926303069210977475674506245369072794650675627325632696351248480141789727962573863740425645909716386941461456016787669972602855542929706442321430949750945411737681291653023620001587123719986131656151371888644833845503749371032238707640704592939003567830744708901104089766717882368198985295436165156724173731946080205529516467044084650157618504453566836265119200821035020182180201985485849390730784609604497575021813823356354765724447314174490894095096927747602415160468100578940685994046304975243143890496453790885276108548795045192465611820230279414012302051045897983965177398930420829804403131094400730415497890141295939650894487498659437135315885039668023194470542309140583603944493201972742814399863099438753149234406126033481920655392733436997674661117340442191047816509864840992155998799776887913819243225603391056275216082144060593916912433842863389652349004606634827954949971681592752860810624238943820137269231538779732200259943488152449872810611142082695619457917618668561017105460757026882719354894069039207381688523121304626271818120576702988956822622542994551175287695862800819004070271575099593682006186025165088280419933625042694874917552481001751875464666426697297105215241750065756343445223150133240052452752644489911482756948513360291803116978147031289168369759801139264341000953969589450817052295964515241351238289468126349194108862432679661446844565349058581537934496387362809217298768380989917619711287417367722626376919217870826590324414970235661161194586253306921521130693267763541232271867862175034423395262613595128370052986937488616697057150533119925439416936483834861335081341647715185692133227965584314841742686686870217703797108387846028585725041913310999583077996398234356649699931798764786580580255600656252573569556013166782396594626193596519635164635991082754622100366348510008837870028060999615602065668168808167361853847799934867851779145840572004076484275198019828499436405487068451267545854860542591908392276261990201324230984819562472388588813940043832770952309001318231919299250022291061781989054544617526098480215624327604525724750917864428338185559061662222829625982808480081923050262987678822430911490128245608207143553698605698268470568980786051513443325517816523984029668051988974443735917449667564505671548081170507072005321922846486753737297058392395953797796713045628262935789222999247395154387052302928779459628347970500267560035972003503103028063824799367926568800908645561614503710304238442815696864788455504294121910717610002573075065965036492185025729266085472808827224144881141940732487871919715682006133753234462588530201760387481381423316803444676044937672316494583008055297375624922402672601726637141651366944568020244468489884081078638071552302602815994652337747253466127855954971400748340888124607424349825286009964689788068511936400550100294034531814767894254680413222818389595588977704097029564943157528425372578458023817748318277212406861029402907767588968093408557488497167855467090131295981490425392523661101778364083121474432202416331965627448392516424872500792686959028991831070232317177771250466194288944485243858129139769111629562514360254285060573190466151943657951369546488963488269277347022212366576465445898004007085490084025073852078866738183990833907378489695297871669949505315144208526777069455866930949715407394410814778233763744261787988894435713451793950141430069182825562219326584593133553247427727161533304019715440173264616089676638463059089417521525846825764484306514561918957003372277030492389358019068799994358437578403586697786903681192407532694175186149479536418659664112188682946947780588841711393117413372688896160027779872133584349170094692627973233253008178169442890651703070865601720663793360801369961329855731074391565068968590736361654693062816420448983507904559108199219293035269500926873933346592811959464538110028968203455964139198876961410471250951156408640320519927431335464417525681359581688204563159090034970748420405391490036751473409257847909400877305933001089590516908510678908291914734926215230879325072150163845432604286357455205457775930246261653628949528157105740543380445589461735999928697116254288383846451607485393270129602938630004985579123835682017512664819231425894046663347027931958215429556077364709782141820059001819333647863004853048370251759541423736969563781852189427332582536679735645580141606726817567840742098761286773951533466166374453457192671218847401330317718510662872880973140311096769918520946139389584259682114683561516920487645725753344655263719810296335532371497685101406212956989273890571873487085607114499854288849521894660719810112337345297209259603684305877543765075121727241303413565923383464637953055391252293136043479823357529591108562810376212771275713824473790221351976787379676166874513175266913369579431710536902730787716801597613014649450707438817286692454187809777616692639266704638333324928249657187721344033173196034964609622697078235443594268148233632881973384755690053208064424870543438291167465711948115122153542436759593254751362474745807299609091506682189032392730950295100895387498673146071853903800824622287256213351262504174645800203746467771114001275530889579806947531042990472648088694094910282034942289032515886383008083348076450005910696533701137139300513582581224033498593876074024210288224195361385231861012183993816542659604826995246725661854447391145050826854181185630363964090290672713786207940283645520124090732918498006389828372538750751084502325782982349271581190307827934403199278257377731854003303513306475547312801647216873675090544845088878662809984663253186885815787756570271202663406419895164863345909321200428723225913430447484550094857156902551019986733163362912994895897535444244583816062788415953207413413917264480768818675037343448447061165826238321262026946510590562729888797564339101461150114278717064029491018516507004207486720571242898716109884250050636154634280514145229523814231188328841601566326165731479805373591923029979402946558874276396457287407520976574979978497586760434180880498848681210552517902689134142110123885382251337966304579209985062235688115760629041368926506665573230648623339032197432789882073751445634256962328874845666044951719695869496777414961537370860594301924110826872734397205292810040281941265421446523525968276728708765842492317253378892472364124945919440147490890616445107606585594575342500802278377957842341477103435876115119588277520027871807098738957462027915923327295335378830695025659169080259340001371276039136900238267186839725616048103315204340653961443143751045116158355955603948386905615224030571627426176547030823042223714629922741390600935791839119331569836592226072053547551950976043207887953723981901166576001048954872499369269532777422746884139419602877203903598214442692322030168764295603018810082428056948550871028556403188197877639613020072287054255546714544706565476080919134588567218950086348022023791327068576890313305002481169001536973713214192344443851023702418209628774104614808399550119862243152514919427734153015380016336497429924180199221483203287259430506118762325962196056205454488872184905685008270156464971355679664930600643386486197819661241241687768623988195189250679907539504856724767920193143956111727080760813278284313557312093704478754774615914521918072934540587940814971417148818843163851838130464309107380443311824290679882633023822419887841473410843820024219434704262207299468960197300660041923151098723662945258227852246234940194513317342807616779653072881923130303362174201845943749960425756963119318688654581977319096899246998548597002161427007281888417593065865575627631174443548811164817191828439820830054307916920997475606840583089047013109076808361568720800166922193466135857789910875148832099964170784830699849405969236958619640572328775900647155622116952227913432102924355210002320771847675646726208338419726169698050498107139546754093297932035954238255474534263247224576297606714196063640982472859173870474989043712447623007715622560918664208942665118054040853081194563183326069214323997149652061958581987180262345444779058824593087099605770654460676256756392078485772818939781003071264047389758995029068493526862815822840049977059330053970045557355789610813648757230131677334003484002350149488328794004385087367923172981814756139569589522769769397257458376386746429999108868243203425811090469180790613208641044934109265136979506895757402479013833935529906291441219242821825757897924380306491968259421013548413266570017361160860962544099434393876260643862334510999735080674058175529777389413802714419770097033017663490485655757157253975377587845419569611664052319359387922763130274665675140638183814853933247919853036994800306233641005195698914415045762376399573173682868631661227812206716102066048960552988054086022417809327027694706180661844164956092789633479653898786029524976276678630043189669338911412820894147001609294439448650100624562864363134219663257780441590629796743365878100802066785416418190521614937933630666453431714550306297829999549757731980541834189317860923191539052430896775045820564554158060466929255599012258928898899795731355431213429893011518420298521223180564834442087887272867303338152432542423153641664547950484420765075151199373952891920521508478404584517777587825515730761828574360564536728743555183454308632347280416306996900736929168523007357809464870059448066342513729664871941462141826043539215180548122013862490364308824749014907052102110211521737413263456937084622039710681394437483099840717601999628269041356032481742184434398906525049520137243050796454222394728278687419632140994150652845239807106888117883295921355475726417229344661218458321352927206266304143296830381532605107300076165506544967755014339369577697754317093268126775810240031687533896888403538028361893775051313658352168014254915335304799413548108576626928479735003763787812299075149290331454212351073066625230994031014481009031171439988103116568287777368632680389507398769303081927367162622426273114796378964401261463676064208428938722320823563432853815635629692005686441711636928873821761946906114957023710650098930549544015498767744049334346913031291593664818939990613879664384888376490929970768823407335195613060915686400950734640730487280398741813513712832585847291606236062365874596673688755846074131921051388796809662115260969390975812254136506430717104006669743845582556827863130338128819065083928148103185389276995264155114175431784999591989908468118613401384280267128516222383010422401335759467897993898634007687080038875517685198764611588015885725088851236332293181428759923627123463619137332634043245866002302096323071575447284299889025349312746161007664730868924411136272905684592840235092338887038406467378952611624325269805238852149337687686341490690093706204631832420656483660619180874201775782787374673957361380368456579791406588591310779496736617851184665737005596269599348057219037670805580283406205278563023955736641670503495198222941296259069052826897568663878215590130586231703620271179349056616783812634071454751452242386103831188195204046488082556463033623389902770500144150473120611414925894115498989547345328701959972168006035099326225175863335762025632380787545254384650450289450836404962210427156826441904995812657623290298639054699376325986202073572700447592599210140262292024353305826787435336049652971682467626273036144239718216893686744717329888722851611243868457025682556922186472185266926145555486104254796212855166517390837931821064641037638530923759486944632430837819595016644760538170464562765790248450706863791532814538270854396337647287836277363972391963900225232393657176840121677262823248528600799753907749520179231534437005997495971598726455590691339698200382627303348130380363325411381468023505610604037014045067762606284488992472298975906756812822636238607606330300633140173009758180898636618111321384104713424980670588195070527899820309491167215237067801365618056397094135794850271019009844789284046942722771394645004072349921396869345088288875848244989924045033929722616256164841514699809519412060360450557229482276891723190484010257963799484902961833025602579719497686480955234679075130725275929961800591815736287703894037623556884687307061344975241010544736783604812495536194097111454709736401158739184148851332635728873342551238079529571728538711684569124265754001129948913009432794441931911853573943774103092930553027923489480636303494984734793123209363009922992808654135415473112625294960386518966675601820269446974382007673439657998294523850282627378355634585253524855097187475439014413132904766142890465716025287336865599140156968485165677154429487707495628254130174558250545405824509329330973904579395969324375206294084250339898526836099510865319205421394492185498188750380832089899074189515541474941681806446702858773204577823531455202233781052735112411477482844082420993441275335334906593712841164201670725060387128777084475294256413817351122571005968908346677491389264329183952744306747607207048859512565877915149898385496812417993252440139492202792684259776585603572679722526806626742589092531482117291767873274943268747184921239081257264636497622293514242825341535772772121164594104715542156246074111471865525453883452844089435541188847098622952906773639476565647604110590351711745523849319281422148784535353618828359180152107209370490824237788789552339997203417555195900893306133521469695924145041694933190086622032765483982846453962301492486183623546404568767076615215623294108771734849521035356863801865692090965932997111875889666335288587788954356293701939542144335422003905771669179522313788885148267059573225721071756644181656523441762449344627640462836122731108817484405738543286799274852615408541998584212698674817251181486125458695502880612189765520106487324138854309117539873839354677014952476993331452896150018704435620820821942087692182700433790796929025001457323545388308069049567298937231708102691026986615378511176442708940352013614739236450146995865380743843029285684096739636756180300825185008249810413650731138099967936354391370205351360149800439615448106959786593986352778569390730195847538077135449643372037301121615171693040669576331185070551332869125993223040537188678722526993427524871539165408766483996952926101731616745788608671856802593682442101094183047754167298916678611972397421015802990783518348438764003353893826318948443733394809480359122233370884924791240369377418377315732620209705261281143764508379542779921888243573952715631733914866080818055399269390285349780919297675683826056296243880308976434919777800750266277156749888102856392786785190724105077020803616313790666207477302897800626557879329704996376707043739697136760283579706906234340804806454138505031815620567656641661089867503999153411484615502913023001468345790402407540650150663426088145555034501310132803508848968045807374206454490185243635912840844302867573916040934364349040147555469541336939998905105968531392910695692711217625458783920966319876074265904365551428290485284766768536958829177540889577077424703471244204171768135602780554943931065922520249075547050420728874123380669428679799849114441687408991807739655728016783747728337053380711988325260669961820155351928129900980745981086617581137787012181747492195533819601076007402680150115753971004571659035697327838500059914341398065934599057182275888560808570360217419464512661563387205021905985449606734931898604888719984112784544151265264877926801359367768543837497302419618094043517741710833200382220595028297055922947284988888953064032273057706717569406164244953043513032705503903768657087904007467408809947530343109273045459095986185348108835005444481396961285475576834785558143837512855452485155840886781147482734052685452876862424361777822362705163417220503324241648036595301909410937990873896560038650317928378543897378323249481750375557623040715197598149442194024027749988437878440369207846251444961950800165372060374039508947209370025410920795958120755970260403515315060434811185098338955670706256421744642696122634888557105971952408973882954002335964258486839939581234605128772337537334241376975288821134841384097496819890815304756617314375321011206158919321195544930531351265341839540630456037763686713992313514798058044730917996174244446171900475037031021616190938240359607883543756735725962452695203404173797715156418648272927303126534261367908325006823639129289323592908226959514046089299108123286442594264841323376368831037595216048894433805700457748769465652941229338834562798506359415273399618685985032931120075793002790785033146100907682150970292323379627519878518936624875467342443781834902738094917486701032815290027886162117370663995346048993335572911479864936847952499590426739062479217011028105121067833304275827153447073176146812203498896686715586701298538178729627289349876870681078669075986125030582313182002356941339480461217285181844813342555628086944970107420435798018183351781429555050780010493736439539909705426528537807912086316870692647266318656094541130502630248093870521398840801979733843875724202379612780271738823117973577101089822636519228412644297492250103456535134388927379798101714850823469886765643122991657481858267973643781602750788918614056580629239064768283794984655438288822644437421778628863645277503667907200299570481373519559415741758799262519175323353310846193112160483822093928746601257430122813698510698690315711966319604660845856101154732387502720667424194343973276142023971875843453688010173263919636387152379163773634417505685517439540311013131418306723288806620032704125403454385520036547639623765075066433679915202121770003143761483105189315223143462427225004271581691712869067933505110330213794285608006134830824544381167887302513526489398636212053397426732901258753859156408509870721928591040112724847332882722527298977915776327930290855726585282144584778660109110437436343797968526691442075229565350395496701185104415138279402585665068656472725309027082516699584614128737163494797666039018743365018524957237381471602776271686612254339032426397544944395346888874713064250983423104041689051853042483442453289752710847105614509679723460868892688379833282696405080458029179395513316268324635996899910650720979994540166149205367925978443590381143368531913348656033635495202106669535284161817395945676602901298661486924219302456486842708222011604765085937316262002419019177535534966200409750224188675258385736477063644127792088453218488399433783700136650810825390656015201211132077872340276891644691417110561511319364437742214969901249034718950010767290208627332818475933881636290384012472451656259995907704757207725566436675210936102218145854564240894424771666631987632818206720515122912178165405322352572989187181192770239382567600030385943293252500209850401198329545637484473631996723483540193233754551643312941793175216335607771937650792803023283705609784417046182918921015115826748573526045939453169915389372969577607090646183265714854515218637614653576892066787700372049147213898106382847562076591070401681779771548325706065326297936839267112112884895738701807997026619315793411642215713203949960403466999521467570566741988980217648031647320594817679100345219268418321053754656348547018436935624885143356794410176160535723598286078338388701375271787162009451959686981538210391013011244082564877543275152957149269662147057279799046907285726360322382930735864493151263645434608949704448570923489679281884955632834354324315949821258262083438839789902388799559733346632752418690209313389988564794548308837024466446268332962782896710368170670424714742272574193428998075589206887685482358079307544447173534117124141053953924889188744067445879920077426611712890301865066211617867586814341423305064381293407727701803607902222403365415872945831010880265880716384662438447762418036279045701486050385857865347048424334488771023667343514315358854554955434464325240858568570492167127645647602181742707302204917061491176795099132229702980016469397495236759427502640881774688172614966290835501241737234399257042254102064841752503403293494095104903026435694261112266777961179944080312510770635525127566072107428165328275870792151316214324246511061122693584531123965576666093209294296026438805575401811397178582119601562344891170219765415026486441849207673129938320190157987182649098387323256526784333949814544233588160120078377759726095153672717650712577623175346962069312711248991144985799302155876173793501435962859559109764277055946285105643782463856500830330877114213552409694714662947014793794874809154386935040259608580267130735961683551466656491285560532486659813241405117136838177622724814044947211124184289641671018792166987762179424266108849059171836725999453200249561887362262668700700672448825783682741922581213077570896053945912190064503135896063311535191345040745840995611347401015309524084698189041449417734097878716058636841452284680638153027747725504399342548551456244280492336225413626487233447121161371244434782054270961196873037502156361454958812741593914011858991941668052910012319953959831151415362970340892451536811845261380189587203518223758235116594414561616872694138010709085906333083340887783154078147264409029658914257555996653701322712073548538983389454319930870959321201858280421458431642185651066015612604205387533773646442927247028746421935645154543201176536086955170164871452148002280871957476312602204082026111078828719293555441662710304228567790258163119929692680537197304617884470579815193790338895171221870553359525466267727475291475846668917698312758051753640241988166567838607719848589528706102827373819272882764940303609239813356545343659791055774257118586612899633476172335596879172988049067543193036156021283815859970478840178079218438245521027903529597305414159890686099664767417880036693396834811936015573534629559000398109650047257331992443302406645426774034113616291637619552576848352063345922639896648975728522924650909253074563055408567679450336810319845001585830840929025313507269334737460876998568483862210145334270202245976536622620759935891172249183566931757130976004618099674289324398897459756364838889473682553496502032821885287170039061436734104827687976343011495649672427894050777796802765472024060586182290127978011947141031849976749543154321465356892109391574009957318039313937060728382932348890750381746180357578042424066432612900521792166069961381706901836622237888517448156543504984884078853945449870723918800981118610676728758369981634432496521700720398250408470071955881186525184754000934966590433602941986168575622571735982718433074624546794726724142582620030504229732538597052349297893426331738332198853733038034898508648546236469553191381312575404486883562481894252514331353389411010346678843818849360954440098532539964045459838398391761877392305956633283379882189183961494686766860447232172214765044800471262702007233024557143975309784364700687611363368247565307303453515784797296335508188129335592198468236722736985919547927005724249435057184401426680381054011318253820010727621506689571242302791846050124329390016071252401029529242012875250307577248225968542353800110915089615171169318583628444832276459794399207351351087873522502089721666043480074717808176033981802566701221889928573783794741641701238919527626692370374010280608937793302300746797526361954996214339599496296808041488798810806709832788719923179833772571454636491931478658187628851192189060558151960481807050500416593044286199318248927864580498050336904254013620673518860158159963194021225375601523204865701654859061649120573286939467689008691198379880738965201285420153897056721175773750975356418934803931348892272969106061981112761516144607089689209352757515468244483625246930914805827063351281702753300759249419437179876527562794969047600666533147400235202868226231066999162343361217359863215164757657590549389017640075844490470930366861080991887291706396069230830035673293450890338449522749882900907314806313642395140806624312556712155349889604632701690810005787076619214718029284149025362705317842916309121035291647669329546592577458228851321226002014233166663129730599539940916192179121034356726492373428111488126173549180663548069549471981036529630452727433465415455193100392707163748142900123051623151828604326909636532582691172054638077223564395561876521713866497434703494249363257608664304160387294091460495811190348210195511562612447923560970351550824673865586525928622527617482185145775216123158238435468144088993951766664102282038273289237731471350399491622053463326431988064849176984131527770783794632297848367953339221068164758238541622626818868408448601497525617925983574412183446276681550194790566215008129266361816015043034094902417611176901538551360497565515705578619021707383343826889186588510638675671232962769261176990218469702012783491536883147303046086937645380053647471488120324215911987503050184232929334410380828877818255484202037802901097735625450113858535920514635106351858360516202047089695698618873884778395157271726397188191793464877395509372622347571282392939605398643836053417445190693543684103768633937022409823912502341780293568874691128303312316097542027837487815929269076804198985768057156953015793343874613153881407617259242571703066180571612734942847545851627740388693245085937725323700086623547057500018215689479919946174529527015944712193400996633764231866650167127427303707586814136775632044709759127250932589409812254044189566736243588288197457157749492605363812610789729816290472057292755067454774369060949793221104129008238411735830565480723421373254581982228787945310288657585789652987461335209914631497691712597602707434696950172677459954806351550552919757342628659986416467985137312753554094234800315342041610719774377340729464471871237663164812194300201441652398906458408207265955133982760326472989656979077267019898600022346471274890096870977721541505247224003328606774263212700758051995814928652406822446217979509337483477339506162707405519306299274429815281321449154306365529441766504237837340159779153688253219999308425897987575062732609940852104409329635497678102891532968831503606293315132233096702497341727961485128167295201911096938158687026665111942306819479059651702360241979095446864056571851671892266960846637855925632774001863970091308080395367052366281072402271556334033955471714533799601751441076966550895842420377727046981005069629245781711032058127744338539923635460689371515184870607140040553147772125581493190740258321455687197497097565804659532676426634129513362859550868634288923988117808794547528492006942879338415426556280094679472376453711081502005044221245122542900315268338975016972081715317914267913012870510102419753875527765250902156723951075541535489700411419449935809375038671009568231508582340336341332679354673783480288407348348092406335949314659754291768288448376172696500933393667131223593041903380528233082788083064101196702398649297411257136745041048211790469590699731885956090300570118614609165242534525397260804882542159427870214934427315230071607279654718165213719395788353138773651732127477449919399150988351217144891742857172158804659575983165785891886273001952836860283534944376990396713966918158613716327828189099329072038708119877423159767178967195126740536742528181061039529603023341891901998845505487214297852846791541998832247267721367498189285143025683444292400805259816990828009975952175206294334553407418286014712622556583678681864593260328783479731221280937745416982272567813271470354124178504419053315367005256311779524370565806771078248748534633327961903900550144391489693748979939437699265729181285203765093056120799564179168178433131618759798142028907884065409387226319250061907330302424359526386178519594273333716081363423528110737814714618395814560489199044518690438885635276051900397739953714179671747891074945252234100957661722914898925839044123792931594563442464890403051602480015506047112658020944287516746153883241116792798948673895582118693767272780174882412869857282058675655724594765461747314069904860095473300323240413119736333708585387788890517372321347168713805636462764933919972328199503227699165817741291647620608100887363814799988250246777494045565075253462555013563793094768349591089022941199843652117957368766318429696435082999015668059064678675328724113719505450570205692229482629909936795837964003278814420722747379974916629555458403719216230135193124633848549642303211333927594472126401554174836862293729574334377999248106457396648801057223802198115451395563742705849915117677638201133006088938552319525170095339198522767195820542261284873080634606702269990055860203480528333362053391914922021436590905597583348826226905483231681701739179737860223089093068896518888474153543895770719896946326188245822569740132228931834783550651922712272475842802491852269895855279264623846535833791081152265124198907998039139511738737080797785674101904471875446404169505387781396698533297111139744074285466036523718477987989576979189718202482837479719856703966458565438471398705829449285095646639020258317024730236139481128041998760861249659727513698949272443122036514331884201588898869369752692512651198563632728614661948779461412016056661960558711068877089947206836300235776905212936998008263119911662091787246384651197846022571431874775671701966536099585425671428903745656271981398166202891532723711364379163203395035606926183769417509474474479679643480918524893284368028142162774753618782159931078441559932573355936412498676024837872811126318305330013636509407684671391483092528942165615663209715853788985143731465738675602547675029853141432771965006895287926661350365971050137650346679441405968301299087017375719077372269920767122588792341061442193347318090018526610365289926114637137604807814638355299078956798100321468803094177947299525873481073975048955191254313107574850351718262895314259017371376523233030428753763573432611411010320101587205313499776198260027572566331032032619083090712467233551219351996366030687856867485879993590857821156740877626554437580843149297003311993871391765939317023833767866700839631836556037238016293688867182603457181647991247516384314167231205149247414870301807178464634385958876637812544670431628063101950452024002843293383401635527892963663713288705875595636404229164417351987730566790884710786769266319589919229085857326096416419438684985168822565135102322855954131900102799816195344601159887865226402600837622617306690661074819933654795194581839065571142863126478188475474189510727809638714254427571070564906629734542232955398842596006722375634047290030180444866878986222377084804128256220701671401627483739798132003292966874150586992222756634092316225995281031737060234856303838679267671972013277240298201824716328388945696048180047195870730088381449740692401352065598596766567549738383932382747887895907365009308450378384434202155198678175295313756970489858482561566126479305548470063274892820063809356690667132849142727191810662302706704302082879696681481589646268884590730686119308083825897076716787137598088489524692290361081522712875874853898498718769415215175983242795140318987253712197515935003748616792128524962828278808181654985646593726640207173906063954904681617248588496204634580634384396367884590338509824675790209472153705258511215138427084871257830761361692637503138686484462643497841400329229267755606045991013935834467036686026675414656326037931315424706774741712407783278461028206026931512220075439858983266757533146200179673028842915947377916498102539503474460895372360610523873656885154313538741443959709695622391582109991166179977401452914123152087397000062350201455952117137205078199198757085981172946548309987657065285414006213277504959119888019651900002470935846437466575034082898964338835235071617414263703055935795232467626615098972458963405712702322604698581995503950835466282753020736306241798532748879114482713766866283144807706605013809934357454747412942385061319866690140573376584529420540272103726585712505074355015455409793797036485501080924868717821237100055425714883442289469748269292403466826442844596611999559981419897223870427761487218377432853058557251571555272171837804226685264786734747558813344337133653489572005148218708417065341176978618438720130439971372953803657435891483711869956130752876326306911967182208655701313057669057772311079791613326535851765500301434905661321319071854768583030686694364308188018603255373745973801551153165672813573794014636334541068794388753603214682493081721648571108996018539408011708526031248486681445522231332541863616002005422545336705079704303229079821088339216603408376724669141838913730651761281825974829445356449088793671137264762293387506517586272656187535000243425862508554259780837823667528829652885059639928922937619500940440691069678146138440564075625787092589786948394880646732507820337560434949687074521298159931495840485044430531574324442170665305351095725437428959950782229788171452582709909317254901501927112030507086991536845775088717328331760742401046223886351930049839485582308961269695726190529361648686872045354521728161052370984790102383746733768197932301780264387423725309221463471346085598371537773199262810760568662171368950709391495322616926543191745542774217485549853420312299311374873210351618256608606370671955195534175549059912028129920496450611286910589006286913014310880506111928548563375888197048156434674283381042986387366459044527599239463769210712035581902463283355189586902869838363055865345053895730348672789659593052198913599290959336096595611667932132377697452307732960908337281536929194717427748557988836069167883480787252772422070867842928355806782538714969413208077952816881807465735005689943683377083824289804333872420160574504913810858744342719472155732744368548102183061893053733441554195703020293552480523633407022413267102382404587359710768727589415716812115812181498174532012015587326153697188343734190832263847846422993440896741997624809022710767955992730860093488626384807354081883533554319136153340570845037907765670174129130288759409618997452089524852733662238685233146985122793529906373564640123738362410472903346029247298088573590784713898701156306187769326153016004712271091277633466303662152223147781279663260029932600987346587878274485012044571982310575000368830012508899716136451110829167821450128577101154444739350415268678976902445965947104746910509485049863296750028279376650248380281951994225869553193211987319389051230497836305026698202917389627226602121285871321407195437495705117552416695019527091326184712726542401965983079366700943686473185161623022163917645492015137520717000834646187340688367170279784401254153166810413420768181656768568700689767774010417391898692231659039476031772172500374151297854264590792082061847188881918744215348328314537686409391942609038501405711385670588910316231449757506159321579019366794072572507036533129418529467832630891355649217954238034333613160104998736431847419929901767324502043564812596662059449195419430978591527073987605390027445445105196416565951385660446776360271416895889057106544969887826103010091859421607576114534126674103153457736469469522910673952315480705173774552314070736818450145049095405405803073327472807165656024974954026461996644865596282737835776188931209751706953875900004915315231937901570350677052616297442172523241834031094970807029268096191492021048954850196158070754147774302951526311086384524171940581017117221510097390837594596349601095310100162351166117440609074646026357094964467641482073719365977835670379480158042978925325290586562494328528706469549811767993355254635189092799263536798155250901713410766166763306812942079580766449085928948583921972756295567812869821237701883088609952643887871861895576141221323804038801999199024698492760965085190807267111760136110693813437823611573494259418027591972568676823860285493514501633273576626810330510219501368238769760131808802133589801652409145409720563232858187091366189599006309470096876504059538877443588673751605986856936173563669459775472639084318463829408917009578641276866390143659695964827545831219932123045622798449065091500945620828436311687316258111531520919535162183463628297959705962779094076830026684361876115164680389479859375828082228792861303186661860322886241002365351712056020268417651509884282562128708260061993975806743493417618471857206043241643966148623608728354701678343505554211585216827955587513776221753092610382525529086920700236154119059456551140332582253249203542906906027312456282882801340111797176425761578483251440567524352251902327542211486142633890104535143783000875003501148567345304348815273879460611053143778053930853630493479496103129960926751574916046312596755473913081817363552896597270361924536786974816982134753633567232058087654229216026623242040844097702446844763829413129968913457293949661099966649089837687793606784937719073202008556508926948346882439058669900716657239382399245883752597631649355857188532545791824818511925167918933748264232436586592652193895372451119094596056643504412542175120554673244035703205632197839114220962675495473924441313621299353972931439993611486427052611482688862092428989410137736591423525616332441848078223067894678399343672336051753297035209644806745899331898403938162963230470326954320429453918480206405274079934032623803915121340598313247446145643149806848092821772704604038344654213939798640189898320329310889303039725247866875462487316696469652267314220387712971455625893634671410644772690001070216049900669054138621363838972245619367296975111495577576364709639111345983875187084208675070167263852879478346925903768888832773062926146503651331038965097661017260597419792748103885361063102395709588997593015104603504208191585457708693408619739688320645277287088739668703022215868742075830110234628701270652337367800375188426875203798790559140475838117990555342435761922356097842626273501770729286322119023198416555330743000268723067647510036578563466417324761675802170419900382675155763022510504008412991622266029456932048215854987259592914030846680687826661621322630729511701436649427448327503125268050640272740302547986489217927408412531841725797989298871966078646810530577724762681878995332633980770885672028169841495710606650723667204414307131672557722565645781955752384280589316796104837759011812206796046553439453327192731840222033381254739111117698629826617217742437395125048632894405312212460352723183981738664114213112778963532001144096982862912280713520172618724398765536700599934700270072576002847073768190563711199773360296226069633770458673780602935086771248383905918928030337500953145583324633261280976873874400869837873465734377911392801314885181645374783433888447644247690063441356554170081910236066913898241223668157359656053966635855318852549707027478006560724283764198681058381927009701207773702059453549769139942130436850364863898542133581385859899240089828281005487415079797111230386635265845252143961070207465184676563510975340955054043717191802984578224461708560134448733022680969050583613826010451610748461311098436717595721351943644541229208297430686864523985129723168040705620712556858843008084608057206879813192995594609524743994302172425520997028905297255666702569780563307339624868214111613456779807911219965234025760599748161487927089695591670312120591819214402898599109312466046430488250243395641196875996784466045487611631053234448128811418159936559386829753145986172327625745935401703975215715072320390309244286070213391797959342303868436945138707385205573993875585006869865266760101376424866384702401784812124633931354502097132903183226568455314913962622436931050322571901246608532834961985516620955392683666099436825250997472071746617939128626594040850163083485844501787491127679760495664787554649837766921427074418644800818348786644504730968421213562886527756959481666623650481389801922574327709883435305378886929812840966889067557691339896189677085502318749000495368561552835049824335521224878269866887184980508961729773957908961029417199178066235582689750408750519843753736009615444513405664368375716472473774221007293936716982092236943791943760292449281150157162505508651684831131140995587322075897236478984051475890700386450695085417294446158042645344029852215192204621015406799701267342469471045420908284557774220269099673203384178967232529162459379116749171692313422583611792804101406596151241201530878176158696963580241954881596704790771683815175649293368018087146723911347116055495048089368538302042536346776171423003833483780272437516615811384138168453327498686653859602259679420502764694097745081439598694837058319059420708585682326728225194833091621572079089061979404504283779109872674982952327826196399172408848817254380440640749257428603107168189722894151679790456465025743884752641106234957469920882403496504207833879579218816021850246113869654536870198109358889784305511394507877976375128107128048296148033859430058680371242835387885535606816363314227913295355941387358954727485569276119309550081645084477701918347255197904553031063007225808283844586707173202436618085591149032581540018868595978211987689054647542543432588126417694319290634738904163171313662305624512147375310275045480414661988683727551250471710725053068064601924520682444552640291454858492628996530373956710153303170318217717951410531397041055738182930524696499390284733353354642941871837381314582675885650393296706101545912078352543470654124851164719406007521129023576677622243552007653349508701793924415928513253702628439884687680293567262729692371436599666874003536634648845257840686727597320691546526914566652652893548850282437647914977682977616065234102204244639321593374550522151752668504878327681056325288706524720756126280715196499994731045015845137389725329982892354715605236691078548429992283765450701562805068592366103864317308353696644606584544652446358397650071907155476263361956797498711527347589124811571918485561038931603244478649773468741547501036754338082704531205202000875906864383163980358612537226182590617644795459602963750033460247197995009636290442708126943753493166135119281973376895966318769773757636706102451383895115075689195976523504523089968508472897854058370489368003146009641444850093360450508278839501998033007865939567016148754774359512043368769619525220300316256412280924212994191084073712774143357251123514967820402155678208684652921881013715915827547054305452440360616807352774581375760590278358381103758596188827179515724020367211402673985402271121330790210891279906214156907162264280639585847234672477550484285342868368653284482350015752837180779065487739409289296461415215316738104033834465586780163314368344141839512863802871596125957991228304336377752146739924671086083891386979624171970451650547652422236176170162501671913893042226891570518542546990307631705651540416784163209541527604106889110633209120628194511498839366561443762963373069502358098925559184728324337927459146102819756421661603142037478255344035790051926568124417399083189368072147327155154633586291510767326559341639161343886062123374244330017265149720367880254278800836655523397282767138496600912513069628242392801124238070848783846545807889565318617491969775003113370904032689762496624031002918552626156992047660588198353333711967019395228738434180920735180350851587166527939398808862306789380082030658824011579777887430242707261623459011717815118683709028483628693369733068408567455634574570071736012923616866633337158682839004712356135203840962238222329311902825280812057343833615549801631810658313994432397574465719474414443900651683163526554981204629166642477000926509381162825975645786792724634160824047461692754742608998811923951451593103077276421981025524940057018156541905465564858812303094392069432937322741251968526132858780089827174641926747662154837371602550787400127358484511012620443249591258821973447597308516183732688463240339983074114009330390558514315946029139039195964602939741667421324491022356588942543440705668154142642040538625840465102807922058978903057310748154117786154457221900746370792766747447462363124314008649018655259281436740759635527150413467234090490402953277304407217921528508990592490160726418804996603007872121779250701388149638680663947783100490916035953694566086772112226694461837340740498496035161778356737381970054519043601455208870168368474474458786508808843385971045516910130253639716209967711918465260693840714195617013451721238010266993640611174999580758418579386153272322425831733252628078890463262873190271015933831065013493387344289041088979903851295647003201143769153256740553582980369835954037025711552441426447071909116231234700104587621706089059691677188132145652637161862897454128211510842942555183793444742961896195079900632395110639311341665348290777856485909886306398940007623838965026676292119348846744582772013246500232065629872731685969711534966607996795927384496829614819644624538388857247858778346904674973063794648433300743984130553532760848508132009230700490953582987659478680115457851907487584061765931378170051659709327080020763769199489437659088395148321734210315409621713663722244648809344278863040158396788277423865800982426811353753257191292699304727161662676741128995088417292252326337973928721467589660974448276103892527836729252358591870972837119128545724548689379740820035737078291555474476915354282318211125403810252971910077799141851275599214594738515920688727794956089417810516840841723228262844619013215849756927573134218428288646575663816476894098191378419631124443892081612173198539524236071133114025774732791987977642295580525718468831655356745972992229175071161079894807344947677926564491170552457055456329007216093846137180353060831439704406957339853205149983300122150951613525843202033454607087193590859343289545504238075585235344621183524527262263110256322229199139602526742097977028637146367482199549639532804351905266162344076338358386324791731903793836215407536539158254028844098957269071366822051045722585629943341912650902484170627371175023168552191594757826927063561704745670906004307647585505399497973228107129058503098529604629819308653523752110667073860526884058551480761002639586562326356052022862967918195869736101890568045226527138706996104782374890238891075546088639102749687624541536736105829004508969622602148210005033535985899763439206773829088640045459337228331574285696919342542515084261659411922004817405233400970791113410855763451736194060565112319841623515806653606811788934892195053622700455845633337759694726794135161167571776752921448776520087792509038558618093443850602289292099667195530864137697557278944945957235448717105794031725651511179722808668213770654206573790793292560556377659266037675330280798469706629624095912969041563962166492910125984177004421920963488570410120426837774740058395881474243185908979174880802766185993093197889083352930525155269397987897968271304432997006216765762628044767795373139248664839438123775404826162782171590582137241729399331816371305583658712917979615783172908697261948844475046697072852978961306970169674578789993398468127266347526712495320838937283385051111790456887309530142070865915302684382090945830303098586645624879561293296198320602980672476663338624657090717171125305264430841672907342746570351769430836269963019166454562153528612048702622488079913678560096681897927164917846947397977456574479700694439804345131547932154075142258426226867666967830370666100565096191456731728655223098306169649011005255204364350574132940130988690398123015059553062291196963225123994821963056066122482589173215095487832970071367675730269387930479529283624790955255104904221535069807523868227156441549746114999369217582383278967388513867625850097707858511481791697683716482427584443953128967773674729297869141966092811305716400506627093599988794037187028888676140057330826029244650225428412777059057484390518307290524043217469120245708835485421905725120480984010183388559292619752299289856709652039225358184026648044659315310788017733312285374636949248232006530482551440264487898301247475992187025860408618239482118420531410984952507551886504179717395313414424856619320664114253982006222843849331076920322615696014421002778869590852828954411283317463883981193262024426061680157782294948312132180248264305859160114400749204633424417066689658329568374461897545609109988832437973230199510404292362016412253455982647175332279520877931141958079449404553465530301767281126447917580267125586099681311941025970076337704482521431242735289041641429061572891087528199679416486471323676781091615579082798250330617734870370592248420774857448417852488682433137049056984642763242365966482646788683914712347270207591325872912167728197729632210303894110753638913825014609882552087282686858094640357435928438748665763414818903008134035734015091011737740315890996376893970709322920311741289672773117621511570369532163941749638227480135205258399462793714276437406756459152005190122262550632658894785658953147048622081374813072066030955208398048813979992123299252462842210751289424533355731207688738527154929047197532406957847941896205091793524148757633616372864873130107441051013943083651904953934880425815547654093234326852115133096320837273050629770276409508098817863909322058964202387708570901668589673612967718609310510500999483607637375714549230162672319883724788227797929846357870289094573399770201843116600895212805305321856932947492693091383323839781700805371349899903117900457063941598754671094312132008731509355177691968189417964571994850378810381512101845685577205407824514661155091634920636315999278993000294614318975371478239429430308888295931186237846911564114500216834764754393074543384448746857357933106497467403331658870200613112429455807071730231812478274261101880617260122713680176645015282557193233075727940333976291489044150236087991295779021956168549397607383815396285938298005373036750232167579014123154225688854326423772327594315178945056683991316085782716749256584056701034383615727229869293963378154366543705445869266048700764757583835779825236726871157705446117258919087969039345137111052540089117143855831286925201536687730497535780559820484751856057265846643165943956006222362435741564389852359093278506998225963006133986142545689962838499998033116134418152379371762098665002312024372242093354000445939475336357426804023345533357612092705589416836577153077869231314961243181298772639981670919177724876064432539545651385957326150901047962186708263602019953860639617067828391467630140520798322345499190637938290904315756751405173361404440007370639193614726504341841306670248357354415410655753911864960830802765741760341911060837942814346125512918331247244039575294680113907603912835199883282016963336558233820826702948678477305336744940889959093703323114237207232238175397817105624013815206618733512606333423571920336129917343429702954883699356681424572404706891429975818874471370243368851520622710714151485891257662772845488721229957549081894420308536585770116947842437828696497245465815817895154126570922599936985695045936169103547865415087146389714182006184415724946637077858622535612405726454049204208494959175128818204256656070023111188876028379527803419387642304020780356162319350980300794171581865332581260763138163844510830247858629867127938736788015102594330567031362916217059074845753021124588995215661350651162875893447324599007981035209803669495870194086491813167869783023888806692849423887712461581350184099848728724162565775201074812248092347494940797835560310673607567234343622905608651195359910748004009915718867376899844704286303066336697580160698170696825173943662814034562172458266121064830033965482517906349578539555600028731052019200482956993338131817472244510098623178489204234431640948183084360888874050716082601324188038681336418307704087152504799335246533005382508015583588568737470956763690221785194061631877749944750318848144626662246946828770106170974635999691866902501891913611720036371155584195741165644802492349440525805825295249061899796602657327449866093466305429939174787723954136809343981726030176028589287439901550731982249185317603421224558584167828083075722241859753186886674108716649209113842803322881057267148313170070171688317044108829793079636471285037298907181929755474147760939923925668546475609793338345214898078326412925428812592337350266501036666711806579147854473145113630351550927313535569244665596283984799728696174857619544987620450106256083373686770056844669864784107672422628269082814139666366301422605997280398868060660670363636764472771348401452162360848746646170710188534035485524255188245260441055905899023206635173730663651324267358221886951361295253930450681923130599755176770613747784234301729022758354137712842974121193521533668656907871629422038160491409691724295395763742299443339355215922301512509522443630126545812364822205435041133042943076201729476360593205372658560272063037596794279001522957478824442943312335501852829537740035171132702550359792501014070006668031445052395112738972532081287641850405348931490056051543377617220935475370004831159709652882736965716652480296173349152322723489072847037767461783500935335233999267721130252328811023999604675149563013080273923524264195591990298894734876852215010717517495574691116536485552701672644949429338210529425893570061859593939382346623361406718775560429019679733916311372930764642674459373020739409169093620422292849736284763573048517743745890230961798893585344690992023837692787598395716594698960596712986595810094279963774420728730569936685676179858199421307890806333972446515414587633988384931519252549778697766636609460360405938541145974540021421307514094143981554976985158483652549831164580413256089673385525847682883453974162108829185745404985587876718949470387834360072110778471580315302711354432957191308115626398936654299337916579058415537924613525874037074249136144373168341421754797813105508464728610671252806004854577261960269489504621712960699090992965604199348870280261887215900881192099067623799512697038387186069595688699208102676492259273010863257334209299579677720823984132128876319683336204272753364729329969537707655454742646132868029644231951543394440414283278845051717321295532122940382695892001207040729313232170506685833060565846868195118569560859595709587031934346380707584452340584495171254440650740775644382695619688250915308089402630142540196966424800639890123093596723151732117536883043580268618836422388952051323196447078808970724938503529267123764641796725788320196834148583158299434169740541546504167615405292608526341157416927907553087117494810594823983155230743322194109168768905360491315586351862470743257395120621530022421914255905785554408214624206185623081253612978056743196956462074930244566317241935425844491190436108344625315645157847642451336992741527278751786011184521761761927193009905592131518314839509119983791135358291763311172837810497596488884437421128083816033232450199057123432133929886085473374885711286362595087548631037097444452483897487747747480746128545853740155237734966604911634762361279666498159187976898687756507486356051880377576621210196793497909527561405576769538822979870387131832389895247859237056998464012576587299053691111405419961256576494258100486631757213931803871678895362474348136566720416438115537296339280960551756565446415425311297181325958646873118238099390041585684220902591001110872499843183197838387472629356183396416971423368067371522201673052528633390214524041766579857518657261523602868032377014058093461881574711441848061406366633022064302335611891554367715630977822958353255142293538771414015885159564848464209827748279953467175262912044264491860642287825375425869450243296619179092577745609639668432296482281588091470553267432455642911003936378833070512635093115326428838647585146088775818827820126956936083164774448275065249118860501235784878695762538165460599305970656331472581116611094301657757740023755474406729525552912573014680763990659240197801275846938566955738676576432368688530046237784496383681732526365739436071767785915536824374433726292339340535107653425848432918050728583133487744953218747916976695533388746266258822838555211251396392436782363397618326897781892694014376071478863076522018189848113861780614003385081781057163383781933723220272375624826559888652018422079100872158555003974574984600769908100719746674649747596112857318657839007973407229874753589809080273894345564691390854715632296998410137910165408755372715778575442255360585046732483665362493900596179539695814559687466319358199888966771815423383435388056256201295405118665300242376241484778405002370617325874763157206111646362708610703126996799651844493854903279034675127951470726942650582415781810309382271760802284370584259880486652970532416170126953539001989765409686344316946285423608846534485241372749440378286578880216405143872091861769906026766922863698278053293911643317374811820357963885773675173612584654839497108608770989716547109050858044220610923804972731276381005489974594674020209583753012022806853326751660757313805093266099871023248072869636416781785893635551640580773611338340915614761266308275088649940135092192734144282839159044541961790442148827563566983584953372567105988222405680654393441049463526208406433969476776536505929322305243981960108107895313913430848213363037518416641228124056149519910313614762445208280427293567405451522687979052108861784524259633132337083481625508591259063037435381569148676082291638621776725429584674329343540426944935627573444653516405663979872291707891638289416642200829880681688765688070428868846436995159710997702240326002340879987934136738865048970315382766965216341456943266205487764924826441002853007958367245938736021707917077268076243760026239856179128858968037368192839746635205556607937721660405513410605658271697665404416192247755579050638361310423344773420365544486949429479045817139040098900973848244159591415644280681957342108330249319741570146307510706021765814596908795480175203920872184362017808084415923331963238879926229142387807502222724133280233053372342146222758179115546101821064815826380027291273554846955062248406556471253490066244719733836128376915086910995506114866034808201969972591325419321171686955113706842186452910923343756357329045974036754042304725774340006131290476336886824271372925400978324033250564076723989469163532978682577431279484022698945004940256923743247100000148474192373876874135239621192931635044701427232753454527233562452824387965191126683316461533151179902091387631382918070892159616841174055990204041584575473911205203926561417680830534214516687222789650811867498611222103296452598015620325260596687666912896591134828680191688859351058910680078410497161182184616883596521400119607058160389775685363212228877665836547842178563946130048270576969581856213517779787515661906857686864770529056538873764985301392586494995469598349809409399052590963840779361735005106037155803803667312785554679459124521824139848380135793006765199252225491822012757172387685102790981053919123768639017641305324617607396939084741986598214402457656478395115500070550018728754495387686138987226579283172891268029686330723060126794795905383407432429540258362132063792383285171260178372129468628134237615757343315097115545599573162503112600370948719505036453125702037027951993801422454684336660127284441129565279834291588882473309403194721364594618705567975766754817217336523081263857583874497329360934763377487526522190903478980924822001676299489087223991721370310536583843998681044632240280687579871447652999892015463795618207564095445187376558443978017698287442306391512143509630450279267993379295031170290253331822361850182565869472090471374959880928556399210084693870772688264055976099567998700371321798122295245784018392845909705361459686483874148710225135330268020971725705408252913186077849998332813677954721950535160580548772351661880885790877642276537375198550388192873940056980106794720817496968670418653773181010005053792096873226059004140616234270622440732725799994035524492909365835404927180261882705196438209519432142822128523185434725202387442090198713829974427880168049722188904547881816525947833006573670219818999617636369784604843624254285681354051819881711812985546221234581463331592372852003527373094653562525599329907936798197533474878156205708666372642766255955751373295941278814281098905001845669722506283067638719992531382850422073087402809379447788292550008323390054980129010067371969181987814087557911388515256820532668432885184298116386831485210137673249372896584557302196554395113017463185720597929223346187396104491626200296712021699552939328791962276824428457758844544478670471359245345937826004539458092590207528293205893134605718914345020066925386992437552651557709339828896763886981695284099511643517935664361037293509865065504145545544757291486116493446201456392188978659194701395950855226939306064616370068251367518231666468262404232143722722740358050027808072787865829147866461060251667741506936044252077251873114637054059781057360751683292925906146356465947479268866966719700165036179925629679168775451516326117979558658004791089992706311957587275821610876022774728599814727029422329746208164833723194897887363349227680553454497442684957751900355967208674390365944750961895713938780131090308376033696202182502765002327461746336501810540039883517813162041221514029151300899561672359797468572964853689875343873923332959912833859823390219653701848485220162670711551739234439022590624880430652360709026982316979891585289434485191635778966402547222800072786847563589627418479294687324653385680784037451329908162449753143168906957527294924128924848307460095022757942861078674419316255914082585611884565638220288915547737863761098667333722912376351382854492268840638511031693335934302537541801937477333831262025801960620441991315605518976664002620490638320314055261981124541876585333208107441680552631549933072900978336983889077035701817896956754603558986858181569794999949041309137529973301167984337555217185999290928239810797837924753223989956394301254622242464638771176022343775504708960232880957270673280649618042115574101453146668869612243920389244906590790682935862642858708639623301046856573551691092211387589478104488794899155979697464714920077191592566447980960586408733261193478833169928473144252601211739404100612769181441141435744559919400179525911199605533596985786399121012794549953343162781563142714860317643508414948556959783109200963756002568574052750661272041322255222631541946434937113930611963205395568506488775058364798395944992430172597845713146534440878500839101391443893020599868256674493768704055159519293476139397299090110025920716495878892908757380179937594648589177035600002149734939551365198197056307167753475580213928781208090910483537759976588993297503939007894671334663954356160854587817114161807528933648527853981202705177328847507945206831318333487179135020669341973903450304502731273222804979354876478167070513637184685222628762485954384394055470081562592539044619928135235425007394424787993602329240626122299136465796338779121410113559534303373294391870579548866975030291513078901340509026689773899783588069101490755631086814463563668590976038806046636276521677010801045946722478080779984428900090433964584084598024526011535387489917807849302395257259546467345585152351559075367192307441656592429701454404419262275295823230753499388105145386693942220134469694313066621409154669842968364137819946081685033051481812045624827455539567431944523172271871911507586138047477052631163825984007437950579995389965497150840358367668095611636181757537407292092010097793576343247372899101481389368198750657664943394239183173733619630571564337089583651188102541678713601304275788262079442058933743224985744154420752129112563447338386979478605673442594692652570167339267680221523915890598588174059088404092109294395545306508637871012351217165402400506077386901713114121567816119667298753194357543662513189696111232087410775989321962642637858623888592405339907560756509437123768348394296058351187003040419526518433955851410870265408121923230726183114118570778131781205765231101838288841581262881772715445001891776321896963145660207814956771456541766317959783137982770319191317670990813706183299208184830724535207835090522204772386918269398447561820265659797929644900237410960363830318962355692511555735182990206748515199881127240315259954709283758837757567986733497933218513722391747272024628787638630855034264799347987363109139663039992827252472701257547265762901636309936823122192231313374871664943892459005442385352259378740076829865953630156711916641323125399779600254257665982328830210899446067098696015183841661622161235306351205593295229430425675348198608807597755543435042162505569916364056133851810984369600006877957073957832345489002951867612470009756243655763322758849094208918010595792899890719728644736395179612826577697862015265199930871412761350720070674348352138842804256537131149131783189264882666184889988926282281665131646739346601915230838699387095200961841017622543815671138792831016282123785026010801842178776646393373947459285882735950557844292999536537692844481230932652190870955788659452136365523519584309370741468360494555469728443576173537826844744067434962804772551092027716960620078053634566986995379728469648322710132472685814985042408217893981719413084709019459578880261867316974759958422280770304432576052388546162908532275876142027503160006129431868779136407868478178417178818106015163665438081527995778252941336944245568082208850930601714163569905847380187480018927030522496089184000729586022299805067653258229292981891274501854283174046663991572517181246815206729992380318783383026733454184415352508899346058074712230751477601363678522956898426553839804175172417435845756238300771915515154070623979144894139681119372765138148870105958797458270392754530873938134442691012399233916509754412062407118105217405732966274054938710989797680793502286290394034199702483504825803289719525932819553548811267481462262547948280970829766520846527353759849655109728116125882316249824696522576555268943154065140470130970890626388070442831443483557095717256669493364298501875338552709903839294283993895242761118502153835597221444477460619845310450085163299251258987799425040319420795559905594732579013301069683301972111819103509855749716193543443723700381096299412831451013176280317716356477694514418624069876273171367099451405658418714697472386818884737190914754601937819839675682076869376705067747538583208641702289022310355393122029188205616575629989810514595912820228609036221595969858126913858366743441857013082653489871884016015676957628776114976715422399711434036416337026124849394575823349220429869863577234057452280912547150295132340892383909369389695392781950361876759543267008651476011438609360983117152652111780980529340843203437674872417843659022230270135651517126498725683138901548307424883171056841484071836718915426381297887929649247925720491166472951833044943800158484867078879545734635665776756771046648013029495925938295746141086012147417021116379341812940769066517322333134572502166349746075818219756334419763249102619427260243039524815288776322468382490959403840796588032227832077297633270333218336287657487700981780576383484748079208473367118957486100472470824428788048177355227484430701534285368562780909955689854619813864384192531298194569938215173053621990347962834602112055658283510403643795781888610558510443399213438867088036748637632903736684319579521188487898463532956421532685209395512527487347691315926131299344584040031519334774724997885071453539689442798070666922881607880319833657332864971287782728962993218564033648821934778870310786823725888450716516724612769812575958804152590962612585882933038553487774157693799628537577086850511316543337579951851817135332859801070866496052684900122578461882068963555302121005035160758668706739158146122789512679718563628551390566906166893728541411864277479613860585387554727828270985248205660591535566575381209724696898012666897859390496393683030657153461378664607787808271354910428805770748204378933688117674047290265626958340611093565889815167843634662958828058060616832788637595965501156497983599896210485285209937329604768133669013196187113894693709376701455695492122721508100862302865623327464539144970376927044163042079659959754078242063174768022404631863625766814183707673721236313951296521821054059061686321797179507629649432718543663123365864264701314160209040557812042739070027239156653130056639262203121484353042906851685041472262719644739321501400002440829492287087549562323533750646830073777923237424421806846435474418395470119562853235660959405962929604877717912907349542565219117695252553178882214656315874272876168127965478203149717639653183191894392406937479096313955125314308980157217149237858031032830172176971830988324214485557998963927922821241313722873082259600747272915122743854963870150008706322139612685635240516347998268352129055900293822917965222635565970358499777329367958282786148593868557344395665722660514888043734836585703738319083386026908030834303687351477657022329166013808456568409062167988212836506742008633224894584114402141280940342456601387517104270206325149255840372146019456068911205431579185225718987580247460291837559083220843067578021311037360763417022183164819221091854259672120157582229859388237250052034969428126546735354630267485649572697015739179644635258332298315305807359789755664290955824698018117158824067868489230478212053282691547261904517347360840617084780755494328992764451528149796041026372390069052693501508584876317945066711463386371259409635403385003559344278140997955156802039300318687190142929612825397044423378329791739508451792259005473817935480256948844453410011061514293758629944489481560144007755227979529683363864546746594387486868466681471205325493199834336534144164261609980290138121661634957558852823912624524862658916867028799009788248411292091938583834003961217008622319436825636262619110939664546506078031667299729461762146824460855260005653257761021488984499769980780695495100500652029868923563392024923162675589602143975534592773340516537984830654553414940719367740800604793245041144891316382770891458499615928811613039520135743747599700696347369134764102818008140397967115602287966359010576864394825898179752149205510479453958308290850479609785246573063537692017315523461904224195668103330975916605853127574280079115953741366647628955067141735196445231943036718061535165863863621873662496713148208348161545750575621049814659299619057710415290722702452504401297839914510733676013407489733712444361982196439064671380900782771628372736575101678541515977548232509038554603801460443463611443886802954464816133901125817060407285727766338931472510919973947279035457317849287044674144370428654339205340568331892566724442940164973437971446493365709850570310056345354150941163408016801888407042524296733887463604447359197970982703060573048920398554719563907131970973417500346175424254597888044286032316703267121175408624889024102338615622890180990224867375986468753952339464299366924087102358730500636984023530149195503471786469883954463573375174184551827704930697432757190568198524944409452493500093010002178506893094007497827189695965423140279362282041641990978722672571368738581224991139550258406415686231853413660039436606421561863605845045278819759017755719863242675828506688273196293449403359047169263512603003501058300240549939154442897790267607451227176530734955418210411528599769936943511762516506958858552866914022677639066205422261101631390508874247424165327503553840508275525641835949745464794780582706905363308062392717062937016895709398071179589141764856125751126136526355755085942945364380017429110871589668759435450653098140312468352947047726091715196906983881950717455666956479645475566203474031025916656737829291956611897140503051622597059174931209654855926675354910735230338499336813759674947999532392268749547599076151619598723743440969344712291731681042501523686864506855852517739773348174910794318834827206586879964814678924097610692736014167959550348225140524638348806553306595870017660749700019818259316779193617176598409815010487734552414458140751944584211523837607317441845509788109604773048146830432220181893599328251397857744906840012780499772637379271486378214220282371620878483270328112233194695745773845237721127991970129499664098959283913159632882020253002368871175067177496642683655581748982344721709687381672164288816744821394677907416437612581511358491748374649509460143141290448207951159041854280506813785699623297359088096922016605215297988510670053488660760554230459087771982450957014737130164691762619170393122566012544727956783725077797453495687606501922042687784177457271525263494748990488382819507116497425736808318191726974096571744063340149813255242665674651683245849294243738105823707568670189104656401609313825277259377747374072334220260858415989807382092122356360208642090151903357682942340786863360038236253970006462198793716058758331157581771789928004391644033296950609219799299896798632628228112899113997118023170014715296196961903356696405916191866549340603968854305651838244810342853010084464432105407280488614211396994067264912151884326410318640734403602511428774490761750905541200459780148625895260262071665844052217247691514535404366119964709543592276864753506160613318111994489931601954348892392165443404701554709052732392971008732737553811945205467996350405842152601308674681819733161588491367777863816213382945667624997888264294040142374085668803662705644377100071907905742236765610643889547502113477406009018606943823952316096383155444615907142965611819558204663295615480293966499971456139511992719667344916744476975205483234657743242430795645479810021054768893450937164609582295697168527509976089377592548210408446021930814446351585079792394441120104062696637807362160161482514261396323500932404767198296073882042556955014548617336584440993319080526777891955557217677599399860657705892346212713491832768922851028779330904078733548520166397786099999662656467013836247111867206040710621580587801328728962517634444844104824959281257712997297488550069365949270276136552416797811428802327865016974722896726723654960375207814969989280536096158698210432859431884705517562454993267933760796636241531062374552888593711929021199351989878983745127265562710727986070695092909132851428254782420739333897797050200050683053219756140801902592788370623194731596392550345510154017658200079804840204163445452418366962384655658638119250698834683380273448918344608723443449060928664681400048780958999368502941214213210160352944984539530739442199558639500494932166865889814740662114116900037775545014152398875883027672904493439180595230282151982508894157632803828817657212113568187944502707584600327682497461505405839595120809908760982396587521479737198301599279678852161947634276014768644241054269884617402146590509679980683506462422579671775531472377605729110790282313542151865748446270566383992542140143418046865712388063011037099351178744852590225314175071680772260025209905219621318879061923689878206610527761528674871570216458310259507642322019322751676772419531057395598503286288026691568482621326376303423309053627281062483756337136518998108103023391833061121269808915869665405238798279093360966362980207482420909056617379184902490041683682915992703370869658517524037787118252620429630485794226591957734437531291045214406846219927771212370670879860935711490015391973376102246139172464664648561971803607203058607266366585042445969680242779759692542044984916740938138641865995543180869692856448134992093470992446711745622211914380317353206487790454665223377003762099757676091413421686904653073605875050532015010383687745043998685808477090182384474492589437506760077731988672661953318062768820460526855616890956061806288935056177327730980832850451922737520627778433459423296471188665571099503479680799188930134996286127827212498083578138264230430153929279854052205274183839916349528935073297700149453743883063929451973495432499963075873783774220360914342754460783770692217106002909017766765828723833006289475100088374871776544091013850080741324961707761780753216732286440106161991348322390388118477992853858802435164493981645726223056121294420446839499455123289793105991617580484924105543101918388836092824444056024871571640723251215770785642157945839305919534607049278003633253045682290428117771220659576986090768065615805973546847870203712665449044208513906719619359772191962485689886376834661253138408988201505532428255918211796216214572793215593659255736338944765175815110435742173871005331687174453750239861938264231079326114978631047127015540353424750739000110867425608327466232314024348614171676882413929500026040872655184622318894999452220135707113013114921728460792914324510728401265409865081272557340644030385292441726484331449860584846997756794848730250715694210333550010104502711758750091202416229716866821880338907098045337016248855517465372769092264636614859981494506357027634635527728204888776811258763031383227208930594935460118944383532128866231817438668711877025493143867171757999234546661208518212925114177636792199778059309442693931150141387671586802497536536925405436696545038810032435221616571427996070192172507253195250063185754754724279971560919283648778229591585041441756149301243264297884495245233450179761093684432454778537644901242390356379938743746017515057411713837945199336571288342785961492325824087524062576201248786419372726818118657428948694177872989734523724674265282579465448429294967317940823108274979550138866339114813159004115178962600240851986387735856442012759478487641009862166493975941507379176782483268975734503057795969670003014176574972059836940797031489639256423900335956788474400198618603462679948894574911390310165728232304478052485845639545002990093746126102171557553594626733853086279001216040991494992654133087859971046467727119187393016455776904558255414738207363130892657803963624019557188811952916062112005047867914979650997907404620626238672885881533817414012380661169834319417801616679615777703159258352080543169742253722856300731870159604504278801121449037896436710194283171970896114627762300020042771860935070857969176410982219571533759329437813639528293611130650509186962471644692953703009686291447271615976770541835401181594800336227729923111046704606908196924095253423271179559244726577602708834324384644884567806282917463536994283020962344294107104910726256721020463174432281378043250760025296513309575329403460104140702179174373265222861987567610997808939104531357444293127092831958532331657433361619464760931297821062832990835379819316253168387359492961809410232549919484684047763968666038097183054982881214329308585524052730374597028716338007906236513488437351069421403589440060276184232886926576401486077350753460992184363543621197971627368721198363369837932264116809605016148471147163095808614736659440395505456106937614282472742768941940651896323048688495675761163158699261345038272657720877062381325077951049441190754947319222599099776088894001384274651124269210939795439607148451923332589332163838143993738667181558280826051315839430707952596619114004960952175246285589751294768212330220186621007201121251444339485494239677927736183584692645429056377732645884582360459935711594662543631038582463716872605470594342208977638028026540047004942285826413789321296220377565549680950343168653784867891762597834222497066053501732899390951416284705512415462933099649154338662954925181134022789368091594604018515369239580085699666824352899381133416341193436470869155997095826679415147718465476871390964367252324632880094224258349266126180220121918392277175637331796586711598256939077734753314904496007405504264155508717113892190329012174795995494620963489023518245624069719429979992656854790165399146799497096744900134021036784294150603465786127342629598702239124672891001255604894503642594163908158963201402628390313331645812066055617926115130662847425139680325466668649310424860314239775391060125050883040723236862051287011504768419871175392268361635508651963354768365007867691815267545828868692526922520172093229162061056762628894210524550703049474716948948049836515464821622090689991844725076290108059842892267580128098209432145699147483787839576146005439542931327644354868250028322741111394022302101637226042654179576605841490616018186771642646667696602111893357268907799808457939671281171735427271440488774147284346852456199462456687181606051224573696324504478285548201984587840461158378784040614139601359101008918684413075644103668033722359541530755969200267563271046840850732159170222980695651946493893620892889724552861004431470650579581811602812013683861729447351626427275997608988767369421460219329191186082462367201621479523147292638384390122502742187520349379692539736387765733336928635838844727025511476174230173442737770055442115729599915557057487829531362813014997209434929059073484999344509978860086585416016375150472913731011939625577076982965314783096101610126849138569205345441850167009345553752622135267218060587816514877058150837692135366077831851860818262185128338409139426404996394446658716665831959805297623780371323621451634399221076985231859528695824790020609716568993161263562838088205905888848330660353555310667679988906003904908637523278351697314161847326469391907138290612688368475426756040310022679685711887782786265451555026545822811689649991232336893850601496313675237605455638324996776700501729166061016330952109689294701721554579666110285873421855558480448533507433961991547488595453292274453951257162549153873386393261162772414492274474549987685849348159763088625254104266241431681399106145751684952732435608614731223983208521450854628846592271009602219918121392843089493456294053522729964440124824416460922028953801977293104495642017608968954165662952408966046797364970319046390991749875742276276879372962406452871534786211171568358274192838520324212908042593624422842662306431887589683035907306743139653633019498300234566519273313800220624837512976612455555955826236220466908341199359209779834017698016066899267202645138741424785685112994475490898192105550237715876870360222768051311629144469742758098400139788773063283390807409104074854706817245798323539254926705173986695944185571577669953841246869346287120486964830523967236555277805397234334946417810442332897241968969209032697817856987678360405071395286831350344475542443333357866933328460142453195093875371964158617482947824823366762314163523144555825060136734118153114799086902273748420678767552106069142677670425999982849810401791854119908890613680743953380903617572048027119573558908030973648347358940874715411601203054365648261155103487331372409352039280959103062297023200226958608514946561077110570606472797619972577223002007786619497400302539555255271319219966634965427234945457745605532558497926791152565499897226795145057219321971095154321458699687704575142582766846340294690659460095456238495010178828501380058118014247330053542790462842411562131000523201101414113229356764299983869674571292941967023476098406526002208686725214612874350556950385755902051704758170138813062384848455396698803000689542843554376323020969241555154639970141625402203638553762048463007012774581416562654265469274556403771095907861579835819722884958356713482573710053347885553132490295340977430912887695340657869311400443604943850484823946866214386794815634348115336989311830127263697812797857633056817282709428772973655180111897152276364593326584147880046003476328315496615473833492094754121619433796584797335746295594579314395119972665888124541045242106409151590471426108104120631247331575344098336319759003204211364589763050237160042610762693310028316880280272344890516740194796370458944960490884672147354719761153791796007737139687839304669935844490638305695217461674168138391783171767673297269356387234852699370611424306892639285776424771698165258565660847431278594186688144972450520900145450065560166108306941247020961331695254003635049804667512173042384009881195742703474088655588420584192067882766639514564453919283788255851669920000880750398077704929762306700846553160588396700510206656275892380402512384851484917226409880668778837291377156227377221652408511006679373785440923340715615372849744662143724898067914993766305286375000478864334227588725232697771584524555032626034730840833922814133000898546890493101069882284769621858513826907153274563381304409740895376587511670532485380087277620688779526600523216887931904856184326993484845022710327390014227087282227760625709707388331684408958223665803197654040753296714269900402673238263676204892314229786457274639495968536663419261408191278395206391223714807726170113712944677245003070181605689012643107079745125569920800014581044147378246144214908154106166900315356452582884800284900403275974071799419041171669544305480711465704770907764380376990190912772434316032359314836741825256155506309405702009299980079768745724210226100739311793339451554112687557904318008992750557057898476490951345411387809076581078421199714955827196857252681342286067442471330811656407614303462020121320815819160278362894233592473689531300028685114405856688168546762899682953538654272449484962570970557215286475255692408834641167812830191397985025202442923720233898319521569049317419392865166612002961432555814587765006656938355927815950713729035184124254662395377434016279522327637030554622700642950173141652176022957353939677770346184944835085852170992051119429006999165070594979477926148226015398556657906078837562212904820243400787569878341934779575774032796367309867707763932808178557496308614040908209195950758412512336385496155220561733229377613643390973897635056032726212708032906879011017701434354371170034456901932778874134658641016658278674374793858452221090807574502720864775591445768410644888543244311919747047187956326336350098812606097468166921572514220708202605717164455756094016848818920739476340858878977551041787136454828026704358930375644850718951879440101844847645719637057224178270607390267690006811772201302191036458755586810028477402126172273261674186371659136823357905113248606762742999830171571701733575243820005038674180232595416923720454777557354946006503701699137954645128540689760460816373678293114769883450367850418020709345177803091754251841639356925278443757643655551687942190522110193448853418136597112690186528783660472852002883405597854300469349859643955138390384426104085577962452445052490289182195757081532807220916556551409773623307744388592318010253591551476190679361336861521433035937759854639329003374088945602258552047624729190539279161267105405165934022954339662340557860650814924370627123471562183698884133436883056541507988625310040741193024808605414802625986083003934146763135404951158133432578566247033883839440973219213372467348654345908440279536697445885149447600533022300656518524023945491123657398728843611591201736101228156967424057780363567160116393198618302226848991283638212108417571182203542079118135878114382458842845710396041015709960844406374847195088445464639822102121206295173629805577824033746461221385898995924889127647028915922512235017858572017915697909383119607664928535171319007846969755991562596018781233768015885889056260799834511087195268332911630986045138342974868167827901198357711211764601477609027230584612250576216686718984634978110442179373301559981484218017421165766930269795151467098847539453247932128691982812298355178326647738929328318114100526792258601284734957533644646265306377366710582892024180560103586770497390339458957491991499231191898422087765148482283329443286554952241940168161178395270174977537501813047404639893467076807091740377121165387367414974573636531985731136259533968963295324205637624217813265284853003955527169770113977409575259650627976216429632062136231636941587672011200686218631137558796982986779497354522915465779544264890024003701925362586456343565375829770334914697761432517973685022446092365818423032474667036779639296403064816562111432652866813554490062040404842754270134672529977154359989889651796783298828303935426037906269005584502358291369187105719541919160824750025728746331991242401982694036640206493289810128439159400861072102975896154709100096841515498873804476184630769401777580032558340827487139370574942244601345624797235535828301188689288182132895757707636479200899145677479875116456368279042496226600611826009379053341933658206378402546368108361818975535218510648499518191344211554391155596400223484577519097499942653740994241660746686552200110467029977897558529274307218845288197290957442684269801966073834716078148471152201095300855651756666655935665044361023589298695146784677713366669619781581749291495651356828835598833085878511885037918915192515313552848891348541374877149512726347097353442406195192592456937584966509992060330102236266329451868139389710284182235486826426669962686125220175381894303223163116472102366637601193644646034460678866771444788085006133980764350647034931924192204140211226802843689976075785338765345693083932999015136303373816387657371171020604598408371358116840201297927743303833956104693808003215753165459849331525462247453708975583872957963906841572232640758219518998213303342439060184745544185050357742437890045341009490612962935396905199313219512738021079904225369724268858863659587672708732662776507757496101883760711592219579171985845375108621182372840468243596008185153641787333376349592384239975938854176484802234786160245739766852192606189489903867339583414001727818310886537793961390631270909152241019885754630934635701434868111712222667816488598727982016906650290714354478083474651443864095133945821416573476594288468091637828489493146672087935237704293671440493102061089535003931572418805753380573001821946805528471303286436527215491303402940752659991665348056423627658574890389861965803734487259733108085868447919512132191655861562241941977599180596187444804828408508524917611708717639051472726104386438316808455403904085276488581497946014805684351655596898090345242566766561512415987714626481587012422627669667880079180510003987183913350754741233797708099309475956005083082999525491528982229034484133921732230384284667686168586980150767174371299374348362245163921933040198765005521949952643722084604299662620622837257054164548776355662941480334232827248645224382405732079994763376305570011888356885988673189414007232941671529671671174260454713882966936684264612150029756476033936542977511555446674054430134415343752137945513349790387990767860887244236858981770141823537506996762563206525371712915895212119501259032766979421955627562359471192913303026586090262000820009968350306143259933617061833123279847792993375758730334807842749955562258107823110487960613239464569469920936224125502123148486703382946630137586232848308753183972894421118936117855614991497765652822345868191107030151562916155856507373686438304927513077510553395324218577514361241262630770016801308439658660221417609994254533796571847304293104560945253615639190386578886188337761381481127499233316766382375040671187886463105021541751456331486898911559517618003650011606544248670973804556540245157396441430709453003038225019848086780729959212496672626858398055005046683492082012382104917919112860852997164922196571640862517743696421012680023138087115696336666042051549222517275930908330599663891868084187908881121200929777733019278986247066277262233895674313778893869775314298059260842292010668715942922490256953096105710659259297446690610824234594621021109321150543201405605388675266303285121487667134772469221299839658883654522991049992390460095484548270009841554158257997962361484544688880589981247471782458264357118036564217812205156235637511217726501650120038704771128543449821629216171426846801382517738964317269442235765914095932366045565687904143785410254376941836918450910335057728257223691033540090235096807794900631618769036947797333895686448305201266239937986611648162810707919545404325095619605847946207451765980493966228494707457813999108089564899697749709251868448038982316311168180632270699905584317750418963374457843453168949848527755726425082406365616109060199576250534055230505233393690129698232719149496231033082381567670612956543765596095596761900356835381435748896683057181428155597622642710600425195869357325615810321222361744724665180068150534789217542520324861485766819499116820166856909816410129786610688879278892558973088928518310917398101712476113784474053152452447061689136141728822828982701259736666215096603498050042651181246170834375174346566656743712644353599809191450594722177998170619911867715328940916215750138330245794900030477727246765710732725808120628060167649953726040746596478510336015192769338131600467765016701799377673715199737961088137578833805559725614897459788311093061394525456381885686634414887062167178674003436233850747529917465293763096477234827486124466425658507427510810999298606360218662955075435344189525066079914670398330109445910481473559965367504939317746582536203106016229067566736547594050436684719431010647494237076386141964117157301549580793247511674877100832506830355247086668142654808043534104824179856577041461668674730778065438620688074516329636795486054921108422700026877369523492779426997225084643362051883460028035453776778562826958822364177469141536768726313966904428736335414272934798693745667922639890583387745905813900622744348218925213292483729219937810210759730836142259128044012959108806349506837074938335812506904951678647388316672769614196103131612694091032383023775432354740731896935484946573004927621921764460029386878074738766860818384344269151453487478942504663992204708116666266891387090426245496874247758840558799263341219982552861936910817554247699482943918647807211733817631306993546628411275211511515324511903653439187565073470849970411482430612806689608837671217215879582930060789974682554361624817026648475445354664978363708708799261912405737296723727954892153894794613065451075713093964326835905826627068231971926586142074068497590465148547826281935957528922086685744322544075726994279048792256496742816307767426706816150549984993930584133518087632443791657933896184593022674208164725511115089507568422023566020043570541357167328928098560639661343480733946997570061337489393501433865955559061460076641555086572799930704266373626336465585763342164842613823316124120265886429498302695039610753344384128410487096040974137465522191292752995819418592506602427251237118240361438704304511910153477131523224044626002167883131348985874661018113743383659961066561823581627823393818475253552572392097958083671207249185512967170913919382177161283319935670414241300607242414621975574777889899190300995694639891600688452421158835777982285418300471530069653144113871322823850643164029638228437858776007794037629669438032524407911133132909590738311243410064074898733581529253232058739941211533678572050815612816098218255152880851635759394748857989802385404958205853232362565178031130244540211292826824671144669315668939374251845204514560984097464669366112190885916257169409752132744963695326079991839894386124565352911161930055377654152776209983714591766835239759823574809208225119915620079588016173490418977829528025183711745142260310867638653693388840297815578105170917019539365875937992779359220367857178620243276692601881895902715317755672271528600565042056010930313325053375662479716116645402696061051295020347062601583485426955276996608306249505217008419438067108347593254263662157873847405583835808427611199656826275615556793436021386070215544883891121980401320246205917568921929644297481751540139314135953764563508626458904478334355843516686066001926010882563743555571911094879803826712924805438620626147813981866527554012937649435132237432880182728872073478520920464103656600973873381510553387655559877561628182786315694670900544156510036473392710886561731386468671054477104218580953791989353335258584573112071290504138711478941938046671949086528373148777702954057540305964688981471913791104937982330912249835724186142558420670683838944417258907419630738278618595972403350828272613549395165111086936630754602594599276661860552786345609946477565499159653749685491835925757268195730996912267980510119011429299745474512537687842884405641314220127692652382765616135005047379847645520520202961409540447053023317941460970352650460459592436573985671996500453041535180335753083249403522128895388582557041326680982109179846576150063108745699218472508712245392827189169682106473083206459562613979969905736288950164284403422457265062924133177291551723832176717059969600410283212075723797504421352696972554697364478859886745825853954794206160448556677542896648110725319199595355339193906823374958657752762638616117729766824828688539279929016348708172644961080130325330663537557864131841825176757699821903958516926081325002736353868763500096447907747375273542894632237539756178863011678087254335255533098516897161547265005552545100363239407906485363688674567187385441086033671379646132562058979180717118061886851389463306635656690675185986554780930116166759852804794759985492530488437915319150591446925765445327429851220829389676925532373401822446360937262338018181677144532433105266654658076271500705702729232773637662501231012534749088852471594596162170826141954275881236910984935880483069904002247200199972506568870157961732727742273054253813622066704107937582387087045001765129517927521703063888366513300411959120019643919387177340793812999906890997070213934095116162040582733760610059268953317626312121957447355303827477118907998053974330719714720286413243149222558440077890112698232030755130034141727281432982775884069438802399933819899616338231625117609154332610412142762540690261750979439121012533018156348903523466978749339129676941557225119827745639375631991619240670502356176329602686545333587275168037584706116032817581853597892113369924021990415570999861281163417687273820699768057232453624222053807909518756537154640798713698987712080446895845296319557736543866056238823161128668438635056796380564889353103054882032567779856302298744648089666592754980413950343835707735087163612180826959044718852599233412435636795039106749973119317107674498282223955408158166683104359393899555756147148495477153609741941846629043281626381642127512174401415664553490840087239029179251405135261734150263391328343940509012893286231728386643678114423050743748949285733465651453930223772378226883458351306048972464910808318361101804421975340199584726367718301577336521893618644972275134321703351487042575226374418874982593142047563209507113606772268874072828272198158302185649290966565323882752365903297492460798345140466039745997423086836326486128958516846753665111478732988279543501769016973762174127043449132697766433448790567087846883592930621593277048469387466829297314035540715155312425757900598540206515535389223830354062655090150373706945943777390133129870987483473102117550972518552697504641115080590874659801798637811220022240963875246776121165043116597143902474129475711621406747339452848550804474399833995255499014312813506789609133096096492372682223580606424192623282302953000447528052944271930687274230253078252780687427690650029925010242553351813837524431148640400483276049586784651888572449099178337086516372538331049296082162485744702030820465081405085089934742531870050803213345397157210898220885579001418081057143726361740067029294093270078219837335954665321537719726663149829234165684187263646866400663267379625534951222349812787023407056601878120927164055285015591443780092102869718909692811233356169288381887253268133122797295169652414260005800497753956638142427543393387213505926285730951321114816712769582916352556381192658288947919268781302308328616216699351827659870750133271626553662454531089451663321389401963453255857705171259692151781571417115724063198588208585262170477096184652812777393176958269438040552879214000588198027160790355116035454809477124360043975096319296843141307764666301164557656366567673725116190775134266900427473990744573068201633824531134852536849421298015750626119675830906371018803753343415403610795341106238995723931499150736983008226102162363047288789129251948122485906625421365489043387672347958831557215389814223048874604735800362952459300824151341340557975236546324197049093878972104264867721688017366350954632131134292462919107517959976968878751087139871863102369800194008161182675870849224079609447653595581695664261658832174373089357244599800747909463927451090668052859503006124888004427228384487025673823525732868089568035313622313692499192200463293459326100228787085042019986362684027651968782495813978442451951739768299411908168750994900100678832135369499029825404034272269274790500246512048454293991086909971739503808217663044025482478404687213626977619513095129103223357977727613425351400261763319593520357215953748980569189632742977061254360253182318113357414789311691601333198203272958100274729643535572700303182179621013070998422415594754170082456485787892798634101170209169177927448399024079746479725566433469439653136585939634410574678552784069672413654037933656949328167805514701861247808318088280164881026985064400958703172305653399622046321840009949829284027015931435444459840855259671616245158039467171681289537307368038797215100351904415036006771809786706960581830268860473702059470834716202194864389545452211152931185499320834635340792951044540724741919721323609822867501585059346142908245630582042077749581064465261556726323826297104632446801543627168392020964537703912161617941826997347395071574909956917308360676426087657417127540725112306101126390405750511839959274233251552920029832714620569182248288147394063047865035750867431059723925706595150941123202078998339170181282736805149360564031584207625400407143202159811816511769762851710352799642131726365830882560115204509798297251052321481017919030428083999982706027773649083212105232154115247534788270348415344941751842670651733589533509025943692138772043241146098959107379238062143661993758260701130639733325618304151362831247745813915548257250173369896304335692209395902804608019552834312253166430376971396563356626146580107690785536050306296215468844129295577019225525168515218187658516124055737697124836747049694215522167126849235708707386686831526087960511614591833092410489589743338917948686256590848184196643817882074627714502961285357909662132920012643278177409373604672657009156837681838242513194379368063232787739000697764472545969728219747821964013991316401540113218407237206541069569039170240228912367565175655801792225341503360417482391875542618378426665363979547487170693748201847609975486765106654903930855144541616211957520123758021923780188353201759521921405564360568172354110104534285642862729353718775902087040935564462544411638312978163608154329274774390354391271156078148226067650517595836173117450364552277620373844554867845337784849895676392449538744466952745677845158963373826930077434308917021092100263227455903007257887381753441206128354695810670732282444436046427948837590197607664912856354444559820558559961568277506302422913628581948307860049230285986401082670106410966465371657676713277273853160061197181155008910298656892528327167944729463856756841231035004449927118007705162563776210672986621034527013608285523292411730594267793794248524453582254024075692083088946376184705509291530281747454654404633090813568645178258513567940408011420649481901318076339509107971613600481624315120583143299670158874805274410606393375476164086302034780073485821041928329726147044373924667621706818547603767824349206381104036995668111849553428577851965775390357027055331953831232080684946882548305751688836349805307207558174412318446886243743867073305138848035574073232679544417697170738838049153788238749704445151647845369386892034611167197477274653013432465288627944172658042532046004975286464437101516597697065310318934951211976152388655326633886856686244588427329581764042101184097030378360147641100475847422704541811276797711398957728433015279199702435475449496035342657729072096040803029070890593248215638195342289397810845254349081251876039508914656121190147160795765264981500018786941780906151417858184314444765628154714819761943854147953639693904444595630125303604318666068226644342539269362845644029928029601960784297946296557481364768535083654771803202131386141415141082422631856537128622218725106586766467546322043588081354385816846824048931802962839414951995474128423620888465982553160449535194721988737352224746767526229241036908881645271682642465054843106163168791876512285441819331728327226596137232752294884206498531453361197572846248832979680755857460705784869159129324398061048891800242812165803928185483981126500565786746944874114882750861390598383148904083519045459414629655938056373875936458706464678598600441830648026549326543011885670537690786085927801503803538906537739084402525219877184613332732708905355373328123576983608189972291137738306423664059033054104262363737811835650007194371869368703759330687052158431601692633540104043080210706276369680382078067195194161215553706950334169801286637959457970380145056534418528189369506653784237615778904937168854069065656703994013798540229535845211793189098683251448443029861366222188113600925046468388080731931078332695308273277012500760822384515117382956305020542053486650808784505728946796566786229754327546070026866716131293454896832343917758452963650404689787717756496535747023191899826013493401901580946761409814792068568505810561522437185561064378625580511514051735668362259598266253414612602260790821545844305549282390203631177740347912494149541858324293172272477629166190671262081363215015794613074440038254166546830996250702855560197938920081601329115448170387077257347716962829986334947021585293324601057987226121430628462605421775026457317933684574427169360979234889159345678554540617248359645333087070287365748463815480798210252779575106943673008961391964817182825322282699631070027562604460039401409892382657057071843189309867499987661022965075074426818159575078178278858128509024095143666852059435543984049220153445276625096665129134065455657261377804620621112982251265912378354685701600102464737089221137824787458858507432184938341891708590216386910981679688311531400527158019424778510173946195389466261567551540162504062309947841332494694153244018682973133855058499546014162177326733534499321971103879336439122728822671191448843195043607356429246473566780283219781735769326561716213398252878724106557762778051720997455656813932438990101263071866065299673378905178713830676094757383916773921555438633494653460716124343080276503833678719935692420348097791709568684180112284576491266580175842004670200248588192944168290735744372111914953631011975735992967153793710853585232765856013369741596840082503501730151887656498052319986339264464623516266763145804375543395687754662862418670748471898210013981934876918198317118112675351275395642772140668240859438711984899974417529320373315268238985931413657837010781666955163190326992958759353789546643329669119137873430967931805073852149779831560999470451231712409046998369577638685477973070795930089643295513258695254369232259074218855600863890156965314041471402599487901138482393818406133095077674095130922806324309818723263995350649497775304338095274296462345928518320363961760295785176366229408239778695622093112839441019319424555747036911247726304642705547102217794410137607894420127324214537482198022302113303637230862806820021612767388160058507956377115463342814199974444772771839690261689599756167524370279953441647288752815063997748858868903003059410403795370641190234436544428895058212954922340310954718047007365390230318708467662435310389044550416602711412583878000817345735621872494111974595208450633998241741646906196374160501329290377853806119799453488521262383316527195654975567586225283323389077061317713855681475779876360847786621970320764675919008597021836761072470572680859520518567890185086913700592229299878786743228323205641093332833186074212790114017065137562676469479498787871111615246113972135133369061574085499449793675105927375818111480553218244518771508224899296808508280532823041302369249523196366621096257961357104141268894882999437477406475415754267568944793820759822412400011532648442777800082638524661096944866552450720619481548070262393248890777513103327860257151835213433560708970207220255735368976654986865537770400994167478192035777007684175923695812494952911372895593133669366020423096187755585238148149366908002747759893020858154839809749560799724287749293906339581118729765263946436609018153570406677520150963174503607394982081745660865020961247774131075231238448342560838795765740739548841561657348026430209033461305094401090153918057249284042037383068890413650694746910104769233502567607337197841640295661748093870004805796336332580404051342199940430612499036227032998205721212599261052210114331053731806756390843227976843653807175633701915148751827921646475003857204709652640070098489666741263882268176388367332246174138572037844491919624318308665415908910620354074324872022809288559974227797783725669661612129890140418084773209292497403219743803461808208329437477906659040956322754035124283831586663225500090470878253985531809725911325135225090728528400681629329148734671165147384874229849744115103395102250781222677342833199008256522835749789100343155204461766712066096056143441466590888115445069087008150145231815664596409743613851033664306337352609718221700447038700764950369867562523787844037310119098855994804771837726126774882707700861344632625163827731299767895690474502598943757194617952208604208101320770126336400866287354039444541941249548555634407098020949735399678784972412544815062562517102311537725509002931525280998082776818746443087372553530111724739027199595290057405791819425969976776508475433987582258990806312077789392949386081858020584778206062114871977886892784070319524244792100337148451549692534675630283716793984181185504690980727319465891767966166608934467242136918429457073539450640585166984586177348640471114696091887994780211539449000586016841819570853597861372066735121720839159825439532749570265323635846815877314174845525969932846208406506075946782292970265623304873682723461901618801244127374539849421396561609889685610472533801814397717544700916084194039642328222581952371896439358595497476662144177552299337944250624612452364313888120678562641654905812794741876761877627898858822086566477496920689793015364309345069502623225702518880030611902594143458051970134611642049772328770388814147482233073759812381876921353194442751912981155655059478689251423292500224188093929583258795980096952082379586128507225356797141080312602153824399935196785623525635378724362758636770169379866450480018366301745963031353282994089500446594953736850368733902604918601877138750020261938985137135370345909911163736082990126043688263374400516973609537384039240870025024418952823057585385025688068907409558611295837100953085513138309675449063092534251889655269785227346282137138651819379939260403948842843332337693105631742153201606749531855592340424509812976783213966011377911169724460905942933159947649206781625209602479899772993156371941231080676316040971383172841969564867000333221944662258361344575833157053887382104579385817282342384008996500861017934729188273138857505702414539445418087688555914675551607693505246741725572445293172085228927854729203051421202333934979511348823998278373066214315454848232100089718068237801311066358412436991203780373026594528713203488794657549982561783886308958408531247397170972472070517231442418796419322481452266816732726722988988244720111993707142381943224960385040327077764126947495481853933120689272502888803251667406292620976971237884247198240730967233864793076537504326462603269984759374555743971446100113555640565889714287682982495679128434228654877586000890675116635725822763806592956535217053976782660629131946146945606225990326230259732046336200645638458988620688612852644460421318433946017633537114944363297478694657956552340893923358047250398846774311958517818465373902107858972380153626712210977508835354189465414149612780563670895999341472805809718932873448827066309457799538594576642535274499665263943639029152670500409434543072817467248015128727786850546958990675626481516532049457976064833147807954660185951791305071799674145243271849862228253062077582383635044580247934823429739783460114294786895595820489252775698925874612350580018261207827968044175973652798570168752777270649283521149017153019625724303330109732377779530853203878917487927018417768202685497989423906059584337340920642839949600000349547769160379037217089737802456739315765899775689566138101891298157309285231163080050530795952927015010408848266567897595936466245632490693282363754390828983471850540269199872987493600671081162983709610782773661893013129950206179574151371000648381729986779912158344449613813717215992709922670994558187604716799858647484676558020397241834449259447214300747802001783781665836587448688355694602831351055808819688753494441112202814765982630797038675009843649879806372591444827335632918441208226370961761760018164779964474124369109734800035723387178958530499736095563664852823994136371311310845640972314142098951115518924264282796618967359255214607858518817602025856945290788156358074137226337374104420976737968463073025178435700283039117427545780316881193782084723180522145948250097708846157145626667731180386544365512058889386261385617053643491857800669196011450480043500636696881967075162380739872053679978441768290854135738226399769228610720973587772452640805476319575097982100019552064740479740816257728828859233464752453067804683999041513084817656194237354659432691759219640728642750026274364872945571920211609658825585341980683818160488677719736544197983352406062135253997642286489321152487415283255994032147765161559290139880230149887384154003550607517693073848510314988981305147697238017255140831150746726385294030523662039284035103784899777059353845679365934996421326723352474737936377065690771892979355945123458444104353269277691395402585240117837909741583227785373685834604628451172631339729523473810542500653429096659479741941129954050027259323496728271823901896965863215264920597180433122150675459748256890106881468474662872739093754685834556190693978851868992705116494314974884879648163454105650244131287858690669621881344021126538320012864633839733257033097180862605803310890908489051607043681497463412551565313540332555166698941210428145898276937775245265205775940712363172178135241665278650147293359888271444183498382935060027054748462093629639339100646628250656680260441346799905209235921714473384229668428552472594802681566965849043017345160339381087502459424892408628781078401685719179411943609650541587609816295658443612847715943747562342271659542979074114806969312588930724111797344526606070321575659222845685697631066014882930640089060297103431565478940586532333910356450779695348384469621727667589822728705447159750426546130221142875419912925123076330029394245231102588666102717188052454627763009295349696908597597256881058570462097437854565831695111452636191160245856562965723904445236243501814046755349150921286231835696627964271369564608000586593367591974599937402545197613823729578661786676946278655478450441476584188547570035776177875655311252268425625810295300067618206859678295018785960875817249639401030487726315517241300400415565909958084479631744967127323425183943716890696789217908433372934321759817488686411091530930600916303366185854219968292718146501886239785607658353168024792182865787560147000400584862319760172491043792149729796441540861231529869800065416228028071796832024047436028572408098533158265748696173143688713054570643077280484511263925076633291568414078096768224757781611539259156051457311631384301519193157705117040371263611586975110362663054682923744882900321472120663844721509555580630129096246156660301795190882991625798918784964458450003627555763645262829407227329395021360714128326385112222302204005774567101771852924449956504989817188495595972089773151195273047274939543422691174679791683027633645116752838622682429419909992322682333597164725990230575347124646978152590925438634352739829846464565207681278342468977651155815732370249306971169802267437352057677225045504667487103829931686516107454580286095100181369174454740906818042346701691017215398466936854892223222001526920101424912160466757757306327850961253257129465044878474420348351953899510969914611334589812530343376757171763381408764000633348408385112445926172784553274385253536870915864304055942361859240553011889959377779571929230041297894702637698472303428468678107688437565612117355544467917507894531309216626236997915870538671351658677148039564280747907992267630285122155033993969568717407971413220240345221383753945035020343522545144436104027644790113304065940052713869727693953139084110452476687557807800033552706818401203510267828707297497720954898309800958699180030669632443882518035858482161255148073119765301238224873865644897403312935791099393737766652316742789312976898745530561328319844197836976665588959732309289087691335617654097872061213732324789624514081476063387672908302851007400226026641273607912440844477099270566067714165902614569583282546995551151498618654645567298063599743005785526206124234538731960043747764302359225099868262035607585962320358527722909042219151508780230643489989609462297809278595559527748896675008133268079051121044251305805586847368117407668294909059951405194208721290033245555087725341380649879116639429302059689047584591338537404760729513382637353145994258359864919557036455333643185486135007337960565514643752008777804352969191227074365764425600695724472752804449731609033988303233930801843567703808086749670378238365592965773150177009808070102208035854508717944046788941969057175457788527196703914857742163660209849372882684502577849400587037894753961963091604953954615607600317723923875537380972256530935751536881907731137441694994686617570287129366685852032205763411146958205452346587542025869445899237376966289776919103912718462279398776819696242705614486590171964291884415483362178609629210464120142454140440789453489846348388215130710307649467475825947703526762438227973825657415147280704221499991185663129589867225948462853035323886348840698366362992841487582585764025112275528091547208196935042105011271706788341809918611800936648322569428890652164686095997420657065674799001264173542368161675279404933405986271673389699124644772854342795270804100699348055772899673660396436314567380840030132890631495089846046613104805729891892099046166119480034583450277741489511699476206492192259927051064170433551758127732414109077291863850123512242882378257879572778560585495315277383881731353807508584817155913934839521092512883186219527219750341564990506159080700648124591674586185761207963601616782332228583831777148567460569876485551094701426607918112915997423491130093682693545780155612883174252144644281640843817177266555549609125864366461824952829901568149467051551217053869788319051865263716905557628990040631528789912916256904233493879117339821103847426053359996290160089510051817903010948371392834659615906730202300462778024754922197746659308360854507412327159337346885786812089796261564664279653409415416732565960093152613549438992959738481919123660869606884638652534005034855673819038170584448903675112156249519106312412673440569668966220553828926484459471062814043540044733958598094185052318775667150510382506348962620137331290518960109259216790642882264174483738341285934238632258008909748514237358656099164213305150964211093783290268611852041955686123858986638277149681652961635829368621226094771658547284456933655238589093200181963373468067384367096451661260515900231241050791985939697333893697961582275091343948236907031833740020656873241732469567807096615213372507593409640316370727136385541128419437818302640872685336065460547978050654634378347841491217104562023522077764703932647473018198105456943548999945946800824291804392536981312967427619803988124787440888432807295794292453472228670262173612501641476593219321162823143597664588384720996466750887385788353392512080675473420807081590837172275675079937867117250659175888671494211075220189705656826308322748731407173956751692807843541983202452386491237140620487133938324986206406377307992700126210687020365628570656251766474183820335194628129194925868102509927053927114383981730911989225720248500674552995047871453381423181713089297548209088598585069357292265911203271434332310996855126517232414613088332408624250616929116902299818729448364649505443271844039258315043192244337600551362382076109741465822738178029516421723908759591883221235375119062983608934355313050881915655613391694702593451361427531948464900426352709128598410951326458051831933912314481393955332946525322080672115881306131306059293961366222652862714842085557747355849397287234827623301965311339030804148682033035305889280161331970533186843807113788800338211418989233023880792517779967035632018212883916699279733895293438897199658343672777324967801987947988289482087837348171089883019944387951585470027441008218825367613275754712013591630725411087138369894693204755663389479403856995493458408030938891972402003485694819675695164337763405242176233641397100444504511631872742717841163143765852363349059017731736347214305767571711826355970853217590348080860019203005200547982855979115601166830374079889879621016932374218200919094162536307807217479672497020566280451326853609361981899411672838329062205920985553051198463832772105644416148030045483998030067022512861968426978777266346079525314013590643737737176192345208566945361115993024760639170656940213984102903017994892974194942878617628992547060808617442108115372211067034440367875554480637220134902755939782922077066346838480486931923553514231735077773979305157115399623586268561777467879333450048911500561281052814310284665422260607653084457724501847121257347617439425184913300224737036414887620043153717456142225792762548008764095447964978338891117388122183492696211972124982636994748076974457440660111314934654170634652228197473650193211729887052127366027266827082428188541006222205003576260270355306386112816674147237330409744042749827417449663506430900001866054554810016528909636755645824155023998920831342501163288287559302250381203190740128305966102891468554305322358659626940879287400576927123868279133202240316713559426524192284360246553847621057683091076832353174782410613493740595490132614569660343993930810931619708078169047471061524305771582566097887784761838385871513204174204457880312625811679446063215314494363530554771980649887170606403346021760183452516537021638049884228561699996291014416754362557810627765912470368829568780999521182627367696170284916094639904409771205622557355745403610222328957973619346913590543181378595397564469904297815923359184367795811782817826027110395396888481326927119503210969283370792700955950766223503368038812592451150885392056933500775713288208923076645720775543013579666628484783746215293976992236568725884961222035389934898035325443099949245664107254972648764002513982870041438472835720889553644875195544679585858753940882692140967658147211800272292996017213750399498228637194265131286422341536303632593857141716579788678916787789004166783871573248272793954303293904936038225533584806798622741330334794350973886601581895537352154736315790349614334776349556340604452492888550589547262508577282788565403309230974235123439046095325485231661280685442984062783019753570609836601260745233008946093808627876627105810917561667600659303128773488304967121538200719926051350572705496176595745190021448545280683171546006719608980698626135817621312018835018063681629711432979993072052750995100395102885715664099492820722421401628915927588405268722148564854527956839151870151386590395904170044778303267096794135495111747731959630637937876859100167065092104536898443832749452766651526321798262047194212503840882033184681143527308422491489643354971372242800889823710484743784548928578159001530547093396389365209468765294095356227048521410443951325756620165489

    #14630 Reply

    Ray

    What wall/shelf/volume/page ?

    You need to “bookmark” a page to link it.

    #14631 Reply

    Ray

    Wait a second, this is image archives.

    I don’t see anything?

    #14632 Reply

    Ray

    Oh, I think I know what you’re talking about.

    I’m not sure why you would be able to get a repeat, but it might be similar to why pages repeat in the library. There’s likely too much space to store only one of every image, thus allowing several repeats. The creator, unfortunately, isn’t around to ask currently :/

Viewing 5 posts - 1 through 5 (of 5 total)
Reply To: Is this website fake?
Your information: