Zip Code Lookup Zip Code Lookup Zip CodeSelect005010054400601006020060300604006050060600610006110061200613006140061600617006220062300624006270063100636006370063800641006460064700650006520065300656006590066000662006640066700669006700067400676006770067800680006810068200683006850068700688006900069200693006940069800703007040070500707007140071500716007170071800719007200072100723007250072600727007280072900730007310073200733007340073500736007370073800739007400074100742007440074500751007540075700765007660076700769007710077200773007750077700778007800078200783007840078500786007910079200794007950080100802008030080400805008200082100822008230082400830008310084000841008500085100901009020090600907009080090900910009110091200913009140091500916009170091800919009200092100922009230092400925009260092700928009290093000931009330093400935009360093700938009390094000949009500095100952009530095400955009560095700958009590096000961009620096300965009660096800969009700097100975009760097700978009790098100982009830098400985009860098700988010010100201003010040100501007010080100901010010110101201013010140102001021010220102601027010280102901030010310103201033010340103501036010370103801039010400104101050010530105401056010570105901060010610106201063010660106801069010700107101072010730107401075010770107901080010810108201083010840108501086010880108901090010920109301094010950109601097010980110101102011030110401105011060110701108011090111101114011150111601118011190112801129011330113801139011440115101152011990120101202012030122001222012230122401225012260122701229012300123501236012370123801240012420124301244012450124701252012530125401255012560125701258012590126001262012630126401266012670127001301013020133001331013370133801339013400134101342013430134401346013470134901350013510135401355013600136401366013670136801369013700137301375013760137801379013800142001430014310143201436014380144001441014500145101452014530146001462014630146401467014680146901470014710147201473014740147501477015010150301504015050150601507015080150901510015150151601517015180151901520015210152201523015240152501526015270152901531015320153401535015360153701538015400154101542015430154501546015500156001561015620156401566015680156901570015710158001581015820158301585015860158801590016010160201603016040160501606016070160801609016100161101612016130161401615016530165401655017010170201703017040170501718017190172001721017300173101740017410174201745017460174701748017490175201754017560175701760017700177201773017750177601778017840180101803018050180601807018080181001812018130181501821018220182401826018270183001831018320183301834018350184001841018420184301844018450185001851018520185301854018600186201863018640186501866018670187601879018800188501886018870188801889018900189901901019020190301904019050190601907019080191001913019150192101922019230192901930019310193601937019380194001944019450194901950019510195201960019610196501966019690197001971019820198301984019850201802019020200202102025020260202702030020310203202035020380204002041020430204402045020470204802050020510205202053020540205502056020590206002061020620206502066020670207002071020720208102090020930210102102021030210402105021060210702108021090211002111021120211302114021150211602117021180211902120021210212202123021240212502126021270212802129021300213102132021330213402135021360213702138021390214002141021420214302144021450214802149021500215102152021530215502156021630216902170021710217602177021800218402185021860218702188021890219002191021960219902201022020220302204022050220602207022080220902210022110221202215022160221702222022280223802239022410226602269022830228402293022950229702301023020230302304023050232202324023250232702330023310233202333023340233702338023390234002341023430234402345023460234702348023490235002351023550235602357023580235902360023610236202364023660236702368023700237502379023810238202420024210244502446024470245102452024530245402455024560245702458024590246002461024620246402465024660246702468024710247202474024750247602477024780247902481024820249202493024940249502532025340253502536025370253802539025400254102542025430255202553025540255602557025580255902561025620256302564025650256802571025730257402575025760258402601026300263102632026330263402635026360263702638026390264102642026430264402645026460264702648026490265002651026520265302655026570265902660026610266202663026640266602667026680266902670026710267202673026750270202703027120271302714027150271702718027190272002721027220272302724027250272602738027390274002741027420274302744027450274602747027480276002761027620276302764027660276702768027690277002771027770277902780027830279002791028010280202804028060280702808028090281202813028140281502816028170281802822028230282402825028260282702828028290283002831028320283302835028360283702838028390284002841028420285202854028570285802859028600286102862028630286402865028710287202873028740287502876028770287802879028800288102882028830288502886028870288802889028910289202893028940289502896028980290102902029030290402905029060290702908029090291002911029120291402915029160291702918029190292002921029400303103032030330303403036030370303803040030410304203043030440304503046030470304803049030510305203053030540305503057030600306103062030630306403070030710307303076030770307903082030840308603087031010310203103031040310503106031070310803109031100311103215032160321703218032200322103222032230322403225032260322703229032300323103232032330323403235032370323803240032410324203243032440324503246032470324903251032520325303254032550325603257032580325903260032610326203263032640326603268032690327203273032740327503276032780327903280032810328203284032870328903290032910329303298032990330103302033030330403305033070343103435034400344103442034430344403445034460344703448034490345003451034520345503456034570345803461034620346403465034660346703468034690347003561035700357403575035760357903580035810358203583035840358503587035880358903590035920359503597035980360103602036030360403605036070360803609037400374103743037450374603748037490375003751037520375303754037550375603765037660376803769037700377103773037740377703779037800378103782037840378503801038020380303804038050380903810038110381203813038140381503816038170381803819038200382103822038240382503826038270383003832038330383503836038370383803839038400384103842038430384403845038460384703848038490385003851038520385303854038550385603857038580385903860038620386403865038660386703868038690387003871038720387303874038750387803882038830388403885038860388703890038940389603897039010390203903039040390503906039070390803909039100391104001040020400304004040050400604007040080400904010040110401304014040150401604017040190402004021040220402404027040280402904030040320403304034040370403804039040400404104042040430404604047040480404904050040510405304054040550405604057040610406204063040640406604068040690407004071040720407304074040750407604077040780407904081040820408304084040850408604087040880409004091040920409304094040950409604097040980410104102041030410404105041060410704108041090411004112041160412204123041240421004211042120421604217042190422004221042220422304224042250422604227042280423004231042340423604237042380423904240042410424304250042520425304254042550425604257042580425904260042610426204263042650426604267042680427004271042740427504276042780428004281042820428304284042850428604287042880428904290042910429204294043300433204333043360433804341043420434304344043450434604347043480434904350043510435204353043540435504357043580435904360043630436404401044020440604408044100441104412044130441404415044160441704418044190442004421044220442304424044260442704428044290443004431044340443504438044410444204443044440444804449044500445104453044540445504456044570445904460044610446204463044640446704468044690447104472044730447404475044760447804479044810448504487044880448904490044910449204493044950449604497045300453504536045370453804539045410454304544045470454804549045510455204553045540455504556045580456204563045640456504567045680457004571045720457304574045750457604578045790460504606046070460904611046120461304614046150461604617046190462204623046240462504626046270462804629046300463104634046350463704640046420464304644046450464604648046490465004652046530465404655046560465704658046600466204664046650466604667046680466904671046720467304674046750467604677046790468004681046830468404685046860469004691046930469404730047320473304734047350473604737047380473904740047410474204743047440474504746047470475004751047560475704758047590476004761047620476304764047650476604768047690477004772047730477404775047760477704779047800478104782047830478504786047870478804841048430484604847048480484904850048510485204853048540485504856048570485804859048600486104862048630486404865049010490304910049110491204915049170491804920049210492204923049240492504926049270492804929049300493204933049350493604937049380493904940049410494204943049440494504947049490495004951049520495304954049550495604957049580496104962049630496404965049660496704969049700497104972049730497404975049760497804979049810498204983049840498504986049870498804989049920500105009050300503105032050330503405035050360503705038050390504005041050420504305045050460504705048050490505005051050520505305054050550505605058050590506005061050620506505067050680506905070050710507205073050740507505076050770507905081050830508405085050860508805089050910510105141051420514305144051460514805149051500515105152051530515405155051560515805159051610520105250052510525205253052540525505257052600526105262053010530205303053040534005341053420534305344053450534605350053510535205353053540535505356053570535805359053600536105362053630540105402054030540405405054060540705439054400544105442054430544405445054460544705448054490545005451054520545305454054550545605457054580545905460054610546205463054640546505466054680546905470054710547205473054740547605477054780547905481054820548305485054860548705488054890549005491054920549405495055010554405601056020560305604056090562005633056400564105647056480564905650056510565205653056540565505656056570565805660056610566205663056640566505666056670566905670056710567205673056740567505676056770567805679056800568105682057010570205730057310573205733057340573505736057370573805739057400574105742057430574405745057460574705748057500575105753057570575805759057600576105762057630576405765057660576705768057690577005772057730577405775057760577705778058190582005821058220582305824058250582605827058280582905830058320583305836058370583805839058400584105842058430584505846058470584805849058500585105853058550585705858058590586005861058620586305866058670586805871058720587305874058750590105902059030590405905059060590706001060020600606010060110601306016060180601906020060210602206023060240602506026060270602806029060300603106032060330603406035060370603906040060410604306045060490605006051060520605306057060580605906060060610606206063060640606506066060670606806069060700607106072060730607406075060760607706078060790608006081060820608306084060850608706088060890609006091060920609306094060950609606098061010610206103061040610506106061070610806109061100611106112061140611506117061180611906120061230612606127061280612906131061320613306134061370613806140061410614206143061440614506146061470615006151061520615306154061550615606160061610616706176061800618306199062260623006231062320623306234062350623706238062390624106242062430624406245062460624706248062490625006251062540625506256062580625906260062620626306264062650626606267062680626906277062780627906280062810628206320063300633106332063330633406335063360633706339063400634906350063510635306354063550635706359063600636506370063710637206373063740637506376063770637806379063800638206383063840638506386063870638806389063900640106403064040640506408064090641006411064120641306414064150641606417064180641906420064220642306424064260643006431064320643606437064380643906440064410644206443064440644706450064510645406455064560645706459064600646706468064690647006471064720647306474064750647706478064790648006481064820648306484064870648806489064900649106492064930649406495064970649806501065020650306504065050650606507065080650906510065110651206513065140651506516065170651806519065200652106524065250653006531065320653306534065350653606537065380654006601066020660406605066060660706608066100661106612066140661506650066730669906701067020670306704067050670606708067100671206716067200672106722067230672406725067260674906750067510675206753067540675506756067570675806759067620676306770067760677706778067790678106782067830678406785067860678706790067910679306794067950679606798068010680406807068100681106812068130681406816068170682006829068300683106832068360684006842068500685106852068530685406855068560685706858068590686006870068750687606877068780687906880068810688306888068890689606897069010690206903069040690506906069070691006911069120691306914069200692106922069250692606927069280700107002070030700407005070060700707008070090701007011070120701307014070150701607017070180701907020070210702207023070240702607027070280702907030070310703207033070340703507036070390704007041070420704307044070450704607047070500705107052070540705507057070580705907060070610706207063070640706507066070670706807069070700707107072070730707407075070760707707078070790708007081070820708307086070870708807090070910709207093070940709507096070970709907101071020710307104071050710607107071080710907110071110711207114071750718207184071880718907191071920719307194071950719707198071990720107202072030720407205072060720707208073020730307304073050730607307073080730907310073110739907401074030740507407074100741607417074180741907420074210742207423074240742807430074320743507436074380743907440074420744407446074500745107452074560745707458074600746107462074630746507470074740747707480074810749507498075010750207503075040750507506075070750807509075100751107512075130751407522075240753307538075430754407601076020760307604076050760607607076080762007621076240762607627076280763007631076320764007641076420764307644076450764607647076480764907650076520765307656076570766007661076620766307666076700767507676076770770107702077030770407709077100771107712077150771607717077180771907720077210772207723077240772607727077280773007731077320773307734077350773707738077390774007746077470774807750077510775207753077540775507756077570775807760077620776307764077650777707799078010780207803078060782007821078220782307825078260782707828078290783007831078320783307834078360783707838078390784007842078430784407845078460784707848078490785007851078520785307855078560785707860078630786507866078690787007871078740787507876078770787807879078800788107882078850789007901079020792007921079220792407926079270792807930079310793207933079340793507936079380793907940079450794607950079600796107962079630797007974079760797707978079790798007981079830799908001080020800308004080050800608007080080800908010080110801208014080150801608018080190802008021080220802308025080260802708028080290803008031080320803308034080350803608037080380803908041080420804308045080460804808049080500805108052080530805408055080560805708059080600806108062080630806408065080660806708068080690807008071080720807308074080750807608077080780807908080080810808308084080850808608087080880808908090080910809208093080940809508096080970809808099081010810208103081040810508106081070810808109081100820108202082030820408205082100821208213082140821508217082180821908220082210822308224082250822608230082310823208234082400824108242082430824408245082460824708248082500825108252082600827008302083100831108312083130831408315083160831708318083190832008321083220832308324083260832708328083290833008332083400834108342083430834408345083460834708348083490835008352083530836008361083620840108402084030840408405084060850108502085040850508510085110851208514085150851808520085250852608527085280853008533085340853508536085400854108542085430854408550085510855308554085550855608557085580855908560085610856208570086010860208603086040860508606086070860808609086100861108618086190862008625086280862908638086400864108645086460864708648086500866608677086900869108695087010872008721087220872308724087300873108732087330873408735087360873808739087400874108742087500875108752087530875408755087560875708758087590880108802088030880408805088070880808809088100881208816088170881808820088210882208823088240882508826088270882808829088300883108832088330883408835088360883708840088440884608848088500885208853088540885508857088580885908861088620886308865088670886808869088700887108872088730887508876088770887808879088800888208884088850888608887088880888908890088960889908901089020890308904089050890608922089330898808989090070900909012090130901409021090280902909031090330903409036090370904209045090460905009053090540905609058090590906009063090670906909072090740907609080090810908609089090900909409095090960909809099091000910209103091040910609107091100911109112091140912309126091280913109136091370913809139091400914209143091540915709164091650916609169091720917309175091770917809180091820918309185091860918909211092120921309214092200922209225092260922709229092340923709239092440924509250092520926209263092640926509266092670926909275093020930309304093050934009391093960939709398094090941909420094210944709448094490945409456094590946109463094640946809469094700949409496094980949909501095020950309504095050950609507095080950909510095110951709521095240953209534095360954309544095450954909550095510955409556095570955809563095640956509566095670956809569095700957309574095750957609577095780957909581095820958609587095880958909590095910959309594095950959609599096010960309604096090961009612096130961709618096190962009621096220962309624096250962609627096280963009631096360963809642096430964409645096470964909703097040970509706097070970809709097100971109713097140971509716097170971809720097210972209723097240972509726097270972809729097300973109732097330973409735097770977909780097820978309784097890979009791097920979309795097960979709802098030980409805098080980909810098110981209813098140981509816098190982109822098230982409825098260982709828098290983009831098320983309834098350983609837098380983909841098420984309844098520985309854098550985809865098660986709868098710987609880098820988809889098900989209894098980989910001100021000310004100051000610007100081000910010100111001210013100141001510016100171001810019100201002110022100231002410025100261002710028100291003010031100321003310034100351003610037100381003910040100411004310044100451004610047100481005510060100691007210079100801008110082100871009010094100951009610098100991010110102101031010410105101061010710108101091011010111101121011310114101151011610117101181011910120101211012210123101241012510126101281012910130101311013210133101381014910150101511015210153101541015510156101571015810159101601016110162101631016410165101661016710168101691017010171101721017310174101751017610177101781017910184101851019610197101991020310211102121021310242102491025610257102581025910260102611026510268102691027010271102721027310274102751027610277102781027910280102811028210285102861029210301103021030310304103051030610307103081030910310103111031210313103141045110452104531045410455104561045710458104591046010461104621046310464104651046610467104681046910470104711047210473104741047510499105011050210503105041050510506105071050910510105111051210514105161051710518105191052010521105221052310524105261052710528105301053210533105351053610537105381054010541105421054310545105461054710548105491055010551105521055310557105581055910560105621056610567105701057110572105731057610577105781057910580105811058310587105881058910590105911059210594105951059610597105981060110602106031060410605106061060710610106251062910633106501070110702107031070410705107061070710708107091071010801108021080310804108051090110910109111091210913109141091510916109171091810919109201092110922109231092410925109261092710928109301093110932109331094010941109431095010952109531095410956109581095910960109621096310964109651096810969109701097310974109751097610977109791098010981109821098310984109851098610987109881098910990109921099310994109951099610997109981100111002110031100411005110101102011021110221102311024110251102611027110301104011041110421104311044110501105111052110531105411055110961109911101111021110311104111051110611109111201120111202112031120411205112061120711208112091121011211112121121311214112151121611217112181121911220112211122211223112241122511226112281122911230112311123211233112341123511236112371123811239112401124111242112431124411245112471124811249112511125211254112551125611351113521135411355113561135711358113591136011361113621136311364113651136611367113681136911370113711137211373113741137511377113781137911380113811138511386113901140511411114121141311414114151141611417114181141911420114211142211423114241142511426114271142811429114301143111432114331143411435114361143911451114841149911501115071150911510115141151611518115201153011531115351153611542115451154711548115491155011551115521155311554115551155611557115581155911560115611156311564115651156611568115691157011571115721157511576115771157911580115811158211583115881159011592115931159411595115961159711598115991169011691116921169311694116951169711701117021170311704117051170611707117081170911710117131171411715117161171711718117191172011721117221172411725117261172711729117301173111732117331173511736117371173811739117401174111742117431174511746117471174911750117511175211753117541175511756117571175811760117621176311764117651176611767117681176911770117711177211773117741177511776117771177811779117801178211783117841178611787117881178911790117911179211793117941179511796117971179811801118021180311804118051181511819118531185411855119011193011931119321193311934119351193711939119401194111942119441194611947119481194911950119511195211953119541195511956119571195811959119601196111962119631196411965119671196811969119701197111972119731197511976119771197811980120071200812009120101201512016120171201812019120201202212023120241202512027120281202912031120321203312035120361203712040120411204212043120451204612047120501205112052120531205412055120561205712058120591206012061120621206312064120651206612067120681206912070120711207212073120741207512076120771207812082120831208412085120861208712089120901209212093120941209512106121071210812110121111211512116121171211812120121211212212123121241212512128121301213112132121331213412136121371213812139121401214112143121441214712148121491215012151121531215412155121561215712158121591216012161121641216512166121671216812169121701217212173121741217512176121771217912180121811218212183121841218512186121871218812189121901219212193121941219512196121971219812201122021220312204122051220612207122081220912210122111221212214122201222212223122241222512226122271222812229122301223112232122331223412235122361223712238122391224012241122421224312244122451224612247122481224912250122521225512256122571226012261122621228812301123021230312304123051230612307123081230912325123451240112402124041240512406124071240912410124111241212413124141241612417124181241912420124211242212423124241242712428124291243012431124321243312434124351243612438124391244012441124421244312444124461244812449124501245112452124531245412455124561245712458124591246012461124631246412465124661246812469124701247112472124731247412475124771248012481124821248312484124851248612487124891249012491124921249312494124951249612498125011250212503125041250612507125081251012511125121251312514125151251612517125181252012521125221252312524125251252612527125281252912530125311253312534125371253812540125411254212543125441254512546125471254812549125501255112552125531255512561125631256412565125661256712568125691257012571125721257412575125771257812580125811258212583125841258512586125881258912590125921259312594126011260212603126041270112719127201272112722127231272412725127261272712729127321273312734127361273712738127391274012741127421274312745127461274712748127491275012751127521275412758127591276012762127631276412765127661276712768127691277012771127751277612777127781277912780127811278212783127841278512786127871278812789127901279112792128011280312804128081280912810128111281212814128151281612817128191282012821128221282312824128271282812831128321283312834128351283612837128381283912841128421284312844128451284612847128481284912850128511285212853128541285512856128571285812859128601286112862128631286412865128661287012871128721287312874128781287912883128841288512886128871290112903129101291112912129131291412915129161291712918129191292012921129221292312924129261292712928129291293012932129331293412935129361293712939129411294212943129441294512946129491295012952129531295512956129571295812959129601296112962129641296512966129671296912970129721297312974129751297612977129781297912980129811298312985129861298712989129921299312995129961299712998130201302113022130241302613027130281302913030130311303213033130341303513036130371303913040130411304213043130441304513051130521305313054130561305713060130611306213063130641306513066130681306913071130721307313074130761307713078130801308113082130831308413087130881308913090130921309313101131021310313104131071310813110131111311213113131141311513116131171311813119131201312113122131231312413126131291313113132131341313513136131371313813139131401314113142131431314413145131461314713148131521315313154131551315613157131581315913160131621316313164131651316613167132011320213203132041320513206132071320813209132101321113212132141321513217132181321913220132211322413225132351324413250132511325213260132611329013301133021330313304133051330813309133101331213313133141331513316133171331813319133201332113322133231332413325133261332713328133291333113332133331333413335133371333813339133401334113342133431334513346133481335013352133531335413355133571336013361133621336313364133651336713368134011340213403134041340613407134081340913410134111341313415134161341713418134201342113424134251342613428134311343313435134361343713438134391344013441134421344913450134521345413455134561345713459134601346113464134651346813469134701347113472134731347513476134771347813479134801348213483134841348513486134881348913490134911349213493134941349513501135021350313504135051359913601136021360313605136061360713608136111361213613136141361513616136171361813619136201362113622136231362413625136261362713628136301363113632136331363413635136361363713638136391364013641136421364313645136461364713648136491365013651136521365413655136561365713658136591366013661136621366413665136661366713668136691367013671136721367313674136751367613677136781367913680136811368213683136841368513687136881369013691136921369313694136951369613697136991373013731137321373313734137361373713738137391374013743137441374513746137471374813749137501375113752137531375413755137561375713758137601376113762137631377413775137761377713778137801378213783137841378613787137881379013794137951379613797138011380213803138041380613807138081380913810138111381213813138141381513820138251382613827138301383213833138341383513837138381383913840138411384213843138441384513846138471384813849138501385113856138591386013861138621386313864138651390113902139031390413905140011400314004140051400614008140091401014011140121401314020140211402414025140261402714028140291403014031140321403314034140351403614037140381403914040140411404214043140471404814051140521405414055140561405714058140591406014061140621406314065140661406714068140691407014072140751408014081140821408314085140861409114092140941409514098141011410214103141051410714108141091411014111141121411314120141251412614127141291413014131141321413314134141351413614138141391414014141141431414414145141501415114166141671416814169141701417114172141731417414201142021420314204142051420614207142081420914210142111421214213142141421514216142171421814219142201422114222142231422414225142261422714228142311423314240142411426014261142631426414265142671426914270142721427314276142801430114302143031430414305144101441114413144141441514416144181442014422144231442414425144271442814429144301443214433144351443714441144431444514449144501445214453144541445614461144621446314464144661446714468144691447014471144721447514476144771447814479144801448114482144851448614487144881448914502145041450514506145071450814510145111451214513145141451514516145171451814519145201452114522145251452614527145291453014532145331453414536145371453814539145411454214543145441454514546145471454814549145501455114555145561455714558145591456014561145631456414568145691457114572145801458514586145881458914590145911459214601146021460314604146051460614607146081460914610146111461214613146141461514616146171461814619146201462114622146231462414625146261462714638146391464214643146441464514646146471464914650146511465214653146601466414673146831469214694147011470214703147041470614707147081470914710147111471214714147151471614717147181471914720147211472214723147241472614727147281472914730147311473214733147351473614737147381473914740147411474214743147441474514747147481475014751147521475314754147551475614757147581476014766147671476914770147721477414775147771477814779147811478214783147841478514786147871478814801148021480314804148051480614807148081480914810148121481314814148151481614817148181481914820148211482214823148241482514826148271483014831148361483714838148391484014841148421484314844148451484614847148501485114852148531485414855148561485714858148591486014861148631486414865148671486914870148711487214873148741487614877148781487914880148811488214883148841488514886148871488914891148921489314894148951489714898149011490214903149041490514925150011500315004150051500615007150091501015012150141501515017150181501915020150211502215024150251502615027150281503015031150321503315034150351503615037150381504215043150441504515046150471504915050150511505215053150541505515056150571505915060150611506215063150641506515066150671506815069150711507215074150751507615077150781508115082150831508415085150861508715088150891509015091150951509615101151021510415106151081511015112151161512015122151231512615127151291513015131151321513315134151351513615137151391514015142151431514415145151461514715148151891520115202152031520415205152061520715208152091521015211152121521315214152151521615217152181521915220152211522215223152241522515226152271522815229152301523115232152331523415235152361523715238152391524015241152421524315244152501525115252152531525415255152571525815259152601526115262152631526415265152661526715268152701527215274152751527615277152781527915281152821528315285152861529015295153011531015311153121531315314153151531615317153201532115322153231532415325153271532915330153311533215333153341533615337153381533915340153411534215344153451534615347153481534915350153511535215353153541535715358153591536015361153621536315364153651536615367153681537015376153771537815379153801540115410154111541215413154151541615417154191542015421154221542315424154251542715428154291543015431154321543315434154351543615437154381543915440154421544315444154451544615447154481544915450154511545415455154561545815459154601546115462154631546415465154661546715468154691547015472154731547415475154761547715478154791548015482154831548415485154861548815489154901549215501155021551015520155211552215530155311553215533155341553515536155371553815539155401554115542155441554515546155471554815549155501555115552155531555415555155571555815559155601556115562155631556415565156011560515606156101561115612156131561515616156171561815619156201562115622156231562415625156261562715628156291563015631156321563315634156351563615637156381563915640156411564215644156461564715650156551565615658156601566115662156631566415665156661566815670156711567215673156741567515676156771567815679156801568115682156831568415685156861568715688156891569015691156921569315695156961569715698157011570515710157111571215713157141571515716157171572015721157221572315724157251572715728157291573015731157321573315734157361573715738157391574015741157421574415745157461574715748157501575115752157531575415756157571575815759157601576115762157631576415765157671577015771157721577315774157751577615777157781577915780157811578315784158011582115822158231582415825158271582815829158311583215834158401584115845158461584715848158491585115853158561585715860158611586315864158651586615868158701590115902159041590515906159071590915915159201592115922159231592415925159261592715928159291593015931159341593515936159371593815940159421594315944159451594615948159491595115952159531595415955159561595715958159591596015961159621596316001160021600316016160171601816020160211602216023160241602516027160281602916030160331603416035160361603716038160391604016041160451604616048160491605016051160521605316054160551605616057160581605916061160631606616101161021610316105161071610816110161111611216113161141611516116161171612016121161231612416125161271613016131161321613316134161361613716140161411614216143161451614616148161501615116153161541615516156161571615916160161611617216201162101621116212162131621416215162161621716218162201622116222162231622416225162261622816229162301623216233162341623516236162381623916240162421624416245162461624816249162501625316254162551625616257162581625916260162611626216263163011631116312163131631416316163171631916321163221632316326163271632816329163311633216333163341633516340163411634216343163441634516346163471635016351163521635316354163601636116362163641636516366163671636816369163701637116372163731637416375163881640116402164031640416405164061640716410164111641216413164151641616417164201642116422164231642416426164271642816430164321643316434164351643616438164401644116442164431644416475165011650216503165041650516506165071650816509165101651116512165141651516522165301653116532165331653416538165411654416546165501655316554165581656316565166011660216603166111661316614166161661716619166201662116622166231662416625166271662916630166311663316634166351663616637166381663916640166411664416645166461664716648166501665116652166541665516656166571665916660166611666216663166641666516666166671666816669166701667116672166731667416675166771667816679166801668116682166831668416685166861668916691166921669316694166951669816699167011672016724167251672616727167281672916730167311673216733167341673516738167401674316744167451674616748167491675016751168011680216803168041680516820168211682216823168251682616827168281682916830168321683316834168351683616837168381683916840168411684316844168451684716848168491685016851168521685316854168551685616858168591686016861168631686416865168661686816870168711687216873168741687516876168771687816879168811688216901169101691116912169141691516917169181692016921169221692316925169261692716928169291693016932169331693516936169371693816939169401694116942169431694516946169471694816950170011700217003170041700517006170071700817009170101701117012170131701417016170171701817019170201702117022170231702417025170261702717028170291703017031170321703317034170351703617037170381703917040170411704217043170441704517046170471704817049170501705117052170531705417055170561705717058170591706017061170621706317064170651706617067170681706917070170711707217073170741707517076170771707817080170811708217083170841708517086170871708817089170901709117093170941709717098170991710117102171031710417105171061710717108171091711017111171121711317120171211712217123171241712517126171271712817129171301714017177172011721017211172121721317214172151721717219172201722117222172231722417225172281722917231172321723317235172361723717238172391724017241172431724417246172471724917250172511725217253172541725517256172571726017261172621726317264172651726617267172681727017271172721730117302173031730417306173071730917310173111731217313173141731517316173171731817319173201732117322173231732417325173261732717329173311733217333173341733717339173401734217343173441734517347173491735017352173531735417355173561735817360173611736217363173641736517366173681737017371173721737517401174021740317404174051740617407174151750117502175031750417505175061750717508175091751217516175171751817519175201752117522175271752817529175321753317534175351753617537175381754017543175451754717549175501755117552175541755517557175601756217563175641756517566175671756817569175701757217573175751757617577175781757917580175811758217583175841758517601176021760317604176051760617607176081769917701177021770317705177201772117722177231772417726177271772817729177301773117735177371773817739177401774217743177441774517747177481774917750177511775217754177561775817759177601776217763177641776517767177681776917771177721777317774177761777717778177791780117810178121781317814178151782017821178221782317824178251782717828178291783017831178321783317834178351783617837178391784017841178421784317844178451784617847178501785117853178551785617857178581785917860178611786217864178651786617867178681787017872178761787717878178801788117882178831788417885178861788717888178891790117920179211792217923179251792717929179301793117932179331793417935179361793817941179421794317944179451794617948179491795117952179531795417957179591796017961179631796417965179661796717968179701797217974179761797817979179801798117982179831798518001180021800318010180111801218013180141801518016180171801818020180251803018031180321803418035180361803718038180391804018041180421804318044180451804618049180501805118052180531805418055180561805818059180601806218063180641806518066180671806818069180701807118072180731807418076180771807818079180801808118083180841808518086180871808818091180921809818099181011810218103181041810518106181091817518195182011820218210182111821218214182161821818219182201822118222182231822418225182291823018231182321823418235182371823918240182411824218243182441824518246182471824818249182501825118252182541825518256183011832018321183221832318324183251832618327183281833018331183321833318334183351833618337183401834118342183431834418346183471834818349183501835118352183531835418355183561835718360183701837118372183731840118403184051840718410184111841318414184151841618417184191842018421184241842518426184271842818430184311843318434184351843618437184381843918440184411844318444184451844618447184481844918451184521845318454184551845618457184581845918460184611846218463184641846518466184691847018471184721847318501185021850318504185051850718508185091851018512185141851518517185181851918522185401857718601186021860318610186111861218614186151861618617186181861918621186221862318624186251862618627186281862918630186311863218634186351863618640186411864218643186441865118653186541865518656186571866018661186901870118702187031870418705187061870718708187091871018711187611876218763187641876518766187671876818769187731877418801188101881218813188141881518816188171881818820188211882218823188241882518826188271882818829188301883118832188331883418837188391884018842188431884418845188461884718848188501885118853188541890118910189111891218913189141891518916189171891818920189211892218923189241892518926189271892818929189301893118932189331893418935189361893818940189421894318944189461894718949189501895118953189541895518956189571895818960189621896318964189661896818969189701897118972189741897618977189791898018981189911900119002190031900419006190071900819009190101901219013190141901519016190171901819019190201902119022190231902519026190271902819029190301903119032190331903419035190361903719038190391904019041190431904419046190471904819049190501905219053190541905519056190571905819059190611906319064190651906619067190701907219073190741907519076190781907919080190811908219083190851908619087190881908919090190911909219093190941909519096190981909919101191021910319104191051910619107191081910919110191111911219113191141911519116191181911919120191211912219123191241912519126191271912819129191301913119132191331913419135191361913719138191391914019141191421914319144191451914619147191481914919150191511915219153191541915519160191611916219170191711917219173191751917719178191791918119182191831918419185191871918819191191921919319194191961919719244192551930119310193111931219316193171931819319193201933019331193331933519339193401934119342193431934419345193461934719348193501935119352193531935419355193571935819360193621936319365193661936719369193701937119372193731937419375193761938019381193821938319390193951939719398193991940119403194041940519406194071940819409194151942019421194221942319424194251942619428194291943019432194351943619437194381944019441194421944319444194461945019451194521945319454194551945619457194601946219464194651946819470194721947319474194751947719478194801948119482194831948419485194861948719488194891949019492194931949419495194961950119503195041950519506195071950819510195111951219516195181951919520195221952319525195261952919530195331953419535195361953819539195401954119542195431954419545195471954819549195501955119554195551955719559195601956219564195651956719601196021960319604196051960619607196081960919610196111961219640197011970219703197061970719708197091971019711197121971319714197151971619717197181972019721197251972619730197311973219733197341973519736198011980219803198041980519806198071980819809198101985019880198841988519886198871988919890198911989219893198941989519896198971989819899199011990219903199041990519906199301993119933199341993619938199391994019941199431994419945199461994719950199511995219953199541995519956199581996019961199621996319964199661996719968199691997019971199731997519977199791998020001200022000320004200052000620007200082000920010200112001220013200152001620017200182001920020200242002620029200302003220033200352003620037200382003920040200412004220043200442004520046200472004920050200512005220053200552005620057200582005920060200612006220063200642006520066200672006820069200702007120073200742007520076200772007820080200812008220088200902009120097200982009920101201022010320104201052010620107201082010920110201112011220113201152011620117201182011920120201212012220124201282012920130201312013220134201352013620137201382013920140201412014220143201442014620147201482014920151201522015320155201562015820159201602016320164201652016620167201682016920170201712017220175201762017720178201802018120182201842018520186201872018820190201912019220193201942019520196201972019820199202012020220203202042020620207202082021020211202122021320214202152021620217202182021920220202212022220223202242022620227202282022920230202312023220233202352023720238202392024020241202422024420245202502025120254202602026120262202652026620268202702027720289202992030120303203062030720310203142031520317203182031920330203322033620337203382034020350203702037220373203742037520376203802038820389203902039120392203932039420395203982040120402204032040420405204062040720408204092041020411204122041320414204152041620418204192042020421204222042320424204252042620427204282042920431204332043420435204362043720439204402044120442204442044720451204532045620460204632046820469204702047220500205012050220503205042050520506205072050820510205152052020521205222052320524205252052620527205302053120532205332053420535205362053720538205392054020541205422054320544205462054720548205492055020551205522055320554205552055720558205592056020565205662057020571205722057320575205762057720578205792058020581205852058620590205912059320594205972059920601206022060320604206062060720608206092061020611206122061320615206162061720618206192062020621206222062320624206252062620627206282062920630206322063420635206362063720639206402064320645206462065020653206562065720658206592066020661206622066420667206702067420675206762067720678206802068220684206852068620687206882068920690206922069320695206972070120703207042070520706207072070820709207102071120712207142071520716207172071820719207202072120722207232072420725207262073120732207332073520736207372073820740207412074220743207442074520746207472074820749207502075120752207532075420755207572075820759207622076320764207652076820769207702077120772207732077420775207762077720778207792078120782207832078420785207872078820790207912079220794207972079920812208132081420815208162081720818208242082520827208302083220833208372083820839208412084220847208482084920850208512085220853208542085520857208592086020861208622086620868208712087220874208752087620877208782087920880208822088320884208852088620889208912089220894208952089620897208982089920901209022090320904209052090620907209082091020911209122091320914209152091620918209972100121005210092101021012210132101421015210172101821020210222102321027210282102921030210312103221034210352103621037210402104121042210432104421045210462104721048210502105121052210532105421055210562105721060210612106221071210742107521076210772107821080210822108421085210872108821090210922109321094210982110221104211052110621108211112111321114211172112021122211232112821130211312113221133211362113921140211442114621150211522115321154211552115621157211582116021161211622116321201212022120321204212052120621207212082120921210212112121221213212142121521216212172121821219212202122121222212232122421225212262122721228212292123021231212332123421235212362123721239212402124121244212502125121252212632126421265212682127021273212742127521278212792128021281212822128321284212852128621287212882128921290212972129821401214022140321404214052141121412215012150221503215042150521520215212152221523215242152821529215302153121532215362153821539215402154121542215432154521550215552155621557215602156121562216012160621607216092161021612216132161721619216202162221623216242162521626216272162821629216312163221634216352163621638216392164021641216432164421645216472164821649216502165121652216532165421655216562165721658216592166021661216622166321664216652166621667216682166921670216712167221673216752167621677216782167921681216822168321684216852168621687216882169021701217022170321704217052170921710217112171321714217152171621717217182171921720217212172221723217272173321734217362173721738217402174121742217462174721748217492175021754217552175621757217582175921762217642176521766217672176921770217712177321774217752177621777217782177921780217812178221783217842178721788217902179121792217932179421795217972179821801218022180321804218102181121813218142181721821218222182421826218292183021835218362183721838218402184121842218432184921850218512185221853218562185721861218622186321864218652186621867218692187021871218722187421875218902190121902219032190421911219122191321914219152191621917219182191921920219212192221930220022200322009220152202622027220302203122032220332203422035220362203722038220392204022041220422204322044220462204722060220662206722079220812208222092220932209522096221012210222103221062210722108221092211622118221192212022121221222212422125221342213522150221512215222153221562215822159221602216122172221802218122182221832218422185221912219222193221942219522199222012220222203222042220522206222072220922210222112221222213222142221522216222172221822219222222222322225222262222722229222302223422240222412224222243222442224522246223012230222303223042230522306223072230822309223102231122312223132231422315223202232122331223322233322334223362240122402224032240422405224062240722408224122242722428224302243222433224352243622437224382244222443224462244822451224542245622460224632246922471224722247322476224802248122482224852248822501225032250422507225082250922511225132251422517225202252322524225262252822529225302253422535225382253922542225442254522546225472254822552225532255422555225582256022565225672257022572225762257722578225792258022581226012260222603226042261022611226202262222623226242262522626226272263022637226382263922640226412264222643226442264522646226492265022652226542265522656226572266022663226642270122709227112271222713227142271522716227182271922720227212272222723227242272522726227272272822729227302273122732227332273422735227362273722738227392274022741227422274322746227472274822749228012280222803228072281022811228122281522820228212282422827228302283122832228332283422835228402284122842228432284422845228462284722848228492285022851228532290122902229032290422905229062290722908229092291022911229202292222923229242293122932229352293622937229382293922940229422294322945229462294722948229492295222953229542295722958229592296022963229642296522967229682296922971229722297322974229762298022987229892300123002230032300423005230092301123014230152301723018230212302223023230242302523027230302303123032230352303823039230402304323045230472305023054230552305623058230592306023061230622306323064230652306623067230682306923070230712307223075230762307923081230832308423085230862308923090230912309223093231012310223103231052310623107231082310923110231112311223113231142311523116231172311923120231232312423125231262312723128231292313023131231382313923140231412314623147231482314923150231532315423155231562316023161231622316323168231692317023173231752317623177231782318023181231832318423185231862318723188231902319123192232182321923220232212322223223232242322523226232272322823229232302323123232232332323423235232362323723238232402324123242232492325023255232602326123266232692327023272232732327423275232762327823279232802328223284232852328623288232892329023291232922329323294232952329723298233012330223303233042330623307233082331023313233142331523316233202332123322233232332423325233262332723328233362333723341233452334723350233542335623357233582335923389233952339623397233982339923401234042340523407234082340923410234122341323414234152341623417234182341923420234212342223423234242342623427234292343023431234322343323434234352343623437234382343923440234412344223443234502345123452234542345523456234572345823459234602346123462234632346423465234662346723468234712347923480234822348323486234872348823501235022350323504235052350623507235082350923510235112351223513235142351523517235182351923520235212352323529235302354123551236012360223603236042360523606236072360823609236122362823630236312365123653236612366223663236642366523666236672366823669236702368123690236912369223693236942369623701237022370323704237052370723708237092380123803238042380523806238212382223824238272382823829238302383123832238332383423836238372383823839238402384123842238432384423845238462384723850238512385623857238602386623867238682387023872238732387423875238762387823879238812388223883238842388523887238882388923890238912389323894238972389823899239012390923915239172391923920239212392223923239242392723930239342393623937239382393923941239422394323944239472395023952239542395523958239592396023962239632396423966239672396823970239742397624001240022400324004240052400624007240082400924010240112401224013240142401524016240172401824019240202402224023240242402524026240272402824029240302403124032240332403424035240362403724038240402404224043240442404524048240502405324054240552405824059240602406124062240632406424065240662406724068240692407024072240732407624077240782407924082240832408424085240862408724088240892409024091240922409324094240952410124102241042410524111241122411324114241152412024121241222412424126241272412824129241302413124132241332413424136241372413824139241412414224143241462414724148241492415024151241532415524156241572416124162241652416724168241712417424175241762417724178241792418424185242012420224203242092421024211242122421524216242172421824219242202422124224242252422624228242302423624237242392424324244242452424624248242502425124256242582426024263242652426624269242702427124272242732427724279242802428124282242832428524289242902429224293243012431124312243132431424315243162431724318243192432224323243242432524326243272432824330243332434024343243472434824350243512435224354243602436124363243662436824370243732437424375243772437824379243802438124382244012440224407244112441224413244152441624421244222442624430244312443224433244352443724438244392444024441244422444524448244502445724458244592446024463244642446524467244682446924471244722447324474244762447724479244822448324484244852448624487245012450224503245042450524506245122451324514245152451724520245212452224523245262452724528245292453024531245332453424535245362453824539245402454124543245442454924550245512455324554245552455624557245582456224563245652456624569245702457124572245742457624577245782457924580245812458524586245882458924590245922459324594245952459724598245992460124602246032460424605246062460724608246092461224613246142461824619246202462224624246272462824630246312463424635246372463924640246412464624647246492465124656246572465824701247122471424715247162471924724247262472924731247322473324736247372473824739247402474724751248012480824811248132481524816248172481824820248212482224823248242482524826248272482824829248302483124832248342483624839248412484224843248442484524846248472484824849248502485124852248532485424855248562485724859248602486124862248662486724868248692487024871248722487324874248772487824879248802488124882248832488424887248882488924892248942489524896248972489824899249012490224910249152491624917249182491924920249242492524927249312493424935249362493824941249422494324944249452494624950249512495424957249582496124962249632496624970249742497624977249812498324984249852498624991249932500225003250042500525007250082500925010250112501525018250192502125022250242502525026250282503025031250332503525036250392504025043250442504525046250472504825049250512505325054250572505925060250612506225063250642506725070250712507525076250792508125082250832508525086250882509025093250952510225103251062510725108251092511025111251122511325114251152511825119251212512225123251242512525126251302513225133251342513625139251402514125142251432514725148251492515025152251542515625159251602516125162251642516525168251692517325174251772518025181251822518325185251862518725193252012520225203252042520525206252082520925211252132521425231252342523525239252412524325244252452524725248252502525125252252532525625258252592526025261252622526425265252662526725268252702527125275252762527925281252832528525286252872530125302253032530425305253062530925311253122531325314253152531725320253212532225323253242532525326253272532825329253302533125332253332533425335253362533725338253392535025356253572535825360253612536225364253652537525387253892539225396254012540225410254112541325414254192542025421254222542325425254272542825429254302543125432254342543725438254402544125442254432544425446255012550225503255042550525506255072550825510255112551225514255152551725519255202552125523255242552625529255302553425535255372554025541255442554525547255502555525557255592556025562255642556525567255692557025571255722557325601256062560725608256112561225614256172562125623256242562525628256302563225634256352563625637256382563925644256452564625647256492565025651256522565325654256612566525666256672566925670256712567225674256762567825682256852568625687256882569025691256922569425696256972569925701257022570325704257052570625707257082570925710257112571225713257142571525716257172571825719257202572125722257232572425725257262572725728257292575525770257712577225773257742577525776257772577825779258012580225810258112581225813258162581725818258202582325825258262582725831258322583325836258372583925840258412584325844258452584625847258482584925851258532585425855258562585725859258602586225864258652586625868258702587125873258752587625878258792588025882259012590225904259062590725908259092591125912259132591425915259162591725918259192592025921259222592625927259282593125932259342593625938259422594325951259582596125962259652596625967259692597125972259762597725978259792598125984259852598625988259892600326030260312603226033260342603526036260372603826039260402604126047260502605526056260582605926060260622607026074260752610126102261032610426105261062612026121261332613426135261362613726138261412614226143261462614726148261492615026151261522615526159261602616126162261642616726169261702617326175261782618026181261842618626187262012620226203262052620626208262092621026215262172621826219262222622426228262292623026234262362623726238262412625026253262542625726259262602626126263262642626626267262682626926270262712627326275262762627826280262822628326285262872628826289262912629226293262942629626298263012630226306263202632126323263252632726328263302633226334263352633726338263392634226343263462634726348263492635026351263542636126362263662636926372263742637526376263772637826384263852638626404264052640726408264102641126412264152641626419264212642226424264252642626430264312643426435264362643726438264402644326444264472644826451264522645626461264632650126502265032650426505265062650726508265192652026521265222652426525265272652926531265332653426535265372654126542265432654426546265472655426555265592656026561265622656326566265682657026571265722657426575265762657826581265822658526586265872658826589265902659126601266102661126612266152661726618266192662126623266242662726629266312663426636266382663926641266512665626660266622666726671266742667526676266782667926680266812668426690266912670426705267072671026711267142671626717267192672026722267262673126734267392674326750267532675526757267612676326764267672680126802268042680726808268102681226814268152681726818268232682426833268362683826845268472685126852268552686526866268842688627006270072700927010270112701227013270142701627017270182701927020270212702227023270242702527027270282703027031270402704127042270432704527046270472704827049270502705127052270532705427055270942709827099271012710227103271042710527106271072710827109271102711127113271142711527116271172712027127271302715027151271522715527156271572719827199272012720227203272042720527207272082720927212272132721427215272162721727220272282722927230272312723327235272372723927242272432724427247272482724927252272532725627258272592726027261272622726327264272652727827281272822728327284272852728827289272912729227293272942729527298272992730127302273052730627310273112731227313273142731527316273172732027321273222732327325273262733027331273322734027341273422734327344273492735027351273552735627357273582735927360273612737027371273732737427375273762737727379274012740227403274042740527406274072740827409274102741127412274132741527416274172741927420274252742727429274352743827455274802749527498274992750127502275032750427505275062750727508275092751027511275122751327514275152751627517275182751927520275212752227524275252752627529275302753127532275332753427536275372754027541275422754327544275452754627549275512755227553275552755627557275592756027562275632756427565275682756927570275712757227573275762757727581275822758327584275862758727588275892759127592275932759427596275972759927601276022760327604276052760627607276082760927610276112761227613276142761527616276172761927620276212762227623276242762527626276272762827629276342763527636276402765027656276582766127668276752767627690276952769727698276992770127702277032770427705277062770727708277092771027711277122771327715277172772227801278022780327804278052780627807278082780927810278112781227813278142781627817278182781927820278212782227823278242782527826278272782827829278302783127832278332783427835278362783727838278392784027841278422784327844278452784627847278492785027851278522785327854278552785627857278582786027861278622786327864278652786627867278682786927870278712787227873278742787527876278772787827879278802788127882278832788427885278862788727888278892789027891278922789327894278952789627897279062790727909279102791527916279172791927920279212792227923279242792527926279272792827929279302793227935279362793727938279392794127942279432794427946279472794827949279502795327954279562795727958279592796027962279642796527966279672796827969279702797227973279742797627978279792798027981279822798327985279862800128002280062800728009280102801228016280172801828019280202802128023280242802528026280272803128032280332803428036280372803828039280402804128042280432805228053280542805528056280702807128072280732807428075280762807728078280792808028081280822808328086280882808928090280912809228093280972809828101281022810328104281052810628107281082810928110281112811228114281152811728119281202812328124281252812628127281282812928130281332813428135281362813728138281392814428145281462814728150281512815228159281602816328164281662816728168281692817028173281742820128202282032820428205282062820728208282092821028211282122821328214282152821628217282182821928220282212822228223282242822528226282272822828229282302823128232282332823428235282362823728240282412824228243282442824628247282502825328254282552825628258282602826128262282652826628269282702827128272282732827428275282772827828280282812828228283282842828528286282872828828289282902829628297282992830128302283032830428305283062830728308283092831028311283142831528318283192832028323283252832628327283282832928330283312833228333283342833528337283382833928340283412834228343283442834528347283482834928350283512835228353283552835628357283582835928360283612836228363283642836528366283672836828369283702837128372283732837428375283762837728378283792838028382283832838428385283862838728388283902839128392283932839428395283962839828399284012840228403284042840528406284072840828409284102841128412284202842128422284232842428425284282842928430284312843228433284342843528436284382843928441284422844328444284452844628447284482844928450284512845228453284542845528456284572845828459284602846128462284632846428465284662846728468284692847028471284722847828479284802850128502285032850428508285092851028511285122851328515285162851828519285202852128522285232852428525285262852728528285292853028531285322853328537285382853928540285412854228543285442854528546285472855128552285532855428555285562855728560285612856228563285642857028571285722857328574285752857728578285792858028581285822858328584285852858628587285892859028594286012860228603286042860528606286072860828609286102861128612286132861528616286172861828619286212862228623286242862528626286272862828629286302863128633286342863528636286372863828640286412864228643286442864528646286472864928650286512865228653286542865528656286572865828659286602866128662286632866428665286662866728668286692867028671286722867328674286752867628677286782867928680286812868228683286842868528687286882868928690286912869228693286942869728698286992870128702287042870528707287082870928710287112871228713287142871528716287172871828719287202872128722287232872428725287262872728728287292873028731287322873328734287352873628737287382873928740287412874228743287442874528746287472874828749287502875128752287532875428755287562875728758287602876128762287632876528766287682877028771287722877328774287752877628777287782877928781287822878328784287852878628787287882878928790287912879228793288012880228803288042880528806288102881328814288152881628901289022890328904289052890628909290012900229003290062900929010290142901529016290182902029030290312903229033290362903729038290392904029041290422904429045290462904729048290512905229053290542905529056290582905929061290622906329065290672906929070290712907229073290742907529078290792908029081290822910129102291042910529106291072910829111291122911329114291152911629117291182912229123291252912629127291282912929130291322913329135291372913829142291432914529146291472914829150291512915229153291542916029161291622916329164291662916829169291702917129172291752917629177291782918029201292022920329204292052920629207292082920929210292112921229214292152921629217292182921929220292212922229223292242922529226292272922829229292302924029250292602929029292293012930229303293042930529306293072931629318293192932029321293222932329324293252932929330293312933229333293342933529336293382934029341293422934629348293492935129353293552935629360293642936529368293692937029372293732937429375293762937729378293792938429385293862938829390293912939529401294022940329404294052940629407294092941029412294132941429415294162941729418294192942029422294232942429425294262942929430294312943229433294342943529436294372943829439294402944229445294462944729448294492945029451294522945329455294562945729458294612946429465294662946829469294702947129472294742947529476294772947929481294822948329484294852948729488294922949329501295022950329504295052950629510295112951229516295182951929520295252952629527295282953029532295362954029541295422954329544295452954629547295502955129554295552955629560295632956429565295662956729568295692957029571295722957329574295752957629577295782957929580295812958229583295842958529587295882958929590295912959229593295942959629597295982960129602296032960429605296062960729608296092961029611296122961329614296152961629617296202962129622296232962429625296262962729628296302963129632296332963429635296362963829639296402964129642296432964429645296462964729648296492965029651296522965329654296552965629657296582965929661296622966429665296662966729669296702967129672296732967529676296772967829679296802968129682296832968429685296862968729688296892969029691296922969329695296962969729698297022970329704297062970829709297102971229714297152971629717297182972029721297222972429726297272972829729297302973129732297332973429741297422974329744297452980129802298032980429805298082980929810298122981329816298172981929821298222982429826298272982829829298312983229834298352983629838298392984029841298422984329844298452984629847298482984929850298512985329856298602986129899299012990229903299042990529906299102991129912299132991429915299162991829920299212992229923299242992529926299272992829929299312993229933299342993529936299382993929940299412994329944299453000230003300043000530006300073000830009300103001130012300133001430015300163001730018300193002130022300233002430025300263002830029300303003130032300333003430035300363003730038300393004030041300423004330044300453004630047300483004930052300543005530056300583006030061300623006330064300653006630067300683006930070300713007230074300753007630077300783007930080300813008230083300843008530086300873008830090300913009230093300943009530096300973009830099301013010230103301043010530106301073010830109301103011130113301143011530116301173011830119301203012130122301233012430125301263012730129301323013330134301353013730138301393014030141301423014330144301453014630147301483014930150301513015230153301543015630157301603016130162301633016430165301683017030171301723017330175301763017730178301793018030182301833018430185301873018830189302043020530206302123021330214302153021630217302183021930220302223022330224302283022930230302323023330234302363023730238302403024130248302503025130252302533025630257302583025930260302613026330264302653026630268302693027130272302733027430275302763027730281302843028530286302873028830289302903029130292302933029430295302963029730298303013030230303303043030530306303073030830309303103031130312303133031430315303163031730318303193032030321303223032430325303263032730328303293033030331303323033330334303363033730338303393034030341303423034330344303453034630347303483034930350303533035430355303563035730358303593036030361303623036430366303683036930370303713037430375303763037730378303793038030384303853038630387303883038930390303923039430396303983039930401304103041130412304133041430415304173042030421304233042430425304263042730428304293043430436304383043930441304423044530446304473044830449304503045130452304533045430455304563045730458304593046030461304643046730470304713047330474304753047730499305013050230503305043050630507305103051130512305133051430515305163051730518305193052030521305223052330525305273052830529305303053130533305343053530537305383053930540305413054230543305443054530546305473054830549305523055330554305553055730558305593056030562305633056430565305663056730568305713057230573305753057630577305803058130582305963059730598305993060130602306033060430605306063060730608306093061230619306203062130622306233062430625306273062830629306303063130633306343063530638306393064130642306433064530646306473064830650306553065630660306623066330664306653066630667306683066930671306733067730678306803068330701307033070530707307083071030711307193072030721307223072430725307263072830730307313073230733307343073530736307383073930740307413074230746307473075030751307523075330755307563075730802308033080530806308073080830809308103081130812308133081430815308163081730818308193082030821308223082330824308283083030833309013090330904309053090630907309093091030911309123091330914309163091730919309993100131002310033100431005310063100731008310093101031011310123101331014310153101631017310183101931020310213102231023310243102531027310283102931030310313103231033310343103531036310373103831039310403104131042310443104531046310473104931050310513105231054310553105731058310593106031061310623106331064310653106631067310683106931070310713107231073310753107631077310783107931081310823108331084310853108631087310883108931090310913109231093310943109531096310973109831099311063110731119311263113131139311413114531146311503115631191311923119331195311963119731198311993120131202312033120431205312063120731208312093121031211312123121331216312173122031221312943129531296312973129831299313013130231303313043130531307313083130931310313123131331314313153131631318313193132031321313223132331324313263132731328313293133131333314013140231403314043140531406314073140831409314103141131412314143141531416314183141931420314213142231498314993150131502315033151031512315133151531516315183151931520315213152231523315243152531527315323153331534315353153731539315423154331544315453154631547315483154931550315513155231553315543155531556315573155831560315613156331564315653156631567315683156931598315993160131602316033160431605316063162031622316233162431625316263162731629316303163131632316343163531636316373163831639316413164231643316453164631647316483164931650316983169931701317023170331704317053170631707317083170931710317113171231713317143171531716317173171831720317223172331724317253172631727317283172931730317323173331734317353173631737317383173931740317413174231743317443174531746317473174931750317513175231753317543175631757317583175931760317613176231763317643176531766317673176831769317703177131772317733177431775317763177731778317793178031781317823178331784317853178631787317893179031791317923179331794317953179631797317983179931801318033180431805318063180731808318103181131812318143181531816318203182131822318233182431825318263182731829318303183131832318333183631901319023190331904319053190631907319083190931914319173199331994319953199731998319993200332004320073200832009320113201332024320253203032033320343203532038320403204132042320433204432046320503205232053320543205532056320583205932060320613206232063320643206532066320673206832071320723207332079320803208232083320843208532086320873209132092320943209532096320973209932102321053211032111321123211332114321153211632117321183211932120321213212232123321243212532126321273212832129321303213132132321333213432135321363213732138321393214032141321423214532147321483214932151321573215832159321603216232164321683216932170321733217432175321763217732178321793218032181321823218332185321873218932190321923219332195321983220132202322033220432205322063220732208322093221032211322123221432215322163221732218322193222032221322223222332224322253222632227322283222932230322313223232233322343223532236322373223832239322403224132244322453224632247322503225432255322563225732258322593226032266322673227632277322903230132302323033230432305323063230732308323093231032311323123231332314323153231632317323183232032321323223232332324323263232732328323293233032331323323233332334323353233632337323403234132343323443234532346323473234832350323513235232353323553235632357323583235932360323613236232395323993240132402324033240432405324063240732408324093241032411324123241332417324203242132422324233242432425324263242732428324303243132432324333243432435324373243832439324403244232443324443244532446324473244832449324523245432455324563245732459324603246132462324633246432465324663250132502325033250432505325063250732508325093251132512325133251432516325203252132522325233252432526325303253132533325343253532536325373253832539325403254132542325443254732548325493255032559325603256132562325633256432565325663256732568325693257032571325723257332574325753257632577325783257932580325813258232583325883258932590325913259232593325943259532596325973259832601326023260332604326053260632607326083260932610326113261232613326143261532616326173261832619326213262232625326263262732628326313263332634326353263932640326413264332644326483265332654326553265632658326623266332664326663266732668326693268032681326833268632692326933269432696326973270132702327033270432706327073270832709327103271232713327143271532716327183271932720327213272232724327253272632727327283273032732327333273532736327383273932744327463274732750327513275232753327543275632757327593276232763327643276532766327673276832771327723277332774327753277632777327783277932780327813278232783327843278932790327913279232793327943279532796327983279932801328023280332804328053280632807328083280932810328113281232814328153281632817328183281932820328213282232824328253282632827328283282932830328313283232833328343283532836328373283932853328543285532856328573285832859328603286132862328673286832869328723287732878328863288732890328913289332897328983289932901329023290332904329053290632907329083290932910329113291232919329203292232923329243292532926329273293132932329343293532936329373294032941329483294932950329513295232953329543295532956329573295832959329603296132962329633296432965329663296732968329693297032971329763297833001330023300433008330093301033011330123301333014330153301633017330183301933020330213302233023330243302533026330273302833029330303303133032330333303433035330363303733039330403304133042330433304433045330503305133052330543305533056330603306133062330633306433065330663306733068330693307033071330723307333074330753307633077330813308233083330843309033092330933309733101331023310733109331103311133112331143311633119331213312233124331253312633127331283312933130331313313233133331343313533136331373313833139331403314133142331433314433145331463314733148331493315033151331523315333154331553315633157331583315933160331613316233163331643316533166331673316833169331703317233173331743317533176331773317833179331803318133182331833318433185331863318733188331893319033192331933319433195331963319733199332313323333234332383323933242332433324533247332553325633257332613326533266332693328033283332963329933301333023330333304333053330633307333083330933310333113331233313333143331533316333173331833319333203332133322333233332433325333263332733328333293333033331333323333433335333373333833339333403334533346333483334933351333553335933388333943340133402334033340433405334063340733408334093341033411334123341333414334153341633417334183341933420334213342233424334253342633427334283342933430334313343233433334343343533436334373343833439334403344133442334433344433445334463344733448334543345533458334593346033461334623346333464334653346633467334683346933470334713347433475334763347733478334803348133482334833348433486334873348833493334963349733498334993350333508335093351033511335133351433521335233352433525335263352733530335343353733538335393354033541335433354433547335483354933550335563355833559335643356533566335673356833569335703357133572335733357433576335833358433585335863358733592335933359433595335973359833601336023360333604336053360633607336083360933610336113361233613336143361533616336173361833619336203362133622336233362433625336263362933630336313363333634336353363733647336503365133655336603366133662336633366433672336733367433675336773367933680336813368233684336853368633687336883368933690336943369733701337023370333704337053370633707337083370933710337113371233713337143371533716337283372933730337313373233733337343373633737337383374033741337423374333744337473375533756337573375833759337603376133762337633376433765337663376733769337703377133772337733377433775337763377733778337793378033781337823378433785337863380133802338033380433805338063380733809338103381133813338153382033823338253382633827338303383133834338353383633837338383383933840338413384333844338453384633847338483384933850338513385233853338543385533856338573385833859338603386233863338653386733868338703387133872338733387533876338773388033881338823388333884338853388833890338963389733898339013390233903339043390533906339073390833909339103391133912339133391433915339163391733918339193392033921339223392433927339283393033931339323393533936339383394433945339463394733948339493395033951339523395333954339553395633957339603396533970339713397233975339803398133982339833399033991339933399434002340033400934020340213402234023340243402534030340313403234033340343403534036340373403834039340403404134042340503405134053340543405534058340603407134077340783407934086340903409134092340933409534098340993410134102341033410434105341063410734108341093411034112341133411434116341173411934120341333413434135341363413734138341393414034141341423414334145341463420134202342033420434205342063420734208342093421034211342123421534216342173421834219342203422134222342233422434228342293423034231342323423334234342353423634237342383423934240342413424234243342503425134260342643426534266342673426834269342703427234274342753427634277342783428034281342823428434285342863428734288342893429234293342953442034421344233442834429344303443134432344333443434436344423444534446344473444834449344503445134452344533446034461344643446534470344713447234473344743447534476344773447834479344803448134482344833448434487344883448934491344923449834601346023460334604346053460634607346083460934610346113461334614346363463934652346533465434655346563466034661346673466834669346733467434677346793468034681346823468334684346853468834689346903469134695346973469834705347113471234713347293473134734347363473734739347403474134742347433474434745347463474734748347493475334755347563475834759347603476134762347693477034771347723477334777347783478534786347873478834789347973494534946349473494834949349503495134952349533495434956349573495834972349733497434979349813498234983349843498534986349873498834990349913499234994349953499634997350043500535006350073501035011350133501435015350163501935020350213502235023350313503235033350343503535036350383504035041350423504335044350453504635048350493505135052350533505435055350563505735058350603506135062350633506435068350703507135072350733507435077350783507935080350823508335085350873508935091350943509635097350983511135112351143511535116351173511835119351203512135123351243512535126351273512835130351313513335135351363513735139351423514335144351463514735148351493515035151351603516135171351723517335175351763517835179351803518135182351833518435185351863518735188352013520235203352043520535206352073520835209352103521135212352133521435215352163521735218352193522035221352223522335224352253522635228352293523035231352323523335234352353523635237352383524035242352433524435245352463524935253352543525535259352603526135263352663527735278352793528035281352823528335285352863528735288352893529035291352923529335294352953529635297352983529935401354023540335404354053540635407354403544135442354433544435446354473544835449354523545335456354573545835459354603546135462354633546435466354683546935470354713547335474354753547635477354783548035481354823548535486354873549035491355013550235503355043554035541355423554335544355453554635548355493555035551355523555335554355553555935560355633556435565355703557135572355733557435575355763557735578355793558035581355823558435585355863558735592355933559435601356023560335609356103561135612356133561435615356163561735618356193562035621356223563035631356323563335634356403564335645356463564735648356493565035651356523565335654356603566135662356703567135672356733567435677356993573935740357413574235744357453574635747357483574935750357513575235754357553575635757357583575935760357613576235763357643576535766357673576835769357713577235773357743577535776358013580235803358043580535806358073580835809358103581135812358133581435815358163582435893358943589535896358973589835899359013590235903359043590535906359073595035951359523595335954359563595735958359593596035961359623596335964359663596735968359713597235973359743597535976359783597935980359813598335984359863598735988359893599036003360053600636008360093601036013360153601636017360203602236023360243602536026360273602836029360303603136032360333603436035360363603736038360393604036041360423604336045360463604736048360493605136052360533605436057360613606236064360653606636067360683606936071360723607536078360793608036081360823608336087360883608936091360923609336101361023610336104361053610636107361083610936110361113611236113361143611536116361173611836119361203612136123361243612536130361313613236133361343613536140361413614236177361913620136202362033620436205362063620736250362513625336254362553625636257362583626036261362623626336264362653626636267362683626936270362713627236273362743627536276362773627836279362803630136302363033630436305363103631136312363133631436316363173631836319363203632136322363233633036331363403634336344363453634636349363503635136352363533636036361363623637036371363733637436375363763640136420364253642636427364293643136432364353643636439364413644236444364453644636449364513645336454364553645636457364583646036461364623646736470364713647336474364753647636477364803648136482364833650136502365033650436505365073650936511365123651336515365183652136522365233652436525365263652736528365293653036532365333653536536365383653936540365413654236543365443654536547365483654936550365513655336555365563655836559365603656136562365643656736568365693657036571365723657436575365763657736578365793658036581365823658336584365853658636587365903660136602366033660436605366063660736608366093661036611366123661336614366153661636617366183661936621366223662336625366263662836630366313663336640366413664436652366603666336670366713667536685366883668936690366913669336695367013670236703367203672136722367233672636727367283673236736367383674036741367423674436745367483674936750367513675236753367543675636758367593676136762367633676436765367663676736768367693677336775367763677836779367823678336784367853678636790367923679336801368023680336804368303683136832368493685036851368523685336854368553685636858368593686036861368623686336865368663686736868368693687036871368723687436875368773687936901369043690636907369083691036912369133691536916369193692136922369253701037011370123701337014370153701637018370193702037022370233702437025370263702737028370293703037031370323703337034370353703637037370403704137042370433704437046370473704837049370503705137052370553705637057370583705937060370613706237063370643706537066370673706837069370703707137072370733707437075370763707737078370793708037082370833708537086370873708837089370903709137095370963709737098371013711037111371153711637118371193712137122371273712837129371303713137132371333713437135371363713737138371403714137142371433714437145371463714737148371493715037151371523715337155371603716137162371653716637167371713717237174371753717837179371803718137183371843718537186371873718837189371903719137201372023720337204372053720637207372083720937210372113721237213372143721537216372173721837219372203722137222372243722737228372293723037232372343723537236372373723837239372403724137242372433724437245372463724737248372493725037301373023730337304373053730637307373083730937310373113731237313373143731537316373173731837320373213732237323373243732537326373273732837329373303733137332373333733437335373363733737338373393734037341373423734337345373473734837349373503735137352373533735437355373563735737359373603736137362373633736437365373663736737369373703737137372373733737437375373763737737378373793738037381373823738337384373853738737388373893739137394373953739637397373983740137402374033740437405374063740737408374093741037411374123741437415374163741937421374223742437450375013760137602376043760537614376153761637617376183762037621376253764037641376423764337644376453765037656376573765837659376603766237663376643766537669376803768137682376833768437686376873768837690376913769237694376993770137705377073770837709377103771137713377143771537716377173771937721377223772337724377253772637727377293773037731377323773337737377383774237743377443774537748377523775337754377553775637757377603776237763377643776537766377693777037771377723777337774377773777837779378013780237803378043780637807378093781037811378133781437815378163781837819378203782137822378243782537826378283782937830378313784037841378423784337845378463784737848378493785137852378533785437857378603786137862378633786437865378663786737868378693787037871378723787337874378763787737878378793788037881378823788537886378873788837890378913789237901379023790937912379143791537916379173791837919379203792137922379233792437927379283792937930379313793237933379383793937940379503799037995379963799737998380013800238004380063800738008380103801138012380143801538016380173801838019380213802338024380253802738028380293803038034380363803738039380403804138042380443804538046380473804838049380503805238053380543805538056380573805838059380603806138063380663806738068380693807038071380743807538076380773807938080380833808838101381033810438105381063810738108381093811038111381123811338114381153811638117381183811938120381223812438125381263812738128381303813138132381333813438135381363813738138381393814038141381423814338145381463814738148381503815138152381573815938161381633816538166381673816838173381743817538177381813818238183381843818638187381883819038193381943819538197382013822038221382223822338224382253822638229382303823138232382333823538236382373823838240382413824238251382533825438255382563825738258382593826038261382713828138301383023830338305383083831038311383133831438315383163831738318383203832138324383263832738328383293833038331383323833338334383363833738338383393834038341383423834338344383453834638347383483835138352383553835638357383583835938361383623836338365383663836738368383693837038371383723837438375383763837738378383793838038381383823838738388383893839038391383923839338401384023842538449384503845138452384533845438455384563845738459384603846138462384633846438468384693847138472384733847438475384763847738478384813848238483384853848638487384883850138502385033850438505385063854138542385433854438545385473854838549385503855138552385533855438555385563855738558385593856038562385633856438565385673856838569385703857138572385733857438575385773857838579385803858138582385833858538587385883858938601386023860338606386093861038611386143861738618386193862038621386223862338625386263862738628386293863038631386323863338634386353863738638386393864138642386433864438645386463864738649386503865138652386543865538658386593866138663386643866538666386683866938670386713867238673386743867538676386773867938680386833868538686387013870238703387043872038721387223872338725387263873038731387323873338736387373873838739387403874438745387463874838749387513875338754387563875838759387603876138762387633876438765387673876838769387713877238773387743877638778387803878138782388013880238803388043882038821388243882538826388273882838829388333883438835388383883938841388433884438846388473884838849388503885138852388543885538856388573885838859388603886238863388643886538866388683886938870388713887338874388753887638877388783887938880389013890238912389133891438915389163891738920389213892238923389243892538926389273892838929389303893538940389413894338944389453894638947389483894938950389513895238953389543895538957389583895938960389613896238963389643896538966389673903839039390403904139042390433904439045390463904739051390543905639057390583905939060390613906239063390663906739069390713907239073390743907739078390793908039081390823908339086390873908839090390923909439095390963909739098391073910839109391103911139112391133911439115391163911739119391203912139122391303914039144391453914639148391493915039151391523915339154391563915739158391593916039161391623916339165391663916739168391693917039171391733917439175391763917739179391803918139182391833918939190391913919239193391943920139202392033920439205392063920739208392093921039211392123921339215392163921739218392253923239235392363925039269392713927239282392833928439286392883928939296392983930139302393033930439305393073930939320393223932339324393253932639327393283933039332393353933639337393383933939341393423934539346393473934839350393523935439355393563935839359393603936139362393633936439365393663936739401394023940339404394063940739421394223942339425394263942739428394293943639437394393944039441394423944339451394523945539456394573945939460394613946239463394643946539466394703947439475394763947739478394793948039481394823948339501395023950339505395063950739520395213952239525395293953039531395323953339534395353954039552395533955539556395583956039561395623956339564395653956639567395683956939571395723957339574395763957739581395953960139602396033962939630396313963239633396353963839641396433964539647396483964939652396533965439656396573966139662396633966439665396663966739668396693970139702397033970439705397103973039735397363973739739397403974139743397443974539746397473975039751397523975339754397553975639759397603976239766397673976939771397723977339776399014000340004400064000740008400094001040011400124001340014400184001940020400224002340025400264002740031400324003340036400374004040041400454004640047400484004940050400514005240055400564005740058400594006040061400624006340065400664006740068400694007040071400754007640077400784010440107401084010940110401114011540117401184011940121401294014040142401434014440145401464015040152401534015540157401594016040161401624016440165401704017140175401764017740178402014020240203402044020540206402074020840209402104021140212402134021440215402164021740218402194022040221402224022340224402254022840229402314023240233402414024240243402454025040251402524025340255402564025740258402594026140266402684026940270402724028040281402824028340285402874028940290402914029240293402944029540296402974029840299403104031140312403134031640317403194032040322403244032840329403304033440336403374033940340403424034640347403484035040351403534035540356403574035840359403604036140362403634036640370403714037240374403764037940380403834038440385403864038740390403914039240402404034040440405404094041040419404214042240423404344043740440404424044440445404464044740448404524045640460404614046440467404684047240473404754047640481404844048640488404894049240495405024050340504405054050640507405084050940510405114051240513405144051540516405174052240523405244052640533405364054440546405504055540574405754057640577405784057940580405814058240583405844058540586405874058840589405904059140592405934059440595405964060140602406034060440618406194062040621406224070140702407244072940730407344073740740407414074240743407444074540751407544075540759407634076940771408014080340806408074080840810408134081540816408184081940820408234082440826408274082840829408304083140840408434084440845408474084940854408554085640858408624086340865408684087040873408744090240903409064091340914409154092140923409274093040931409324093540939409404094140943409444094640949409514095340955409584096240964409654097240977409794098140982409834098840995409974099941001410024100341004410054100641007410084101041011410124101441015410164101741018410194102241030410314103341034410354103741039410404104141042410434104441045410464104841049410514105241053410544105541056410594106141062410634106441065410714107241073410744107541076410804108141083410854108641091410924109341094410954109641097410984109941101411024110541114411214112441127411284112941132411354113741139411414114241143411444114641149411504115641159411604116441166411684116941170411714117341174411754117941180411814118341189412014120341204412144121541216412194122241224412264122841230412314123241234412384124041250412544125541256412574126041262412634126441265412674126841271412744130141307413104131141313413144131741332413334133841339413424134441347413484135141352413604136241364413654136641367413684137741385413864139041397414084141041413414194142141422414254142641433414444145141459414644146541472414774150141502415034151241513415144151741519415204152241524415264152741528415314153441535415374153841539415404154241543415444154641547415484154941553415544155541557415584155941560415614156241563415644156641567415684156941571415724160141602416034160441605416064160741612416154161641619416214162241630416314163241635416364164041642416434164541647416494165041651416534165541659416604166341666416674166941701417024171241713417144171941721417224172341725417274172941730417314173541736417394174041743417454174641747417494175141754417594176041762417634176441766417724177341774417754177641777417784180441810418124181541817418194182141822418244182541826418284183141832418334183441835418364183741838418394184041843418444184541847418484184941855418584185941861418624190141902419034190441905419064200142002420034202042021420224202342024420254202742028420294203142032420334203542036420374203842039420404204142044420454204642047420484204942050420514205342054420554205642058420604206142063420644206642069420704207142076420784207942081420824208342084420854208642087420884210142102421034210442120421224212342124421274212842129421304213142133421344213542140421414214242150421514215242153421544215642157421594216042163421644216642167421704217142201422024220342204422064220742209422104221142214422154221642217422194222042221422234223242234422354223642240422414225142252422544225642257422594226142262422654226642267422704227342274422754227642280422834228542286422874228842301423024230342304423204232142322423234232442325423264232742328423304233242333423344233742338423394234342344423454234742348423494235042351423524235442355423564236142364423654236642367423684236942370423714237242374423754237642377423784240242403424044240642408424094241042411424134241942420424314243642437424404244142442424444244542450424514245242453424554245642457424584245942460424614246242463424644250142502425034251642518425194252842533425394254142544425534255842564425654256642567426024260342629426314263242633426344263542638426424264742649426534270142702427114271242713427154271642717427184271942720427214272242724427264272842729427314273242733427354274042741427424274342746427484274942753427544275542757427584275942761427624276442765427764278242783427844278642788430014300243003430044300543006430074300843009430104301143013430144301543016430174301843019430214302243023430254302643027430284302943030430314303243033430354303643037430404304143044430454304643047430484305043054430554305643058430604306143062430644306543066430674306843070430714307243073430744307643077430784308043081430824308343084430854308643093430984310143102431034310543106431074310943110431114311243113431154311643117431194312343125431264312743128431304313543136431374313843140431424314343144431454314643147431484314943150431514315243153431544315543156431574315843160431624316343164431964319843199432014320243203432044320543206432074320943210432114321243213432144321543216432174321843219432204322143222432234322443226432274322843229432304323143232432344323543236432404325143260432654326643268432704327143272432794328743291432994330143302433064330743310433114331443315433164331743318433194332043321433224332343324433254332643330433314333243333433344333543336433374333843340433414334243343433444334543346433474334843349433504335143356433574335843359433604340243403434064340743408434104341243413434144341643420434304343143432434334343443435434364343743438434394344043441434424344343445434464344743449434504345143452434564345743458434604346243463434644346543466434674346843469435014350243504435054350643510435114351243515435164351743518435194352043521435224352343524435254352643527435284352943530435314353243533435344353543536435374354043541435424354343545435474354843549435504355143552435534355443555435564355743558435604356543566435674356943570435714360143602436034360443605436064360743608436094361043611436124361343614436154361643617436184361943620436234362443635436524365343654436554365643657436594366043661436664366743681436824369743699437014370243711437134371643717437184371943720437214372243723437244372543727437284373043731437324373343734437354373643738437394374043746437474374843749437504375243754437554375643757437584375943760437614376243764437664376743768437714377243773437774377843779437804378243783437864378743788437894379143793438024380343804438054381143812438214382243824438284383043832438364383743840438424384343844438454390143902439034390543906439074390843909439104391243913439144391543916439174392043925439264392743928439304393143932439334393443935439374393843939439404394143942439434394443945439464394743948439504395143952439534396143962439634396443966439674396843970439714397243973439744397643977439814398343984439854398643988439894400144003440044400544010440114401244017440214402244023440244402644028440304403244033440354403644039440404404144044440454404644047440484404944050440524405344054440554405644057440604406144062440644406544067440684407044072440734407444076440774408044081440824408444085440864408744088440894409044092440934409444095440964409744099441014410244103441044410544106441074410844109441104411144112441134411444115441164411744118441194412044121441224412344124441254412644127441284412944130441314413244133441344413544136441374413844139441404414144142441434414444145441464414744149441774417844179441814418444185441864418844189441904419144192441934419444195441974419844199442014420244203442104421144212442144421544216442174422144222442234422444230442314423244233442344423544236442374423844240442414424244243442504425144253442544425544256442584426044262442644426544266442704427244273442744427544276442784428044281442824428544286442874428844301443024430344304443054430644307443084430944310443114431244313443144431544316443174431944320443214432244325443264432844333443344437244393443964439744398443994440144402444034440444405444064440844410444114441244413444154441644417444184442044422444234442444425444274442844429444304443144432444364443744438444394444044441444424444344444444454444644449444504445144452444534445444455444604447044471444734448144482444834448444485444864448744488444904449144492444934450144502445034450444505445064450744509445104451144512445134451444515445554459844599446014460644607446084460944610446114461244613446144461544617446184461944620446214462244624446254462644627446284462944630446314463244633446344463644637446384463944640446414464344644446454464644647446484465044651446524465344654446564465744659446604466144662446634466544666446674466944670446714467244675446764467744678446794468044681446824468344685446874468844689446904469144693446954469744699447014470244703447044470544706447074470844709447104471144712447144471844720447214473044735447504476044767447984479944801448024480344804448054480744809448114481344814448154481644817448184482044822448244482544826448274482844830448334483644837448384483944840448414484244843448444484544846448474484844849448504485144853448544485544856448574485944860448614486244864448654486644867448704487144874448754487844880448814488244883448874488844889448904490144902449034490444905449064490744999450014500245003450044500545011450124501345014450154501845020450234502545026450304503245033450344503645039450404504145042450434504445050450514505245053450544505545056450614506245063450644506545066450674506845069450704507145073450994510145102451034510545106451074511045111451124511345114451154511845119451204512145122451234513045131451324513345135451384514045142451444514545146451474514845150451524515345154451554515645157451584515945160451624516445165451664516745168451694517145172451744517645177452014520245203452044520545206452074520845209452104521145212452134521445215452164521745218452194522045221452224522345224452254522645227452284522945230452314523245233452344523545236452374523845239452404524145242452434524445245452464524745248452494525045251452524525345254452554525845262452634526445267452684526945270452714527345274452754527745280452964529845299453014530245303453044530545306453074530845309453104531145312453144531545316453174531845319453204532145322453234532445325453264532745328453304533145332453334533445335453364533745338453394534045341453424534345344453454534645347453484534945350453514535245353453544535645358453594536045361453624536345365453674536845369453704537145372453734537445377453784538045381453824538345384453854538745388453894539045401454024540345404454054540645407454084540945410454124541345414454154541645417454184541945420454224542345424454264542745428454294543045431454324543345434454354543745439454404544145448454494545445458454594546345469454704547545479454814548245490455014550245503455044550545506456014561245613456144561645617456184561945620456214562245623456244562845629456304563145633456344563645638456404564245643456444564545646456474564845650456514565245653456544565645657456584565945660456614566245663456694567145672456734567445675456774567845679456804568145682456834568445685456864568745688456904569245693456944569545696456974569845699457014571045711457124571345714457154571645717457194572045721457234572445727457294573245734457354573945740457414574245743457444574545746457504576045761457644576645767457684576945770457714577245773457754577645777457784577945780457814578245783457844578645787457884578945801458024580445805458064580745808458094581045812458134581445815458164581745819458204582145822458264582745828458304583145832458334583545836458374583845839458404584145843458444584545846458484584945850458514585345854458554585645858458594586045861458624586345864458654586645867458684586945870458714587245873458744587545876458774587945880458814588245883458844588545886458874588845889458904589145893458944589545896458974589845899459444599946001460114601246013460144601546016460174601846030460314603246033460344603546036460384603946040460414604446045460464604746048460494605046051460524605546056460574605846060460614606346064460654606746068460694607046071460724607446075460764607746082461024610346104461054610646107461104611146112461134611446115461174611846120461214612246123461244612546126461274612846129461304613146133461354614046142461434614446146461474614846149461504615146154461554615646157461584616046161461624616346164461654616646167461684617046171461724617346175461764618046181461824618346184461864620146202462034620446205462064620746208462094621146214462164621746218462194622046221462224622346224462254622646227462284622946230462314623446235462364623746239462404624146242462444624746249462504625146253462544625546256462594626046266462684627446275462774627846280462824628346285462904629146295462964629846301463024630346304463074630846310463114631246319463204632146322463234632446325463274634046341463424634546346463474634846349463504635246355463564636046361463654636646368463714637246373463744637546376463774637946380463814638246383463844638546390463914639246393463944640146402464034640446405464064640746408464094641046411465014650246504465064650746508465104651146513465144651546516465174652446526465274652846530465314653246534465364653746538465394654046542465434654446545465464655046552465534655446555465564656146562465634656546566465674657046571465724657346574465804658146582465904659546601466044661246613466144661546616466174661946620466244662646628466294663446635466374666046680466994670146702467034670446705467064671046711467134671446720467214672346725467304673146732467334673746738467404674146742467434674546746467474674846750467554675946760467614676346764467654676646767467694677046771467724677346774467764677746778467794678046781467824678346784467854678646787467884678946791467924679346794467954679646797467984679946801468024680346804468054680646807468084680946814468154681646818468194682546835468454685046851468524685346854468554685646857468584685946860468614686246863468644686546866468674686846869468854689546896468974689846899469014690246903469044691046911469124691346914469154691646917469194692046921469224692346926469284692946930469314693246933469354693646937469384693946940469414694246943469454694646947469504695146952469534695746958469594696046961469624696546967469684697046971469744697546977469784697946980469824698446985469864698746988469894699046991469924699446995469964699847001470034700647010470114701247016470174701847019470204702147022470234702447025470304703147032470334703447035470364703747038470394704047041470424704347060471024710447106471074710847110471114711247114471154711647117471184711947120471224712347124471254712647129471304713147132471334713447135471364713747138471394714047141471424714347144471454714647147471504715147160471614716247163471644716547166471674717047172471744717547177471994720147202472034722047223472244722547226472274722847229472304723147232472344723547236472404724347244472454724647247472494725047260472614726247263472644726547270472724727347274472804728147282472834730247303473044730547306473074730847320473224732447325473264732747330473314733447335473364733747338473394734047341473424734447345473464734847351473524735347354473554735647357473584735947360473614736247366473674736847369473704737147373473744737547380473814738247383473844738547386473874738847390473924739347394473964740147402474034740447405474064740747408474204742147424474264742747429474304743147432474334743447435474364743747438474394744147443474454744647448474494745147452474534745447455474564745747458474594746047462474634746447465474674746847469474704747147490475014751247513475144751547516475194752047521475224752347524475254752747528475294753147532475354753647537475414754247545475464754747549475504755147552475534755647557475584756147562475644756747568475734757447575475764757747578475794758047581475844758547586475884759047591475964759747598476014761047611476124761347614476154761647617476184761947620476294763047631476334763447635476374763847639476404764747648476494765447660476654766647670476834770147702477034770447705477064770847710477114771247713477144771547716477194772047721477224772447725477274772847730477314773247733477344773547736477374773947740477414774447747477504780147802478034780447805478074780847809478114781247813478144783047831478324783347834478364783747838478404784147842478454784647847478484784947850478514785247853478544785547856478574785847859478604786147862478634786447865478664786847869478704787147872478744787547876478784787947880478814788247884478854790147902479034790447905479064790747909479164791747918479204792147922479234792447925479264792847929479304793247933479344793547936479374793847939479404794147942479434794447946479484794947950479514795247954479554795747958479594796047962479634796447965479664796747968479694797047971479744797547977479784798047981479824798347984479864798747988479894799047991479924799347994479954799647997480014800248003480044800548006480074800948012480144801548017480214802248023480254802648027480284803048032480344803548036480374803848039480404804148042480434804448045480464804748048480494805048051480544805948060480614806248063480644806548066480674806848069480704807148072480734807448075480764807948080480814808248083480844808548086480884808948090480914809248093480944809548096480974809848099481014810348104481054810648107481084810948110481114811248113481144811548116481174811848120481214812248123481244812548126481274812848130481314813348134481354813648137481384813948140481414814348144481454814648150481514815248153481544815748158481594816048161481624816448165481664816748169481704817348174481754817648177481784817948180481824818348184481854818648187481884818948190481914819248195481974819848201482024820348204482054820648207482084820948210482114821248213482144821548216482174821848219482204822148222482234822448225482264822748228482294823048231482324823348234482354823648237482384823948240482424824348244482554826048264482654826648267482684826948272482754827748278482794828848301483024830348304483064830748308483094831048311483124831348314483154831648317483184832048321483224832348324483254832648327483284832948330483314833248333483344833548336483404834148342483434834648347483484835048353483564835748359483604836148362483634836648367483704837148374483754837648377483804838148382483834838648387483904839148393483974839848401484104841148412484134841448415484164841748418484194842048421484224842348426484274842848429484304843248433484344843548436484374843848439484404844148442484444844548446484494845048451484534845448455484564845748458484604846148462484634846448465484664846748468484694847048471484724847348475484764850148502485034850448505485064850748509485194852948531485324855048551485524855348554485554855648557485594860148602486034860448605486064860748608486094861048611486124861348614486154861648617486184861948620486214862248623486244862548626486274862848629486304863148632486334863448635486364863748640486414864248647486494865048651486524865348654486554865648657486584865948661486624866348667486704867448686487014870348705487064870748708487104872048721487224872348724487254872648727487284872948730487314873248733487344873548736487374873848739487404874148742487434874448745487464874748748487494875048754487554875648757487584875948760487614876248763487644876548766487674876848769487704878748801488024880448805488064880748808488094881148812488134881548816488174881848819488204882148822488234882448825488264882748829488304883148832488334883448835488364883748838488404884148842488434884448845488464884748848488494885048851488524885348854488564885748858488594886048861488624886348864488654886648867488704887148872488734887448875488764887748878488794888048881488824888348884488854888648887488884888948890488914889248893488944889548896488974890148906489074890848909489104891148912489134891548916489174891848919489214892248924489294893048933489374895048951489564898049001490024900349004490054900649007490084900949010490114901249013490144901549016490174901849019490204902149022490234902449026490274902849029490304903149032490334903449035490364903849039490404904149042490434904549046490474904849050490514905249053490554905649057490584906049061490624906349064490654906649067490684906949070490714907249073490744907549076490774907849079490804908149082490834908449085490874908849089490904909149092490934909449095490964909749098490994910149102491034910449106491074911149112491134911549116491174911949120491214912549126491274912849129491304920149202492034920449220492214922449227492284922949230492324923349234492354923649237492384923949240492414924249245492464924749248492494925049251492524925349254492554925649257492584925949261492624926349264492654926649267492684926949270492714927249274492754927649277492784927949280492814928249283492844928549286492874928849289493014930249303493044930549306493074930949310493114931249314493154931649317493184931949320493214932249323493254932649327493284932949330493314933249333493354933649337493384933949340493414934249343493444934549346493474934849349493514935549356493574940149402494034940449405494064940849409494104941149412494134941549416494174941849419494204942149422494234942449425494264942749428494294943049431494344943549436494374944049441494424944349444494454944649448494494945049451494524945349454494554945649457494584945949460494614946349464494684950149502495034950449505495064950749508495094951049512495144951549516495184952349525495304954449546495484955049555495604958849599496014961049611496124961349614496154961649617496184961949620496214962249623496254962649627496284962949630496314963249633496344963549636496374963849639496404964249643496444964549646496484964949650496514965349654496554965649657496594966049663496644966549666496674966849670496734967449675496764967749679496804968249683496844968549686496884968949690496964970149705497064970749709497104971149712497134971549716497174971849719497204972149722497234972449725497264972749728497294973049733497344973549736497374973849739497404974349744497454974649747497484974949751497524975349755497564975749759497604976149762497644976549766497684976949770497744977549776497774977849779497804978149782497834978449785497864978849790497914979249793497954979649797497994980149802498054980649807498084981249813498144981549816498174981849819498204982149822498254982649827498294983149833498344983549836498374983849839498404984149845498474984849849498524985349854498554985849861498624986349864498654986649868498704987149872498734987449876498774987849879498804988149883498844988549886498874989149892498934989449895498964990149902499034990549908499104991149912499134991549916499174991849919499204992149922499254992749929499304993149934499354993849942499454994649947499484995049952499534995549958499594996049961499624996349964499654996749968499694997049971500015000250003500055000650007500085000950010500115001250013500145001550020500215002250025500265002750028500295003150032500335003450035500365003750038500395004050041500425004350044500465004750048500495005050051500525005450055500565005750058500595006050061500625006350064500655006650067500685006950070500715007250073500745007550076500785010150102501035010450105501065010750108501095011050111501125011550116501175011850119501205012250123501245012550126501275012850129501305013150132501335013450135501365013750138501395014050141501425014350144501455014650147501485014950150501515015250153501545015550156501575015850160501615016250163501645016550166501675016850169501705017150173501745017750197501985020150206502075020850210502115021250213502145021650217502185021950220502225022350225502265022750228502295023050231502325023350234502355023650237502385023950240502415024250243502445024650247502485024950250502515025250254502555025650257502585025950261502625026350264502655026650268502695027150272502735027450275502765027750278503015030250303503045030550306503075030850309503105031150312503135031450315503165031750318503195032050321503225032350325503275032850329503305033150332503335033450335503365033850339503405034750350503595036050361503625036350364503675036850369503805038150391503925039350394503955039650397503985040150402504205042150423504245042650427504285043050431504325043350434504355043650438504395044050441504445044650447504485044950450504515045250453504545045550456504575045850459504605046150464504655046650467504685046950470504715047250473504755047650477504785047950480504815048250483504845050150510505115051450515505165051750518505195052050521505225052350524505255052650527505285052950530505315053250533505355053650538505395054050541505425054350544505455054650548505515055250554505565055750558505595056050561505625056350565505665056750568505695057050571505735057450575505765057750578505795058150582505835058550586505885059050591505925059350594505955059750598505995060150602506035060450605506065060750608506095061150612506135061450616506195062050621506225062350624506255062650627506285062950630506315063250633506345063550636506385064150642506435064450645506475064850649506505065150652506535065450655506575065850659506605066150662506645066550666506675066850669506705067150672506735067450675506765067750680506815068250701507025070350704507065070750799508015083050831508335083550836508375083950840508415084250843508455084650847508485084950851508535085450857508585085950860508615086250863508645093650940509475095050980509815100151002510035100451005510065100751008510095101051011510125101451015510165101751018510195102051022510235102451025510265102751028510295103051031510335103451035510365103751038510395104051041510445104551046510475104851049510505105151052510535105451055510565105851059510605106151062510635110151102511035110451105511065110851109511115120151230512315123251234512355123751238512395124051241512425124351244512455124651247512485124951250513015133051331513335133451338513405134151342513435134451345513465134751349513505135151354513555135751358513605136351364513655136651401514305143151432514335143651439514405144151442514435144451445514465144751448514495145051451514525145351454514555145851459514605146151462514635146551466514675150151502515035151051520515215152351525515265152751528515295153051531515325153351534515355153651537515405154151542515435154451545515465154851549515505155151552515535155451555515565155751558515595156051561515625156351564515655156651570515715157251573515745157551576515775157851579515915159351601516025160351630516315163251636516375163851639516405164551646516475164851649516505165151652516535165451656520015200252003520045203052031520325203352035520365203752038520395204052041520425204352044520455204652047520485204952050520525205352054520555205652057520605206452065520665206852069520705207152072520735207452075520765207752078520795209952101521325213352134521355213652140521415214252144521465214752149521515215452155521565215752158521595216052161521625216352164521655216652168521695217052171521725217552201522025220352204522055220652207522085220952210522115221252213522145221552216522175221852219522205222152222522235222452225522265222752228522295223152232522335223552236522375224052241522425224352244522455224652247522485224952251522525225352254522555225752301523025230552306523075230852309523105231252313523145231552316523175231852319523205232152322523235232452325523265232752328523295233052332523335233452335523365233752338523395234052341523425234452345523465234752348523495235052351523525235352354523555235652358523595236152362524015240252403524045240552406524075240852409524105241152497524985249952501525305253152533525345253552536525375253852540525425254352544525485254952550525515255252553525545255552556525575256052561525625256352565525665256752568525695257052571525725257352574525765257752580525815258352584525855258652588525905259152593525945259552601526195262052621526235262452625526265262752630526315263252635526375263852639526405264152642526445264552646526475264852649526505265152652526535265452655526565265752658526595266052701527205272152722527265272752728527295273052731527325273352736527375273852739527425274552746527475274852749527505275152752527535275452755527565275752758527595276052761527655276652767527685276952771527725277352774527765277752778528015280252803528045280552806528075280852809530015300253003530045300553006530075300853010530115301253013530145301553016530175301853019530205302153022530235302453026530275302953031530325303353034530355303653037530385303953040530425304453045530465304753048530495305053051530525305653057530585305953060530615306253063530645306553066530695307053072530735307453075530765307853079530805308153082530835308553086530885308953090530915309253093530945309553097530985309953101531025310353104531055310853109531105311453115531185311953120531215312253125531265312753128531295313053132531375313853139531405314153142531435314453146531475314853149531505315153152531535315453156531575315853159531675316853170531715317253176531775317853179531815318253183531845318553186531875318853189531905319153192531945319553201532025320353204532055320653207532085320953210532115321253213532145321553216532175321853219532205322153222532235322453225532265322753228532335323453235532375325953263532675326853270532745327753278532805328153284532855328853290532935329553401534025340353404534055340653407534085349053501535025350353504535055350653507535085351053511535125351553516535175351853520535215352253523535255352653527535285352953530535315353253533535345353553536535375353853540535415354253543535445354553546535475354953550535515355353554535555355653557535585355953560535615356253563535655356653569535705357153572535735357453575535765357753578535795358053581535825358353584535855358653587535885358953590535915359353594535955359653597535985359953701537025370353704537055370653707537085370953710537115371353714537155371653717537185371953725537265374453777537785377953780537825378353784537855378653787537885378953790537915379253793537945380153802538035380453805538065380753808538095381053811538125381353816538175381853820538215382453825538265382753901539105391153913539165391753919539205392253923539245392553926539275392853929539305393153932539335393453935539365393753939539405394153942539435394453946539475394853949539505395153952539535395453955539565395753958539595396053961539625396353964539655396853969540015400254003540045400554006540075400954010540115401254013540145401554016540175402054021540225402354024540255402654027540285408254101541025410354104541065410754110541115411254113541145411554119541205412154123541245412554126541275412854129541305413154135541365413754138541395414054141541435414954150541515415254153541545415554156541575415954160541615416254165541665416954170541715417354174541755417754180541825420154202542035420454205542075420854209542105421154212542135421454215542165421754220542215422654227542285422954230542325423454235542405424154245542465424754301543025430354304543055430654307543085431154313543245434454401544025440354404544055440654407544085440954410544115441254413544145441554416544175441854420544215442254423544245442554426544275442854429544305443254433544345443554436544375443954440544415444254443544445444654447544485444954450544515445254454544555445654457544585445954460544625446354464544655446654467544695447054471544725447354474544755447654479544805448154484544855448654487544885448954490544915449254493544945449554498544995450154511545125451354514545155451754519545205452154524545255452654527545295453054531545325453454536545375453854539545405454154542545435454554546545475454854550545525455454555545565455754558545595456054561545625456354564545655456654568546015460254603546105461154612546135461454615546165461854619546205462154622546235462454625546265462754628546295463054631546325463454635546365463754638546395464054641546425464354644546455464654648546495465054651546525465354654546555465654657546585465954660546615466254664546655466654667546695467054701547025470354720547215472254723547245472554726547275472854729547305473154732547335473454735547365473754738547395474054741547425474354744547455474654747547485474954750547515475454755547565475754758547595476054761547625476354764547655476654767547685476954770547715477254773547745480154805548065481054812548135481454816548175481854819548205482154822548245482654827548285482954830548325483454835548365483754838548395484054841548425484354844548455484654847548485484954850548515485354854548555485654857548585485954861548625486454865548675486854870548715487254873548745487554876548805488854889548905489154893548955489654901549025490354904549065490954911549125491354914549155491954921549225492354926549275492854929549305493154932549335493454935549365493754940549415494254943549445494554946549475494854949549505495154952549565495754960549615496254963549645496554966549675496854969549705497154974549755497654977549785497954980549815498254983549845498554986549905500155002550035500555006550075500855009550105501155012550135501455016550175501855019550205502155024550255502655027550295503055031550325503355036550375503855040550415504255043550445504555046550475504955051550525505355054550555505655057550605506355065550665506755068550695507055071550725507355074550755507655077550785507955080550825508355084550855508755088550895509055092551015510255103551045510555106551075510855109551105511155112551135511455115551165511755118551195512055121551225512355124551255512655127551285512955133551445514555146551505515555161551645516555166551685516955170551715517255175551775518255187551885519055191553015530255303553045530555306553075530855309553105531155312553135531455315553165531755318553195532055321553225532355324553255532755328553295533055331553325533355334553355533655337553385533955340553415534255343553445534555346553475534855349553505535255353553545535555356553575535855359553605536155362553635536455365553665536755368553695537055371553725537355374553755537655377553785537955380553815538255383553845538555386553875538855389553905539155392553935539455395553965539755398553995540155402554035540455405554065540755408554095541055411554125541355414554155541655417554185541955420554215542255423554245542555426554275542855429554305543155432554335543455435554365543755438554395544055441554425544355444554455544655447554485544955450554545545555458554595546055468554705547255473554745547855479554805548355484554855548655487554885555055551555525555355554555555555655557555585555955560555615556255563555645556555566555675556855569555705557155572555735557455575555765557755578555795558055581555825558355584555855558655587555885558955590555915559255593555945559555596555975559855599556015560255603556045560555606556075560955612556135561455615556165570155702557035570455705557065570755708557095571055711557125571355716557175571855719557205572155722557235572455725557265573055731557325573355734557355573655738557415574255744557455574655747557485574955750557515575255753557565575755758557605576355764557655576655767557685576955771557725577555777557795578055781557825578355784557855578655787557905579155792557935579555796557975579855801558025580355804558055580655807558085581055811558125581455815558165590155902559035590455905559065590955910559125591755918559195592055921559225592355924559255592655927559295593155932559335593455935559365593955940559415594255943559445594555946559475594955950559515595255953559545595555956559575595955960559615596255963559645596555967559685596955970559715597255973559745597555976559775597955981559825598355985559875598855990559915599256001560025600356006560075600956010560115601356014560165601756019560205602156022560235602456025560265602756028560295603056031560325603356034560355603656037560395604156042560435604456045560465604756048560505605156052560545605556056560575605856060560625606356064560655606856069560715607256073560745607556076560785608056081560825608356084560855608756088560895609056091560935609656097560985610156110561115611356114561155611656117561185611956120561215612256123561255612756128561295613156132561345613656137561385613956140561415614256143561445614556146561475614956150561515615256153561555615656157561585615956160561615616256164561655616656167561685616956170561715617256173561745617556176561775617856180561815618356185561865618756201562075620856209562105621156212562145621556216562185621956220562215622256223562245622556226562275622856229562305623156232562355623656237562395624056241562435624456245562465624856249562515625256253562555625656257562585626056262562635626456265562665626756270562715627356274562765627756278562795628056281562825628356284562855628756288562895629156292562935629456295562965629756301563025630356304563075630856309563105631156312563135631456315563165631756318563195632056321563235632456325563265632756328563295633056331563325633356334563355633656338563395634056341563425634356344563455634756349563505635256353563545635556356563575635856359563605636156362563635636456367563685636956371563725637356374563755637656377563785637956381563825638456385563865638756388563895639356395563965639756398563995640156425564305643156433564345643556436564375643856440564415644256443564445644656447564485644956450564525645356455564565645856459564615646456465564665646756468564695647056472564735647456475564775647856479564815648256484565015650256510565115651356514565155651656517565185651956520565215652256523565245652556527565285652956531565335653456535565365653756538565405654156542565435654456545565465654756548565495655056551565525655356554565565655756560565615656256563565655656656567565685656956570565715657256573565745657556576565775657856579565805658156583565845658556586565875658856589565905659156592565935659456601566195662156623566265662756628566295663056631566335663456636566375663956641566445664656647566495665056651566525665356654566555665756658566595666056661566625666356666566675666856669566705667156672566735667656678566795668056681566825668356684566855668656687566885670156710567115671256713567145671556716567205672156722567235672456725567265672756728567295673156732567335673456735567365673756738567405674156742567445674856750567515675456755567565675756758567595676056761567625676357001570025700357004570055700657007570105701257013570145701557016570175701857020570215702257024570255702657027570285702957030570315703257033570345703557036570375703857039570405704157042570435704457045570465704757048570495705057051570525705357054570555705657057570585705957061570625706357064570655706657067570685706957070570715707257073570755707657077570785707957101571035710457105571065710757108571095711057115571175711857186571885718957192571935719457195571965719757198572015720257212572135721457216572175721857219572205722157223572245722557226572275723157232572335723457235572365723757238572395724157242572435724457245572465724757248572495725157252572535725557256572575725857259572605726157262572635726457265572665726857269572705727157272572735727457276572785727957301573115731257313573145731557317573195732157322573235732457325573265732857329573305733157332573345733557337573395734057341573425734457345573465734857349573505735357354573555735657357573585735957361573625736357364573655736657367573685736957370573715737357374573755737657379573805738157382573835738457385573865739957401574025742057421574225742457426574275742857429574305743257433574345743557436574375743857439574405744157442574455744657448574495745057451574525745457455574565745757460574615746257465574665746757468574695747057471574725747357474574755747657477574795748157501575205752157522575235752657528575295753157532575335753457536575375753857540575415754257543575445754757548575515755257553575555755757559575605756257563575645756657567575685756957570575715757257574575765757757578575795758057584575855760157620576215762257623576255762657628576295763057631576325763357634576365763857639576405764157642576435764457645576465764757648576495765057651576525765357656576575765857659576605766157701577025770357706577095771457716577175771857719577205772257724577255772957730577325773557736577375773857741577425774457745577475774857750577515775257754577555775657758577595776057761577625776357764577655776657767577695777057772577735777457775577765777757778577795778057782577835778557787577885779057791577925779357794577995800158002580045800558006580075800858009580115801258013580145801558016580175801858021580275802958030580315803258033580355803658038580395804058041580425804358045580465804758048580495805158052580535805458056580575805858059580605806158062580635806458065580675806858069580715807258074580755807658077580785807958081581025810358104581055810658107581085810958121581225812358124581255812658201582025820358204582055820658207582085821058212582135821458216582185821958220582225822358224582255822758228582295823058231582335823558236582375823858239582405824158243582445824958250582515825458255582565825758258582595826058261582625826558266582675826958270582715827258273582745827558276582775827858281582825830158310583115831358316583175831858319583205832158323583245832558327583295833058331583325833558337583385833958341583435834458345583465834858351583525835358355583565835758359583615836258363583655836658367583685836958370583725837458377583795838058381583825838458385583865840158402584055841358415584165841858420584215842258423584245842558426584285842958430584315843258433584365843858439584405844158442584435844458445584485845158452584545845558456584585846058461584635846458466584675847258474584755847658477584785847958480584815848258483584845848658487584885848958490584925849458495584965849758501585025850358504585055850658507585205852158523585245852858529585305853158532585335853558538585405854158542585445854558549585525855358554585585855958560585615856258563585645856558566585685856958570585715857258573585755857658577585795858058581586015860258620586215862258623586255862658627586305863158632586345863658638586395864058641586425864358644586455864658647586495865058651586525865358654586555865658701587025870358704587055870758710587115871258713587165871858721587225872358725587275873058731587335873458735587365873758740587415874458746587475874858750587525875558756587575875858759587605876158762587635876558768587695877058771587725877358775587765877858779587815878258783587845878558787587885878958790587925879358794587955880158802588305883158833588355883858843588445884558847588495885258853588545885659001590025900359004590065900759008590105901159012590135901459015590165901859019590205902259024590255902659027590285902959030590315903259033590345903559036590375903859039590415904359044590465904759050590525905359054590555905759058590595906159062590635906459065590665906759068590695907059071590725907359074590755907659077590785907959081590825908359084590855908659087590885908959101591025910359104591055910659107591085911159112591145911559116591175920159211592125921359214592155921759218592195922159222592235922559226592305923159240592415924259243592445924559247592485925059252592535925459255592565925759258592595926059261592625926359270592735927459275592765930159311593125931359314593155931659317593185931959322593235932459326593275933059332593335933659337593385933959341593435934459345593475934859349593515935359354594015940259403594045940559406594105941159412594145941659417594185941959420594215942259424594255942759430594325943359434594355943659440594415944259443594445944559446594475944859450594515945259453594545945659457594605946159462594635946459465594665946759468594695947159472594735947459477594795948059482594835948459485594865948759489595015952059521595225952359524595255952659527595285952959530595315953259535595375953859540595425954459545595465954759601596025960459620596235962459625596265963159632596335963459635596365963859639596405964159642596435964459645596475964859701597025970359707597105971159713597145971559716597175971859719597205972159722597245972559727597285972959730597315973259733597355973659739597405974159743597455974659747597485974959750597515975259754597555975659758597595976059761597625977159772597735980159802598035980459806598075980859812598205982159823598245982559826598275982859829598305983159832598335983459835598365983759840598415984259843598445984559846598475984859851598535985459855598565985859859598605986359864598655986659867598685987059871598725987359874598755990159902599035990459910599115991259913599145991559916599175991859919599205992159922599235992559926599275992859929599305993159932599335993459935599365993760001600026000460005600066000760008600096001060011600126001360014600156001660017600186001960020600216002260025600266002960030600316003360034600356003760038600396004060041600426004360044600456004660047600486004960050600516005360055600566006060061600626006460065600676006860069600706007160072600736007460075600766007760078600796008060081600826008360084600856008660087600886008960090600916009260093600946009560096600976009860099601016010260103601046010560106601076010860109601106011160112601136011560116601176011860119601206012160122601236012560126601286012960130601316013260133601346013560136601376013860139601406014160142601436014460145601466014760148601506015160152601536015460155601566015760159601606016160162601636016460165601686017060171601726017360174601756017660177601786017960180601816018260183601846018560186601876018860189601906019160192601936019460195601966019760199602016020260203602046020860209603016030260303603046030560399604016040260406604076040860409604106041160412604156041660417604196042060421604226042360424604256042660429604306043160432604336043460435604366043760438604396044060441604426044360444604456044660447604486044960450604516045260453604546045560456604576045860459604606046160462604636046460465604666046760468604696047060471604726047360474604756047660477604786047960480604816048260490604996050160504605056050660507605106051160512605136051460515605166051760518605196052060521605226052360525605266052760530605316053260534605366053760538605396054060541605426054360544605456054660548605496055060551605526055360554605556055660557605586055960560605616056360564605656056660567605686057060572605976059860599606016060260603606046060560606606076060860609606106061160612606136061460615606166061760618606196062060621606226062360624606256062660628606296063060631606326063360634606366063760638606396064060641606436064460645606466064760649606516065260653606546065560656606576065960660606616066360664606656066660667606686066960670606716067260673606746067560677606786067960680606816068360684606856068760688606906069160693606946069660697606996070160706607076071260714608036080460805608276090160902609106091160912609136091460915609176091860919609206092160922609246092660927609286092960930609316093260933609346093560936609386093960940609416094260944609456094660948609496095060951609526095360954609556095660957609596096060961609626096360964609666096760968609696097060973609746100161006610076100861010610116101261013610146101561016610186101961020610216102461025610276102861030610316103261036610376103861039610416104261043610446104661047610486104961050610516105261053610546105761058610596106061061610626106361064610656106761068610706107161072610736107461075610766107761078610796108061081610846108561087610886108961091611016110261103611046110561106611076110861109611106111161112611146111561125611266113061131611326120161204612306123161232612336123461235612366123761238612396124061241612426124361244612506125161252612546125661257612586125961260612616126261263612646126561266612706127261273612746127561276612776127861279612816128261283612846128561299613016131061311613126131361314613156131661317613186131961320613216132261323613246132561326613276132861329613306133161332613336133461335613366133761338613406134161342613446134561346613486134961350613536135461356613586135961360613616136261363613646136761368613696137061371613726137361374613756137661377613786137961401614026141061411614126141361414614156141661417614186141961420614216142261423614246142561426614276142861430614316143261433614346143561436614376143861439614406144161442614436144761448614496145061451614526145361454614556145861459614606146261465614666146761468614696147061471614726147361474614756147661477614786147961480614826148361484614856148661488614896149061491615016151661517615196152061523615246152561526615286152961530615316153261533615346153561536615376153961540615416154261543615446154561546615476154861550615526155361554615556155861559615606156161562615636156461565615676156861569615706157161572616016160261603616046160561606616076161061611616126161361614616156161661625616286162961630616326163361634616356163661637616386163961640616416164361644616506165161652616536165461655616566170161702617046170961710617206172161722617236172461725617266172761728617296173061731617326173361734617356173661737617386173961740617416174261743617446174561747617486174961750617516175261753617546175561756617586175961760617616176461769617706177161772617736177461775617766177761778617906179161799618016180261803618106181161812618136181461815618166181761818618206182161822618246182561826618306183161832618336183461839618406184161842618436184461845618466184761848618496185061851618526185361854618556185661857618586185961862618636186461865618666187061871618726187361874618756187661877618786188061882618836188461910619116191261913619146191761919619206192461925619286192961930619316193261933619366193761938619406194161942619436194461949619516195361955619566195762001620026200662009620106201162012620136201462015620166201762018620196202162022620236202462025620266202762028620306203162032620336203462035620366203762040620446204562046620476204862049620506205162052620536205462056620586205962060620616206262063620656206762069620706207162074620756207662077620786207962080620816208262083620846208562086620876208862089620906209162092620936209462095620976209862201622026220362204622056220662207622086221462215622166221762218622196222062221622226222362224622256222662230622316223262233622346223662237622386223962240622416224262243622446224562246622476224862249622506225262253622546225562256622576225862259622606226162262622636226462265622666226862269622716227262273622746227562277622786227962280622816228262283622846228562286622886228962292622936229462295622976229862301623056230662310623116231262313623146231662318623196232062321623236232462325623266232962330623346233662338623396234062341623436234462345623466234762348623496235162352623536235462355623566235762358623596236062361623626236362365623666236762370623736237462375623766237862379623806240162410624116241362414624156241762418624196242062421624226242362424624256242662427624286243162432624336243462435624366243862439624406244162442624436244462445624466244762448624496245062451624526245462458624596246062461624626246362464624656246662467624686246962471624736247462475624766247762478624796248062481625016251062511625126251362514625156251762518625196252062521625226252362524625256252662527625306253162532625336253462535625366253762538625396254062541625436254462545625466254762548625496255062551625526255362554625556255662557625586256062561625636256562567625686257062571625726257362601626106261162612626136261562617626186262162622626246262562626626276262862629626306263162633626346263562638626396264062642626436264462649626506265162655626566265962660626616266262663626646266562666626676266862670626716267262673626746267562677626816268262683626846268562686626886268962690626916269262693626946269562701627026270362704627056270662707627086270962713627156271662718627196272062721627226272362726627366273962746627566275762761627626276362764627656276662767627696277662777627816278662791627946279662801628036280562806628076280862809628106281162812628146281562816628176281862819628206282162822628236282462825628276282862829628306283162832628336283462835628366283762838<