803783654821251111892017827890227078368816626831298962663426559154190060029802146753557950793507971025018509363532104946605561229324192272236579228371636672214279945658769437745120615662707704753534151433540149497036700461519066800638674685762394736934410034034084827606333772127858367526297304239876729248731444373566316741824748126614737462858147631947652523695657388445646699397086774130785084888490921813505954440484907248636468763377791726385953970582139225782387114416509578119045449784078494904035693744851757126143374182480369226106946620721762328247492011808220818782152788495787948627110888849679440497455454617277338522866605928566734772571958781482192871395099865780731753986233515442725876654670185809658755565577690895883295411144853954998583729971616635808313689287120361603168651362016893899104700335736541094362562936416228549531018122870873663594850076718649532196113943865961286452790210737235456578927429501087714494600495592404116941521787728148873021268718637224163369082815393682469439901862525119968844305388469214825028330259694616403846391934445752860455355277985051527798725617343852422586612023098882498349383406388196089793446916473485508762146949948324920259793701211580477506260986514465295261693456305656836862988908571798792267949513859979368854973009639502181485370441758562949884082947131439773114980129778721473466394819730537352461246242582169255445084611218889674899850962597728312948053352955634915627609570867305483010624775816572151769718251048988178938298516432812884267971882887021503680702425738457447750211162763166226571302970681531153828449871622737237688174411614596862251887398873775880754093563758713907218658675955225582285197469304099583379081320807743941754786295532352840398496868528474641598974133873074914634069375949244248216101998073939495811526517679871330469478018400257449819423910592706826010996397931778613900684757151141140672857018378317875096607448284093579232563510212765274682426318785391997973888359977972502172705694138558032959112466297994252388858214177969209098273176646444553785197391591857593561035825716715610413644723130581721339852957286160236431399802769967341776882051342245289298911203511169755165715697619875373653926555259798453499057365675942933369595085337770067776665369853604182546775042132697537091483204759847029918250141634171304642106323700521039133562584228950306986087366658994184083240832706227936547428334284360026853447661991543111598358394088454238822649878323751913434279987551832602941108633007925518446916124325687190824429191231305758382869367112760084987721731246293388689424314514128225311994752231497763573653912094801139298366200019293964412240225524756199526388614482750248127185054862928209281368089381966960077196425928984312204250132982316477435947401999984124251162810963655286537455388781785803514875568705124340248845693546088271081833414478499665383140910233431220677896175517097171206306625820033140339537994790363214964568658555979215772473440899199435841993027725265283772229280111078721835567356334802542452870918892772202445113907684810112922348665767217357242032049814995866045024561411354654810717356136794252253952007467455355001562768394843394618803394957821024556439550255947237284754479783939335165173643592815747956224939350335957292426191621755646733646061173483322729816797745873231287146368958910685660657358967684881179313684566223425647466711035212324431362325084157869723767714360209043625776261839613064813216906751548050932171435214583182335472182970650907700977216376056152161379996118328663433583176365029260449088190869265522448642455287616895766554722543435578449217855738059269787948867658312243158652911129539487941426123189609880404037251928013413209088269956285596553222553830766172688469258479652938137483635933133610286828269866944548265646148367461302943972524753289489061234152882598312764772622494374864545259594715764236231520606854444716146043389174400462376597664870694590469884414367629805342867687126229797099008425786718398146096274875985628264225574169910157887815199536681303588417622057883829631825902172661714001431339319977337548358182554509691527386437684055544442222228065821375534753614646345499373085824569162559729035596388816014625489455683121533617958971131261403120027378799096407943475664841254998758605124459999809656803345039009973428228698365466153190968109630745127946079167859111465668689835113120308043977540577556378115785037937824641015387646432073414493998989466107153917240368477705847279071437164207680735249971859264371743361646821358588834977720301355300485094330332736383654368594968568257480963196645234165349677409579626789376344258299139597355669777302266780242714465819384470340073843125498820344888222765205767487716176698323436861086479446867827995995593845048862532741002574687349779307747264971339240248656840477547562327435538639336630439788290871972285530407698391839005468203943854229814871057526657995797265136938926277387324542348837928912943233110238487313200986021748392247935017237159504535010988585717211761445374194710574181101965458975749334662565139737250129890742912990823797959682694051118836848567245069432293183015418570738506521135102169373074578555803409648617984777281947016158748262019498616901476033636365950139754988642915224395868926633202585518178679168191259483372238725696351824754891166720679434625678831733668744569263714012683570305195513111613096166266333159243149402286822931552258062149418075375423111089361343979113123885623774273285535706147852280682807769840659092851533260134894699782390816537707416517394903139328907370472649561436875744952462851946951784610213528614419139204601882754418040242381852874000360227130016363601335367264834841324734157249570551299116321432868743386987925948736498516143105776229747607848159954984548976542011703734664293434118022549458566922394551901818407778955779462257