02868089345148837046081473888067861799277074952677491906747638572701367206317719973370493956919034691706366173406524346649162164619446306679617872561429406133019601487259907735789443572305754661715424891541585753582555324653527082151945485181985517536750822725054542493692948874814788175472277046908634653756464788846373184633182455327845288014455914445499943916324290456427902242534634248770423357642295974221222416346141534804008037400607439481353944970384743238367843756743375594537129323700498360264536021423599229358279735624793531273351693635081363481587344894434427723391637338540433697353332055329331232840273283911326921332515473230620322558931433803134859311977531010283071762306751630557603054485304538930408773037768302287329960432986137297707629613392955382295454029460012901282289963228884652857918283618428328832832493280430227972232758983275275827238322709585270268727009742691842267800826622882661452265409426536352640220264017326340222622947262114126015302596141259056625899012587380256934725618612507364250714325031562500025249382324685872463265246125024555172454580244911624449382441709243994024384322424560242194524179012416165241009724056492392334238647423831242382804237360423711432368340236640223570812356102235412423432432331557232715123109412298784229658122958422295745228688622792162260306225965522556512250035224992222357402234953222354522210982220924221388621933252193110218859421862802175569216954921694012168838216496121641312163183215918621570532149570214853921436602142082214135321362692126566212456321242202123958212125521143652112228211208121087292108386210510721005572096972209458420926852087833208756420843692082536207994120784152078236207604220752302072560207146520707052070668207065620697152068970206723720622272061854206002820571622054217205252620503202050095204936920490952048551204835720477632047145204447220418432038101203111220285542026389202417320236752021969201886820179432006888198656319849871984563196691719665081965117196475219488991945279194093519404511931943193180119289681925655192371919215171920937191709319123111911384190749019047601900278189853618980571891593188809818840521883701188365418798971878777187668218762931869411186851918631661862309186093218575231856723184139018342471831692182835218242151820680181892618136151800717179388917910591788556178725117716261764376173610017340671729995172807717248491721486170951117080291705499170548117046851702942170182217016891699270169873116889851686886168549916807931680535166993116604541649918163968416390531636300162712316191661618254161643916140871611280161003616002901598354159217215884081588343157698015733071571330157028215661841563518155775215482661547899154114315391801538481153577415350671534914153437915331721532687153222015299471527352151896415159861514718151379915114771508627150773215070471506028150481715037271499966149981014991401498649149171214916601490384148905814884711484182147923014775641472549147229714709701467620146520014650341462850146056814596291459399145905314566661452716144996414461151441708144143314411631440437143760114362861436239143169314311061427870142622114236211419746141243814021511401504139534713930841390370138809313862721384328138427813820461380619137803213745961374110137182813690991366428136621613647611359528135803213545581353483135343313522641351070134869013444651343473134307713390011338802133747113367221336117133542413350261330108132914013287921325369132421013170961315112131119213110821310539130998713043991294143129079312892241288215128645612850051281527127179212682121266080126145912576201253544125060812494931249207124868312466071245769124525012388911237430123730912355981235289123304512318901231447123115912303341227864122534212251111224879122119112175371216237121533912121981210454120945112089391205911120562112030141200409119881411952071192391119124711894071187678118593811842051184118118280411826691181390117746311697151166689116619611643991163168116169911608361160802115975211583321158125115755711557081155002115494611449871143623114213711416401141318113999011397921138220113785711372601136773113657911354921133439113130911261061122871111907311170751116087111505411147121106809110402610991861097037109419910935201092772109227310921971091726108958410874931087275108686110866641084774108246010803251079798107930810775051077117107532810753231073227107257010719341070055106982310658291063917106353010627911062714106053810603321058530105702810559851054907105488610541221051099104917910457971044174104176210409491039421103620510350771034671103363210292431027741102674710267121024724102327310232101021129101919910189651018746101668910146781014472101419610137231012567101161910098501009256100693910061821001411998645997218996218994238993937993543989897989076986588983593981348979016978346978076974684970548970490969787968864968479967840967526967069966002962794960697959371959139958789958109957627957522957446957394957080956918956905955081952399949804949155948454947325946387945076942624942535941231940572939690939204937457935797935684935589935506935380935116934179934062931283930601929218927638926979926505926419925605920914920793919442916446915759915331914810914683914468910024909984909551908427907968906714905982904975902637902402901940899293898995898225898187898087896270894790894175894052893686892860892434891446890366888931888305887552886144885716883475882737882671882640881775879626879623879531879479878105876689875354875083873179872311871170870611867969866350864723864626861456861181861062860344858573854668853699852906852667851828851608850672850364849730849168844559843847843682842553841309840912840093839305838317836307835153834299833648833126833058831819831670831607830414829411828348826389825906825168825161825087824935823858823844823618823304822760822228820989820554816268815038814124813391813210813140812893812646812058811273809778809322809189808969808390807311806614804141804006803794803502802153802015801741800995800895799583799167798900797070796905794618794152793479793270793041791361791331789851789782789679788728788684788269788029787137787069786914786261785770785756785526785257784870784628783569783361781441781383780750779031777648776662773161772803772194772066770433769909769779768393767914767677766708766455765332764133763665762796762729762095761173760745759952759335759283759219759165759080758102757987756742755069753695753692753590753216752884752178752144751671751153750685750229750180749330749148747151743900742496740776740225739390738932738876738734738283737876737314736717736412734247733979733954733330733161732282732244732087731466730472730046729704729092727791727597727545727139726109726065724619724412723715722989721923721859721592721185721026720716720409719258719120717804717403716714715638714620714305713625710292709267708341707784707104707003706779706691705701705031704763704684704502704309702378701735701054700830698718695583695493695318694630694496692111691412691226691170690985689805688853687727687465687382687379686904685782685643685570685403683335682331682116681823681768680889680407679700679572679073678578678490678422677745677393677034676381676312675852675052674764674469673096672931672814672178671914671439671031671000670744670310669566668752668512668449668335667164667141666694666029663469663330662981662632661876661189660926660005658962658870658535658292657498656855656333656043655759654554653751653538653156653123651895651136650394648965648901648567648519647849646705646130645506644357643845643818643067642799642594642469641723641069640615640438640377640171638083638015637889637477636721635600634676634109633597632383631164630783630515630309629968629884629779629639629519628742628120627678627476627102626608625848624962624254624043623439622254622195622150622033621363620744620345620335619613619612619546619019618772618486618229617778617732617561616487616396616017615868615576615011614987614856614496614373613986613659613441612543612486612424611700611084610650610132609656609614609431608999608541607828607663607289606582606469606204606043604738604711603661603243603232602368602172601571600810600755600733600443600350600190599976599563599562597615597597596614596465595957595774595707594101594009593961593880593125592679592303592257591412590883590293589440588626588326588275588214587998587955587371586638586528586398586291585982585887585814585796585388585307584507584379584130583926583825583802583794583682582951582106580687580005579446579404578679578678578208577958577934577626577427577246577217577034576474575993575580574981573987573936573786573625573004572413571089570983570923570615570603570581570158569776569256569040568798568227568178567342567143567113566994566928566135565979565755565605565487565177564933564247563409563243562837562353561639561538561523561175560909560582560193559713559682559667559543559180558688558155557670557033556487556368556188554947554732554654554369552510551952551575551253551201550680549670548815548724548497548249547866547441546997546935546899546836545720545704545476544973544879544784544783544015543802543520543148542424542225542190541290540874540711540250540148540041539935538736538446538152538036537473537319536059534457534061533491532957532870532242532180531973531905531897531771531765531419531347531306531170530848530816530579530053529980528822528621528456527723527013526991526929526851526284526057526025525604524001523573523488523463523160523149523123522745522237521866521849521469520441519117519109519089518407518134517256516804516345516253515950515319515253514667514603514591514582514464514360514256513648513460512196512148512081512032511733511591510805510683510460510428510164509832509831509597509590509328509254508795508707508598508557508045507869507614507374506765506739506552506305505953505847505509505500504652504206502521502518502450502162502098501673501064501058500994500676500550500432500302500239500103500005499539499388499211499201499075498836498629498308498113497949497566497316497172496820496797496553496457496410495645495251494978494473494339494088494003493664493561493314493284492944492706492595492343492318492021491827491774491769491743490578490186489819488932488847488768488731488690488218487975487179487164487008486862486813486387485512485296485241484547484541484493483890483695483690483104482957482821482637482446482423482262482056482042482038481899481473480899480781480714480312480223480215479902479837479671479609479412479366478854478236478175477979477897477801477590477573477277477244477172476887476230476072475827475753475699475053474961474933474687474578474425474171474108473970473757473664473648473497472298472297472296472280471977471925471808470904470881470824470687470675470442470350470114470061470053469658469194469159468950468404468260468237468187467430467322466976466602465955465914465883465414465365464761464691464676464563464038463597463531463492463483462646462568462347462200461889461805461703461533461492461324461226460807460659460325460174460163460118459987459779459209459164459113458996458956458911458764458732458573458531458087457926457827457576457472457249457176456716456381456232456130455819455691455052454995454209453905453789453547453428453306453304453224453072452970452558452421452286452245452091451713451081451078451066450174450159449936449365449157449081448433448393448306447932447904447745447631447512447080446073445451445440444816444747444222444150444099444067443752443743443611443481443456443423442690442454442433442219441721441482441444441300441155441131440988440716440432440293439841439837439661439640439438439179438652438266437301436527436465436167436152436124435947434889434885434830434674434038433752433636433432433231433117432451432392432339431094431021430990430954430817430290430067429983429697429551429271428966428958428870428299427940427637427200427195426868426591426513425953425945425533425307425139424278423388423379423021422721422583422075421887421656421607421462420325420144420085419986419867419637419034418871417826417594417484417382417352417346417300417212417074416048415911415659415262414772414736414558414503414448414377414054413894413749413539413341413239413078412801412574412533412408412314412201412131412110411853411735411587411579411266411263411115410820410648410602410596410573410489410224409859409422409381409275408851408837408793408347407969407853407426407091407074407026406456406452406291405927405692405252405190405130405040404509404493404367404360404319404291403621402933402554402423402365402338402254402058402031401917401870401869401675401655401500401368400925400547400340399642399274398867398539398087397862397451397380397039396794396498396245396172396025396017395925395865395798395635395538395511395470395452395307395190395072394510394509394437394298393855393467393364393230393051392800392789392374392143391484391331391311391292391137391084391061391033390721390626390338390232390149389902389823389689389154389022388960388869388595388527388228388166387801387532387387387347387293387277387003386736386437386378386262386183386096386082385990385487385248385075384825384817384560384451384321384045383926383915383793383778383674383559383557383433383414383282383163383138383072382963382962382178381771381597381516381191380856380855380835380765380463380397380270379923379569379393379240379066379037379021378863378835378741378311378211378057377881377868377639377175377017376971376876376761376626376376376262375746375129375016374943374810374640373962373777373509373499373425373057372865372706372289372166371923371907371865371251371137371127371116371111371048371014370884370650370617370446370302370000369967369903369695369651369379369357369059368910368838368836368417368403368077367963367893367834367784367749367744367320367062366945366891366869366698366549366414366311366230365986365953365650365067364746364538364518364497364464364272364269364206364185364151364114364021363883363844363638363614363513363448363152363101362835362826362805362793362665362323362099362046361880361847361510361292360758360050359891359866359338359154358905358612358488358413358116357844357768357655357635357559357092357044357006356937356847356818356718356571356491356469356123356084356046355836355769355504355448355439355390355375355169354855354841354696354176354061353936353818353747353637353399353259353195352954352493352408352370352341352284351996351760351719351594351543351471351342351296351136350842350805350654350357350323350286349863349697349514349275349025348748348734348645348582348473348465348419348416348272348268348014347752347660347600347078347014346885346813346577346473346199346161346160346112346058345549345412345121344995344595344575344554344458344403344296344235344164344082344081343684343635343587343158342626342476342465342112342071342037341883341803341682341012341011340846340632340526340261340200339685339378339366339176339144339012338998338742338648338639338566338409338356338026337948337881337793337554337415337413337386337191337087337079336965336704336636336518336490336427336055335999335736335351335318335191334744334694334628334298333908333811333545333431333140332853332788332782332696332649332334332105331815331708331531331240330994330850330271330114329925329885329799329729329650329050328825328645328637328496328433327668327609327591327481327120327036326872326844326546326402326202326057325968325583325513325479325359324984324933324930324867324674324601324521324465324313324255324205324141323674323637323539323194323192322877322750322695322664322176322173322109321983321962321838321788321545321481321368321261321023321006320984320923320835320822320613320446320383320185320167319890319578319415319118318582318385318015317784317705317600317584317284317213317144317134317033316951316804316784316782316722316604316529316488316227316201316153316072315779315459315298315125314980314902314894314825314439314191314151314107314041313995313624313561313436313378313355313212313141313135312838312719312436312298311898311745311706311578311527311383311287311258310709310554310502310263310197310116310011309673309580309511309461309418309270308776308759308720308564308492308340308339308252308224308032307483307422307295307282307158306856306853306769306658306564306494306196305983305909305903305817305706305667305447305173305065304561304542304471304347303852303762303645303532303480303428303340303314302949302695302678302673302249302137302002301976301708301625301477301453301439300902300820300797300484300396300391300336300104300074299975299964299872299837299763299615299581299474299293299196299165298812298568298492298461298179298142298129297899297869297756297582297525297301297253297231297218297148297036296932296858296655296632296606296570296381296141296124296121296056295878295767295763295679295570295526295487295405295358295275295154295132294974294967294941294685294642294526294240294225293967293883293731293634293580293378293360293124293096293045293036292954292782292774292505292454292255291666291572291356291333291323291304291209291193291038291026291016290812290758290697290629290477290351290296290179289992289937289923289611289500289327289304289137288953288921288911288678288635288611288462288431287986287648287392287338287327287119287063287007286767286765286584286480286423286285286262286259286099286092286092286074286072286072286005285997285995285862285424285389285356285274284883284825284816284693284684284668284561284550284451284406284306284116284077283787283440283347283293283187283034283032282970282624282539282204282185281869281799281799281768281689281658281656281438281251281050281014280997280943280930280771280704280624280571280531280330280279280012279712279622279573279505279447279316279259279168278941278899278742278649278515278420278403278339278257278166278162277784277779277639277462277343277167277140277086277070277064276976276886276703276665276402276257276176276067276055276013275984275857275765275550275372275370275298275066275060274868274830274459274452274140273928273570273460273413273046273039272898272551272303272005271902271895271771271683271671271638271444271165270979270912270663270559270384270258269965269850269746269728269722269709269652269524269520269479269376269340269256269224268755268749268685268538268483268409268279268215268140268087268044268044267989267941267927267912267748267705267662267204267154267144267082267069266427266375266362266358266303266278266226266187266181266133266077265997265965265933265795265670265468265439265383265361265336265259265151264957264825264700264693264692264667264666264661264594264583264531264324264200264193264163264127264012263951263696263657263598263520263437263404263341263312263222263201263155262957262840262640262573262550262522262513262419262393262360262235262206262104262067262065261924261791261786261680261491261441261271261188261187261021260999260939260932260735260613260564260491260389260328260232260173260017259797259717259598259472259422259184259131258907258656258460257860257767257740257724257708257655257445257421257343257244257203257085257029256965256875256836256805256729256662256461256453256244256094256064256057255867255840255406255369255365255257255230255170254629254537254362254186254125254089254004253948253849253821253786253726253611253530253526253490253477253469253440253169253159252881252874252831252818252632252518252467252439252371252328252314252230252199252002251993251880251680251581251514251502251406251369251298251280251201251101251030250989250981250883250648250589250477250234250231250023249917249880249869249825249790249680249415249342248771248754248751248645248441248413248353248292248280248267248225248176248164248070248022247977247944247888247888247854247612247561247379247187247134247029246991246938246839246763246661246562246435246153246131246011246000245918245859245735245603245578245528245467245413245361245258245081245061244948244935244925244845244659244630244548244532244453244398244390244271244264244224244024243991243620243614243568243218242935242888242812242787242665242660242593242260242252242162242108242053242048242026241986241955241932241928241835241701241595241536241451241437241323241293241214241193241171241154241045241017240897240807240725240627240474240245240212240172240151240148240049240046240040240028239922239663239613239113239106239040238727238663238640238393238368238302238260238091238021237964237880237787237654237613237350237288237278237092236748236680236633236612236608236585236534236479236432236423236339236274236187236170236163235932235864235813235741235670235626235545235427235409235369235321235314235259235194234991234958234947234892234845234813234566234490234461234368234181233969233958233888233823233693233396233390233365233333233289233253233223233129233073233011232943232917232909232872232709232660232499232451232394232387232223232116232031231950231935231811231751231638231548231540231514231498231461231385231365231271231153231065230995230942230935230923230871230851230803230799230728230693230657230633230629230620230620230576230421230397230397230197230192230141230137230112230048229893229864229843229783229667229589229511229425229389229368229359229347229304229273229169229107229039228963228781228780228750228496228478228373228331228304228279228229228191228168228090227907227890227820227762227744227386227338227300227247227184227114226916226884226696226687226659226464226299226213226186226125226059226009225986225940225925225873225851225802225793225465225435225395225391225344225261225207225174225158225075225029224841224737224721224619224574224244224186224109224071224067224054223985223982223926223893223752223701223601223576223464223411223365223231223150223148223120223095223066222959222955222932222895222779222651222558222466222421222402222317222306222238222173222085222012221982221969221699221301220909220832220751220648220614220574220568220497220354220342220329220324220239220238220222220189219791219553219518219516219491219435219169219095219015218979218894218886218882218880218876218874218641218582218570218567218550218515218487218471218276218132218058218005217984217978217801217656217632217606217491217407217382217330217319217305217292217198217170217040217040217007216947216898216867216570216554216522216454216447216440216395216338216170216137216130216089216004215990215939215887215778215725215723215670215644215640215608215570215567215558215405215400215397215345215332215323215323215309215305215247215237215225215198215102214970214904214867214660214657214474214391214335214175214062214062213983213982213938213810213764213670213625213582213540213448213430213375213374213276213261213253213249212970212968212965212759212717212640212619212593212404212363212335212233212195212074212035212018211853211844211650211629211607211601211536211511211409211390211346211331211270211269211100211097211053210917210694210658210635210469210240209899209845209844209838209744209688209569209528209500209453209369209321209300209286209269209249209217209186209184209017208970208912208899208848208683208547208495208462208383208378208297208218208120208022208012208003207971207961207903207886207781207769207753207742207616207606207584207546207404207397207388207378206918206904206900206860206783206726206713206688206520206419206360206353206287206284205972205817205812205752205743205742205666205666205584205549205498205423205327205326205234205232205230205221205189205003204938204886204866204745204732204696204695204687204678204609204518204517204393204360204336204250204132204098204074204012203942203912203855203727203711203539203533203468203405203347203262203195203138203030203028202969202949202910202892202800202787202707202538202479202258202227202161202054202006201972201966201926201890201830201769201678201668201664201631201620201501201461201451201365201279201107201054200916200847200787200715200652200597200579200519200500200436200423200349200338200281200235200141200117200054200000199900199799199798199596199580199495199476199456199436199415199408199396199372199341199250199197199151199121199061199044198944198904198872198862198836198827198768198668198649198631198598198593198539198421198411198354198314198289198288198256198247198228198204198204198161198096198023197907197872197737197542197520197385197359197346197317197299197215196979196934196904196857196718196625196507196470196456196382196193196151196099196053195934195924195889195884195836195832195796195786195758195749195712195641195627195623195611195608195593195533195309195228195128195123195065195044194787194753194690194682194626194566194508194373194331194289194274194226194220194123194111194110194094194086194073194044194039193999193965193838193796193766193698193522193521193471193453193452193444193140193087193054192956192940192924192902192860192760192714192701192673192628192609192590192545192544192518192516192452192398192388192360192246192172192150192110192105191945191923191868191850191793191765191735191679191662191653191646191630191607191430191417191345191321191278191275191165191165191122191074191004190957190950190855190851190821190755190754190748190741190725190721190561190553190525190499190481190476190413190390190267190225190179190168190051190019190014189925189879189854189835189829189807189790189783189584189544189510189485189380189317189302189258189250189193189143189127189055189003188983188955188910188909188857188843188710188646188634188556188542188521188510188500188398188264188229188218188205188188188117188033188031187920187874187722187608187586187477187365187253187138187132187120186955186914186895186827186775186725186712186688186649186648186633186603186463186461186409186400186362186279186273186267186168186122186092186035185979185974185961185951185897185859185829185813185798185782185766185722185632185625185598185579185573185552185550185548185511185502185481185381185266185216185153185149185115185095184993184982184757184756184726184526184463184391184387184361184337184320184211184170184088184035184011183995183977183949183926183861183819183743183718183683183673183632183632183599183482183478183431183322183226183178183174183097183077183012183011183002182963182815182695182694182641182534182469182445182376182292182292182279182238182234182198182198182195182171182159182153182038181909181759181756181661181611181578181552181462181419181418181416181407181405181288181249181193181148181057181036180988180985180944180856180836180820180803180797180762180759180673180627180591180578180485180430180423180330180296180265180263180245180201180195180177179997179947179867179837179831179739179721179694179675179583179556179536179526179482179384179350179328179286179282179279179169179167179118179069179013178982178972178963178950178939178937178732178716178691178656178528178404178246178202178145178127178125178115178096178056178041178038178003177989177971177950177873177870177865177840177829177767177740177736177735177731177649177632177599177533177482177475177462177428177427177423177412177329177151177129177069177038176992176973176968176827176792176767176747176721176658176562176555176549176543176499176466176320176257176209176135176033176025175982175980175950175906175870175641175529175423175351175329175287175286175275175222175172175150175084175045174958174883174804174797174787174709174708174696174682174679174648174646174618174539174533174433174419174336174309174297174284174274174262174216174197174123174038174009173897173876173772173762173733173712173703173669173665173540173536173530173524173411173404173391173257173183173160173157173142173104173065173060173032172995172978172960172947172939172877172862172743172735172642172641172636172553172435172409172344172328172313172306172192172192172177172162172153172130172121172097172027172005171977171933171822171815171670171632171580171417171415171383171375171249171239171230171219171210171147171088171009171001170961170902170878170848170820170805170689170646170616170610170545170536170522170493170446170418170402170375170308170176170130170107170068170021170006169997169991169958169956169895169882169860169856169837169831169776169767169751169737169730169716169708169689169665169650169630169570169476169465169465169447169320169297169227169216169170169166169144169105169094169077169038169035169008168935168867168793168778168681168651168613168593168561168555168516168419168386168356168349168334168141168062168056168004167985167984167926167919167850167849167806167784167728167717167705167643167550167529167521167435167416167371167331167291167263167174167174167119167116167062167038167027166981166901166888166865166852166799166790166598166498166470166465166463166444166440166439166330166285166227166218166212166195166164166145166111166075166039166028166010165942165832165730165707165697165695165652165623165621165619165614165581165568165551165544165417165402165383165316165244165242165240165101165064165033165022165020164865164847164843164779164736164667164615164540164536164533164478164417164384164363164305164243164197164191164122164018163941163890163887163874163856163777163746163656163525163520163511163483163445163432163421163402163363163351163242163239163208163156163141163103163076163071163047163043162948162927162898162821162810162747162725162702162604162540162539162531162370162353162339162337162326162295162223162188162164162102162089162086161989161897161858161822161715161675161565161514161509161495161482161470161459161427161346161285161266161211161179161170161158161150161075160974160871160864160851160794160744160716160705160696160676160669160665160646160510160406160359160334160250160202160194160194160086160053160045160040160016159991159951159950159860159855159818159817159758159734159646159637159626159620159587159583159571159555159541159535159525159487159480159409159398159398159375159371159355159352159274159260159243159242159234159184159176159173159143159112159069159048159044159034159022158977158958158897158766158759158755158693158685158666158658158628158599158592158563158517158462158440158404158318158253158250158206158198158164158040157995157870157846157738157651157626157610157539157530157474157462157423157345157306157300157268157260157252157239157202157192157170157166157154157110157071157069157068157041157031157029157026157020156977156891156752156676156671156630156606156573156461156447156435156410156401156400156341156289156278156224156184156177156143156127156005155960155960155934155933155880155846155833155821155791155766155752155721155617155554155393155365155251155216155203155162155160155111155097155084155079155060155032154988154946154913154873154779154747154746154740154738154727154596154581154559154506154498154426154348154320154236154223154181154159154112154106154063154010154002153959153926153921153869153860153805153771153750153708153686153683153672153659153619153613153569153565153427153412153389153384153375153368153350153322153296153281153276153244153127153122153105153100153089153088153083153041153004152992152950152931152929152915152899152860152858152844152842152842152811152765152752152721152652152652152633152609152538152509152459152459152456152424152416152369152368152364152289152287152273152192152165152136152086152004151978151975151964151836151807151721151710151698151689151675151642151635151609151599151583151555151540151536151532151524151469151434151399151397151359151291151247151244151210151174151168151164151135151113151081151075151025151022150960150945150883150830150814150812150802150792150779150773150717150638150584150566150501150467150440150381150373150332150321150256150241150120150111150105150104150032150021150001149968149931149905149903149894149883149862149853149849149805149804149778149770149763149742149729149720149703149570149570149511149448149428149405149366149365149311149289149280149247149234149196149135149125149117149104149086149078149072149059149037149025148996148988148959148958148911148907148894148864148825148786148740148735148730148713148697148693148672148672148508148423148416148413148367148348148307148283148214148207148147148110148086148083148069148061147961147934147920147878147813147809147777147712147710147709147690147682147597147583147583147570147559147552147535147532147439147394147383147346147338147304147254147240147214147157147124147121147084147064147064146991146974146902146860146836146835146832146738146729146708146632146606146569146519146471146466146449146437146406146392146372146303146284146273146269146264146114146108146094146093146076146029146017146003145989145932145882145847145837145820145813145660145659145650145531145529145526145518145479145408145376145371145363145362145344145325145290145286145272145245145236145222145098144961144905144893144872144804144714144701144634144631144622144544144520144517144490144469144445144391144337144328144312144306144274144173144121144092144058144055144046144035144032144009143993143968143891143840143810143799143787143696143666143659143627143577143532143519143515143515143484143439143303143281143247143226143220143190143175143093143080143051143038143015143009143004142952142940142939142893142890142823142812142811142772142745142735142707142612142605142547142544142532142484142475142450142421142393142393142392142333142329142259142255142253142149142116142099142068142044142035142021142005141959141911141852141835141792141788141772141755141746141725141723141596141585141573141564141484141481141471141428141428141424141405141401141397141302141236141144141089141088141084141073141072141028141008140960140916140846140832140828140786140768140746140702140698140696140683140573140524140504140499140447140427140391140376140366140334140311140306140297140288140271140263140250140247140218140180140068140017140007139979139959139914139895139884139874139859139838139823139794139787139767139688139659139640139637139595139558139521139517139513139483139459139457139438139404139402139377139367139306139293139291139258139250139245139224139182139125139104139103139079139043138985138974138959138956138948138947138852138845138837138832138827138822138800138791138760138758138721138714138694138680138653138644138632138631138600138594138583138568138538138538138526138470138440138400138395138357138319138309138300138288138259138259138255138221138104138082138045138028137991137989137987137951137838137826137820137814137803137759137746137743137673137660137647137619137546137506137505137502137476137467137405137377137366137338137337137312137298137296137262137251137224137201137192137182137174137145137136137125137112137110137105137098137090137070137027137017136973136937136891136889136873136841136824136802136782136774136748136743136731136692136642136619136603136585136572136556136492136394136380136321136273136240136163136128136102136042135984135969135910135853135840135817135767135721135690135661135615135567135561135551135478135478135403135390135377135377135364135354135348135288135268135268135252135245135205135194135191135121135092135090135039135022134987134982134967134959134920134907134895134876134875134834134821134794134765134764134758134744134744134730134727134720134705134656134634134633134583134580134573134518134471134423134408134393134381134367134344134340134333134302134291134252134238134225134221134143134141134051134031134019134015133979133956133947133937133925133910133894133858133838133837133834133825133725133706133700133693133681133642133634133626133618133614133612133585133584133578133572133551133518133511133477133463133295133286133239133212133207133197133191133166133164133155133152133121133051133044133018133013132991132944132910132892132853132834132740132730132724132724132713132698132661132654132637132629132550132532132522132464132463132442132314132308132306132282132227132134132082132062132021131972131967131935131885131842131778131762131751131734131716131682131636131601131586131585131569131549131539131535131532131507131471131455131454131437131392131373131346131330131313131290131267131241131231131076131059131057130981130967130918130888130842130824130821130819130801130777130772130749130738130692130671130606130596130586130580130571130548130527130526130496130493130490130489130460130427130420130390130377130370130352130340130249130214130201130153130118130062130048130031129890129865129821129808129801129780129769129755129731129723129678129640129630129604129600129582129533129499129424129418129338129334129324129318129306129288129266129249129246129235129223129220129219129198129135129063129005128946128943128940128908128870128836128807128790128788128774128769128698128628128608128606128550128490128472128465128452128442128437128398128392128353128349128345128336128327128319128266128264128246128213128188128088128076128066128063128016127942127940127930127929127902127894127879127872127767127756127753127733127729127712127712127700127678127672127646127574127554127526127499127475127426127380127352127341127307127268127216127130127122127121127108127071127065127059126973126968126965126961126930126898126890126877126824126815126759126739126703126682126666126661126642126635126612126608126594126580126554126522126464126453126449126425126404126339126337126334126320126302126301126284126261126259126226126209126173126166126158126130126120126074126061126051126050125973125942125939125921125920125896125875125857125850125828125806125806125791125763125725125698125665125660125619125571125554125519125518125505125466125460125458125446125408125391125374125364125330125310125228125220125214125188125183125149125139125138125125125117125110125084125054125025125019124984124977124919124911124908124906124842124837124833124822124762124720124667124660124565124559124522124518124508124499124448124440124402124394124378124356124286124277124276124272124254124251124251124237124230124204124183124178124171124165124161124132124109124065124063124061124052124044124026124015124011123988123970123878123867123834123815123789123783123684123680123671123651123643123587123579123573123559123539123527123527123504123481123462123441123439123428123414123402123395123380123362123361123353123351123348123276123273123265123257123252123217123216123215123174123169123135123133123120123097123089123068123033123032123003122994122986122979122951122931122927122922122883122834122826122793122785122765122751122719122665122656122634122607122600122518122498122490122488122442122386122382122373122350122346122344122297122290122288122258122250122218122185122183122142122116122088122045122033122031121946121899121891121888121864121831121807121774121760121716121711121703121695121676121646121606121604121590121576121559121542121532121530121484121483121474121467121435121411121403121387121354121278121277121266121263121225121205121184121167121157121134121127121120121088121015121001120939120934120921120884120847120797120769120757120692120689120586120539120527120463120439120400120380120332120306120297120285120240120210120208120204120185120164120157120153120146120124120104120098120048120038120034120019119997119972119942119934119904119868119864119852119829119807119793119779119771119759119747119737119708119686119685119664119612119608119605119599119552119454119422119407119395119387119354119353119332119327119300119274119257119229119229119228119191119176119143119126119096119089119073119011119000118995118994118993118969118961118924118923118914118892118878118865118825118803118797118781118738118737118733118716118696118621118621118602118599118523118515118498118476118454118443118432118360118346118312118297118274118268118244118216118207118167118156118146118097118081118077118055118031118010118000117976117941117924117915117872117837117758117748117706117671117666117641117595117551117521117506117480117469117460117447117437117433117416117406117393117346117342117312117304117268117264117238117204117190117187117172117162117123117111117098117091117086117071117052117046117043117039117031117007116949116880116879116868116840116828116822116803116798116758116744116685116654116602116601116599116598116566116554116518116500116497116487116479116468116468116467116446116415116397116396116378116355116348116335116325116296116151116136116084116077116062116022115973115949115916115876115850115831115808115804115796115764115732115716115702115641115622115592115575115541115530115517115510115506115433115423115419115416115414115410115404115383115370115350115348115324115310115308115300115286115271115252115189115137115128115105115079115079115050115045115035115034115026114996114979114950114934114905114860114843114806114804114803114772114767114767114764114749114739114718114711114688114612114599114583114568114549114510114484114481114479114459114448114420114412114408114405114389114365114358114348114320114311114303114270114254114197114163114162114159114142114126114101114083114081114072114052114031114030114028114028114026113999113984113887113867113860113856113846113836113806113786113784113777113735113727113685113684113673113653113647113646113644113601113498113495113492113490113476113475113460113447113444113429113428113420113395113384113367113366113349113325113319113309113262113234113214113156113144113142113126113122113107113071113065112993112939112912112835112811112806112806112753112738112730112729112706112675112668112643112641112636112623112607112591112570112564112559112539112528112515112488112483112475112385112367112354112330112322112294112283112261112196112193112162112148112141112128112127112119112116112104112102112094112091112066111994111960111956111954111928111904111892111875111853111847111826111818111814111779111776111771111720111659111639111610111607111593111575111565111546111525111525111524111524111510111509111492111481111456111434111426111416111410111378111352111342111333111323111305111290111271111261111249111231111202111176111162111157111137111126111119111113111094111079111052111037111018111013110993110951110939110923110922110904110883110853110840110816110771110769110746110725110723110692110675110668110665110664110633110608110594110537110528110527110490110412110390110384110378110369110347110336110332110300110266110249110230110229110224110218110204110195110164110162110159110154110133110127110112110109110109110109110099110066110064110045110005109993109987109983109931109907109904109887109874109867109845109843109839109814109810109796109792109774109759109693109683109634109535109521109488109482109459109362109299109296109223109218109195109145109134109102109097109070109062109008108999108987108965108940108936108929108905108879108876108831108825108763108739108710108705108705108667108642108633108632108620108614108601108591108586108518108516108516108490108443108440108420108419108400108394108375108357108345108339108306108306108283108273108263108252108245108231108222108165108161108160108107108101108086108070108068108057108052108036108035108032108023107998107968107893107875107825107823107813107808107767107705107705107683107680107650107627107621107615107595107594107589107572107565107544107536107523107514107508107457107453107451107432107406107405107378107363107319107267107262107260107260107256107252107244107237107231107225107211107194107192107186107164107156107154107115107102107025106991106988106955106942106930106921106834106826106803106794106785106773106771106733106728106725106723106709106705106698106696106683106683106680106623106599106579106577106556106518106512106500106497106489106481106467106466106462106455106447106434106382106375106368106367106343106299106255106219106202106188106138106125106119106103106102106086106074106060105957105922105882105837105767105767105757105753105694105693105676105670105652105620105607105594105582105578105572105552105546105519105497105466105463105443105431105409105400105398105384105353105336105331105306105304105289105275105225105219105215105207105200105168105154105153105144105141105138105127105111105107105088105069105067105057105051105042105041105011104991104991104978104970104962104955104939104935104915104905104886104838104832104814104758104752104749104747104742104726104726104684104675104661104658104653104644104623104622104568104564104527104513104513104457104430104395104388104359104350104349104333104314104290104273104272104252104219104217104213104198104188104157104145104136104128104124104091104060104028104018104012104009103960103928103917103903103810103797103795103787103784103775103765103760103750103749103743103731103729103711103684103650103637103610103603103568103559103555103552103552103544103539103528103488103477103475103468103458103451103437103405103380103378103375103346103344103342103340103330103309103307103275103241103235103235103235103214103198103191103183103179103173103171103162103160103115103113103082103058103057103055103051103032103019103017102994102984102968102942102928102919102902102899102893102889102880102845102831102826102824102816102805102788102782102754102736102731102706102675102659102652102645102629102616102602102599102596102550102549102532102527102487102461102457102451102433102402102399102395102331102329102306102269102258102258102211102206102195102167102150102130102125102121102089102088102083102077102065102050102033102018102016101991101968101965101965101961101952101945101933101913101912101899101892101887101885101822101757101733101719101708101704101695101692101663101660101632101614101609101600101592101587101585101581101575101575101548101534101534101515101507101504101484101470101418101412101412101410101407101399101399101374101360101349101341101316101297101293101291101285101283101264101248101239101225101214101157101148101131101120101110101108101090101080101073101015100993100958100944100915100899100890100883100835100762100760100747100745100736100720100714100684100673100645100638100633100614100587100575100571100553100549100546100545100538100515100510100508100490100484100421100421100408100400100399100394100362100350100346100284100271100269100267100266100261100245100234100176100166100151100149100145100136100121100113100108100108100065100039100003999739996799937999239992299913999009988599873998689985999842998249972599716997029967799638996299962699557995549954499543995409950799493994849946199455994409939699386993759937399339993259927699236992349920899205991979919799187991829916999150991439914399136991309911799097990839907899058990529904899032990329900798967989649895198926989249891298911988709886098827988239880298797987979877998770987569873898721987019869298688986759866698655986479864198626986079859998580985729854898543985419853598520985129849598486984719847098459984289841398406983959837098367983619834598332983319831698314982849827598275982149820798198981699816698164981429814098128981239812198115981129808198072980649806498061980379803597975979679796497961979509780097799977989779197785977849777597710977089766397658976379761197608976009759097529975199748897456974459743697430973989738797382973759736897362973619733797334973259732397313972999728897183971679715797138971119711197110971069708697072970689706497058970539704197028970169700396973969419693996900968899688796876968699682096814968089679796796967809675896749967339671896699966859668296677966759666196647966449663296582965769655696549965419647796475964379643496433964319641896388963759636696334963279631296310962879627896274962659626596261962599624796242962209621596197961969618496161961509614296133961329612496110961039608596085960849606096057960519603996027960249599395992959749596495950959509594495941959339591095904958849586995859958489579195789957689576095752957479574395734957309572895724956889568895675956719564695638956339562195598955759557195509955059547895464954619545995450954319537895378953639535995359953459530995303952979526595242952359523495210952059520495176951569515395119950909506695054950219501795014950039499694982949779494794922948979488394866948609484094836948199478294781947539474094738947269471194694946919468894661946409462594589945609455194527945009448894484944639443794427944119440694405943679433494316943119430894295942819427994272942669426094250942439423794229942129420994208941699416994161941409413994128941169411494065940499403294019940029399293969939579394893945939329388493834938339382693821938169377693774937729376393757937489372493724937149368793686936699366793663936469364593644935919356793564935549352893520935049350193497934919347893464934459344193440933859336993357933329333193321933099327893273932629324993218932019320093188931769316593158931539315393146931289311793111930959309093080930679303893038930179299292990929899296092959929559295492953929379292092916929159290792903928939289092879928379283692835928279281992814928079280292789927659274892741927399267892659925819257792563925559255092550925159251492511925099248792481924799246492441924229241692411924099240392403923849238192373923399232492319923179231492308923049228392259922589222992222921869215392135920789207192048920489204192038920259198891971919709196491953919319191991918918799185991817918049179691782917509172591703917039168791680916479162991624915849157291554915499154991541915309152491516915159151391472914699146991453914529143791387913799137391365913619135091347913469134091304913019128891275912559125291229912289121891217911849116391160911469114091139911139111291109911079108291063910399102191015910039098890979909409091790913909119090690891908809085790856908459083990820908149080390797907759077290736907229070490658906389062790620905719056390549905429053090526904769046290418904099039090383903489034490332903199031090287902729026990265902289019590170901699015290147901409013390123901209008790064900629004490031900189000289985899818997689971899588995689931899158987789873898378983489824898228981889815897878976089721897218971689711897028970089679896748966189660896548965289649896238961689616896028959689572895548954689514895048950089500894898948589438894078939389384893368933589330893048927589253892448924189238892218921389207891998918489169891328913089081890808906489061890448901489003889978898188973889348890988874888708882588815888138880888803887898878488783887738877188767887578871688693886768865988649886388863088616886108860488592885808857288552885388852988524885098850488502884858847288461884568845588450884498839188389883558834488343883208831488308882878828588284882578823688188881368813588131881198811988104880898807188059880538805088023880048799987997879948798287975879728796587959879548794187938879378790287891878648786187855878378783587833878298782387821878208779287753877398773787732877218771987711876818767587672876668765587648876418764187571875718756087535875168749087483874818747887473874688746887448874288742487422873958737687375873728737287369873628735287337873318731487294872918728887256872458723887228872168721387192871658715987135871308712787091870848703587028870228701987018869908699086970869678695586906868998689286856868538685186838868208680486793867878676886754867488673986724867158671586692866848667586664866318661686613866108656786548865468652786525865208647986468864688645286447864308639686396863908638086372863598635886356863448634286328863288632786323863188629086268862598622786207861968619386192861928618686178861598612386121861008607986079860788607686072860498601986007859788597585938859378591285905858928588785885858848586385863858628584285827858258580885801857808577685764857428574085719856398563885627856078558085578855758555885553855468554485535855228550585502854858546885456854238539385372853708536685328853188530885295852808527885264852628525985257852528524885244852378523085229852268522185219852188520485192851808516185146851448513285131851198511585108851068510585092850768507285069850488502685018850088498884970849548494384932849238491484861848578485184843848408482684815848148478984758847568475484753847528473884695846928468784677846618465984658846528465184637846338461184609846058460284589845738456984554845548454684541845118450484484844758447184459844528443784435844358443184430844188441584408843678436284358843468431584302842978429084212842048419384189841758415384148841368412784123841178411584072840698405184046840358402484005840038400083997839958399483964839518394983946839268392283920839068389883897838968389083890838898388283877838388381683807837988378983775837758377283766837668375583739837388373683733837338371283684836748366783663836538364183638836118360983605835758357583559835468352783505835048349183480834778347483473834188341283348833478333883316832938327183247832468324183237832108320883204831808317683150831488313383126831228311883115831158308683079830598304983038830358303283002829928298982986829808297982975829548295182935829178290282896828948287882877828738287082862828498284282839828308281582785827838278282775827588273282728827008268982676826558264882621826048259782596825918257082550825478250582496824718246182437824088240482362823518234882342823428232582322822988229782296822818228082258822488223982237822108220982207821978219082173821688216682124821188211382096820938205782054820358202182019820138200982009820068199281989819838198281939818998187981872818598185581819818198179881790817878178581774817668176481750817448174181737817248170481704817008170081693816838168081659816468163681623816208158781576815648155981544815238151481502814978149381483814648144581431814208139581394813918139081389813858136981365813618135281335813348133081313813108130981300812808125781256812558120781175811398111781115811118110481095810778107281068810428103581031810188101181000809958098180967809558094080922809158088580876808708084880843808328082380819808198081880811808028076880754807428073280727807188071480714807098070780695806908068280656806468064480640805958057980570805638055880542805398053680527805208052080513804778046980448804438043480420804108040380393803328033180330803248031380303802478022680200801768016080109801028010080093800928007680061800578005280043800198000379996799847997079937799237988479874798587985079847798427984279837798307982479814798017979479790797807977879773797677976379748797447974079737797237971879685796797967579654796547964779644796437963479620796167961579604796007959979555795337952579522795087950579502794947947779462794557945279452794427944079418794047940379400793917939079351793467932079317793087929879255792537924779216792097920679205791987918679178791567915579151791307911479113790937909379061790537904479040790337902579025790187900579004790027899678980789797895778945789287892278912789027888478881788767887478872788727886778860788337882378819788067880478713787027866078648786467864478635786337863278630786157860478552785497854978548785437852378505785007848678479784767847278464784587845778447784467843978439784117841078386783787836978353783267831878309783017829678273782657824378243782417823278223782147818778182781737815778131781297812978127780697806678046780437803378026780217801278008780087800577996779727792077919779027790077897778937788377882778607784777841778387783677817778047778177755777447772577713777127770077698776967768277676776657764677646776427761177600775947757577550775367752777523775227751477511775087750777501774877747877477774777747577474774737747277468774607745677456774297742177418774137740577404774017740077380773797736877366773607735977340773397733777334773337732677323773197731877312772967728177261772457724377236772347723077216772127720577204771967718977186771817717577168771527714477141771417714077134771237712377120771197711177110771067710077095770917708277082770777706577063770627705977057770527705177050770467704677046770427704077039770387701277006769947699076988769467694576912768947688576857768447683976835768327682576820768117679976799767907678176761767457672276682766667666176653766337662576621766047660076599765927659176585765777655076539765357653276516765157651176506765047650376496764947648976487764617645276447764087638876388763827637476362763457633676321763127631176305763007629576286762857627176264762567625376241762317621976217762167621576210762067619776196761877618676178761707615976158761567615276152761117608776059760497603876031760207601976010760057600375998759987599275988759847595675948759457594375924759187591775914759077584675842758197581975802757967578175779757797576375757757537574975738757207571475710757037568875675756747567475647756297560775605755947559175585755647556175552755507554975508755077550475495754907548675484754557544375439754387540775401753977539275377753757536475363753547534175321753087530675295752937528875266752547525075249752247521675212752107519475181751817517975147751317512775127750797507475057750377502975024749827498174977749757497574961749617495674917749167491674906749037489474888748657485374843748417484174835748257481874811747987479374783747697475974744747377471774708747037470274672746517464674643746357462974626746207462074619746197461674613746137461174604745887458574557745557455574550745387452874523745097449074486744857447774475744717446474447744397443574433744247441774394743687434974344743427434274320743147431274297742947428574281742687425974255742557421774216742077420574198741907418774181741787416674163741417413974138741387412574120741177410674102740997409674095740957409374071740707405274051740357402874024740107399773979739737392873905738777387673864738637385973859738567385373838738267380373798737857378073777737697376473721737197371373712736887368673681736727365873652736397361973597735917358473565735577352373520735197351073505735037350273500734757347073462734537344773436734117339673394733847337773376733757337473330733277332573319733057326973248732447324473243732347321173209731947318973188731857318373181731817317373137731147310273075730737306773057730367303173027730217301573014730087300673006730017299472993729777297572968729687296472959729537295072944729427293872934729287292472919729187290672901728847287572866728617285772856728457282972825728197278272776727747276672765727387272872727727237268472673726677264272632726277262772622726207260372601725987258272580725797257972577725737256872564725587254672525725207251172508725057250172498724977249172487724577244972447724437242772426724137241272398723917238872388723847237972377723627235772353723527234272339723357232872324723247231772310723087230072293722917227372271722527222772223722217218772173721717215772155721517214872145721237211472102720947207772072720727206472060720577205472036720367203172029720267201572008720067199471989719797197771976719607195071947719257191471907718947188671883718807187871849718447183771832718257180971786717607175971756717537175171751717497173871736717127171271711717047170371676716757166571664716637166071659716547163671635716187159971588715777157271567715457153271518715077150071495714917147771463714567144171439714357142271410714047139271386713717136871332713187129671222712107120071189711867115171142711217111771106711017109471091710877108271080710777106271056710377103071022710217102171012710107100170997709927099070982709757092670925709187091370907709017090070891708807085170837708357083270820708177078470773707727076870763707437072570708706957068770673706547065070634706247061670616706127061170609706087060670605705807057970575705607056070521705207051170497704967049570472704727046670464704637046270451704447044370429704177041370405704057040270399703937038070340703257031770316703067030370294702907028970286702837028070273702607025970257702557025070249702477023870236702167020970208702077020370194701817017470172701587014770139701347012370119701197011070108700947008170068700617005770051700477003870005699836998269966699566995669956699416994169933699096990769906698996989969892698876988069870698686986669866698626984969848698296982869828698166981169807697906978869781697706976869764697636976269760697596975869750697486973969733697056969869696696826966569661696606965769646696456964369634696316962969623696096960569586695706956369559695516954669538695336952969522695216951569509695026949869498694846946969467694356942669413694126940969400693996938169354693536935269336693336932569309692826927669261692586925869255692516924969219692166921069204691986919669189691826917869174691716915569144691366912969128691236911269108691046909369085690836906369055690496904069040690366899368991689916898668977689516894768942689196891668915689086888668881688806887668870688626885968853688376880968795687936878368776687736875368727687246872268703687006869868686686666866568621686136860168582685816857968573685706856968565685606855568552685396853868537685336853268512685106850568490684876847868471684606845468442684296840968404684036839968395683796836968362683536833068316682956827468259682566824968246682416823068229682186821368211682066819868190681806817668164681546815268143681256812168114681116810868093680926808968089680756807468074680736805568048680436803468016680146801267996679826798067972679396793767935679266791567910679096789067885678776786867865678526784167834678316782867825678106780967809678086779667795677836777967770677696776867767677646775067732677176770967706677006769967698676966768567670676666766467658676556761767614676136760267600675856758567585675826757167570675676755067543675346753067519675106750867500674886748667474674706745567439674386743667422674156739767395673806735867351673516734567332673306732267311673046728667284672816726367250672426723867232672286721967197671916718267178671596715467147671436714067139671336711867110671006709967095670756705967051670516704967045670456703867009669926698466957669256692566922669156690866907668916688166880668746687266860668476684366841668386683266830668156680666803667966679566793667786677666772667696676666757667556675366720667176671466698666966669166691666656664166635666216660866596665766657366572665666654766537665276652466523665196651466512665116650666494664806647566472664676646266454664406643866432664016639466394663896637466369663656636266357663316632166319663066630066277662746627366266662636625766252662496624366240662406623766236662306622866210662066620666199661926619266191661876617666164661606614266139661376613066124661206611566107661046610366101661016609366086660836607766071660686605866055660516604266028660116601166005660036599465990659896598465983659806596465959659556594665941659386593165931659246591765916659066589765886658856588465876658756587565874658736587365870658686586265856658446583965837658336582965829658106580065782657736576465744657286572665723656926568165670656676566365662656466563465624656226560965608656076559565565655556555165550655426554165535655346553065520655136551265492654876547465467654666544965433654316542065416654076540065396653846536765367653616535765349653436533765322653216531265308653076529065284652706521265210652096520365185651796517865176651666515465130651296512665106651026510165098650796506665063650626504765036650336502965019649876498564979649746496764964649426494164940649356492064920649176491764906649036490164889648816486764867648366483464823648216482064817648106480864778647736476764762647416473864724647166471364710647076470064692646916468364675646626465164633646276462664626646156461264606646066460064596645876458764566645646456164545645436454164539645386453564533645226451764512645006449764496644966449364481644726447164464644606445964456644526445264451644466444664438644376443364429644276442164397643946437764372643706436564355643286432164319643086430464298642896428964278642656425364246642446424464242642386422964225642186421564209642066420464204641926419064170641626416264136641306412864121641206411964116641096410264090640866408464075640746407364067640646406364062640586405364036640356402864018640146400464003639936398863970639686395563954639506393963934639296392963920639076390263897638706385163850638416383763831638226382063813638016380163785637856377963778637356372063707636976369063677636756367363668636656366263655636546364463640636386363263628636156361363612636066359963597635746356963554635536354863546635456353563535635196351763505635006349763494634936349063487634806346863467634666345463452634376341963406634016339863397633956337563359633576334663344633386330163294632876325763236632336321963219632186321463207632036319463186631826318163179631706316963157631506314863141631396313763135631196308263072630486302863025630216301963018630176300862999629976299662989629876297362971629616295362952629506294762947629456293862937629336293362905628976288662884628726286662863628636285762852628476284362807628026279562787627826278262765627646276262755627556274662743627176270862692626926269162685626836268262680626776267562666626286262062617626076259962584625806257462566625546255162535625226251062506625066250562502624976247762465624566245162449624456244362433624286242262419624036240062400623966239362379623726237062366623616235462353623296232962320623166231262304623036230062288622676226062251622506224862228622196221562215622046218762180621746216562161621566215062136621336212362109621056208362077620776207462069620606205462044620376202762021620166201361994619806197461974619626195561934619336192561923619196191761915619126190861888618876188361881618706185961851618496183661835618356183361833618326182661807617966179261788617866178361783617646176161761617576175061750617346173061729617296171361696616866168361669616626166061657616556164161639616366163561633616336163061615616076160361599615716157061570615696156961541615336151661504614996148761485614846148261476614746144761438614336143261427614106140961395613856138161374613746136561363613516134261341613406133161330613246132061316613156130961306613046129561292612886128161278612726126961265612516125061244612266121061206612056120361196611886117961175611756117461171611506114761143611416113361132611326113161124611236112161109611026110261082610706107061057610526105061049610486101561014609986099660992609846098160973609716097160970609616094760945609446093460917609116090960907608936089360880608766087060869608686086460864608546085260851608506085060835608256081960818608076080660804607946079260771607666076560741607406073760734607316073060728607236072060710606986068960660606596065960651606486064660642606396062260620606206061460593605926059160585605756056960568605676052660526605266052560521605136051360490604746047260468604676046260453604536045160450604446044160441604156040860408604016039060382603746037360372603626034860344603336033160331603156031160307602826028060276602746024660246602406023760231602296021860205602056019660193601826017860169601666016360151601466014360139601306012260121601076009760090600766007460073600666005060031600296001860015600076000660004600015998459971599655996359947599455993959930599245992159920599165991459897598855987959874598685986759859598475984459842598375983459824598225981059806598065978259773597625975159751597495974759743597355971459693596815967959675596705966559664596625965759654596515963659633596325962659623596205961659615596125961059605596005958959586595855955959554595505954859543595405953759531595255952359520595205948959488594745947259465594635946359459594575945559452594425943459433594295942759423594045940359398593835938159372593715937059351593425933359332593075930059290592495924359241592385922759223592225921759213592125921059204591895918759183591805917759172591695916259154591535915159147591335912259111591085909259090590805907859078590775907359070590685906259061590545905259036590345902059016590065899858984589775896258959589575895658953589415893758934589055890358886588795887958875588735886258844588415883758831588295882858813588095879658792587885878858787587735875958758587575873658735587245871458711587105871058707587015870158694586915868358674586745867158643586395863758633586305862758624586195861658602585965859458593585935857558565585645855958551585505854558541585355853158529585215850858505584995848658480584755846458456584485843058429584255842258413584075840158383583715837158365583615835858347583405833058329582975828458275582735827058247582455824158238582335822358207582055819558191581855818358177581675816758157581565814258131581275812158121581175811358100580695806958064580645805358049580455804458041580385803858037580365802358019580095800658000579965799457993579925798857983579815797557974579605795757941579335793357926579185791657912579075789857886578725786857864578615782457824578055780057790577905778857779577785777357770577635775757732577255770457702577015769957698576965769457693576895768957689576875767457670576695766057657576525764957633576235761357610576105760157599575975759457575575735756957566575655755157549575465754057539575355753257531575275752557518575115749757494574935748757478574685746057451574245742357421574205741157388573825737657372573635736057357573505734157331573275731957313573065729057280572765725457253572515725157247572435724057236572025720157194571945719357186571855718357170571625715057146571455713657135571345712957120571175711557107571005709757097570925708057079570745707357069570675706557063570595705857055570525704457039570395703057025570195701757011570115700757004570045700357001569955699456991569895698856986569785697256970569675696356963569625695556946569455693056928569255692056914569115689756897568915688856887568845688256876568745686556864568605685756856568325682356823568215681856814568135679356773567695676656763567605676056756567545675156738567325672756726567245672356716567155670956702567015669156690566905668756682566825668156680566675665556651566475664556644566435664156635566275662656613566095660956606565995659856597565875658656574565705656656560565545654656546565455652956529565285652356511565115650656503565015649956496564755647456472564715646756460564505644756439564375642656426564265642556424564185641356403564025639856397563945639256390563855638356382563755637356366563585635456349563485634756334563285632256318563115629556291562835627756277562675626156258562565625356248562405622856225562245622456219562185621356213562105619356191561905618956186561795617756170561665616456162561595614556141561385611856112560905608456083560745607356066560655606456059560555605556047560295602756023560225601956018559945599055990559865597955970559695596455961559505593855917559105589955894558865588455882558805587955868558665585855855558465584455842558365583255811558095580455799557985579455789557805578055776557755576555763557515574855744557415573955717557045569855679556715566455658556515563555619556185560755602555945559455583555825557955570555685555555555555545555255551555465553455530555265552555521555105550955507555005549255482554805547555471554705546955461554405543255424554225542055418554165540955408554085540055393553805537755376553755537555370553595535355336553305532255320553195531555312553115530555299552895527755277552725527055266552555525155250552485523955238552335523355232552165521055193551925519055183551805517155155551525512155113551105509855095550925508255079550735506555062550555505455053550535505355047550335502255021550205500854999549955499154978549735497254951549515494554932549195490854906549055489554892548875488254881548735486954868548615486154856548485483954837548315483154825548205480654799547915478854784547835478254777547775476954766547595475154737547345472454721547175469154688546735467154666546595465854657546565465554655546525464854639546395463754628546275462654625546205461954619546185460054598545965459654593545935458554580545615455654554545535455354552545525454954547545455454554528545255452254511545115448054476544715446854466544645445454428544255442554419544195441654415544155441054408544035439854396543935439154381543755437454368543665436054358543545435354344543425434254336543275432654325543245432354307543025429954297542955428154277542725426554260542575425754252542505424154240542375422454222542215422054217542175421254201541835418154155541465414254139541395412254111541105411054107540995409654061540585405554049540375402854024540205401854017540155401154010540085400553999539875397453961539515395053945539305392753926539205391653905539035390253897538915387053869538695386153854538525384553845538385383653831538305382653820538065379953775537645375853754537515374053737537255372453723537195371853713537115370353683536825368153673536735367253668536655366453652536485364253638536345363453622536225358953587535815357353565535635355453550535505354153537535315353053515535135351153506534985349353484534725346353454534515343853436534345343353431534245341153411534065340353401533945338953384533765337553366533645336353347533445333253331533315331353298532975329153287532745327453273532705326853263532585325753257532565324953241532405323653236532365323053230532285322553219532165321553214532145321253205532035319653195531915319053185531845317953173531685316553148531425313853138531145311353110531045309853087530865308353083530815306053042530325302053018530125300653001530015299452983529755297252967529635295652952529505294652945529385293452929529275292052917529085290452895528945289352881528815286652855528535285252831528195281952817528165280552804528015280152796527965279352779527695276852761527605275952745527435273552735527315272352721527165270752706527035269552693526735267052666526645264952647526455264452635526325262752621526155261052610526045259752597525875257652571525625256052557525565255352551525475254452542525425253952533525335252952524525225252252517525165251252502525015249852494524935248952487524785247152468524675246352461524575245652455524535245252435524355243352433524335243152426524265241852415524135241252403523995239752395523905238552376523755237052356523515234952348523475234452332523135231352311523075229452292522865228252269522685226752252522495223552229522215222052218522145220352201521955219352191521915217852175521605215552152521515215152133521285212552122521195211752114521075210552091520895208752086520865208552080520565205452043520345203352031520235202052018520135201152011520025200051998519925199151983519765196351956519555194751944519385193451932519325192651925519125191151910519095190751905519055190551902518915189051887518855188551884518845185451844518405183951839518285182151807517945179051782517745176751762517545173851735517345171351710517015170051694516935169051674516655166351651516355162951603516005158651578515785157751573515645156051560515575155651556515545155351551515465154651542515365153051528515265152551520515105150451501514995149951498514975149751495514705146951456514555145351450514465144451443514335142051413514075139251391513835137151365513645136351362513545134751341513265132551325513215131651315512935128151278512765127351273512715127051253512515125151248512475124551241512295122251217511875118651184511835118251178511755117551166511535115251150511415113551135511195111851115511145111351110511095109451093510905109051085510785107551073510715106551057510505104651036510285102351019510185101051007510045100250999509965099250987509865098050980509795097450972509725096650959509555095050946509355093550934509305092850919509145090850903508995089850898508975088650885508805087550873508655086450862508355083550835508325082650825508175080650797507965078750777507665075250749507495074350739507395073050726507255072450712507065070250692506905068650683506765066850659506585065650651506495064550644506305062350622506195061550615506135061250606506055059350593505915059050588505825056650556505545055250537505345053150517505175051650504504975048850477504695046850460504585045750454504525044950449504375043350429504285042150420504155040350385503815037250367503645036350363503585035450351503445034250341503395033450326503255029650295502945029450292502865027550271502695026550259502585025350253502475024350242502295022950219502175021750214502105020550202502015019850198501965019450190501825018250181501765017250170501615016050156501455014450133501335012650121501205011450111500925008850084500835008150076500715006550064500425003550034500205002050019500185001350011500024998649982499754996249960499494993449930499274992749920499194989549888498824988249876498704987049869498594985049831498254982349820498194981549814498134981249808498024977949775497754976649765497644976449754497504974949749497384972649725497224971849717497104970449699496934968349679496794967549672496714966949664496584965649647496464963049628496214961949615496114960349602496014960049596495904959049587495844958149580495784957449569495654956149560495564955449548495474954249539495344953349523495114951149508495024950149498494934948949487494814947149471494714946949467494574944549442494394943949437494314942449422494214941949417493944938849386493844938349379493784937649374493704936949360493464933349329493194931149303492994928849287492854928349283492834928149274492734927349271492714925949258492554925449250492494923749225492244922349222492184921549211492094920449193491914917849174491714917049166491664916549161491604915149145491434913849137491334913349131491264911649115491074909849094490914909049077490764906949060490594905449053490514904149041490354903449033490294902649021490204901749017490054900449003489974899448994489934899248992489914898948985489774896448962489584895148948489484894648939489384893448927489264892048920489154890948903489014889948888488864888548872488664886448860488504883848837488354883348825488184881548807488004880048800487984879548791487904879048788487684876748767487664876548765487624876248761487594875348751487454873948732487304872948718486994868748681486794867848673486724867048668486664866448663486504864648644486424863848634486314863048619486194861948618486054860348601485944859448592485914858948583485824857848576485694856848556485544853748536485314853048527485254851648514485134851148507485064849448489484824847648471484654846148458484574845048450484414843248431484294842748426484224841848412484014839748393483844837248367483664836348363483624836148358483524834548342483374832948326483254832148321483174831248310483044829748282482814827548270482664826148248482314823048217482154821548211482074820248200481954819548194481844817848178481774816848166481584815248151481504814948147481434814148123481164811548113481084810548090480904808948088480824807948069480654806148060480574805248050480494803848031480254802248021480124801248008480064800448001480014799547992479834796747958479554795247949479444794147932479254792147915479154791447908479054790547896478944788947888478864787847875478724786047855478554785447853478534785047842478364783347827478224782247821478174781347808478074780247795477824777847762477574775447745477444773747735477324772847724477204771947712477124770947708477064770547705477044770347693476864768247680476804767247671476714766547665476644766347657476494764447640476404762747617476084760647606476024759547594475904758647580475734756947562475574755247547475454753747534475334752647524475104750947508474964749247481474794746947469474444744047431474284742747426474234742047418474174741647415474114740547399473994739147390473794737747371473684736547365473634735547355473524734647336473334732347320473144730347303472904728447280472784727847276472744726547263472624725447248472474724247236472344723347228472214721947215472144720947205471984718047173471724717047167471584715747156471484714847146471354713447132471294712847125471184711747105470954709547085470814707847073470714707047069470664706347063470584705647056470434703947037470304702647021470204701747012470074700647004470024699446989469884698346982469814698046977469684696446959469584695346950469494694146934469324692946916469154690746907469014689746887468774687546873468704686446864468614685446854468504684146836468304682646824468194681946815468154680546800467984679846798467874678546773467734677046770467624676046756467554675546745467444674046731467304672546716467114670946707467054669946697466944669046688466804667146662466554665346651466474664746645466444663746635466334662846611466094660946607466014659446591465904658646583465814657946578465744656646566465644656346562465534654546545465414653946536465294651446514465144651246509465014650146501464944649346485464844647946473464704646746467464664645246447464384643746437464334642646424464234642246416464104638946384463624636046359463504634846347463454634346341463364633246326463254632546318463154631046309462974629346288462874628646286462764626846267462664626446257462544623946239462384623646234462264620746203461914618846187461864618046177461694616946167461584615646151461504614946145461444613446132461324612846125461194611246105460924609146089460884608146069460634604646045460444603546028460174599745987459854598345978459774597445970459664596445963459624596245960459574595745955459534594545943459294592845927459264591945908459074590645905458764586045849458454584345841458394582745823458214581545813458074579945797457964579545793457884578545771457694576945766457614575445751457504574645745457354572745707457034569545690456894568445684456814568045678456774567645672456684566745663456624566245662456604565645655456544563845624456204561845609456074560645606456044560345599455954559545594455754557045565455644556045555455554555345547455414554145539455364553545530455304552545518455154551445513455064550445502455004549845483454834547945479454664546545464454594545645451454444543945436454274542345422454214542045412454114540945407454064540345397453934539345391453884538845384453834537745377453764537545371453714536945367453664536645366453554535145340453394533745332453254532345320453174531645314453094530645304453034530145292452774527545269452694526445263452634526245259452564522645225452234521645215451954519345179451754517345169451674516545162451594515545153451534515045150451394513945138451374513645130451304512945121451094510845108451074510645099450964509445093450924508845086450834508345070450664505845056450564505445053450524504845046450424503845037450364503145027450164501545013450084499644991449744497344973449694496944965449594495244947449454493544932449314492644922449224491044902449014489644886448834487244869448654485844857448534485144849448484484844847448464484244840448374483744836448324483044825448254482344820448174481444813448124480344795447864478044776447754476644765447614476044759447554474844745447254472244720447194471844706447044470144700446984469644696446934468944673446714466844665446624465944657446574465544649446444464344643446414462844627446244462144613446034460344602445984459444593445894458844579445774457644567445614455944544445384453744536445324453044528445214452044507445044450144498444924448144480444804447844475444744447344472444704447044464444634445944458444574445744454444434443444434444324443144431444314442844427444264441944419444144440844407443994439844396443964439544395443884438844387443874437744373443734436744362443564435644347443404433744334443124430744303443004428344271442684426744265442594424544244442424424244240442394423744230442244421644213441954419344189441854418344183441824418244180441734417144169441604414744141441374413244131441274412544121441164411144105441024410144099440974409244089440894406444064440634406044055440554405344052440424403944031440284402844027440204401944010440064400544004440034400244002439924399143990439894398743986439854397843976439744397443969439654396543961439544394943933439284392743925439244391543914439134391043909439094390743906439054390343902438984389743897438964389543895438934389243891438674385643854438474384643845438394383943837438364381943817438174381243812438084380143798437904378943788437844377843776437664376243759437574375543753437524374743735437334372843722437214371843714437124370643694436934369243689436824368143679436794367543675436754367243671436634366043654436544365343652436524364943649436464364243641436404363143630436294362943627436234362243621436194361743615436144360943604436034360143595435844358343579435764357643574435724357143569435684356543557435524354643544435404353243523435224352143519435174351343509435094350743499434874348243481434814348043479434734346943467434624346243451434404343643435434334343243432434314342843428434234341943414434114341143405434004339343389433884337943378433764337243371433674336543364433644336143360433564335643355433534335143349433434334243338433334333243329433264332043318433104330743307433054330343302432954328543284432824327843276432744326843264432624325943257432574325143244432334323143224432174321243207432074320543203432024319843189431884318743184431844317943178431764317443172431714316043156431534315043141431374313243125431254312343122431204311343109431074310143097430944309143089430844308343080430794307843077430724306443063430574305543051430464301943018430144301242990429864298242980429734297342971429714296242961429544295042947429434293542930429294292942929429284292842926429004290042897428954289442891428884288342878428744287242872428704286942868428574285742856428564284442837428354283442831428284282842827428264282142818428174281742815428114280942801428014279842798427974279542793427914278442783427804277342772427714277042768427674276642759427584275542752427484274642742427404273342731427284272442724427224272142712427074270342703426974268842680426764266842667426664266642665426624265742655426554264842647426474264642641426414263842633426284262542624426244262442620426054260242601425994259842594425934259142586425844258242581425804258042580425784257742575425744257342566425644255842554425524254742544425424254142541425374253542531425224252142519425184251742516425144251042508425074250742505424994249442489424894248642483424834248342482424824247942478424784247142465424654246342462424524245142448424394243442434424324242742427424214241742417424164240642403423994239842393423924239242388423864238342378423774237742373423664235842348423444234342342423354232542324423154231342312423114230742307423014230142296422964228442284422754227042267422604225642256422554225242251422504224642243422424223642234422334223342233422284222842228422274222142220422184221742213422124221042208422064220642204422014220142197421944219242191421884218542185421844218342176421724217042169421644216142161421564215442145421444213742136421334212942125421244212442114421114211142110421104210442103421034209942098420964208242081420784207742075420744207342070420674206742065420644206242049420464204642045420284202442022420174201641994419874198741979419754197441974419724196641965419614196041957419534195341953419494194041938419384193541934419304192941926419264192241917419124190941897418974189241892418894187241868418654186041860418564185441853418524185241852418494184741845418394183641835418354183541834418284182241821418134180541803418034179441786417854178341782417824176941767417654175841752417484174441743417434173841734417334172941727417244172441718417184171441712417114170941703417014170041696416914169041689416874168741684416764167641674416714167141669416694166841662416614166041657416544164841643416384163841636416364163641635416314161541614416124160741605416024160241599415984159741592415864158541584415834158041579415744157141570415664156541565415594155841551415504154741543415404153641534415314153041530415304152541525415194151641507415044150341498414884148141479414754147341472414704146941463414614146041459414554145341453414524145041449414494144341442414414143841438414344143141430414284142841423414204141841412414064140241401414014139841397413974139641395413944139141389413854138441383413824138041374413734137241370413674136141353413524135141351413494134641341413384133741333413294132241318413144131441308413074130741307413014130041297412974129541288412884128541278412754127341268412664126241258412544125341247412464124341242412414123841235412354123441229412274122141220412204121841217412124121041209412084120541202412004119941196411924119041190411894118841183411784117141161411594115141149411444114341137411374113741136411324113241117411164111341104411024109841096410914108741081410794107241071410674106641065410614106141057410544105341052410514104441043410364103341033410274102641023410214101941017410164101441001410004099940997409974099440992409904097440971409704095740953409504094440930409264092340910409094090240887408854087640876408714086940865408644085940858408544085440853408504084640845408434084340840408404083040820408184081540812408094080740803408034080240802407974079740792407904078540783407814077640775407664076140756407534074240736407284072540724407154071240703407034070240701407004069840696406954069440688406874068540682406774067740672406684066740663406614064740644406364063540634406334062740626406184061840616406154060740607406064060640603406004059940591405914059040579405774057740565405654055540548405474054740545405404053840534405314052240521405164051440511405104050740506405044050340498404974049440492404904048340474404694046640463404624046040459404594045340451404454044440443404434044340443404434043140429404274042540423404194041140409404074039840392403914038940387403854037740375403734036940368403634036240362403604035940359403574035740355403534034940349403424033940339403354033440333403324032140320403174031740315403084030740307403014030140291402904028840279402744027340272402654025940258402584025240247402454024340241402394022840226402254022340214402144021040209402044019840198401954019340192401894018040178401764016540163401594015740157401544015240151401444014440141401394013940133401284012540121401164011140110401104010640103401024010140090400904008640081400764007540070400674006040060400604005940057400534005140051400484004840040400384003740035400324003140029400284002740025400214001940019400164001340002399963999239992399903998939980399803997939978399763997539972399683996839963399623995839957399513994439934399273992739905399053990139900398963989039890398883988239876398753987339873398693986939867398643986339862398513985139837398323982539825398253982439820398193981339813398123981039807398023980239798397963979539788397853977939779397753977439772397703976939768397673976639763397623976239747397473974639742397423973939737397363973539734397343973439733397243972039720397193971839718397163971539713397103970139698396943969239680396753967139670396693966739663396593965039646396433964239640396353962839628396263962539624396233961939617396163961139610396053959539582395753957439573395733957239571395673955839557395563955439552395523954239541395393953839537395333953039525395243952039517395153951339506395033950039493394923948539484394783947839471394703946639465394623945939451394513944939446394453944439438394323943039429394273942639425394223942139419394193941939413394133941239409394083940439403393943939239385393803937539372393703936739358393513935039349393463934639346393443933939339393343933139330393293932939322393213932039316393153931439314393103930939305393053930439301393003929039287392833927939277392703926639260392583925739254392493923639235392343923439225392143921339209392083920639205392033920239200391883918739178391773917639173391723916339161391603915539154391533915339152391523914839148391483914539144391433914239139391383912339122391213912039120391203912039115391133911039107391063910639100390983909339090390893908739086390823908139079390783907639074390703906939068390663906339059390593905839054390523903439028390253902239020390163901339013390123901039009390033900238998389923899038977389733897238971389713896938962389593895538954389463894438942389373893738933389313892938928389263892138915389143891138911389103890738901389003889738896388963888838882388793887738874388693886838866388643885838858388563885638854388533885338849388473884738844388433883838831388313882638815388153881338812388113880938809388033879638794387933879138789387853878538784387823878238778387743877338770387693876238761387603875838756387553874738747387453874238740387363873238730387173871438713387123871138708387073870738703387013870138699386943868838681386763867538675386743867238671386703866938669386693866838667386673866738666386653866338663386633866238662386583865438652386513865038649386453864538642386423864038639386373863438633386293862638619386173861738614386133861238610386083860538605386053859738596385963859238589385873858538584385803857638569385673856738566385633856138552385523854838546385463853838535385293852538522385213851738499384953849138485384843847838476384763847638475384753847438473384733846738466384643846338463384613846038458384583845638444384423844038439384383843838437384273842538424384203842038415384133840938401383983839438394383933839138383383803837338369383683836538361383603835438350383493834938345383403833638334383273832738319383173831738317383163831538315383123830138298382983829638295382933829238292382893828638285382823828238281382803827738277382663826538261382603825738256382563825338248382443824438240382393823738234382303823038229382293822238219382193821238211382093820738206382053820238193381923819238191381863818438181381783817438172381673816638162381593815838156381553815538155381513814738145381443813838137381373813638134381323813238131381303812938128381263812338118381163811538109381073810538104380973809438090380893808738083380773807738073380733807138070380703806738065380653806338052380503804838046380393803538029380293802938025380203801938019380173801638016380103800938009380063800438003380013799837997379943799037983379833798137977379773797137958379573794937947379423794137939379383793437931379313792837926379253792437919379183791637915379133790737904378993789637896378933789137890378893788837887378843788237879378773787437873378733786937868378663786037859378583785537853378533785237850378473784537845378443783137831378313782937828378263781837812378113780837804378013779637790377893778837784377823778137781377773777537775377733777337771377573775737755377513774637742377363773637735377353773537729377293772737726377233772237720377203771437713377123771237712377093770837706377013770037697376893768637681376773767537673376693766937664376603765537655376543764637642376393763237631376313763137630376293762737626376223761837613376083760137599375953759437590375863758637583375803758037580375713757037567375673756637563375613756037554375483754737547375453753937538375363753237531375233752137517375173750237501375013749737494374933748537484374783747137467374663746437462374623746037457374533745237451374503745037440374403743837436374293742837427374243742237422374223741637411374093740637405374043740137399373993739137390373813738137378373743737237372373703736137361373553735137347373463734137340373393733837337373353733537333373313732837325373203731937315373143730837307373073730637306373053730437303373003729437293372923729137290372893728837287372863728437284372773727637274372713726937267372673726737264372593725637254372503724837248372453724437244372433724237241372363723337228372273722337221372213721837214372123721137211372103720337198371943718937185371843717637174371733716837163371603715937156371543715337148371453714137140371393713437133371293712537120371203711737117371153711137108371003709837096370933709337089370873708637086370843708037073370713706937057370473704537043370373703637034370333702737025370193701637015370133700836994369933699336991369913699036989369893698536983369783697736975369753697436971369693696836966369643696236962369603695736953369523695136951369483694836945369453694436942369423694136940369393693536932369303692936928369253692136921369203691936914369063690336902369013689936898368953689236891368903688836888368853688336881368803688036880368793687736866368633686036854368513685036847368453684436844368413683936831368273682736827368253682436820368133681136809368073680536804367993679836794367933678536782367763677336770367703676836761367553675336751367463674136741367313672836727367253672236720367193671736714367133671336710367083670636705367053670036699366983669736697366963669536695366943669336692366883668836686366853668236681366803668036679366743667436671366713667036667366643666436662366613666136660366583665736655366553665436650366473664336642366423664136637366293662636623366193661836611366073660436603366023659236590365893658836581365793657836576365733657136559365513655036543365433653236528365253652436523365213651936517365123651236507365063650436502365013650136498364983649536494364943649436489364893648736485364813647936476364753647436472364723646736466364633646236460364593645636456364543645336453364513644836447364473644236442364403643836437364363643036429364233641936418364183641636414364083640736405364013640036398363983639536392363923638936383363823637736376363753637036369363683636636362363623635836351363493634836347363463634336342363403634036338363353633136330363293632836328363273632436324363173631336312363093630336302362983629736296362953629436292362913628636284362823627836278362773627236268362683626436261362573625236248362483624336240362393623736237362363623436234362303622536224362173621536209362073620736203362033620136201362003619936194361893618036175361723617136158361553615436154361533615236152361523614936144361383613636131361303612936129361273612536125361243612436123361223611636111361103610836104361033609636094360933609136089360883608736087360863608636085360833607936075360723607136069360683606336063360593605936050360493604936049360473604736046360433604236041360403603636036360343602836028360273602736025360233602236020360173601736016360163601636014360103601036009360043600135998359943599235987359863597935979359783597235971359703596935967359673596435960359543595135951359483594635942359423594135935359343593035929359293592335922359173591435913359123590635894358873588635876358753587035870358613586035856358543585235848358473584135839358363583335832358293582835828358263582035817358143581435814358133581235812358073580635806358053580335798357963579635795357953579035790357893578935789357883578535785357843578335775357743577135768357673576635765357643576235761357613575935754357543574535745357423574235740357383573535734357323573235731357313573135729357253572535724357243572335723357233572235722357193571935717357163571535715357153571535713357133571335713357123571235712357123571235712357123571235712357123571235712357123571235712357123571235710357083570535702357023570135699356953569535693356883568735682356813568135678356773567535672356713566935667356613565235648356483564635643356403563935639356363563435634356333563335630356243562435621356203561735614356143561435608356073560435602355963559535595355933559135587355873558535584355843558135579355753557335572355703556435564355613555335552355493554835543355413553835534355333553135531355313553035530355293552735526355183551735512355093550635504355033550335502354993549835498354923548635485354833548235481354763547335472354703546535462354613546035460354573545535455354543545335451354513544635446354433544335439354373543735435354263542435423354233542035414354133541135410354073540735403353983539535393353933538835388353863538635385353833537735373353713537135370353683536735365353643536435361353603536035359353573535135350353483534835340353383533135330353283532835324353193531835313353083530735302352993529935298352893528835288352873528535284352833528035279352713527135268352683526735267352673526535262352613525935249352473524535244352443524135239352353523135230352283522535223352193521235207352053520435201352013520135200351973519735197351963519635195351943519235188351843518035178351763517135161351603516035158351563515535150351453514435142351383513635135351353513135130351213512135119351173511035103351003509935098350973509735094350943509035090350873508735085350833508135078350783507835078350763507035066350653506235058350553505335049350493504835046350453504035039350373503435034350343503235028350283502335016350113501135010350013499934996349943499434990349893498934988349873498634983349823497734977349763497334971349663496634961349593495734956349563495334949349473494334941349413493834937349373493334926349263492534921349203492034920349173491734915349143491134910349073490634903349003489834898348963489434892348903488834887348863488334882348763487334872348723487034865348643486134858348573485634856348543485334853348533485234849348493484734845348433484134840348353483134827348263481934818348183480834805348043480334801348003479934799347973479434793347933479334791347903479034788347873478434782347793477934774347743477234767347643476434763347633476234762347603475634750347503474934743347423474134739347343472934729347283472834716347073470734707347063470534705347043470434703346983469834683346823468134680346803467534673346723466934667346643465734656346533465034648346433464234639346383463434634346333463334631346273462334622346213462134619346183461634614346083460334599345983459134590345873458434579345773457534574345713457134570345703456934565345633456134561345603455834557345483454734545345433454134540345363453434533345303452834527345253452534523345213452034514345073449834498344973449634495344933449134490344893448534485344843448334482344823447634474344693446734465344633445834455344553445234449344483444734447344453444134440344363443334430344233442334422344223442134420344173441234411344093440834407344033440234399343973438934388343873438234382343813438134380343803437734377343763437434368343623435534352343473434234338343353433334333343323433234331343313432734327343273432634325343193431534314343133431034310343073430434299342963429634295342943429034290342893428734285342833427834278342773427334262342613425834255342503424834245342443424434242342413423334233342313422834225342203421934219342133421334211342103420834204342033419734194341943419334192341903419034189341883418634184341843418134181341813418034180341803417834178341743416934168341673416534163341633416134159341553414734147341463414434142341403414034134341283412734127341263412434121341203411334111341083410834107341043410434100341003409834097340873408534081340773407634075340733406934068340673406634064340613406134061340603406034056340563405534055340543405334050340493404434038340363403634034340333403334032340263402634024340243402334020340183401534014340143401434013340113401134009340083400734007340003399733996339953399533992339923398433984339823397933976339733397033969339673396333963339553395233952339513394833943339423394033936339353393533934339273392733926339233392133919339193391333898338953389533891338903388933887338843388033879338783387833877338763387133871338693385633855338553385533853338533385033849338483384533844338423384133833338213381433814338133380733804338043380233800337973379433793337913379133790337893378933788337863378333781337813378033779337753377433773337713376833767337663376633762337613376033756337523375033750337503375033745337443374433743337393373733737337343373333730337273372733724337233372033719337183371433713337123371233709337073370733703336973369633694336883368733683336823367733676336713367033666336643365933658336573365733653336523364933647336453364433639336383363833635336343363133631336283362733622336213361833615336113360933608336073360733606336053359933597335973359033586335853358533584335833358233580335773357733576335753357433573335723357233572335693356933569335693356733567335663356633564335623355833557335563355633555335553355233552335483354533543335403353933535335343353433532335283352733524335223352133520335183351533514335133351133511335103350733507335043350433503335033350333502335003349733495334923348933488334853348533484334833348233481334803347133471334713346733466334653346533465334633345533450334453344433444334423343733436334343343333433334323342733425334243342033416334123340733405334053340133401334003339833397333973339633394333933339233390333873338633385333803337933378333723336833360333603335933359333543335433353333513334633346333403333433332333313333033329333283332633322333213331533312333013330033299332953328933289332873328633283332823327733277332753327533265332633325933259332573325733256332553325033250332483324733247332453324333241332373323633236332313322833218332183321633216332123321233210332093320633203332033319933199331903318833185331743317133170331683316233160331593315633147331403314033137331353313033130331293312833127331263312433121331193311333111331113310933108331073310733106331033310333091330813308033080330783307733071330683306433050330453304433043330413303633036330343303333032330313303133029330273302633026330243302033019330163301533013330133301133011330063300533004330033300032996329943299332993329923298832986329853297432974329733297232972329683296732967329643296432963329603295632956329543295332951329483294632945329453294232940329393293432933329323293132930329283292532923329213292132919329173291732916329153291132909329063290432904329023290232900328973289432894328913288932888328823287832877328753287432874328733287332868328663286532862328623286032854328533285132843328393283632836328333283232830328303282432823328213281732816328153281432811328103280932808328083280332798327963278732786327843278232781327803277732776327753277532769327613276032758327573275632755327513273832736327363273632736327363273532735327343273332732327303272532721327153270932701326973269132691326873268532684326833268132680326763267632675326693266732666326653266432658326493264832647326453264032640326393263732635326343263332629326293262832624326213261932617326143261432611326113260932608326073260432603326033260132599325963259532595325923259132589325883258632584325793257732577325743257432573325733257232572325713256932566325643256032556325513254632545325443254132537325353253332533325323253032528325273252632524325233252232520325173251732517325173250632505325023250132488324873248632486324773247432472324683246232462324603245432440324323242832426324253242432424324233242032418324163241232409324093240632405324023240032400323983239632394323913239132390323883238832383323823238132379323773237432373323723236932365323653236332360323603235832357323543235432350323453234132334323333233132328323263232532324323243231932314323133231232311323073230632302323013230132301322983229632296322943229432292322903229032289322853227432271322643225832257322563224932244322433224232240322343223332232322313222832225322233222332223322223222232221322183221832213322113220832202321993219732196321963219332192321903218932189321873218232176321733217132169321683216732164321613215632153321503214932148321463214632144321433214032140321383213732136321333213232131321283212732127321243212332122321213212032115321153211432109321083210832105321053210432102321003209832097320973209632095320933209332089320893208832086320823208232080320753207132066320663206532065320643206332062320593205532051320503204832047320473204632044320383203432029320283202632025320143201131999319983199631994319923199031986319843197831977319753197531974319733197231971319703196831964319643196431959319593195831956319553195331948319463194531944319393193831936319353193231932319303192931928319283192531925319203191731916319153191431910319083190331903318983189631894318943189131890318783187831875318713187031864318633186131860318543185231852318503184231835318333183231829318283182831825318233182031817318173181631816318123181031809318063180431803318013179931795317933178831786317853178431781317773177631776317703176731766317593175831757317533175331751317513175031749317483174731747317473174631745317453174131740317403174031739317373173631735317343173031730317283172831725317173171731716317163171531714317123171131707317063170231701317003169931699316963169531695316943169331691316913169131689316883168631686316813168131680316793167931679316763167531674316743167331673316723167131667316673166631666316643166431661316593165931659316583165731655316483164531644316423163531634316333163231631316313163031627316223162231619316193161431613316123161131609316063160331600315993159631595315943159331590315863158631585315823158231579315753157231565315593155831555315553155431553315533155331549315483154831544315433153631534315283152731526315263152531525315243152431522315183151431512315073150431495314903148931487314833148031479314793147831478314743147331472314703146931468314653146431463314603146031459314573145431453314513145131450314473144631439314363143631432314293142931428314273142731427314253142431423314213142131420314193141831418314173141631416314153141431409314063140531404314023140231400313993139731395313953139431394313933139131390313893138731380313643136131355313513135131349313483134831346313433134131337313323133131331313283132731327313263132431321313213131631315313153131431311313103130931309313073130031296312963128931288312833128331280312783127731275312743127231271312683126231258312573125731255312523125231250312503124931249312483124731245312443124231241312383123631233312333123131230312283122831225312243122331221312193121731217312133121131211312103120931209312043120131201312003119531192311913119131190311883118731185311843117831178311773117331170311703116931168311673116631165311623116231161311603115831157311573115631155311543115431153311523115131149311473114631144311373113631135311283112831127311253112331122311203111731113311113110931106311043110331100310993109431093310903109031086310833108131080310783107431074310733107331070310703107031069310693106831063310573105131050310493104731044310433104231037310343103331031310283102831027310263102631024310233102031017310123101231011310103100931008309993099730994309943098830987309863098630985309783097630968309673096330960309593095530955309553095130950309493094730946309463094530942309413093930938309333092930926309253092330923309223092230920309203091630916309163091430914309113091030908309043090330903309013090030895308933089230891308903088830887308863088530882308823087930877308773087630875308743087130871308693086830865308623086230858308573085630855308533085130851308483084830845308453084230841308403083830838308363083530834308343083230831308223082030820308193081830818308103081030808308073080430802308023080030799307983079430792307903078730784307783077630775307723077230772307723077130769307663076530763307573075630753307523075130750307443074330743307393073830738307373073630735307353073430733307313072830728307283072430724307233072330718307173071430714307123070930705307043070230701307003069730696306953069530695306933069230692306913068830686306853068330683306803067730672306683066430662306613066030658306573065730656306553065330651306483064830646306433064230641306353063430633306323062730624306223062030618306163061630615306143061230611306103060930608306073060730606306053060530605306033060230601305993059930598305983059830597305963059630596305963059630596305963059630596305953059430594305923058930588305813058030580305733057230571305703056930569305673056330561305603055930556305523055030550305493054930545305443054330542305413053830538305353053230529305243052430524305233052230521305193051730516305153051430510305093050730506305063050630505305023050130499304983049630495304943049430493304933048830487304843048230481304813048030480304783047430470304663046630464304633046130459304583045630454304463044630445304453044230442304413044130436304363043030430304303042830425304223042230421304173041530414304133040930407304043040130400303993039830397303953039330392303923039030382303823038130379303683036730365303633036130359303553035430351303503034730347303473034630344303433034330340303393033830337303373033630336303353032530324303243031930318303173031730316303163031530311303093030630299302963029530293302933028930287302833028230282302823027930277302773027430274302703026930269302683026830267302673026630264302623025830250302483024830247302473024230239302383023530235302333022830226302213022130220302193021930218302183021830218302173021630214302133021230211302093020930208302073020430204302033020330198301963019530194301933019130189301853017930175301713017130168301683016430164301643016230161301563015530153301523014830148301463014230141301403013730134301343013430125301243012130119301193011630109301063010530102301013009830097300953009430093300913009130090300893008630086300833008230082300803007830073300683006730066300663006130061300593005730056300533004930048300473004730046300423004130041300393003530035300343003330033300303002930028300263002530022300223001930019300183001830010300103001030006300053000330000299992999829998299982999829996299962999029988299862998529983299832998229982299822998029980299752996629963299622996229961299612995529954299542995329953299522995129949299462994329940299402993729936299342993129931299302993029927299272992729927299242992329923299222992129918299172991429914299132991029908299082990729907299062989629894298922988329881298802987929875298752987229868298652986329861298592985829857298562985529849298492984629844298442983629835298342983329828298262982429822298172981629814298122980829807298062980529805298032980129801298002979929790297902978929788297832978129780297802977829772297722976829766297652976429760297592975529748297482974729746297452974529738297382973829736297252972329721297202972029719297182971629715297132971229711297102970729704297042969329689296862968029677296752967329672296722967029669296682966329661296572965629653296472964629643296422963929638296342963029627296272962629624296232962129621296152960829607296052959629596295962959329592295912959129591295902958829585295852958529582295822957929578295782957729577295762957629570295702956829568295672956629564295622956229559295582955129551295492954829545295442954229540295382953629536295342953229529295262952329523295182951329513295122950729504295012950029500294962949629494294912949029490294902948929488294882948629484294812948029479294792947629476294742947229472294672946629462294612945929456294542945229451294502944629443294402943929438294382943629435294352943329432294312943029429294282942829428294282942729426294212941929419294192941829414294132941329413294132941129408294072940629406294052940129398293982939529392293922939029389293842938229382293822937729375293722936929368293662936329359293582935729357293542935329352293482934729347293472934529342293422934129339293382933429330293302932929327293262932429322293212932029320293192931729317293152931429312293092930829306293062930429301293012929729296292952929329290292902928929289292892928629284292732927029262292612926129260292602926029258292582925229251292492924929248292482924829244292422924129240292402923929238292372923729235292342922929229292282922629226292252922129216292152921529211292102920729205292012920129197291962919529194291942919329193291922919229190291902918029180291792917829176291762917529175291752917529175291742917329172291712917029169291632916229159291532915029146291412914129140291372913729135291322913229128291262912229121291202911829115291142910929109291052910529105291042909729097290952909529093290902908729086290852908229082290812907729072290722906829068290682906529064290632906129058290542905229050290492904729042290412903929037290352903529032290272902529024290232902029018290172901129011290112901129009290082900529004290012900029000289972899128990289892898628982289792897728976289762897528965289622896028959289582895628956289562895328949289452894528945289432893828936289342893128930289302892928928289252892328921289142891228909289082890728901289012889928898288932889328892288922889128890288892888828888288832888328882288812888028879288782887828877288742887328873288732887228866288662886528863288632885928857288522885128850288492884628846288452883728836288312883128830288302882928827288262882128820288202881928818288182881828817288152881028810288092880828807288022880128800287982879628796287922878928787287852878528782287822878128780287792877928778287772877328773287722877228771287702876928767287662876428762287602876028757287552875028747287462874428739287392873828731287262872328718287172871428711287102870728707287012870028696286942869328692286922869128690286892868828686286852868228682286782867728673286712867128670286662866628666286632865928659286582865628654286532865028648286472864728646286462864328641286402864028639286392863928629286252862328622286182861828617286152861128607286072860528602286002859828598285972859628595285942858928589285872858628584285812857828574285732857228571285642856428562285622856128560285592855928559285582855628555285522854928548285482854828544285432854028535285322852928525285242852228520285192851328512285122850928508285062850528505285042850128500285002849928496284952849328492284912849028490284872848628480284802847728477284752847328471284702847028462284612845928457284552845428452284522845128449284472844628446284442844428443284422844028438284382843528435284342843328431284312842628424284182841728415284152841428414284122841128410284102840928407284062840628405284052840328398283982839228392283912838528384283832838228379283782837728376283762837428373283712837028370283692836828367283672836228362283512834928347283472834728346283462834328343283422834128338283322833128330283272832628323283212832128320283192831828317283162831528312283102830628305283042830428303283022830228299282992829928295282952829328292282912828428283282832828028280282752827328272282712827128270282692826728267282652826428263282622826128259282592825428252282522825028249282492824628246282462824628244282432824228240282372823328229282272822628223282222822228221282202821928217282172821028208282082820428203281972818928186281852818428182281812818128177281752817528174281742817228169281662816528164281642816328163281622816028160281572815628150281492814928148281472814528144281412814128139281382813428134281342813328132281312812828127281272812728127281262812328117281172811528111281112811028109281072810528103280972809728097280952809428094280942809328092280922809128091280912809028090280902808928089280872808728086280842808128080280782807528073280732807328070280692806828067280652806528064280572805528050280462804028037280342803328032280322803228029280272802628026280252802428022280152801528011280112800428001279972799727996279942799427992279902798927988279872797227972279712797127970279702797027970279692796827965279652796527962279552795427950279502795027948279432794227941279402794027939279372793327933279292792527923279222792227921279192791627916279152791427910279092790627898278972789627892278902789027889278892788927888278862788527880278792787827877278752787327867278672786727866278662786627863278562785527851278492784727846278462784627845278442784327843278382783827837278362783527835278332783327832278322782927825278212781927819278152781527814278142781227811278092780927802278002780027798277982779627796277932779027789277892778927786277842778427783277832778227782277782777627775277702776927767277672775927758277582775527755277552775527754277542775327752277492774727746277462774427736277352773527729277292772627725277242772227721277192771827713277062770327702277012770127700276992769827698276862768627685276812768027680276802767927679276792767627676276742767327672276722766827668276672766427662276542765427651276492764827648276422764127641276402763927638276362763527635276342763227630276282762827625276252762227621276192761727617276152761327613276122761227611276102760727607276062759827594275942759327591275842758427583275802757727574275722757127571275672756627565275642755427550275502754927548275482754727547275462754427536275362753327532275322753227530275292752927529275282752527522275172751227510275092750927508275012750127499274992749527493274892748927489274882748727486274842748327480274802748027480274792747827476274752747527474274702747027470274692746627464274632746127460274602745927458274562745627452274522745127450274462744627445274402743627432274322743127430274232742027417274162741527415274142741427414274122741127411274092740527403274022740127399273932738827386273852738527384273832738327380273802737827378273752737527374273742737227368273652736527362273612735727355273482734727346273402733927338273372733627335273352733427329273292732827328273262732227322273212732127320273192731927319273182731627314273132731227311273102730627306273052730227301272982729727297272962729427294272942729227291272912728927288272872728627286272832728227282272822727827277272752727427274272732727027268272682726727266272662726327263272602725527253272532725227252272482724827247272462724427244272432723727237272372723427234272342723227230272292722927226272242722427215272142721327210272072720127200272002719827198271962719527195271922719227191271902718827182271792717827175271732717127169271692716927168271672716627166271652716327163271592715727152271522715127149271492714827147271452714427142271422714127138271372713627135271352713227132271312712727127271272712627126271242712427124271232712227121271172711527114271122711127108271062710027098270972709627095270952709227091270912708927087270792707927077270752707427072270712707127071270702706927069270672706427062270612705927059270562705627053270522705127051270502705027049270462704527044270442704327042270422704027038270362703427029270292702627025270242702327023270222702127018270172701527015270132701327012270102700727006270062700627006270062700427003270012699826997269972699226989269892698726986269862698626986269852698426982269782697726977269762697626969269682696726966269662696626963269622696026959269592695926958269572695626956269552695526953269532695126950269482694626945269432694226941269412693626935269352693426933269312693026930269292692826927269252692526925269252692326922269222691726916269152691326909269082690826908269072690626904269032690326900268992689726897268952689426892268922689026889268872688626884268832688226882268802687926879268782687726876268742687426873268712687026869268682686626865268642686126856268552685426853268512685026850268482684826848268472684526845268442684226842268412684026839268382683826837268362683626835268322683226831268312682926828268272682726823268222682026819268192681826817268162681526814268102680926808268062680526803268032680026800268002679826797267962679426793267912679026789267892678926789267862678326782267802678026777267762677426770267662676526764267642676226761267602676026758267572675526753267492674826748267472674526744267422674226741267412674026738267332673226731267282672526724267242672426721267182671826717267172671526710267102670926709267092670826708267042670326702267002670026700266982669426692266902668926688266872668726686266782667626674266732666926668266682666326662266612666126657266552665526653266522665226650266502664926648266462664526645266442664326642266422663926638266372663626634266332663226629266262662526624266232662126620266192661926618266172661526612266052660426604266032660126600265972659426594265922658926589265882658726586265852658526584265792657826578265782657726576265702656926569265682656326563265602655626555265552655426553265512655126550265502654426541265392653726536265352653526535265342653426533265332653226532265282652726526265242652426522265182651826516265152651226512265112651026510265082650626504265042650326502265022650026499264972649626496264942649326490264872648626484264832648326483264822648026480264792647926478264762647526474264742647026469264682646726465264642646226462264612645926458264572645726456264522644926446264402643926439264372643526434264322643126430264292642926429264252642526424264232642226420264152641526414264122641126411264102640926406264052640526405264002640026399263992639326391263882638626386263832638326383263812638026380263762637426373263732637226370263702636926368263622635826356263522635226352263502635026344263372633626334263332633226332263302633026329263292632626325263242632326318263182631526313263122630926308263062630626306262972629626296262952629526294262942629326293262932629226292262892628726287262862628626285262822627926275262722627226271262712626926269262692626926268262662626626265262632626326262262602625926259262552625326252262512625126249262412624026240262402623926237262362623426229262282622726225262242622226221262202621726216262152621526214262132621326212262072620426201262012619726193261922619126190261832618226179261782617726176261752617426169261692616726165261642616426162261552615226152261522615126150261492614626145261452614326139261392613626135261352613226128261252612526125261252612426124261232612226121261202612026120261192611626115261142611126109261082610626106261052610126100260992609626095260942609426094260872608526084260812608126079260772607226072260722607226068260652606526064260632606226056260552605426051260502604726046260452603926037260362603426032260322602926027260262602526025260242602326023260232602226020260172600926007260072600626006260042600326002260002599925998259982599625993259932599325988259882598525985259832597725972259722597125968259672596525964259642595725955259542595425953259532595225952259492594825948259472594625945259442594225939259382593725936259352593525930259282592725925259232592225921259212592025915259142591325912259112591125908259082590625906259062590525904259032590125900258952589525894258902588825887258852588225881258792587925877258772587525874258732586925869258622586125859258592585825857258552585325853258532585225851258512584625845258452584525842258422584125840258392583525834258322583125830258222581825817258162581425814258122581125811258102580925807258052580325803258022579825797257932579025787257862578425783257822578125780257772577625773257732577225772257712576325761257612576025760257592575525754257532575325752257512575125751257452574425744257442574225741257402573925739257352573525729257262572625722257182571525709257072570625705257042570325701257002569925697256962569625695256952569225691256892568825687256872568725680256802567925677256772567325672256712567025669256672566625664256642566325662256602565925651256512565025646256462564325642256332563125631256302562825626256252562225620256132561125611256072560625604256022559925590255892558825587255832558025580255742557325570255702557025569255692556425561255542555125551255502554925546255452554325543255392553825537255372553625535255352553525535255322553125531255292552925529255282552425524255232552325523255202552025520255182551725517255142551425514255132551125511255092550925503255032550125501255002549925499254992549525493254912549125488254812547825478254752547525475254742547325470254702546925468254672546725466254652546525465254632546325462254612546125458254562545425453254532544725446254462544425443254412543925439254342542625426254252542525423254212542025419254172541725417254162541625413254122541225411254092540925406254022540125401254002540025400253992539825396253962539525394253932539125388253862538425382253802537925379253782537625376253742537325372253722537025369253692536925368253672536725366253652536425357253572535625355253552535425351253512535025347253462534625340253402533825337253352533425332253302533025329253292532925324253232532325323253202531925318253182531825315253122531025310253062530625305253042530225301253002529925298252962529425293252862528225279252772527525270252692526625266252662526225261252582525725256252522525125250252502524925248252482524525244252412524025239252392523525231252282522825222252212521925215252132521225210252102520925209252092520925207252022519825198251972519625194251942519325192251912519025190251862518425180251792517825172251702516325162251622516125161251582515825158251582515725157251562515325152251462514625143251422514025138251372513525135251352513325133251322512825128251252512525124251222511925116251152510825106251022510025099250992509825098250972509725094250932509225089250822507725073250722507225071250682506525065250632506225059250572505625055250542505425052250502504925049250482504825046250442504225041250392503825036250352503425033250322503125030250302502825025250242502325022250202502025019250192501825018250172501625013250082500625004250032500125001250002499724996249952499224992249912499124989249872498724986249852498424981249802498024979249782497624975249702496824967249662496424962249612495924959249572495524954249522494924949249482494824948249442494424943249402494024940249392493924939249352493224930249302492924929249272492624926249212491624916249152491524912249112490924909249082490824907249062490624905249042490124900249002489924897248972489724896248942489424892248922488424880248772487724876248732486924864248632486024859248582485624855248542485424852248502484924849248492484024839248392483824835248332483324832248322483024826248252482424824248232482024819248182481824817248152481424811248092480924808248082480724807248062479924797247972479424794247932479124788247862478524785247842478324783247822478124778247762477524775247722477024768247672476724766247642476424761247612476124759247572475524754247512475024749247482474724745247442474324740247392473824736247352473424729247272472524721247192471824718247172471724717247152471324712247112471124705247042470124699246992469624696246942469224692246912469124686246852468224678246752467424674246722467224671246692466824668246682466224660246582465624655246472464424644246422464224641246382463624636246352463424633246312462924628246282462724624246242462224621246162461524613246122461024610246092460624605246052460324602246012459924599245972459524592245922459124589245852458524584245842458224581245812458124581245802457624576245742457124567245652456424564245632456224561245582455824557245552455424553245512455024548245442454224542245412454024540245402454024540245352453424534245332453224530245282452724527245232452224520245202451824518245142451424513245112451024509245072450524505245042450324502245022450024496244952449424494244932449224490244882448624483244822448124481244782447824476244762447524474244742447324471244682446824466244652446424463244612446024459244592445924458244562445524452244512445124449244472444724446244422444224441244382443824435244332443324432244322443124431244302442924428244232442224422244202442024418244172441724416244162441624415244132441224412244072440624405244042440224402244012440124400243992439924399243972439624395243922439224389243852438324382243792437724376243752437524372243722436924368243682436724365243632436224362243612436124356243512435124351243502434824347243452434424343243422434124340243402434024338243372433524335243342433224332243312432924329243292432824328243262432624323243222432124321243202431824318243162431524314243142431224310243102430724306243032430224301242992429824298242972429524293242932429124290242902428924285242832428224282242812427824276242752427524274242672426424264242632426324263242602426024259242592425624255242522425024246242442424324242242412423924239242382423724236242362423424234242332423224229242292422624220242192421824216242152421524214242142421224212242122421224211242102420824206242052420324203242022420124201242002420024199241962419624192241922419224192241912418924189241882418824187241852418124179241782417724177241772417724173241732417124170241702416924168241672416724165241652416424162241602415824156241502414924149241482414724146241452414424144241422414024137241372413524135241352413224130241302412824126241262412324123241212411724117241162411624116241152411224112241082410524105241032410224100240992409924098240942409224091240912409024090240882408824087240872408724086240852408224081240802407624075240732407124066240652406424064240632406224058240582405324053240522405224048240472404724045240422404224039240392403524034240342403324033240332403324032240322403224032240312402824027240272402524023240232402224021240212402124020240192401924019240182401724017240162401524015240132401124007240072400724006240052400324002240022399923998239972399623993239932399323991239912399023990239892398923988239862398523985239852398423983239832398023977239732397323972239712397023967239652396423964239642396423964239642396123961239602395823957239562395623955239542395423950239492394723941239382393523934239312393123930239282392823928239272392623923239222392123920239192391823918239172391723917239162391623915239142391423913239112390923907239052390423904239022390223900238992389823896238952389223892238922389123889238882388623883238812387923879238772387723876238762387323869238692386423862238582385723856238532385123851238502384923848238462384623845238442384223838238372383723835238342383123830238302382823827238272382723826238262382323823238212382123820238192381723815238132381323812238112381123810238092380923805238012380123800237992379923797237962379623795237952379323792237902378823785237832377723777237722376823766237662376223761237602375923755237542375023748237482374723747237462374423743237422374123740237392373823736237322373023730237292372823726237262372623726237252372523722237192371623713237112371023709237082370723704236942369223691236912369023684236822368223682236792367923678236742367223670236692366823667236662366623666236642366323660236592365823658236562365623654236492364823647236452364523645236452364323642236422363823638236382363723633236312362923629236272362723626236252362523624236232361823618236162361423613236122361123605236052360423602235992359723593235932359123590235902358923587235852358423582235812358023579235792357823575235732357023569235692356923568235672356523558235582355423553235532355123551235502354923548235482354723540235372353723534235322353023530235292352823526235252352523524235222351823517235172351623511235092350823506235042350423497234942349323492234922349223490234902349023489234882348723485234832347823477234762347323472234712347023468234682346423464234632346323459234582345823457234572345623453234522345223452234472344723445234432344023437234352343523430234292342823427234272342523425234232342323423234212342023418234172341723417234172341423413234112341023409234072340723405234032340223401234002339823397233942339423393233902339023389233842338423383233792337723377233762337623373233732337223369233682336723366233662336423363233622336223361233602335923357233572335423354233522335123350233492334823343233412334123339233392333223332233292332823328233282332523324233232332023315233142331323312233102331023307233062330323302233002329923298232972329723294232902328923288232882328323282232802328023277232762327623274232742327323272232702326923266232652326523262232602325923258232572325523252232522325123251232502325023248232482324823244232382323823238232362323123230232302322923228232262322623224232232322223221232202321823217232152321523215232122321123210232072320523205232032320323202232012320023200231972319723194231942319223188231872318723184231832318123179231782317723176231762317623174231742317423171231702316823167231662316523163231622316123161231612316023160231602315723157231562315623155231552315423153231502314923147231462314323142231422314123140231392313823138231362313523134231282312723125231202312023116231122311123110231092310923108231082310723106231042310323103231012310123099230992309823095230942309123089230892308823084230832308323082230762307523075230742307123069230672306623065230632306223062230612306023059230572305723055230542305323053230512305023050230502304723047230442304323043230422304023039230342303423034230332303223027230262302523022230222301923018230162301323010230092300823006230052300423000229992299522995229932299322992229922298922989229892298922985229812298122978229762297422972229712297122967229652296522962229612296122961229592295622954229502294722947229472294522943229392293822938229332293022929229282292722924229232292222920229202291822918229172291622916229152291122908229072290622905229052289922896228942289322892228912289022883228832288222882228822288222882228792287922878228782287722873228722287222869228692286422863228622286022860228582285822857228532285322850228502284922849228482284822847228432284322842228392283822837228322283122829228272282622825228242282422824228152281322813228122281122810228092280822807228032280222798227932279322790227902278822787227852278422784227792277922778227772277722775227742277222768227672276522763227572275622752227472274622744227442274122741227392273822733227312272722726227252272522722227222272122721227202271922717227162271022710227072270622706227052270522704227042270322702227022270022696226942269022689226892268722687226842268322682226822268222681226812268022679226792267722675226732267222670226682266622665226642266422663226622265822655226542265422654226502264922649226492264822645226432264322642226422264222642226412264022640226372263422634226332263222630226302262922628226272262422624226202262022619226182261822616226132261322611226082260722605226052260522604226012260022600225982259622594225922259122591225892258522584225832258222579225772257522574225702257022570225682256722565225632256122557225562255122551225472254622546225422254122541225402254022539225362253222532225312252922526225262252322519225162251622513225122251222512225112251122510225082250722506225052250522504225042250322502225012250122500225002249922494224942249322492224902248622486224842248322483224812247922478224772247722476224762247622476224742247422474224722247222472224712247122467224662246622466224652246422463224622246122461224582245822455224532245222452224522245022449224482244522445224432244322442224412243922439224382243722434224302242522424224232242222420224182241422413224132241222412224112241122409224092240822407224072240522403224022240022398223972239722396223942239422394223932239322390223892238722387223872238522383223832237822378223742237322372223692236822368223672236622366223642236322363223632236222362223622236022355223542235322352223502235022350223472234722346223462234422344223432234322339223382233822338223372233522334223322233222332223292232922326223252232522324223192231622315223142231422312223092230722305223042230122300223002229922296222962229622295222932229222289222892228822287222852228422283222832228222282222792227822275222732227322272222702226922268222682226722262222612225922255222542225322252222522224922249222482224722246222462224622246222442224422244222432224122239222392223622236222362223522235222352223422234222332223222231222302222922229222272222722226222242221922218222142221422213222122221122207222072220522205222042220322203222022220022196221952219522192221922219222192221902218422183221822217722177221762217422174221712216622164221632216222162221622216122160221602215722156221532215322150221502214822147221472214622145221432214322143221432214222140221402213922135221342213322130221292212822127221252212522122221222212122120221192211722116221162211422114221132211322112221122211222111221102210922109221092210822106221052210322103221022210122100221002210022098220982209622095220952209422094220912208822086220862208322082220822207822077220742207322073220732206822067220672206722066220652206322062220602206022059220592205422054220532205322052220502204722046220452204322043220432204222040220402203822037220372203722036220322203222031220302202922028220282202722027220262202622024220232202122020220202201822017220122200622004220032200121999219972199721994219922199121991219902198821988219862198121981219782197821977219762197521974219732197321973219712196921969219672196721967219662196621965219652196421960219582195621956219562195521955219542195421953219522195121951219482194421942219402194021938219382193521935219342193321932219322193221932219322192921929219292192721924219192191821917219152191421913219132191021909219092190821907219062190621899218982189721896218952189521895218952189421894218932189121889218882188621886218862188521882218822188221881218802187621871218712187021869218672186721865218652186421864218632186221862218612186121861218592185921859218562185621855218552185321851218492184721846218452184321843218412184021839218372183521830218282182521824218232182121820218202181921815218122181121807218072180721805218032180321803218032180221802218002180021799217992179821797217972179621794217922178921787217872178521784217842178321780217782177421774217732177221767217662176521764217632176221762217602175921757217562175521753217522175121751217512175021750217482174621744217432174321742217412173621734217332173121731217302172921728217282172721727217272172621726217252172321722217222171621714217142171221710217092170821708217082170721706217052170421703217002170021700216982169821697216962169421694216912169121691216912169121689216892168821688216872168721687216852168321683216822168221682216812168121677216762167521674216732167321670216682166421664216632165721656216562165521654216532165321653216522164821647216472164721645216442164421642216422164121640216382163421632216322163021630216282162721626216252162421624216232162221622216202161921613216132161321611216112160921609216082160721603216022160221601216012160021599215992159821597215952159421594215892158921589215872158421584215832158121581215802158021573215712157021569215662156521565215642156421564215632156221560215602155921559215572155621556215552155421552215512154821547215472154521545215432154121537215352153421534215332153221532215302152721527215252152421523215232152221522215212152121521215202151921517215162151121510215102151021493214932149121491214872148221482214812147921479214782147621474214742147321472214702147021469214682146721467214672146521464214632146221462214612146121460214582145521455214542145221451214512144921448214452144521444214432144321442214392143821436214362143621435214332143321430214292142821426214252142121421214172141621415214152141321410214102140821408214052139921397213972139121389213872138521382213812138121381213802137621371213692136821365213642136321358213572135621356213552135421353213492134821347213462134621345213432134321340213402133821338213372133621335213342133421332213302132921327213272132521324213232132021320213182131821317213142131321311213102130721304213032130321302213022130021300212982129621295212952129321291212902128721286212842128321283212812127921273212722127121271212692126921267212662126521265212642126321261212602126021259212572125721257212552125221251212512124921248212482124521243212412124121240212382123821236212322123021230212292122921229212282122721226212242122321223212232122221221212212122021219212182121521215212142121421213212122121221211212112120921208212082120721205212042120321203212032120221201212012120121199211962119621194211902118921189211872118721186211822118221181211802118021180211782117721177211772117621175211752117421172211712117021170211692116621165211632116121160211592115821157211572115721156211562115621155211542115221152211512115021147211472114621146211452114421144211432114221141211412114021139211382113721136211332113221131211312113021128211272112721124211232112321122211192111921117211172111721115211132111221109211092110921109211082110721105211012109821097210962109621095210912108521084210832108321083210812107821075210752107421074210732107221066210662106521065210642106421064210642106321060210602106021058210572105721057210562105421053210522105221051210492104821048210472104721045210442104321040210402103521034210332103321033210322103221030210302102821026210232102321022210172101721016210152101421014210132101221012210122100821002209992099820996209922099120991209892098720985209852098520984209842098120981209812098120980209792097820978209782097720977209772097620976209722096920969209692096820967209662096620964209582095620956209542095420954209512094520940209372093620936209352093520935209322093220932209312093020929209292092620926209242092420923209232092220922209212092020919209192091820916209162091520910209102090920908209082090620906209062090220901209012089920899208992089820896208962089620895208942089220892208912089120889208862088620883208822088020879208782087720876208762087420874208732087020869208692086820867208672086720867208652086520865208622086120861208592085620854208522084820848208472084220842208402084020839208382083720836208362083620834208312083120828208262082620824208202082020818208172081620816208162081420813208132081320811208102080920807208072080620806208042080120800207992079920798207982079620792207922079120790207902078820786207842078420780207762077520774207722077120770207682076720767207672076720766207652076420763207612076120761207592075820756207562075620754207522075120751207492074920749207472074520745207422073820737207372073620736207312073020730207282072520724207242072420723207222071820716207152071420714207112071020710207082070820706207052070520705207042070220701206992069920698206972069720695206952069420694206922069220690206892068620686206852068320680206802067920678206782067720673206722066920668206652066220661206612066120661206602066020659206572065620656206562065220652206522064820647206412064120638206362063520633206332063220632206322063120630206282062620625206242061720616206152061320613206092060820608206072060720605206042060320601205982059220587205872058520583205822058120577205762057420573205732057220572205712057120571205692056820567205642056120560205592055820553205522055220552205522055120550205502054720546205462054520545205422054220541205402053820534205332053120530205292052920528205272052620526205262052520525205242052420524205232052220519205192051520514205142051320511205102051020510205102050920509205082050820508205062050520505205052050320503205002049920499204982049720496204952049220491204902048720485204852048520485204842048420482204812047920477204752047520474204712046920466204642046420464204632046220462204612046120461204562045620454204542045420452204502045020449204482044720447204472044520443204432044220442204422044120439204382043620434204332043220431204302043020429204282042720426204202042020419204172041720415204142041420413204112040920408204072040720407204052040520405204052040220402204002039920397203972039620395203952039420394203922039220391203902039020390203892038820388203862038520384203832038220381203812038120378203752037520375203752037320372203692036820366203632036220359203592035720357203552035520353203522034720344203442034320335203332033220329203282032520324203232032220321203192031920318203182031720317203162031220310203102030920309203082030420304203032030320301203002029820298202962029620292202912028920288202872028720285202822028220278202782027820270202692026720266202662026520262202592025820258202582025720256202542025320252202522025120249202462024520245202452024320243202412024020240202392023820238202372023520231202272022620225202252022420222202212022120219202162021620215202132021220212202102020920206202042020220201202012019520194201932019120190201892018920188201882018720186201852018520185201832018320183201822018120180201802017920177201752017520174201722017220172201712017020170201662016520164201642016220162201622016120161201552015520154201522015120150201502015020149201472014620144201402013920139201372013720137201372013620131201302012720126201232012320120201202011920114201122011120110201082010820103201022010120101200992009920099200982009820096200942009120090200892008720087200862008420084200842008320083200812008120080200792007920078200772007620075200752007120071200702007020070200702006920068200672006420064200612006020060200592005820057200572005520055200532005220050200492004720047200472004620046200462004520044200432004220042200412004020039200392003620036200362003620036200312003120029200272002720026200252002520020200172001420014200122001220010200082000520004200001999719997199971999519995199941999419990199881998819987199841998319982199821998119980199801997819978199771997619975199731997219972199701997019968199671996519965199641996419961199591995619955199551995219951199501995019950199491994819948199471994719945199451994319941199401994019938199371993619935199311993019926199261992519923199181991619915199151991519914199131991119909199061990519903199031990019899198991989919897198961989319891198901988919887198861988119880198781987619875198751987519874198731987319872198701986919868198671986719867198671986619866198651986419862198601986019854198531985319852198491984719847198471984619845198441984319840198391983719836198361983319830198301982919829198291982919829198281982719827198221982019820198191981919819198191981719817198171981619812198121981219808198081980719807198061980619805198051980419803198031979919798197981979819796197951979519794197891978719786197861978419784197841978219781197801977919778197781977519773197721977219771197701976919769197681976719767197671976719766197661976519763197631976319760197591975819757197541975419751197501974919749197471974619746197451974419743197431974319741197411973919739197381973719737197331973319730197301972919729197291972619724197241972319722197211972119721197201971919717197171971719714197141971319711197101971019710197101970919706197061970519704197041970419704197031970319703197001970019700196961969419694196931969219692196921969219691196911969119690196901969019690196891968819688196881968719687196851968519684196831968319682196821968219680196791967819678196781967819677196771967719677196751967419674196731967319672196711966619666196641966419664196611966119661196591965919658196581965819657196571965519654196541965419651196511965119649196491964819647196471964619645196441964319640196391963819637196361963619636196341963419633196321963019630196291962819627196271962419619196181961619615196131961219611196111961019610196101960819608196071960719607196061960319603196021960219601196001960019598195971959619594195941959419593195921959119590195901958919588195821958219581195801957519575195751957419572195711957019569195681956719567195661956519564195621956119561195601955919558195571955719556195541955319552195511955019547195461954419543195401953919538195381953719537195371953619533195331953319532195321952719527195261952519525195251952519524195221952119514195121951219511195101950619506195041950219501194991949819498194981949719496194961949519494194941949419493194921949219492194911949119489194881948719484194801948019477194771947719476194761947619475194751947519475194741947219470194691946919467194651946419462194621946019460194591945719457194561945519455194541945319452194501945019449194491944819447194461944519445194431944119439194391943719437194361943619435194341943319432194301943019429194281942719427194271942619424194231942319423194221942219421194191941519415194141941119410194091940919408194081940819407194071940619405194051940419404194031940219399193991939619396193951939219391193901939019390193871938719386193841938419383193811938119380193781937719377193771937719375193751937319372193721937119370193701936919368193641936319360193571935619354193541935219352193511934919346193441934319342193381933819337193371933419331193311933019330193301932919328193281932619326193261932519323193221932019320193191931819318193161931619315193141931119311193111930819308193061930419304193021930119300192991929819298192981929819297192971929719296192961929219292192921929219292192911929119291192901929019288192881928619286192851928419282192811928019279192771927619275192741927219271192681926719263192631926119260192591925619253192521925019247192461924619244192431924219240192401923919238192371923619236192361923519230192301922819227192251922519224192241922419223192221922119220192181921819217192171921719216192141921419214192101920919208192081920719207192061920519204192021920019200192001919919199191941919219192191911918919188191871918719187191861918619185191851918519185191841918419182191821918119179191761917419174191741917219172191701916919169191691916919169191691916919169191681916819167191671916619165191651916419164191611916119161191601915919159191591915919158191571915519155191531915219149191481914819146191461914419143191421914119138191341913419129191281912719127191271912619125191251912519124191241912319120191191911419114191121911219111191111911019109191081910819108191061910519104191031910219101191001909919096190951909519094190921909119091190911909119090190891908819086190861908419079190781907519075190741907319071190711907119069190691906919068190671906719067190661906619064190641906319062190611905819057190551905519054190521905119051190441904319042190421904219041190381903619035190351903519033190321903219028190281902719027190271902619023190221902119020190191901919016190151901419014190101901019008190061900519004190041900319001190011900018999189961899618995189941899318992189911898918989189891898718986189861898618986189851897918978189761897618976189751897418974189741897218968189661896418962189591895718957189561895618956189541895418953189521895118951189511894918948189471894618946189451894418942189411894118940189391893818937189361893618935189341893318933189301892918929189291892518923189221892118921189171891618914189131891218911189091890718906189031890318903189011890118899188981889718896188961889618895188951889518893188921889018889188881888718886188851888218880188801887918878188761887418872188711887118868188671886618866188611886018859188581885818856188551885218851188511885118850188501884618845188441884318842188401884018839188391883818838188371883618836188351883518834188341883318833188331883318831188301882918829188281882718825188241882318822188201882018815188131881118811188111881018802188001880018799187981879718794187941879318791187901878718787187861878618784187841878418783187831878318782187801877918779187781877818777187771877718777187761877518775187751877418774187741877318770187701877018766187651876518765187631876318762187611876018756187541875418754187541875218752187521875018750187491874918748187481874718747187471874718747187461874518744187431874118741187401873918738187351873418732187261872518724187211872018716187161871418714187141871218712187081870618704187041870318701186991869818697186941869418692186911869118691186891868918688186881868518685186851868318683186831868218681186801867818677186761867518672186711867018668186661866218662186601866018660186581865718657186551865518654186521865018649186491864818648186471864718646186451864318641186401863818635186331863218632186321863018630186281862818627186261862318620186201862018619186171861618616186151861518614186131861218612186121861118610186091860818607186071860718607186071860518602186021860118600185981859818598185981859818598185981859618594185941859118590185901859018586185851858318577185771857718576185751857418574185721857018568185661856618565185631856318561185611856018559185591855718555185551855518554185541855318553185511855018547185461854518544185431854118541185371853418534185331853318533185331853218532185311853018528185281852718526185251852318523185221852118521185201851918518185171851618515185141851418513185111851118509185081850818507185061850618503185011849918499184971849518494184931849218492184911849018488184861848518485184831848218482184821848018479184771847618476184751847518472184721846918468184681846818467184671846618465184641846418464184631846118459184591845918458184581845618455184541845418454184541845418452184521845218451184511844918449184481844718446184451844418443184421844218441184411844118440184391843718433184331843218431184281842718427184271842718426184251842518422184191841718416184161841418413184131841218410184101840718406184061840518405184051840518403183981839718396183961839518395183951839418394183941839318393183921839018390183901838918388183851838418383183831838318382183801837918378183781837818377183761837518371183691836918369183661836518365183641836218359183591835818358183581835718357183561835618353183521835118351183501834718347183451834318341183391833918339183371833418334183331833218332183311832918329183271832718326183261832418324183231832218321183211832118318183181831618315183141831318312183101831018310183101830918308183061830618304183021830218301183011829918298182971829718296182941829418292182911829018288182861828518285182801827818277182771827718276182751827418273182721827218272182721827018270182701826718266182661826618266182651826418264182631826218258182581825518253182531825018250182481824818248182481824718246182451824218241182401823918239182381823718237182361823518232182301823018227182271822618225182231822318221182211822018219182191821818218182181821718217182171821618215182151821518214182131821218210182091820918209182091820818208182071820718205182031820218202182011820018200182001819918197181961819518191181901818818188181871818718187181861818618185181851818418183181831818318182181811818118181181801817818178181771817618175181741817318172181711817118169181691816918166181611816018159181581815718156181511815018149181461814518143181431814118139181391813818137181371813618133181321813218132181311813018129181281812718126181221812018120181201811818118181171811618115181131811318111181101810918109181081810618104181041810118100180991809918099180981809718096180951809318092180911808918084180831808318082180821808218081180801808018079180781807718077180761807618076180751807418073180721807218071180701807018069180681806718067180661806518065180621806118061180591805918059180581805618056180551805418053180511805018049180481804718045180451804418041180411803718037180361803518035180351803518033180311803018028180281802818028180281802518023180221802218022180171801718016180161801518015180131801118011180101801018007180071800618005180041800418003180011800018000179991799917998179961799617995179941799417993179911799017990179891798817988179841798417981179801798017980179801798017974179741797317973179711797117971179701796717966179611796117960179601795517955179541795417953179531795317953179511794917948179481794817947179471794617946179451794517943179431794117940179391793817936179351793517934179331793217931179311793017930179291792717926179251792417924179231792317923179221792217920179181791717917179131791317912179111791117909179081790717906179051790417903179011790117901179001789917897178961789517894178931789217891178901789017887178861788517885178851788417883178811788017880178781787717877178771787617875178741787417873178731787117869178691786817868178671786617865178641786417863178621786117861178611786017859178591785717857178531785317852178511785117851178501784817846178451784417844178431784217842178421784117840178371783617836178351783317831178251782517823178221782017819178191781817818178161781417813178091780717806178061780217802178011780017799177981779617794177921779217791177911779117788177881778617785177851778417783177821778117780177791777917779177791777917778177781777717776177731777317771177691776817768177651776517765177631776117760177581775817758177581775617755177541775417754177541775317752177521775117750177491774817746177461774617743177421774217742177411774117741177411774017740177401773917739177381773617735177351773317731177301772917729177291772917727177261772617726177241772217722177211772117720177171771517714177141771217709177071770717706177041769917699176981769817697176971769717697176971769617695176951769417694176941769117690176891768817687176871768617686176821768217679176791767917678176771767717677176761767517675176741767417673176701766917666176661766617664176641766317662176611766117661176611766017656176561765517654176531765317652176511764917648176471764717646176441764317642176391763817637176371763617636176361763517634176331763217630176281762817628176251762217621176201761917617176171761517614176131761217612176091760917606176061760517605176041760417603176031760217601176011759917598175971759717594175931759317592175921759117590175901758817587175861758617581175811758017580175801757917577175771757517574175741757317572175711757117570175701756917569175681756417561175591755617556175561755617554175541755317553175521754917547175461754417543175421754217540175391753717535175351753417534175321753017530175301753017528175261752617526175231752317522175211752017520175191751917518175181751617515175151751417513175131751317512175111750817503175011750117500174991749817497174951749417493174931749117490174881748817486174851748117481174811747717476174761747617475174751747417473174711747117471174691746817467174671746617466174661746617464174621746117461174601746017459174581745817457174561745517455174551745317452174491744917449174481744817448174481744717447174461744417443174431744317441174411744017438174361743017430174291742917428174271742717427174261742617424174231742317421174201742017419174191741817418174181741717416174141741417412174121740817405174051740417402174021740017400173991739817396173961739417393173921739117391173911739017390173891738717386173861738517384173831738317383173831738017378173771737717377173761737517375173741737417374173741737217372173701737017370173691736317363173621736217361173611736017359173591735817358173571735517355173541735417354173531735317353173501734817347173461734517344173441734417344173431734317342173411734117340173401733917339173381733717337173371733517334173341733317333173331733117330173301732817326173251732517322173221732217321173211732117321173201731817317173161731517314173131731217312173111730917308173081730617306173031730217302172991729817298172981729817297172971729617296172941729417294172901728917289172881728817287172871728617286172831728217282172811728017280172801727917278172771727717275172741727417272172701727017269172681726817266172661726417263172611726117261172611726017256172561725617256172551725417254172511725117249172481724817248172481724717246172461724417242172411724017240172391723817234172331723317233172321723117231172301723017230172291722817228172271722517225172241722317222172221722217222172191721917219172191721817217172171721617216172161721117211172101720917209172081720417202172011720017198171981719817196171951719417194171931719317191171911719117190171891718917188171881718817187171871718717184171841718317182171811718117179171791717817177171751717417172171711716817168171651716517162171601716017160171591715817157171561715517153171521715117149171491714817147171461714617145171441714217141171411714017139171391713917138171371713517133171321713117131171291712517124171241712417124171231712317122171221712117121171211711917117171161711517115171121711117110171091710917109171081710717106171051710417102171011710117100170991709917095170941709217092170911709017090170881708717087170871708717086170851708317082170821708217081170811708017079170791707817076170761707517074170741707217072170681706717066170651706517064170641706317063170631706017059170591705917056170561705517054170511704717047170461704617046170461704517044170441704317043170391703917039170381703817038170361703517035170341703417034170331703117031170311703017030170301703017028170281702717026170251702217022170211702117019170191701917018170181701817017170171701717017170161701517013170131701217011170111701117010170101701017007170071700417004170041700417003170021700117001169991699716996169961699616995169941699316991169911699116990169881698716987169871698716985169841698316982169801698016980169741697216971169711697016970169691696816968169671696716965169641696216962169601696016960169551695516954169541695216949169481694816948169481694716947169471694416942169421694116941169411694016940169381693516934169331693216930169291692716926169251692216921169201691916919169191691716917169161691316912169111691016910169101690816907169071690716907169041690416903169031690116901168971689716895168941689416893168931689316893168911689116890168891688916885168831688216882168821688116880168791687916879168781687716876168761687616876168741687216872168691686916868168681686716866168661686516864168641686316863168601685916858168581685816856168561685516854168521685216851168501685016850168481684816847168471684616844168441684216842168421684116841168391683816838168371683616836168341683316831168291682816828168281682716827168271682616824168241682316823168221682216822168211682016820168191681916818168181681816818168171681516815168141681316812168121681016810168101680916808168081680716806168061680516803168021680216802168011680116801168001680016799167971679616796167951679516793167931679316792167921679116790167891678816786167841678416783167821678116781167781677816776167751677516775167751677416773167721677216771167711677016769167681676316763167611676116761167611676116760167601675916758167581675716756167551675416747167451674516744167441674216741167401673816738167381673716736167351673416734167331673216731167301673016729167291672616726167261672516721167191671916717167141671216707167061670516704167041670316701166991669816697166951669416694166921669116690166901669016689166881668716686166861668616686166851668416684166821668116681166811668016679166791667816675166751667516674166721667116671166701667016669166671666616665166641666416662166611665716656166561665516655166541665416654166531665216651166501664916648166481664616644166431664316642166421664116641166411664016639166391663816637166361663616635166341663416633166331663316633166331663116631166311663016630166291662916629166281662716626166251662316623166231662216621166211662116621166211662116621166191661916619166171661616615166141661416613166121661116610166101660916607166051660416604166031660116601166011660116601166001659916598165961659516593165931659116590165901659016588165881658716585165851658316582165821658216580165801658016579165781657816577165761657616576165751657416573165711657016570165691656816567165651656316561165611655716557165551655516554165531655216552165521655116551165491654916548165471654716546165451654116541165401654016539165391653716537165371653516534165341653416533165321653016530165301652916527165271652716526165261652416521165211651916519165191651716517165161651516515165141651316512165111651016509165091650816506165051650216501164991649916498164981649716496164961649516494164941649316493164931649316492164911648916489164861648416483164831647916479164781647716477164761647516474164731647316472164711647116471164711647116470164701646916469164681646816465164641646416463164621646216462164611646116460164591645916459164591645716457164571645616455164541645316450164501645016448164471644616446164441644416444164441644316443164431644216442164411644116441164401643916439164381643816437164361643516434164331643316432164321643016430164281642316422164211642016417164171641516414164141641416414164131641316412164111641116411164101640916409164091640916408164081640616406164061640516401164001640016399163991639816398163971639716393163931639316393163921639216392163921639116390163891638916388163881638616386163861638516385163841638416383163821638116380163801637916379163781637616376163751637416373163721637216370163691636716366163641636416364163621636216361163611636116360163601635916359163581635816358163571635616356163551635416354163531635216352163511634816348163481634716347163461634516344163431634216342163401633816337163371633716337163351633216332163311633016330163281632716327163261632516323163231632216321163211632116320163201631916319163191631816316163151631516315163141631416313163111631116310163091630716307163061630616306163051630516305163041630416303163031630116301162991629916297162971629616295162951629516294162941629316293162921629116291162901628916288162871628516282162811628016279162781627716276162761627216272162701626916267162661626516265162631626216258162571625516254162541625216252162501624916249162461624516244162441624216242162411624116239162391623616235162351623416233162311623016230162291622816228162281622816227162271622716226162251622416222162211622016215162151621516215162141621116211162091620916209162091620716207162051620516204161991619916198161981619816197161971619616196161941619216192161911619116191161901618916188161881618716187161861618616185161841618416182161821618116180161791617716177161771617616174161741617416174161721617216170161701616816168161681616616164161631616316163161611616116160161581615716157161561615616152161511615016149161491614716147161471614716145161451614416144161441614316142161401613916139161391613816138161381613716137161361613516132161301613016129161281612616125161241612216122161211612016119161181611716115161141611316112161101610816107161051610516105161051610416102161001609916098160971609716097160971609616096160961609616096160941609416092160911609016090160891608916089160881608816087160871608516085160841608416083160831608316083160821608116080160801608016080160791607916078160781607516075160741607116069160691606916069160691606816067160661606616065160631606316063160631606316062160611606116060160591605916059160581605816057160561605616053160531605216052160521605016050160501604816047160471604716047160471604716046160451604516045160451604116040160401603816038160381603716036160361603416034160341603116030160291602716025160251602516024160231602216022160211601716016160151601316012160111601116010160091600916009160081600716006160041600216002160011600016000159991599715996159961599615993159921599215992159901599015989159891598915988159881598715987159851598415982159821598215982159821598015980159791597915979159781597715977159771597515974159711597115970159691596915967159671596715965159641596415963159621596115960159601595915957159571595615955159551595115949159471594715946159461594615945159441594315942159411594115940159401593815937159371593615934159341593215930159281592815927159271592615926159251592415924159241592215921159211591915918159171591715917159171591515913159131591315913159121591215911159091590915906159061590615905159031590315902159011590115898158951589515895158951589215891158911589115891158901588915889158881588815888158871588615886158861588515884158811588015880158801587915878158781587815877158771587615876158751587415872158721587215871158701586915867158661586515860158601586015859158571585615856158561585615855158551585315850158471584715846158451584415843158421584215842158421583815837158331583215831158311582915829158291582915828158261582615824158231582315823158221582215822158211582115819158181581815817158161581515815158131581315812158121581115811158091580915808158071580715806158051580415804158031580215802158021580115800158001579915798157981579815796157961579515795157941579315792157921579215791157911579015790157871578615785157841578415783157821578015780157791577815778157781577715777157751577315773157731577115770157701577015769157681576815768157671576615766157641576415763157631576315762157621576115761157601575615754157541575415753157531575215751157501575015749157481574715746157461574615744157431574315742157391573915738157381573715736157361573515735157331573215732157311573115728157281572715726157261572415724157221572215721157201572015719157181571815718157171571715717157161571515714157131571215712157121571215712157101571015710157091570815707157061570515705157041570415704157031570315700157001570015699156981569415693156931569215692156921569115691156911569015689156871568715686156841568415684156841568415682156821568115681156791567915678156771567715674156731567315672156701567015669156671566715666156661566515662156611566015659156581565715656156551565415654156541565415653156521565115651156501564915648156481564815648156471564615645156441564415643156421564115641156401563915639156381563815635156351563415634156341563315631156311563015629156251562415623156231562215622156211562115620156191561915618156171561415614156131561315612156101560915608156081560815605156041560315603156021560215601155961559615593155911559015590155871558515584155831558215582155811558115580155791557715576155751557415574155721557215572155721557015570155701556815567155671556515565155651556415563155621556115560155581555815558155581555715557155571555715556155551555515554155541555415553155531555315553155531555315553155521555215551155501554915549155481554715545155431554315542155421554215540155401553915537155371553615536155351553515534155331553215531155301553015530155291552815528155281552815527155261552415523155231552115520155191551815517155171551615515155141551315512155121550815507155071550615506155041550415503155021550215501154991549915498154981549615496154941549315493154921549215492154911549015487154871548615483154831548315483154831548215481154811547915479154771547615473154731547315473154721547215472154721547215471154691546915468154681546715466154661546615465154631546315462154621546115458154581545815455154551545415454154521545215451154511545115450154491544815447154471544615446154461544515444154441544415442154421544215442154391543615435154351543515435154351543315432154311543115431154301542915428154271542415424154241542415424154221542215422154211542015419154181541815418154181541715417154171541515415154151541515415154151541415412154121541215412154111541015410154091540915408154081540715406154051540415402154021540215402154011539915397153971539615396153951539415394153931539315393153931539215392153871538715387153861538615385153841538415384153841538315383153821538215381153801537815378153781537615374153731537215371153701537015370153701537015369153671536715367153651536515364153631536215360153591535815357153571535715356153551535515355153541535415353153531535215352153511535115351153491534715347153471534615346153451534515345153441534315341153411534115341153411534015340153381533715337153361533615335153331533315333153321533115331153311532815328153271532715327153261532515325153251532515323153231532315322153221532215320153201531915319153181531815317153161531615316153161531515315153141531415314153141531415313153131531315313153121531215312153121531015309153091530815307153061530615304153041530415304153021530115301153001530015297152971529615296152951529415293152921529115290152871528615284152841528315282152811527915279152781527715276152741527415274152741527315272152711527015269152691526915268152681526715266152661526615265152641526415263152631526315262152621526215262152601525815257152571525615254152521525215250152501525015248152461524615245152441524415243152421524215241152401524015240152401523915238152381523715237152371523715236152361523515234152341523415233152331523315233152311523115230152291522915226152261522515224152211522115221152191521915219152181521815218152171521515214152131521315212152121521215212152121521215210152091520815208152041520315203152011520115200152001520015199151991519815197151941519415193151931519215192151921519015190151881518615185151851518415181151811518115181151801518015180151791517915178151781517815178151781517715177151761517615174151731517215171151711517015169151691516815167151671516615166151661516615166151651516515164151641516315162151621516215162151611516115160151601515815157151561515415153151531515315152151521515215152151511515115149151461514415142151421514115140151391513915136151361513615135151351513415133151321512815126151251512415124151241512415123151231512215122151221512115120151201511915119151171511615115151121511215112151111511115111151071510715107151041510315103151031510215100150991509915098150981509715097150971509515095150951509415093150911509115090150891508915088150881508715087150861508515085150841508315083150811508115080150801507915079150791507715077150761507615075150751507215072150711507115071150711507115071150701507015070150701506915069150681506815067150671506615066150631506315062150621506215062150611506015060150591505915058150581505715055150531505215052150501505015049150491504815048150481504715046150461504615046150451504315043150431504315042150421504115040150391503815038150371503615035150331503215030150281502815027150261502515025150231501915019150191501815018150181501815018150171501715017150161501515015150141501415014150131501315010150101501015010150091500715007150061500515003150031500315003150021500215002150001500015000149991499814997149971499714996149961499514994149931499214991149891498914988149871498714986149851498514984149831498114980149801498014979149791497714976149761497114971149691496914967149661496614966149631496314961149601496014958149581495814958149571495614956149551495514953149521495214950149491494814947149471494714944149441494214942149421494214941149401494014940149391493914938149361493514935149341493214930149301493014929149291492914928149271492414923149221492014919149191491714916149161491614914149141491314913149121491214912149101491014910149091490514905149041490414903149031490314902149011490014900149001489814898148981489814897148971489714896148951489414891148911488914887148871488614884148841488414884148831488314882148821488214882148821488114881148811488014880148801487914879148791487714876148761487514875148751487514874148741487414873148731487114870148701486914869148691486814867148661486614865148641486414863148631486314862148621486114860148601486014860148601485914859148591485914858148571485514855148541485314853148531485214848148471484714846148461484614846148441484214841148391483814838148381483814837148371483714835148351483514834148331483314832148311483014829148291482914828148271482714826148251482514824148241482214821148211481814818148181481814817148171481714817148161481614816148161481514812148111481114810148101481014810148101480914809148071480714807148061480614806148061480614804148031480114801148001480014800148001480014799147991479814797147941479414791147901478914789147891478914788147871478614785147851478414784147811478114779147791477814775147751477514775147741477414773147731477314772147721477114770147701477014769147691476714766147651476514765147611475814757147571475614754147521475214752147521475014750147501474914749147481474614744147431474114740147381473714737147371473714736147361473614735147341473414733147321473214732147311473114730147291472914727147271472614723147221471914719147181471814717147161471614716147161471514715147131471114711147081470614706147061470614705147051470514705147051470514704147041470314702147011470014699146981469614695146951469514695146941469314693146921469214691146911469114689146881468714686146861468514683146831468214680146801468014679146771467614675146751467314672146721467214672146701466914668146671466614665146651466414662146611465914659146581465814658146561465614654146531465214652146521465214649146481464714647146451464414644146431464214641146411464014640146391463914638146381463814637146361463614636146351463414634146341463314630146281462714626146261462514624146241462214622146211462114620146181461814618146161461614616146161461514615146141461414613146131461214612146091460914607146071460614606146061460614605146051460314603146021460214602146021460214601146001460014599145991459914598145971459614596145941459214592145911459014589145881458814588145881458714587145861458514584145841458314583145821458014580145791457914578145781457714575145741457414574145731457114571145691456914568145671456614565145641456414563145631456214561145611456014559145591455714556145551455514554145541455314552145521455114551145511455014549145491454914548145481454714544145421454214542145421454114541145401454014539145381453714536145351453414534145331453014530145301452814527145261452514525145231452314523145221452114520145201452014519145181451814518145171451714517145161451514513145131451114511145091450814507145061450414504145031450214502145021450214501145001449914498144971449614495144941449414493144931449114491144911449014490144891448914488144881448614485144841448414483144821448214482144821448114481144801448014478144781447814476144751447414474144741447414473144731447314472144691446714466144661446614464144641446414463144621446214460144581445814457144571445614456144561445514454144541445314453144531445114450144501444914448144471444514444144431444114441144411444114440144401444014440144391443914438144381443614436144361443514435144351443514433144321443214432144321443114431144301442914429144281442814427144271442614425144251442514424144241442414423144221442114418144181441814417144171441614415144151441414414144121441214411144111441114410144101440914408144071440714407144061440614406144051440514405144041440214400144001440014396143961439614395143951439414393143931439314392143921439214392143911439114389143881438814387143871438614385143841438214380143781437814377143771437614376143761437614374143731437114370143701436914368143681436814367143671436614366143651436514363143631436214362143611436014360143601435814358143571435714354143541435414353143531435314353143531434914349143481434714346143461434414343143391433914338143381433714336143361433614336143351433514335143351433314333143311433014330143301432914327143261432614326143251432414323143231432314322143211432114321143211432014318143181431614315143151431514314143131430914309143071430614306143061430514304143041430214302143021430214301143001430014300142991429814298142971429614295142941429314292142921429214290142881428814288142871428714286142861428614284142831428314282142781427614276142751427514275142751427414274142731427214272142711427114270142701427014268142681426814268142671426614264142631426214261142601426014259142591425914258142581425714257142571425614256142561425414254142541425314250142481424814247142471424714247142461424614244142441424314243142431424214240142401424014238142381423714237142351423414234142321423214231142301422914229142281422714227142271422714226142261422614225142251422314222142221422214221142211422014220142191421714217142161421414213142131421214209142081420814206142051420514204142021420214200141991419914199141981419814197141971419714197141971419714196141961419614196141961419614195141941419314192141921419114190141891418514184141821418214180141791417814177141771417614176141761417614175141751417514173141721417214171141711417114170141681416514163141621416114161141611416114160141601416014159141591415914157141571415714156141561415514154141541415414153141531415314153141521415214152141511414914149141491414814148141471414614146141451414514144141441414314143141431414214142141421414214142141411414014140141401414014139141391413914138141371413714136141341413314133141311413114130141301412914129141291412914127141271412714126141261412514125141251412514125141251412414123141221412114120141201411914118141171411614116141151411514115141151411414114141131411314112141101411014110141091410814108141081410714107141061410614106141061410514105141031410214101141011410014100140991409914099140991409814098140981409814097140971409614096140961409514095140951409414094140931409314091140901409014089140891408914088140871408614086140851408414083140831408314082140821408214081140811408014079140791407914076140761407514075140721407214072140711407114069140691406914068140681406514064140631406214062140621406114061140601405914059140581405814058140571405614056140561405614055140531405114050140501404914048140481404814047140471404614045140441404414043140431404114037140361403414034140321403214031140291402914029140291402914028140271402614025140241402414024140241402414022140211402014020140181401814017140171401714016140161401614015140151401514015140141401414013140131401214012140121401114011140081400814007140061400614006140061400514005140051400314002140021400214001140011399813996139951399513994139931399313992139911399013990139891398913989139881398813987139871398613986139861398613985139851398313982139821398213981139811398113980139801397913979139781397813978139771397613976139751397513974139711397113971139701397013970139691396813967139661396613965139641396413963139631396213962139621396113961139611395913959139571395713957139571395713957139561395613955139541395313953139501395013947139461394613946139451394313943139421394013940139391393913938139371393613935139341393313933139321393213932139311393013928139281392713927139271392613925139251392413924139241392313922139211392113920139191391813918139181391813917139171391513913139131391013909139091390813907139061390613905139041390313903139021390213902139021390013899138991389813898138971389713896138951389413894138941389213892138911389013890138881388713887138871388613886138841388413881138801388013880138791387913879138771387613875138741387413873138721387113871138711386813867138661386613865138651386413864138631386213861138601385913859138591385813858138581385813857138571385613855138551385513855138541385413852138511385013849138491384913848138471384713847138471384613846138441384313843138431384213842138421384113841138401384013840138391383813837138371383713836138361383613835138351383413833138321383113829138291382813828138271382713826138261382413823138231382113817138171381513815138151381413814138131381213811138111380613805138041380313802138011380113800138001380013800137981379813798137961379513794137931379313793137921379213791137901378913788137881378613783137831378213782137801377913778137781377713777137761377613776137741377313773137721377213771137711376913769137691376813768137671376713767137661376513764137641376313763137621376213762137621376213761137611376013760137591375913759137581375813755137551375513755137541375413753137531375313753137521375213752137511374913749137491374813748137481374813747137471374613746137461374613745137451374413743137431374213742137421374013740137401374013739137391373813738137371373713737137361373513734137311373013729137291372913729137281372813727137271372613725137251372413724137231372013720137191371913719137181371713717137171371713716137161371513713137131371113711137101370713707137071370713707137061370413704137021370213701137011369713696136961369513695136951369513694136931369313692136911369013689136881368713686136861368613685136831368213682136821368113681136811367913679136781367813678136771367713677136761367513675136741367413674136731367313672136701366913669136691366913668136671366713667136671366613665136641366313663136621366213662136621366113660136601366013659136591365913659136581365713657136561365613654136541365413651136511365113650136491364913649136481364813647136471364613645136451364513645136451364413643136431364313642136421364113641136411364113640136381363813638136371363613636136361363513634136331363313633136321363213631136311363113630136301363013629136291362913626136251362513625136241362313622136211362113620136201362013620136181361713617136161361513615136151361413613136131361313611136111361013609136081360713607136071360613606136051360513604136041360213602136001359913599135991359713597135961359613596135951359513595135951359413593135931359213592135911359013590135891358713586135851358513585135841358313582135801358013580135791357913575135741357313573135731357313573135711357113570135701356913568135681356813567135651356513565135641356313562135621356113560135581355813557135561355513555135541355313553135521355213552135521355113550135501355013550135491354913549135491354913549135481354713547135461354613545135451354513544135421354213541135401354013540135391353913539135381353813538135381353713536135361353613536135351353513534135341353313533135321353113530135301352813528135271352713527135261352613526135261352513525135231352313522135221352113520135191351813518135181351713517135161351513512135111351013510135091350913509135091350913508135081350813506135061350613505135051350513504135041350413502135021350113501135011350113500135001349913499134991349813497134961349613495134951349513494134941349413493134931349313492134921349113490134891348913488134881348613486134851348413483134831348213482134811348113481134801347913478134781347713477134761347613475134751347513475134741347413474134731347113471134711347113470134701347013470134691346913468134681346713466134641346213462134621346113460134601345913458134581345613455134551345513455134541345413453134531345313452134511345113451134511345113450134491344913448134481344713447134471344613445134441344313440134391343813438134371343713436134351343513435134351343413434134341343413433134321343213430134301342913428134271342513424134221342213421134201342013420134201342013419134181341713417134161341613416134141341413414134131341213412134111341113410134091340813408134081340813405134041340213402134021340213402134021340013400134001339913399133991339813397133971339613396133961339613396133961339513395133941339313393133921339113391133911339013390133891338913389133881338713387133851338413382133821338113381133801338013380133801337913379133781337813378133781337813376133761337513375133731337313373133731337313372133721337013370133671336713367133661336513364133641336313363133631336313362133611336113360133591335913359133581335813358133571335713357133571335713357133571335713356133561335613356133551335413354133531335313353133521335113351133501334913349133481334813348133471334713346133441334413342133421334213342133411334113340133401333713337133371333713337133371333613333133321333113331133311333113330133301333013329133291332813327133261332613325133251332513324133241332413322133221331913319133181331813318133171331413314133141331413313133121331213312133111331013309133091330913309133081330813308133071330713307133071330613306133031330313302133011330113300132991329913298132981329713296132961329613295132951329513294132941329313293132911328913288132881328713287132871328713286132861328513285132841328413284132841328213282132821328013280132791327913276132751327513275132741327413273132731327313273132721327213271132711327013270132701326713266132661326613266132651326413263132631326313262132621326113261132611326013258132581325813256132551325513255132541325413254132541325313251132511325113250132501324813247132451324413244132441324413244132431324213242132421324213240132391323913239132381323813238132361323613236132351323513235132351323413234132331323313232132311323013230132291322813228132271322613226132261322513224132241322313222132221322213221132211322013220132201322013219132191321813218132181321713217132161321613215132151321313211132111321013210132091320913208132071320713207132071320613206132051320413204132041320313203132021320213201132011320113200131981319713197131961319513194131921319013190131901318913189131871318713187131861318613185131851318513185131851318413183131831318313183131831318213182131821318113181131811317913177131771317713177131761317613175131751317413174131731317213171131711317013170131691316813168131671316713167131661316613166131651316513164131621316213162131611315913159131581315713157131561315613156131551315513154131531315313153131531315313152131511315113151131501314913149131491314813148131471314713147131471314713146131451314513145131451314513144131441314313143131431314213142131421314113141131401313913139131381313813137131361313613136131351313513135131331313313132131311313013128131281312713127131271312613125131251312513125131231312213121131201312013120131201312013119131181311813117131161311613116131151311313113131131311313113131121311213112131121311113111131091310913109131071310613105131051310513101131001309913099130981309813098130971309713096130961309513095130941309313093130921309213092130911309013090130891308813087130871308713085130841308313082130821308213081130801308013080130801307913078130781307813078130771307613075130741307413074130741307313073130721307113070130701306913069130681306813068130671306713066130661306613065130641306413063130631306313063130621306113061130601306013059130591305913058130581305813057130571305513055130541305413054130531305313052130481304713046130461304613046130451304413044130431304213041130411304113040130391303913039130391303813037130371303713036130361303513035130341303413033130321303213031130311303013030130301302913028130281302613026130251302413024130241302313023130231302113021130211302013020130191301813018130171301713017130171301613016130161301513015130141301413014130131301313013130121301213011130101301013010130101300913009130081300813007130071300713007130071300713006130031300313002130021300213000129991299912999129991299812997129971299712997129961299612995129951299512995129931299312993129931299112991129901299012989129881298812987129871298612985129851298412984129821298212982129821298112981129811298012979129781297812977129761297512974129741297312973129711297112970129691296812968129661296512965129651296512964129621296212961129611296012959129591295812958129571295612956129561295512955129541295412954129531295312952129521295112950129501294812948129471294712946129451294512944129441294312942129411294012940129391293912939129381293712937129361293612936129361293512935129351293412933129321293112930129291292812928129281292812927129261292612926129251292512925129241292412924129241292412924129231292212922129201291912919129181291712917129171291612916129161291512915129151291412911129091290812908129061290612905129051290512903129031290212900129001290012899128991289812898128981289712896128961289612896128941289312893128931289212892128911289012889128891288812888128881288712887128871288712884128841288412884128831288312883128811288112881128801287912879128791287812877128771287712876128761287612875128751287512874128741287312873128721287112869128691286912868128681286812867128661286512865128651286412864128631286112860128591285812858128581285812857128561285612855128551285512854128531285312853128521285212851128511284912848128481284712846128451284512843128431284212842128391283712837128361283312832128311283112831128301282912829128281282812828128281282712827128271282612826128251282512824128241282412822128211282112821128201282012819128191281812818128181281812818128161281612816128161281412814128131281312811128111281012810128101281012810128081280812808128061280612806128051280512804128041280412804128031280312803128021280212801128011279912799127991279812797127971279612794127941279412793127931279312793127921279212791127911279012790127901279012789127881278812787127871278712785127841278412784127841278312783127811278012780127801277912778127781277812777127771277712776127761277512775127751277512774127721277112771127701277012769127691276812768127661276612766127661276612763127621276212762127621276212762127611276112760127591275812758127581275712757127571275612756127551275312752127521275212751127511275112751127501274912748127461274612745127451274412744127441274112740127401273912739127391273912738127371273412733127331273212731127301273012730127301272912728127271272712726127261272512725127251272512724127221272012720127201272012719127191271912718127171271712717127161271612715127151271412714127131271212711127101271012710127091270812706127061270612705127051270512705127041270412703127031270312703127021270212702127011270012700126991269912698126981269812698126981269812697126971269712696126951269512694126941269412694126931269212692126911269012689126881268712687126871268612686126861268412684126831268312683126831268212682126801268012679126791267812678126771267712677126761267512675126751267512674126741267412674126741267212672126711267112670126701266912669126691266712666126651266512665126641266312662126621266212661126611266112661126611266012660126591265912658126571265612655126541265312652126521265212652126521265212652126511265112650126491264912649126481264812646126451264512644126441264412644126431264312642126421264212641126401263912638126381263812638126371263712636126351263512635126341263312632126321263212632126311263012629126291262812626126261262512625126251262412624126241262312623126221262212622126201262012619126191261812617126171261612616126151261512614126141261412614126121261112611126111261012608126071260712606126041260412604126041260312603126011260112601126001260012599125991259912599125991259712596125961259612596125951259512595125941259412594125931259312592125921259212591125911259112590125881258812586125861258512584125821258212582125811258012580125781257812578125771257612576125751257512575125751257412573125731257112571125701257012569125691256912568125681256712567125661256612564125631256312562125621256112561125611256012560125591255712557125571255712557125561255512555125531255312552125511255012550125501254812548125481254712547125461254612546125461254512545125451254412544125441254312543125421254212542125411254112541125401253912539125381253812537125361253612536125351253512535125351253412534125331253212532125321253212530125301252912529125291252812527125271252612526125251252412524125241252312523125221252112521125201252012520125191251912519125181251812518125171251712516125161251612516125131251212511125111250912509125081250812508125071250712506125041250412504125041250312502125021250212501125011250012500124971249712497124971249612495124941249412494124941249312492124911249112490124901248712486124851248412484124841248212482124811248112480124801248012479124791247912479124781247812478124781247712477124771247612476124761247612475124741247412473124721247112471124711247112470124701247012470124701246912468124681246712466124661246512465124641246412463124621246212461124611246112461124601246012460124591245912459124581245712457124571245612455124531245312453124521245112451124511245112451124481244712447124471244612446124461244612445124451244412443124431244312443124421244212441124411244012440124391243812438124381243712436124351243512435124331243312432124321243212432124311243112430124301242912429124281242812428124261242612426124251242412424124231242212422124211242112420124191241912419124191241812418124181241812418124171241712417124161241612416124161241512415124151241512414124131241212412124121241112411124111241112410124091240812408124081240712406124061240512405124051240412404124041240412403124031240212401124011240112400123991239912399123991239912398123971239612395123951239412394123941239312393123931239212390123901239012388123881238712386123851238312382123791237912379123791237912378123771237712376123761237512375123741237412373123731237312373123721237112371123701237012369123691236912368123681236812367123671236712366123661236512365123651236512365123641236412364123641236312363123631236212362123601236012360123591235812358123581235812357123571235712357123571235612356123551235512355123541235212352123521235212351123511235012350123491234812348123481234712347123471234712347123471234612346123451234512344123431234312341123411234012339123391233812338123381233712336123361233612335123341233312333123331233212331123301233012330123301233012330123301232912329123291232912327123271232712326123261232612325123251232412324123241232312323123231232212322123211232012320123201232012320123201232012319123181231712317123171231612315123151231412312123121231112311123111231012309123091230912308123081230812307123061230612304123031230312303123021230212301123001230012300123001230012299122991229812298122971229712296122961229612295122951229512294122931229212291122911229112290122901229012289122891228712286122841228412284122841228312282122821228212281122811228112280122801228012279122791227912278122781227812278122781227812277122771227612276122761227412274122741227412274122741227312270122701226912268122661226612266122651226512264122631226312263122631226312262122621226212261122611226012259122581225812257122561225612256122561225412254122541225412253122531225312252122521225012249122481224812248122471224612246122461224612246122451224512245122431224312243122431224312243122421224012240122401223912239122381223812238122371223612236122361223612236122351223412233122331223212232122321223112231122301222912228122271222712226122251222512224122241222212222122221222112221122201222012220122201221912219122171221712217122151221512215122151221412214122131221212212122111221012210122101220912209122091220812208122071220712206122031220312203122021220212202122001220012199121981219612195121941219412194121941219412193121931219212192121921219112190121901219012189121881218812188121881218712187121871218712186121851218512185121841218412183121821218112181121791217912178121781217712177121771217712176121761217512175121751217412174121731217312171121711217112170121701216812168121681216812166121661216512165121641216412164121641216312163121631216212162121621216212162121611216112161121611216012159121591215912158121561215612156121561215612155121551215412154121541215212152121521215212152121511215112150121501215012149121491214712147121461214512145121451214312143121411214112140121401214012138121381213712137121361213612135121351213412134121331213212131121301212912129121291212912129121291212812128121281212712127121261212612126121261212512123121231212312122121221212212122121211212112120121201212012120121191211912119121191211812118121181211812118121171211712117121171211712116121151211512115121151211312113121121211112111121111211012109121091210812107121071210612106121051210512104121041210412104121041210312103121031210312102121021210212101121011210112101121001210012099120991209812098120981209812097120971209612096120951209512095120931209312093120911209012090120891208912089120871208712085120851208212082120811208012080120801208012078120781207712076120761207512075120751207512075120741207212071120711207112070120701207012070120701206912069120691206812065120651206412064120631206312063120631206312061120601205912059120581205812057120571205612056120561205512054120541205312053120531205312053120531205212052120521205212051120511205112050120481204812048120481204612046120461204612044120441204412042120421204212041120401204012038120371203712035120331203312032120311203112031120311203112031120301203012029120291202812028120281202812027120271202712026120261202512025120241202412024120241202412023120221202212021120211202012020120191201912019120181201812018120181201612016120161201512014120131201212012120111201012008120081200812008120081200812008120081200712006120061200512005120051200312003120031200312002120011200112000119991199911999119981199811998119981199811997119961199511995119951199511994119931199311992119921199211992119921199111990119901198911989119881198811988119881198711987119871198611986119861198611985119851198511985119831198311983119831198111981119801198011980119791197811978119781197811978119771197711977119761197511973119711197011970119691196811968119681196711967119651196511965119641196411964119631196211962119621196111961119611196111961119601196011959119591195911959119581195811957119561195511955119531195311953119521195211951119511195011950119491194811947119461194611944119441194311943119431194311942119421194211941119401194011940119401193811938119371193711937119351193511935119331193211931119301193011930119291192811928119271192711926119261192511925119241192311923119221192211921119211192111919119191191811917119171191611916119161191411914119141191411914119131191311912119121191211912119111191011910119091190911908119081190811908119071190711907119071190711906119061190611905119051190511905119041190411904119031190211902119021190111901119001189911898118981189711897118971189611896118961189511895118951189411893118921189211892118911189011890118901188911889118891188911888118881188711887118861188511884118841188411883118831188211882118821188211881118811188111881118811188111878118781187811878118771187711877118771187611876118761187511875118751187411873118731187211872118721187211871118711187111869118691186911869118671186711867118671186611864118641186411863118631186211862118621186011860118591185911858118581185811858118581185711857118571185611855118551185411853118531185111850118501185011850118501184911848118481184511844118441184411843118431184311842118421184211842118421184211842118421184111840118401183911838118371183711837118361183611836118361183511835118351183511835118341183411834118331183311833118331183211832118321183211832118311183111831118301182911829118291182811827118261182611826118251182311823118211182111821118201182011819118191181911818118171181711816118151181411813118131181311813118111181011810118091180811808118081180711806118061180511803118031180211802118021180111801118001180011800117991179911798117971179611795117951179411794117941179311792117921179111791117911178911789117881178811787117871178711786117861178511784117831178311782117821178211782117821178111781117801177911779117771177711777117771177711776117761177611776117761177511775117741177411773117731177211772117711177011769117691176811768117671176611765117651176411764117641176311763117631176211762117621176211761117611176011760117591175811758117581175611756117561175611756117561175511755117551175411754117531175211752117521175111751117501174911749117481174811748117481174811747117431174311743117431174311743117431174211742117421174211741117411174011739117391173811738117381173811738117371173611736117361173611735117351173411734117331173311733117321173211731117311173111731117311173011729117281172811728117281172811727117271172611725117251172411724117241172311723117231172211720117191171911719117191171811717117151171411714117131171311713117131171211712117121171211712117111171111711117101171011710117101170911707117071170711707117061170511705117051170411704117041170311703117031170111701117011170111700117001169911699116991169811698116981169811697116971169611696116951169411694116931169211692116911169111691116881168811687116871168611685116851168411684116841168411683116831168311682116821168011680116801168011680116791167911678116781167811678116771167711676116761167511675116741167311673116731167211672116711167111671116711167111671116701167011669116691166911668116681166811668116671166611666116661166611666116661166611664116641166411664116631166311663116631166311662116621166211662116611166111661116611166111661116611166111661116611166111660116601165911658116571165711657116571165611655116541165411654116521165211652116511165111650116501164911649116491164911649116481164811648116471164711647116461164611646116451164411643116431164111641116411164011640116401164011639116391163911639116381163811637116361163611636116351163511635116351163511634116341163311633116331163211631116311163011629116291162911629116281162811628116281162711627116261162611626116261162511623116221162211620116191161711617116151161511614116141161411614116131161311613116121161111611116101161011610116101160911609116091160711607116061160511605116041160411604116031160311603116021160211601116011159911598115981159611596115951159511594115941159411593115921159111590115901158911589115881158711587115871158611585115851158511585115831158211581115811158011579115791157911578115781157711576115761157511574115741157211572115721157111570115701157011570115701156911569115691156911569115681156711567115671156611566115661156511564115621156211562115621156111559115591155811557115571155611555115551155411553115521155111551115491154911548115481154811548115471154711547115461154611546115451154511544115441154411544115431154311542115411154111541115401154011540115391153911539115381153811538115381153811537115371153611536115361153611535115351153511533115331153311533115331153211532115321153211531115311153011530115301153011529115291152911529115281152811528115281152811528115281152811526115261152611526115251152511524115241152411524115241152411523115231152311523115221152211522115211152111521115201152011520115191151911519115191151911519115191151911517115161151611516115151151511515115141151411513115131151311511115111151111510115091150811508115081150811507115061150611504115041150411503115031150111498114981149811498114981149811498114981149711496114961149611495114951149511494114941149311493114931149211492114921149111491114911149011489114891148911488114881148711487114871148711486114851148511484114831148311483114831148211482114821148011480114801147911476114761147611475114741147411473114731147311473114731147211472114721147111470114701146911469114681146811468114671146711467114671146511465114651146411464114631146311462114621146211461114611145911459114581145811457114571145711457114571145611456114561145511454114541145311453114531145211452114511145111451114501145011449114491144911448114481144711447114461144511444114441144411443114431144311441114401144011439114391143911438114381143811437114371143711436114361143611435114341143311433114331143311432114301142911429114281142811428114271142711427114261142611425114251142511424114241142411423114221142211422114211142111421114201142011419114191141911418114181141711417114171141611416114161141611415114141141411414114121141211410114101140811407114071140711405114051140411404114041140411404114031140311400114001139811398113971139711397113971139711397113971139711396113951139511395113951139411394113931139311393113931139211392113911139111390113901139011388113871138611386113851138511385113851138311382113811138111381113811138011379113791137811378113771137411374113741137411372113721137211372113711137111370113691136911367113671136611365113631136311363113631136211361113601135911358113581135711357113571135611356113561135611354113541135311352113521135211351113501135011348113471134611346113451134511345113441134311343113421134011340113391133911339113391133811338113381133711337113361133411333113331133311333113321133211332113301133011329113281132811327113261132511325113241132411324113231132311322113221132211322113221132211321113211132111320113201132011320113191131911319113191131811318113181131811318113171131711316113161131611316113161131511314113141131411314113141131211311113111131011310113091130911309113091130811308113081130811308113081130811307113061130611306113061130611305113051130511305113051130411302113021130211301113011130111301113001130011300112991129911297112961129511295112941129411293112931129211291112911129011290112901128911289112891128911286112861128611286112851128411284112831128311281112791127911279112791127911278112781127611276112751127511275112741127411273112721127211272112711127011270112701127011269112691126911269112681126711267112661126611266112651126511264112631126311262112601126011260112601125911259112581125811257112561125611256112551125411254112541125211251112511125011249112491124911248112471124511244112441124211242112411124011240112401123911239112381123711237112361123611234112341123311233112321123211231112311123111230112291122911227112271122711227112271122611226112261122611225112251122511225112241122411224112231122311223112221122211221112211121911218112181121711215112151121511214112141121311213112121121111211112101121011209112081120711206112061120511205112051120511205112051120411204112031120211202112011120111200112001120011198111971119711196111961119611196111961119611195111951119411193111931119211192111911119111191111911119011190111891118811188111881118811188111881118711187111861118511184111841118411184111831118311182111821118211181111811118111181111801118011180111791117611176111761117611175111741117311172111721117211171111711117011169111691116911169111681116811168111671116711167111661116611166111661116611166111651116511164111641116411164111641116311162111621116211162111621116211162111621116211162111601116011159111581115711157111571115711156111561115611155111541115411153111531115211151111511115011150111491114911148111471114711146111441114311143111421114111141111411114011139111371113611135111351113311133111331113311132111321113211131111311113111130111301113011130111301113011129111291112811128111281112811128111271112611125111251112311123111231112311123111221112111121111211112011119111191111911119111191111811118111171111711116111161111611115111141111411114111141111311113111131111311113111131111311112111121111211111111111111111111111111111011110111091110911109111091110911109111091110811108111081110711107111061110611106111061110511104111041110411104111031110311103111021110211101111011110111100111001110011100110991109911099110991109911098110981109811097110971109711097110971109611096110961109511094110931109311093110911109111091110901109011089110891108911089110891108811088110871108611085110841108311082110821108111081110801108011080110801108011080110801107911079110781107711077110771107711076110761107611075110751107511074110741107311072110721106811067110671106611066110661106611066110651106511065110641106411063110631106111060110581105811057110571105611055110551105411054110541105411053110531105311052110521105211051110511105111051110491104811048110471104611046110451104511045110441104411042110421104111040110401103911039110391103911038110381103811037110371103411034110341103411034110331103311032110321103211032110311103111031110311103111031110301103011030110301102811028110281102711026110261102511024110241102311023110221102211021110211102111020110201102011020110181101711016110161101511015110141101311012110121101111011110101100911009110081100811007110071100711007110061100611006110051100511005110051100511004110041100211002110021100211002110021100211001110011100111001110011100011000110001099910999109991099810997109971099710997109961099610995109951099510995109951099410993109921099110991109911099110991109901098910989109891098810988109871098710987109871098610986109851098510985109851098410984109831098310983109821098210982109821098110981109811098110980109791097910978109781097610976109751097510975109741097410974109741097310973109721097210972109711097110970109691096910969109691096810967109661096610966109651096510965109641096410964109641096310963109631096310963109621096210962109611096110960109601095910958109581095710957109561095610956109561095610955109541095310953109511095110951109501095010949109481094710947109471094710946109461094610945109451094510945109441094310942109421094210941109411094110941109401094010940109401093910938109381093810938109361093610936109361093610936109351093510935109351093410934109331093310932109311093110931109301092910929109281092810927109271092710926109261092610926109251092510925109241092410924109241092310923109221092210922109221092210922109211092010920109201091910918109171091610916109161091610915109151091510914109141091410913109131091210912109121091110911109111091110911109111091110911109101090910909109091090810908109081090710906109061090510905109051090310903109031090210902109011090010900108991089810898108971089710896108951089510893108931089310892108921089210891108901089010890108901089010889108881088610886108861088510885108841088310883108831088210882108821088210881108811088110880108801087910879108781087710877108761087610875108741087410874108731087210872108721087110871108711087010870108691086810868108671086610865108651086510864108641086410864108631086210862108621086210861108601086010859108591085910859108591085910858108581085810858108571085710856108551085410854108541085410854108531085210851108511085110850108501085010850108491084910849108481084810847108471084710846108451084510845108441084410843108431084210841108401084010839108391083910838108381083710836108361083610835108351083510834108331083310833108331083210832108311083010828108281082710827108271082710825108251082510824108241082410822108221082010820108191081810818108181081710817108161081610816108141081410814108141081410813108131081210810108101081010809108091080910808108071080610806108061080610806108061080610805108051080510804108041080410804108031080310803108021080210802108011080110801108001080010799107981079810797107961079610796107951079510794107941079310791107911079110791107901078810788107881078710787107861078510785107851078410784107841078410784107841078110781107811078010779107781077810778107781077710777107771077710777107771077710776107761077610772107721077210771107701076910769107691076910769107691076810768107671076710767107671076710767107661076610766107651076510764107631076310762107611076110761107601076010760107591075710757107571075710756107561075610755107541075410754107541075410753107531075210751107511075010750107491074810748107481074810747107471074610745107451074510744107431074210742107421074110741107391073910739107391073810738107381073810738107381073710737107371073710737107361073610735107341073310733107331073310732107311073110731107301072910729107281072710727107261072510724107231072310723107221072210722107211072110721107201072010720107191071910718107181071710717107171071610716107161071610715107151071510715107151071410714107141071310713107121071210712107121071210711107111071110710107091070910709107081070810707107071070610706107061070610704107041070310703107031070210702107021070210701107011070110701107001069910698106981069810698106971069710696106961069510694106941069410693106921069210691106911069110690106901068910689106891068910689106891068810688106871068710686106861068510685106851068510685106841068410684106831068310683106831068210682106821068110681106811068110680106791067910678106781067810677106771067510674106741067410673106731067310672106721067210672106721067210670106701067010670106691066910668106681066810667106661066210662106621066210661106611066110660106601065910659106591065810657106561065610655106551065510655106541065410654106531065210651106511065010650106491064910649106491064910648106481064810648106481064710647106471064610646106451064410644106431064310643106421064210641106411064110641106401064010640106401063910638106371063710636106361063610635106351063410634106341063410634106331063310633106321063210632106321063110631106301063010630106291062910628106281062810627106271062610626106261062410624106241062210621106211062110620106201061910619106171061610616106161061510614106141061410614106131061310612106121061110611106111061110611106101060810608106081060810608106081060610606106041060310603106021060110601106011060110600105981059810598105971059710597105971059510595105941059410594105931059310593105931059210592105911059110590105891058910589105891058910589105881058810588105881058810587105871058610586105861058510585105851058410583105831058210582105821058110581105801058010580105801057910578105781057710577105761057510573105731057210572105721057110570105701057010570105691056910568105681056810568105681056810567105671056610566105661056610565105651056510565105651056410564105641056410563105621056210560105591055910559105581055810557105571055710557105571055610556105561055510555105551055410554105541055310553105521055110551105501055010550105501054910549105491054910548105481054810547105471054610546105451054510545105451054510544105441054410543105421054010539105391053810538105371053610535105351053510534105331053310533105311053110529105291052810528105281052710527105261052610526105261052610525105251052410524105241052410523105231052310522105211052110520105201052010520105201051910519105191051910518105171051710517105171051710517105161051610514105141051410513105121051210512105121051110511105111051010510105101051010509105091050810508105081050710506105061050610505105041050410502105021050110500105001049910499104981049810497104971049710497104971049610496104961049410494104931049310493104931049310492104911049110491104911049110490104891048910489104881048710487104871048710487104861048610485104851048410484104841048310483104831048310482104821048210482104811048110480104801048010478104771047610476104751047510473104731047210472104721047210472104711047110471104711047010468104681046810468104671046710466104661046510465104641046410464104631046310463104631046210462104611046010460104601046010460104601045910459104591045810457104571045710457104561045510455104551045510454104541045410453104531045310452104521045210452104521045110450104501044910449104491044810448104481044810448104471044710446104461044610445104441044410444104431044310442104421044110441104411044110441104401044010440104381043710437104371043510435104351043510435104351043510435104341043410433104331043310432104321043210432104321043210431104311043110430104301042710427104261042610425104251042510424104231042310423104221042210421104211042110420104201042010420104201041910419104191041910418104181041810418104181041610416104151041510415104141041410414104141041410414104131041210412104111041110410104101040810408104081040710407104071040610406104061040510405104041040410403104021039910399103981039810398103971039710397103971039710397103971039510395103951039410393103931039210392103921039210391103901039010390103901039010388103881038810388103871038710386103861038510385103841038410384103841038310383103831038310383103831038310382103821038110381103801037910378103771037710377103751037410374103741037310373103731037310372103721037210372103721037110371103701037010370103691036810367103671036710366103651036510364103641036310363103631036310362103621036210362103611036110361103611036010360103601035910359103591035910358103581035810357103571035510355103551035410354103531035210352103511035110351103501034910349103491034810348103481034810348103481034710347103471034610345103451034410344103431034210342103421034210342103411034110341103411034010340103391033810338103381033810337103361033610336103351033510335103341033410334103341033310332103321033210331103301032910328103281032810328103271032710327103271032610326103251032510324103231032210322103211032110320103201031910319103181031810318103181031710317103161031610314103131031310313103131031310312103121031210312103121031210311103111031110310103101031010308103071030710305103051030410304103031030310303103031030310302103021030210301103011030110301103001030010300103001029910298102981029810297102971029710297102961029610296102951029510293102931029210292102911029110291102901029010289102891028910289102891028810287102871028610285102851028410284102831028310283102821028110281102811028110281102801028010280102801027910279102791027910279102791027810278102781027710277102751027510274102741027310273102731027310273102721027210272102711027110270102701027010270102691026910268102671026610265102651026410264102641026410264102631026310263102631026210262102611026110260102601026010260102601025910259102581025610255102551025510254102541025410253102531025210251102511025010250102501025010249102491024810248102481024710247102471024710246102461024610246102461024610245102451024510244102431024210242102411024110241102411024110239102391023910239102381023810238102371023710237102371023610236102351023410234102341023410234102341023310232102311023110230102301023010230102291022910229102291022910229102271022710227102271022610226102261022410224102241022310223102221022110221102211022110221102201022010219102181021810217102161021610215102151021510214102141021410213102121021210211102111021010210102101021010210102101021010209102091020810207102071020710207102051020510204102041020310203102011020110201102001020010200101991019910199101981019810197101971019710197101961019610196101951019510195101951019510195101941019310193101921019210191101911019110191101911019110190101901018810188101881018810188101861018510184101841018310183101831018210182101821018210181101811018110181101811018110181101811017910178101781017710177101761017610176101751017510175101741017310173101731017310172101721017110171101701016710166101651016510165101641016410163101621016210162101621016110160101601016010160101601016010159101581015810157101571015710156101561015610155101541015410154101531015310153101531015210152101521015210151101501014910149101491014810148101481014710146101451014510145101451014410143101431014210142101421014210141101411014010140101401014010140101391013810136101361013510135101351013510135101341013410134101341013310132101321013210131101311013010129101291012910128101281012710127101271012710127101271012610126101261012510125101241012410123101231012310123101221012210121101211012010120101201012010120101201011910119101191011810117101161011510115101151011410114101141011410114101141011410113101131011310113101121011210112101111011010110101101011010109101091010810108101081010710106101061010510105101041010410103101031010310102101021010210102101021010110100101001009910099100981009810098100971009710097100971009710096100951009510094100941009410093100931009310092100921009210092100911009110091100901009010090100891008910088100881008810088100881008810087100871008610086100841008310083100821008210082100811008110080100801007910079100791007910078100781007810078100771007710077100771007610076100761007610076100761007510075100751007510074100741007310073100731007310073100731007210072100721007210072100711007010070100691006910068100681006810068100681006810067100661006610065100651006510065100651006510065100641006410064100631006310062100621006110061100601006010059100591005810058100581005610056100541005410054100531005310053100521005210050100501005010050100491004810047100471004710045100451004310043100431004310043100431004310042100411004110041100401003910039100391003810038100381003810036100351003510035100351003510035100341003410034100331003310033100321003210032100321003210031100311003010030100301003010029100291002910028100281002810027100271002610025100241002210022100221002110021100211002110019100181001710017100171001610016100131001310012100111001110011100101000910009100081000810008100071000710007100061000610006100051000410003100031000210002100001000010000100009999999999999999999999999998999899989998999899969996999599959995999599949993999399939991999199919990998999899989998999889988998799879986998599859984998499849984998399839983998299819980997999789976997699759975997499749974997499739973997299709970997099709969996999689968996699669965996499649963996399639963996299619961996199619960996099599959995999599958995899579956995599559954995499539953995399539952995199519951995099509950994999489948994799479945994499449944994399439943994399429942994199419939993999399939993999389938993899389938993899379937993699369936993699359935993499339933993399339932993299329931993099309929992999299929992899289927992799269926992599259924992499239922992299219921992199219920991999199918991899179917991699159914991499149914991499149913991399139913991399129912991299119911991199119911991199119910991099109910991099099909990899089906990699069905990599059905990499049904990499049903990399039902990299029901990199019901990099009900990099009900989998999899989898989898989898989897989798979897989798969896989598949894989398929892989098909889988998899889988898889888988798879886988698849884988398829882988298819881988098809880988098799879987998789878987898789878987798779877987798779876987598759874987398739872987298719871987098709870986998699868986898679867986798669866986698659864986498649864986498639863986298629861986198609860985998599859985898579857985798569856985598559854985498549854985498549853985398529851985198509849984898489847984798469846984698469846984598459845984598449843984298429842984298419841984198419840984098409838983898379837983798369836983698359835983498349833983398339832983298319831983198309830983098309829982998299829982998299829982898289828982898279827982698269826982698259825982498249824982398239823982398239822982298219821982198199819981998199818981798179816981698169816981698159815981598159815981498149813981298129812981298129812981198119811981098109810980998089808980898089808980798079807980698059805980498049804980398039802980298019801980198019800980097999799979897979797979797969795979597959794979497949794979497939793979297929792979197919791979097909790978997899789978997899789978897889788978897889787978697869786978697869786978597859785978497849784978497849783978297829781978197809780978097799779977997799779977897789778977897789776977597759775977497749774977297729772977297729771976997699769976997689768976897679767976797679765976597659765976497639762976297629762976197619761976097609760976097599759975997589758975897589758975897589757975797569756975597559755975597549754975297529752975197519751975097489748974797479747974697459745974597459744974497449744974397439743974397429742974197419740974097409739973997399739973897389738973897389737973797379737973797379736973597359735973497349734973497339733973397339732973197319731973097309730972997299728972797279727972797269726972697269726972497239723972397229722972297209719971997189718971897179716971697159714971497149714971397139712971297129711971197119711971097099708970797079706970697059705970597049704970497049702970197009700970097009700969996999698969896979697969796969696969596959694969496949694969496949694969496939693969396939692969296929691969096909690968996889688968796869686968596859685968496849684968296829682968196819681968196819681968096809680968096799679967996799677967796769676967696769675967596759675967496749674967496739672967296729672967196709670967096709670966996689668966896679667966796679665966496649662966296629661966196619661966196619660966096599658965896589657965796579657965796569656965596559654965496539652965196509649964996499648964896489646964696469646964596459645964496439643964296429642964296429642964196419640964096409640964096399639963996399639963896379637963796379634963396339633963296329632963196309630963096299629962996299628962896289628962796259625962596259624962496239623962396239623962296229621962196219621961996199619961896189618961796169616961696169616961596149613961396139613961396139612961296129612961196119611961196119611961096099609960996089608960896089607960796069606960696069606960596059605960596039603960396039602960296029601960095999599959995999599959995989598959895979597959795969596959595959594959495949593959395929592959295919591959195919590959095909590958995899589958895889587958695869585958595859585958595849584958495849583958395829582958295819581958095809580958095799579957995799579957895789577957795779577957695769576957695759575957595759574957495749573957395739573957395739573957395729572957195719571957195709570957095699569956995699569956895689568956895679567956795679566956695669565956595659564956495649562956295629562956295629562956195619561956195609560956095609559955995599559955995589558955895589557955795569556955595559554955495549554955395539553955395529552955295529552955195519551955195519551955195509549954995499549954995499549954895489548954895479546954695469546954595459544954495449544954395439543954295429542954295429541954195419541954195419541954195409540954095399539953895389538953895389538953895379536953695359534953495349533953395339532953295319531953195319531953095299529952895289527952795279526952695269526952695259525952595259524952495239523952295229521952195219521952095209520952095209520952095199519951895189517951795179516951695169515951595159515951595149514951495139513951395129512951295129512951295119511951195099509950995099509950995099509950895089508950895089507950795079507950795079506950695069506950695059504950495049504950495049503950395039503950395039502950295029502950295019501950195019501950195019500950095009500950095009500950095009499949994999499949994999499949994999498949894989498949794979497949794979497949794979497949794969496949694969496949694969496949694969496949694969496949694969496949694969496949694959495949594959495949594949494949494949493949394929492949194919490948994899489948894889488948794879486948594849484948394839483948294829482948294829482948194809480947894779476947494739472947294719471947194719470947094709470947094709469946994679467946694659465946594659464946494649464946494649463946394639463946394639462946294619460946094599459945894589457945694569456945494549453945394539453945394539452945294529452945294519451945194519451945194509449944994489448944894479447944794469446944694469446944594459445944494449444944494439443944394429441944194419441944094409440944094399438943894379436943694369435943594359434943494349434943394339433943294329432943294319431943194319430943094309429942994289428942894289427942794279427942694269425942594249424942394239423942294219421942094209420942094199419941994199419941894189418941894179416941694159415941494149414941394139413941294129412941194119411941194109410941094109409940994089408940894089408940794079407940494049403940394039402940294019401940194019400939893989397939793979397939793979396939693969396939693959395939593959393939393929392939293919391939093909390938993899389938993899387938793879387938793879386938693869385938593849384938493839383938393839382938293829382938193819381938093799379937993799379937993789377937793779377937693769375937593749373937393739372937193719371937193719371937093709370936893689368936893679367936793679367936793669366936693669366936593649364936493639363936393629360936093609360935993599359935993579357935793579357935693569356935693559355935593559355935493549354935493549354935493549354935393539352935293529352935193509350935093509349934993499349934893489348934893489348934893479347934793469346934593459345934593459345934493449344934393439343934293429342934093409340934093399338933893389338933793379336933593359335933593349334933493349334933493339333933293329332933193309330933093299329932993299329932893289328932793279327932693269326932593259325932593249324932493249324932393229321932193219321932093209320931993199318931793179317931693169315931593159314931493139313931393139313931293129312930993099309930993099308930893069306930693049304930393029302930193009300929992999299929892989296929692969295929592959293929292919291929192919291929192919290929092899289928892879287928792869286928692839283928392839282928292819280928092799279927892789278927692769276927692759275927592759274927492739273927392739272927292719271927192709270926992689268926892679267926692669265926592649264926492639263926292619261926092609259925992599259925892589258925892589257925792579256925692569256925592559255925492549252925292529252925292519251925192519250925092509250925092499248924892479247924792479246924692469245924592449244924492449244924492439243924392439243924392439242924292409239923992389238923792379237923692369236923692359234923492349234923392339232923292329231923192319231923192319230922992299228922792269226922692259225922492239223922392239223922292229222922292219221922092209220922092209219921992199219921992179217921792179217921692169215921592149214921392119211921092109210921092109210920992099209920992089208920792069206920692059205920492049204920492049203920392039202920292019201920192019200920092009200919891989196919691969196919691959195919591959193919391939192919291929192919191909190919091899189918991899189918891889187918691869186918691869185918591849184918491849184918491839183918391829182918291819181918191819181918091809180918091809180918091799179917991799178917891789178917791769176917591759175917491749174917391729172917191699169916991689168916891679166916691669166916691659165916591649164916491639163916391639162916291629161916191619160916091589157915791579157915691569156915691559154915391539153915391529152915091509149914991499149914991499149914891489148914891479147914791479146914691459145914491439143914391429141914191419141914091409139913991399139913891389138913891389137913691369136913591359135913591359134913491349134913491349133913291329131913191309130913091309130912991299129912991289128912891289128912891279126912691269126912591259125912491249124912491239123912291229122912291229122912291219121912091209120912091209120911991189118911791179116911591149114911491149112911291129112911191119111911191109109910991089107910791069105910591059104910491039103910391029102910291029101910191019101910191009100909990989098909790979096909690969096909590959095909590959095909590959094909490949094909390939093909390929092909290929092909290929091909090899089908990899089908990889088908890889087908790869086908690859085908490839083908390839083908290829081908190819081908190809080908090809079907990789078907890789078907890789077907690769076907690769076907590749072907290729070906990699069906990699069906990699068906890689067906790679066906690669066906590659065906590659065906490649063906390639063906290609060905990599059905890589058905790569056905690569055905590559055905590549054905390539053905290529052905290509049904990489048904890489047904790479047904790479046904590459045904590459045904590449044904490439043904390429042904190419039903990389037903790379037903690369036903590349033903390339031903190309030902890289027902790279027902790269026902690269025902590259023902290229021902190219021901990199018901890189018901790179015901590149014901490149014901390139013901290129012901290129011901190119010901090109009900890089008900790079007900690069006900690069005900590059005900490039003900290029002900190019001900090009000899989998999899989998998899889988998899889978997899589958995899589958995899589948993899389938992899289918991899189918991899189908989898889888988898889888988898889888987898789868986898689868985898589838983898289828981898189818979897889788977897789768975897589748974897489748973897389728972897289718971897189708969896989698969896989698968896889678967896689668966896689658965896489648964896489648964896489628962896189618960895989598958895889588957895689568956895689558955895589558954895489538953895389528952895289518951895189518950895089508949894989498949894889488947894789468946894689468946894689458944894489438943894389438942894289428941894189408940893989398939893989398938893889388938893789368936893589358935893589348934893489348933893389328931893189308930893089298928892889288927892789278927892789278926892589258925892589258925892589258925892489248924892389238923892389238923892389238922892289228922892189208920891989198918891789178917891789178917891689168916891589158915891489148913891389128912891289128911891089108910891089108910890989098909890989088908890789078906890689068906890689068905890589058904890489048904890389028902890289028902890189018901890189018900889888988898889888978897889788978897889688968896889688968896889588948894889388938892889288928891889088908890889088908890888988898889888988898889888888888888888788878887888788878886888688868885888488848883888388828882888288828881888188808880887988798878887888788878887788778877887688758875887488748874887488748874887488748873887188718870887088708869886988698868886888688868886888678865886588658864886488648864886388638863886388638863886288628861886088608859885988598859885888588858885688568856885588548853885388538853885288528851885188518850885088498849884988488848884788478846884688468846884688468845884588448844884488448844884488448843884388438842884288418841884188408839883988398839883988388838883788378837883688368836883688368835883588348834883388338833883388338833883388338832883288318831883188308830883088308829882988298829882988288828882888278827882788278825882488248824882488238822882288228821882188208820882088208820881988198819881988198818881888178817881788178816881688168816881588158815881588148813881288128812881288118809880988098809880988088808880888078806880688058805880488038803880388038803880288028802880288018801880188008800879987998798879887988798879887978797879687968795879587958795879487948794879487948793879387938793879387928792879287928792879287928791879187918791879187908790879087908790879087898789878987898789878887888787878787878786878687868786878587858785878587848784878487838783878387838782878287828782878187818781878087808779877987788778877887788777877787778777877787778777877787778776877687768775877587758775877487738773877287728772877187718770877087698769876987688768876887688767876787678767876687658764876487648763876287628762876287618761876087608760876087608759875987598758875787578757875787568756875687568755875587558754875487538752875287508749874987498748874887488748874887478747874687458745874587448744874487448744874387438742874187418740874087398739873987388738873787378737873787368736873687368736873587348734873487338732873287328731873187308730873087308730873087298729872887288728872887288728872787268726872687258725872587258724872387238723872287228722872287228722872187208720872087208720871987198718871787178717871787178717871787178717871787168716871587158715871487148714871487138713871387128712871287128711871187118711871187108710871087108710870987098708870887088708870787078707870787068705870587058705870587048704870387038703870287028702870287018701870087008700870087008699869986998699869986988698869886968695869586958695869486948694869386928691869186918691869186908690869086898689868986888688868886888688868786878687868686868686868686858685868586848684868486848683868386838683868386828682868286818681868086808680867986798679867886778677867786778676867586758675867586758675867586748674867486748674867386738673867386738672867286718671867186718671866986698668866886688668866886678666866686668666866586658665866586648664866486648664866386638663866386638662866286628661866186608660866086608660865986598659865886588658865786578657865786578656865686568656865686568655865486548653865386538653865286528651865186518651865186518651865086498648864886488648864886478647864686468646864686458645864486448644864486438642864286418641864086408639863986398638863886388638863886378637863786378637863686368636863586358634863386328632863286318631863186298628862786278627862786278627862686258625862586258625862586248624862386238622862286228622862286218621862186208620861986198619861986198618861886188617861786178617861686168616861686158615861586158615861586148613861386138612861286118610861086108609860986098609860986088608860886078607860786078607860686068606860686068605860586048604860386038603860386038602860286028602860286028601860086008600860086008600860086008600859985998599859985998598859785978597859785978597859785968596859685958595859585958595859485948594859485938593859385938592859285918591859185918591859185918590858985898588858885888587858785878587858785868586858585858585858585858584858485848583858385828582858285828582858185818580858085808579857985788578857785778577857685768576857685768575857585758575857485748574857485748574857385738573857385738573857285728571857185718570857085708569856985688568856785678566856685668566856685658565856585648564856485648563856385628562856185618561856085608560856085608560856085598557855785578557855785568554855485548553855385538552855285518550855085498549854985488548854885478547854785478547854785478547854685468546854685468546854685458545854585458545854585448544854485448544854385438543854385438542854285418541854185408540854085408540854085398539853985398538853885388537853785378536853685368536853685358535853585348534853385338533853285328532853185308530853085298529852885288527852785278526852585258525852585248524852385238523852285228521852085198518851885188518851885188517851685168516851585158515851585158514851485148514851485138513851385128512851285128512851185118511851185118511851085108510851085098509850985088508850885078507850785078507850785068506850685068505850585058504850485048504850485048503850385038503850285028502850185018501850085008500849984998498849884988498849784978497849784978497849684968495849584958495849484938493849384928492849284928492849184918491849084898489848984888488848784878487848684868485848584858485848584858484848484848484848484838482848284828482848284828481848184818481848184808480847984788478847884778476847584758475847584758474847484748474847384738473847384728472847284728471847084708470846884688468846884688467846784678467846784678466846684668465846584638462846184618461846184608459845984588458845884588457845784568456845584548454845484548454845384538453845384528452845184518451845184508449844984488448844784478447844784468446844584458445844484448444844384438443844284428442844184408440844084398439843984378437843784378436843684368435843384338433843384328430843084308430843084308429842984298429842984288427842684268425842584258424842484248423842284228422842284218421842184218421842184208420841984198418841884178416841684168415841584158414841384138413841284128412841284128412841184118411841084108410840984098408840884088408840884078407840784078406840684068405840584058405840484048404840484048404840484038403840384038403840384038402840284028402840184018400840084008400839983998399839883988398839783978397839783968396839583958395839483938393839383938392839183918391839183918390838983878387838683868386838683868385838583858384838483848384838383838383838383838382838283828381838183818381838083808379837983788378837883778377837783778376837683758375837583758374837383738373837283728372837283728372837283718371837183708370836983698369836883688368836883688367836783668366836683668366836583658364836483648363836383638362836283628362836183618361836183618360835983588358835883588357835783578357835783578357835683568356835683568354835483548353835283508350835083508349834983498349834883488348834783478347834783478347834683468346834583458345834583438343834383438342834283428341834183418340833983398338833883388338833883378337833783378336833683358335833583348334833383328332833183318331833183308330833083298328832883278327832583248324832383238322832283228322832283218321832183218321832183208320832083208320832083198318831883188317831783178316831683168315831583158314831483148314831383138313831383128312831283128311831183118311831183108309830983098309830883078307830783068306830683068305830583048304830383028302830283018301830183008300830082998298829882988297829782978297829682958295829582948294829482948293829382938292829282928292829182918291829082908290829082898289828982898289828882888287828782878287828782878286828682868286828582858285828582848284828482838282828282818281828182808280828082808279827982798279827882788278827882778277827782768275827582758274827482738273827382738273827282728272827282728272827282728272827182718271827182718271827182718269826782678266826582658264826482648264826382638263826382628262826282628262826282618261826082608260826082588258825882588257825682568256825682568256825582558255825582548254825382538253825282518250825082508248824882478247824682468244824482438243824282428242824282428241824182418241824182408240824082408240824082398239823982398238823882388238823882388238823882388237823782378237823682368236823582358235823482348233823382338232823282328231823182308230823082308230823082298229822982288228822882288227822782278227822782268226822682268225822582258225822582248224822382238222822282228222822282228221822182218221822182208219821982198218821782178217821782178217821782168216821682168216821682168215821582158215821482148214821482148213821382128212821282128212821282118211821182118211821182108210821082098209820982088208820882088207820682058205820482048204820382038203820382038203820282028202820282018201819981998198819881988198819781968196819681958194819481938193819381938192819281928192819281928191819181918191819181908190818981898189818981888188818881888188818781878187818681858185818481848184818481848184818381838183818381828182818281818181818181808180817981798179817981798178817881788177817781778177817681768175817581758175817581758174817481748174817381738173817381738172817281728172817181718171817181718170817081698169816981688168816881688168816781668166816681668166816581658165816581658165816481648164816481638163816381628161816181618161816081598159815981598159815881588158815881578157815781568156815681568155815581558155815481548154815381538153815381538152815281528152815281528152815181518151815181508150815081508150815081498149814881488148814881478146814681468145814581458145814481438143814381428142814281428142814281418141814181418141814081408140813981398139813881388137813781378137813781378137813781368136813681368136813681368135813581358133813381338132813281318131813181318130812981288128812881288127812681268126812681258125812481248124812481238123812381228122812281228122812281218121812081208120812081208119811981188118811881188118811781178117811781178116811681168115811581158115811481148114811481148114811481138113811381138112811181118110811081108109810981088108810781078107810681068105810581058104810481038103810381038102810281028102810281028101810181018101810180998099809980998098809880978097809780978097809780968096809580958095809580948094809480948093809380938091809080908089808980888087808780878087808780868086808680868086808580858085808480848084808380838083808380828082808280818081808180818081808080808080808080808080807980798079807880788078807880788077807780778077807680768076807680768076807580758075807580748074807480738073807380738072807280728072807180718071807180708070806980698069806880688067806780668066806680668065806580658065806480648063806380638063806280628062806180618061806080608060806080608059805980598058805880588058805780578057805780578057805680568055805580558055805580558054805480538052805280528051805080508050805080498049804980488048804880478047804680468046804680458045804580448044804480438043804380438043804380428042804280428041804180418041804080408040804080398038803880388038803880378037803780378037803680368036803580348034803480338033803380328032803180318031803080308030803080288028802880288027802680268026802580258025802480248024802380238023802380228022802280228021802180218021802180218021802180218020802080198019801980198018801880188018801880188017801780178017801780178016801680168016801680168016801580158015801480148014801480138013801280128012801180118011801080108009800980088008800880088008800780078006800680068006800580058005800580048004800380028002800280028001800180018001800180018000800080008000799979987998799879987997799779977996799679967996799679957995799479937993799379927992799279927992799279927992799179917991799079907990799079897989798979897989798979897989798879887988798879877987798779877987798779877987798779867986798579857985798579847984798379837982798279827982798279827981798179807980797979797978797879787978797779777977797679767976797579757975797579747974797479747973797379727971797179717970796979697969796979697969796979687968796879677967796779677967796679667966796679667965796579657964796479637963796379627962796279627962796179617961796179617960796079607960796079597959795979587958795779577956795679567955795579557955795579557955795479547954795379537953795379527952795279527951795079507950794979497948794779477947794779477947794779477946794679467945794479447944794479437943794379437943794379437943794279427941794179417941794179407940793979397939793879387938793879387937793779377936793679357935793579357935793479347933793379337933793379327932793179317931793179307930793079307929792979287928792779277926792679267925792579247924792479237923792379237922792279227922792179217921792079207920792079207919791979197918791879187918791879187917791779177917791779167916791679167915791479147913791379137913791379127912791179117911791179107910791079107909790979087908790779077907790779077906790579057904790479037903790379027902790179017901790079007899789978997899789878987898789778977897789778967896789678967896789678957895789578957894789478947893789378937893789378927892789278927892789278927892789278917891789078907890788978897889788978897889788978887888788878887888788778877887788778867886788678867886788678867884788478847884788478847884788378837883788378827882788278827881788178817881788178807880788078807880788078807880788078807879787978797879787878777877787778777877787678767876787678757874787478747873787378737872787278727872787278727871787178717871787078697869786978697869786978697868786878687867786778677867786778677867786778677867786678667866786678667866786678657865786578657865786578647864786378637863786378637862786278617861786078607860786078607859785978597859785978587858785878587858785778567856785578557855785478547854785478547853785278527852785278517851785178517851785078507850785078497849784878487847784778477847784778477846784678467846784578457845784578447844784378437843784378427842784278417841784178417841784178417840783978397839783978397839783978387838783778377836783678367836783678367835783578357835783578357835783478347834783478337833783378337832783278327832783178317831783178317831783078307829782978297829782978297828782878287828782878287827782778277827782778267826782678267825782578257825782478247824782478247824782378237823782378237822782278227822782178197818781878187817781778177817781578157815781578147814781378137813781378127812781278127812781178117811781178107810781078107809780978097809780978087808780878087808780878087807780778077806780678067805780578057804780478037802780278027802780278017800780078007800779977997799779977997797779777977797779777977796779677967796779577957795779477947794779377937792779277927792779177907790779077907789778977897789778977897789778977887788778877887788778777877787778677867786778677857785778577857785778577857784778477847784778377837783778377837782778277817781778177817781778077807780777977797779777977787778777877787777777777777777777777767776777677747774777477747773777377737772777277727772777277717771777177707770777077707770777077697769776977687768776877677767776777677767776777677767776777667766776577647764776377637763776277617761776077607759775877587758775877587758775877577757775777577756775677557755775477547754775477547754775477547753775377537752775277527752775277527752775277517751775177507750775077497749774977487748774777477747774777467746774677457745774477447744774377437742774277427742774177417741774077407740774077397738773877387738773777377737773777377736773677367736773577357735773477347734773477347733773377337733773377327732773177317731773177307730772977297729772877287728772777277726772677267725772577257724772477247724772477247723772377227722772277227721772177207720772077207720772077207720771977197719771977197719771877187718771877187717771777177717771777167716771577157714771477137713771377127712771277127712771177117711771077107709770977097708770877087708770877087708770777077707770777077707770777077707770777067705770577057705770577047704770477047704770377037702770177017701770177017700770076997699769876987698769776977696769676967696769676967696769676967695769576947694769476947694769476937693769376927692769276917691769176917690769076907690768976897689768976887688768776877687768776877686768676867685768476847684768476847683768376827682768276827682768276817681768076797679767976787678767876787678767776777676767676767676767676757675767576757675767576757675767476747674767476737673767276727672767276727672767276717671767076697669766976687668766876687668766776677667766776677667766776677666766676667666766676667666766576657665766576657665766476647664766376637663766376627662766276617661766076607660766076607660765976587658765776577656765676567656765576557654765476547654765476547654765476537653765276517651765176517650765076507650764976497649764976497648764876487648764876487648764776477647764776477647764776477646764676467646764676467645764576457644764476447644764476447644764376437643764376427642764276427642764276427641764176417641764176397639763976387638763876387638763776377636763676367636763576357635763576357635763476347634763376337632763276327631763176317631763176317630763076307630763076297629762976297629762976297628762876287628762876287627762776277627762776267626762576257625762576257625762476247624762376227622762176217620762076207620762076197619761976197618761876187618761776177617761776167616761676157615761576147614761476137612761276117611761076107610761076107609760976097609760976087608760876087607760776077606760676067605760576057605760476047604760376037603760276027602760276027600760075997599759875987598759875977597759775977597759675967596759675957594759475937593759375937592759275927591759175917591759175907590758975897588758875887588758875887588758775877587758675867586758575857584758475847584758475847583758375837582758275827582758175817581758175817581758075807580758075807579757975797578757875787578757875787578757775777577757775777576757675767576757575757575757475747574757475737573757275727572757175717571756975697568756775677567756775677567756675667566756675657565756575647564756475647564756375637562756275617561756175607560755975587557755575557555755575557554755475547554755475547553755375537553755375527552755275527551755175517551755075507549754975487548754775477547754675467546754575457545754475447543754375437543754375437543754275427541754175417540754075407540753975397539753975397538753875387537753775377537753775377537753675367536753575357535753575357534753375337533753275327532753175307530753075307530752975297528752875287528752775277527752775277527752675257525752475237523752375237523752375227521752175207520752075207519751975197518751875187517751775177517751675167516751675157515751575157514751475147514751475147513751375127512751275127512751275127512751275117511751175117511751175107510751075107510751075087508750875077507750675067506750575057505750475037503750375037502750275027502750275027502750175017500750075007500750074997499749974997498749874987498749874987497749674967495749474947493749374937493749374937492749274927492749274917491749174917490749074907490749074907490748974897489748974897489748974897488748874887488748774877487748674867486748674857485748574847484748474837482748274827482748274827481748174817481748074807480747974797478747874777477747774777477747774767476747574757475747574757475747574747474747374737472747274717471747174717471747174717470747074707470747074707468746874687468746874687467746774667466746674667465746574657465746374637463746374637463746274627462746274617461746174607460746074607459745974587458745874587458745774577457745774577457745774567456745674557455745474547454745474547453745374537453745374527452745274527452745174517451745074497449744974497449744974497448744874487448744774477447744774467446744674467446744674467446744574457445744574437443744274427442744174417441744074407440744074407439743974397439743774377437743774377436743674357435743574357434743474337433743374337432743274327432743274327431743174317431743174317431743074297429742974297429742874287428742874287427742774277427742774267426742674267425742574257424742474247424742474227422742274227421742174207420742074197419741874187418741874177417741774177417741674167415741574157415741474147414741374127412741274127412741174117411741074107409740974097409740874087408740874077407740674067406740674057405740574057405740574047403740374037403740274027402740174017401740174007400739973997399739973997398739873987397739773967395739573957395739573947394739473947393739373937393739273917391739073907390739073897389738973897388738873877387738773867386738673857385738573857385738573847383738373837381738173817381738073807380737973797379737973797379737873787378737873777377737773777377737773777376737673767376737673767376737573757375737573757375737473747373737373737372737273727372737173717371737173717371737073707370736973697369736973687368736873687368736873687367736673667366736673667366736573657365736573657364736473647364736473647364736473637363736373637363736273627362736273627362736273617361736073607360736073597359735873577357735773577357735773567356735673567356735573557354735473547353735373527352735273527351735173517351735073507350734973497348734873487348734773477346734673467346734673467345734573457344734473447344734373437343734373437343734373437342734173417341734173417341734173417340734073407340734073407339733973397339733973397339733773377337733673367335733573357335733473347333733373337333733273327332733273327332733173317330733073307330733073307330733073287328732873287328732773277327732673267326732673257323732373227322732273227322732173217321732073207320731973197319731973197318731873187317731773177317731673167316731673157315731573157315731473147314731473147314731473137313731373137312731273117311731173117310730973097309730873087308730873087308730873077307730773077307730773067306730573057305730573057305730573057305730473047304730373037303730373027302730273017301730073007299729972997299729972997299729972997298729872987297729772977296729672967296729672967296729572947294729472947294729472947294729372937291729172917291729172917290729072907290729072907289728972887288728872887288728872877287728772877287728772877286728572857285728572857283728372827282728272827282728272817281728172817280728072807280727972797279727972787278727872787277727772777277727672767276727572747274727472737273727372737273727272727272727272727271727172717271727172717271727072707269726972697268726872687268726872677267726672667265726572647263726372637262726172617261726172617260726072607260726072607259725972597259725972597258725872577257725672567256725672557255725572557255725472547254725472537253725372537253725272527252725172517250725072507249724972497249724872477247724672467246724572457244724472447244724372427242724272427242724172417241724172417240724072407240723972397239723972387238723772377237723672367236723672367236723672367235723572357235723472347233723372337233723372337233723272327232723272327232723172317231723072307230723072307230723072297229722972297229722872287228722872287228722772277227722772277227722772267226722672257225722572257224722472247224722372237223722372237222722272227220722072207220722072197218721872187217721772177217721772167216721672157215721572157214721472147214721472137213721272127212721272127211721172117211721072107210721072097209720972087208720872077207720772077207720772067206720672067206720572057205720572047204720472047204720372037203720372027202720272027201720172017201720172017200720072007199719971997199719971997199719871987198719871987198719771977197719771977197719671967196719671967196719671967195719571957195719471947194719471947193719371937193719271927191719071897189718971897189718871887188718871887188718771877187718771877187718671867186718671867186718671867186718571857185718471847184718471847184718471837183718371827182718271827182718271827182718271817181718171817180718071807180717971797179717971787178717871787177717771777177717771767176717571757175717571757175717471747174717471747174717371737173717271717171717071707170717071707169716871687168716871677167716771667166716671657165716471647164716471647163716371637162716271627162716271627161716171617160716071607160716071607160716071607159715971597158715871587157715771567156715671567156715571557155715571547154715371537152715271527152715271527151715171517151715071507149714971497149714871487148714871477147714771467146714671467146714571457144714471447144714371437143714371437142714271417141714171417141714071407140714071407140714071397139713971397138713871387138713871387137713771377137713771367135713571357135713471347134713471337133713371337133713371327132713271327132713271327132713171317131713171307130712971297129712971297128712771277127712771277126712671257125712571257125712471247124712471247124712371237123712271227121712171217121712071207119711971197119711971187118711871187117711771177117711671167116711671167116711671157115711571157114711471137113711371137113711371137112711271117111711171117111711071107110711071107110711071097109710971097108710871087108710871077107710671067106710671067106710571057105710571057104710471047104710471047104710371037103710371037103710371037103710271027102710271017100710071007100710071007100709970997099709970997098709870977097709670967096709670957095709570957095709570947093709370937092709270927092709270917091709170917090709070907090709070907089708970897088708870887088708870877087708770867086708670867085708570857085708570847084708470847083708370827082708270817080708070797079707970797079707970797078707870787078707870787077707770777077707770777077707770767076707670767075707570757074707470747074707470737073707370737072707270727072707270717071707170717071707170717070707070707070706970697069706970697068706870687068706770677067706670657065706570657064706470637063706370637062706270627062706270627062706170617061706170617061706170617060706070597059705970597059705870587058705870577057705770577057705770567056705670567055705570557055705570557055705570547054705470547054705470547054705370537052705270527052705270527052705170517051705170517050705070507050704970497049704970497048704870487048704870487047704770477046704670467046704670457045704570457045704570457045704470447044704470437043704270427042704270427042704170417041704170407040704070397039703970397039703870387038703870387038703770377036703670367036703570357035703470347034703370337032703270327032703270327032703270327032703270327032703170317031703070307030703070307030702970297029702970297029702970297028702870287027702770277027702770277027702670267026702670257025702570257025702570257024702470247024702470237023702370237023702270227021702170217021702170207020701970197018701870187018701870187017701770167016701570157015701470147014701470147014701470137013701370137013701270127012701270117011701170117011701170117011701170117010701070107010701070097009700870087008700870087008700770077007700770077007700770077007700770067006700670057004700470047004700470047004700470027001700170007000700070006999699969996999699969996999699969986997699769976996699669966996699669956995699569946994699469936993699369936992699269926992699169916991699169906990699069896989698969886988698869886988698769876986698669866986698569856984698469846984698469836983698369826982698269826981698169816981698169806980698069796979697969796979697969786978697869776977697769776976697669766975697569756975697569746974697469746974697469746974697469736973697369736973697369736972697269716971697169716970697069706970697069696969696969696968696869686968696869686968696869686968696769676967696769676966696669666965696569656965696569656964696369636962696269616961696169606960696069596959695969596959695969586958695869586958695869586957695769576957695669566956695669566955695569556955695569556955695469546954695469536953695269526952695169516951695069506949694969496948694769476947694769466946694569456945694569456945694569436943694369426942694269426942694169416941694069406940693969396939693969396937693769376937693669366936693669366936693669356935693569336933693369326932693269316931693169316931693069306930693069306929692969296928692769276927692769276926692569256925692469246924692469246924692369236923692369236923692369226922692269226922692169216921692169216921692069206920692069206920691969196919691869186918691869186918691769176917691769176917691669166915691569156914691469146913691369136913691369126912691269116911691169106910691069096909690969096908690869076906690669056905690569056904690369036903690369036902690269026902690269026902690169016901690169016900690069006900690068996899689968986897689768976896689668966896689668966895689568956895689468946894689468946894689468936893689268926892689268926891689168916891689168916890689068906890689068906889688968896889688968896888688868886887688768866885688568856885688568856884688468846884688468846884688468836883688368836882688268826881688168816880688068806880687968796879687968786878687868786877687668766876687668756875687468746874687368736873687368736873687368736872687268726872687268726871687068706870687068706869686968696869686868676867686768676867686768666866686668666866686568656865686468646864686468636863686268626862686268626861686168616861686068606860686068606860686068606859685968596859685968586858685868586858685768576857685768566856685568556855685568556855685568556855685568556854685468546853685368536852685268526852685168516851685168516851685068506850685068496849684968486848684868486848684868486848684768476847684768476847684668466846684668466846684668466845684568446844684468446844684468446842684268426842684268416841684068406839683968396839683868386838683868376837683768376837683768376837683668366836683668356835683568356834683468346833683368336833683368336833683368326832683268316831683168306830683068296829682968296829682868286828682868286827682768266825682568256825682568256825682568246824682468246824682468236823682368236822682268226822682268226822682168216821682168216820682068206819681968196819681868186818681868186818681868186817681768166816681668166816681668166816681668156815681568146814681468146813681368126812681168116811681068106810681068106810681068106809680968096809680868086808680868086807680768076806680668066806680568056804680468046804680468036803680268026801680168006800680068006800680067996799679967996799679967996798679867986798679867986798679767976797679767966796679667966795679567956795679567946794679467946793679367936793679367926792679267916791679067906790679067906789678967896789678867886788678867876787678667866786678567846784678467846783678367836783678367826782678267826782678167816781678167816780678067806780678067796779677967796779677867786778677767766776677667756775677567756775677567756775677567746774677467736772677267726772677267726772677267716771677167716771677167716770677067706770676967696769676967696769676867686768676867676767676667666766676667656765676567656765676567656764676467646764676467636763676367626762676267626761676167606760676067606760676067596759675967596759675967586758675867586758675767576756675667566754675467546754675467546753675367536753675367536752675267526752675267526751675167516751675067506750675067506749674967496748674867486748674767476747674767476747674767476746674667466746674667466745674567456744674467446744674467436743674267426742674167416741674167416741674167406740674067406739673967396739673967386738673767376737673667366736673667366735673567356735673567346734673467346734673467336733673367336732673267326732673267316731673167316731673167316729672967296729672967286727672767276726672667266726672567256725672467246724672367236722672267226722672267226721672167216720672067206719671967196719671867186717671767176717671667166716671567156715671467146714671467146714671467146713671367136712671167116711671167116710671067096709670967096709670967086708670867086707670767066706670667066706670567056705670567056705670467036703670367036703670367036703670367036703670267026702670267026702670267026702670267016701670167016701670167006700670067006700670066996699669966996698669866986698669866986698669866986697669766966696669666966695669566956695669566946694669466946694669466946694669466946693669366936692669266926692669266916691669166906690669066906690669066896689668966896689668866886688668866876687668666866686668566856685668566856685668566856684668366836683668366836683668266826682668266826682668266816681668166806680668066806680668066806679667966796679667966786678667866786678667766776677667666766676667666766676667566756675667566756675667566746674667466746673667366736673667366726672667166716670667066696669666966696668666866686668666866676667666766676667666666666665666566656665666566656664666466636663666366636663666366636662666266626661666166616660666066606660666066606659665966596658665866586658665866576656665666566655665566556655665566556654665466546654665466536653665366536652665266526652665166506649664966496649664966486648664866486647664766476647664766476647664766466646664666466646664566456645664566446644664466446644664366436643664366436643664366426642664266416641664166416641664166406640664066396639663966386638663866386638663766376637663766376636663666366636663666366635663566356635663566356635663566356634663466346633663366336633663366336632663266326631663066306630663066306630663066296629662966296629662966296628662866286628662866276627662666266626662566256624662466246624662466236623662366226622662266226622662266226620662066206620662066206620661966196619661966196618661866186618661866176617661766176616661666166616661666156615661566156614661466146614661466146613661366136612661266126611661166116611661166116611661166106610661066106610660966096609660966096608660866086608660766076607660766076607660766076607660766076606660566056605660566046604660466046604660366036602660266026601660166016601660166016601660066006600659965996599659965996598659865986597659765976596659665966595659565956594659465946594659465946593659365936592659265926591659165916591659165916590659065896589658965896589658965896587658765876587658765876587658665866586658665866585658565856585658565856584658465846583658365836583658365826582658265826582658165816581658165816581658065806580658065806580657965796579657965796578657865786578657865776577657765776577657765776576657665766576657565756575657465746574657365736573657265726572657265716571657165716571657065706569656965696569656965696569656865686568656865686567656765676567656665666566656665666566656665656565656565656565656465646564656365636563656365626562656265616561656165616561656165616561656065606560656065606559655965586558655865586558655765576557655765566556655665566556655665566556655665566556655665556555655565556554655465546554655465546553655365536553655365536552655265526552655265516551655165516550655065506550654965496549654865486548654865486547654765476547654665466546654565456545654565446544654465446544654365436543654365426542654265426542654265426542654265416541654165416541654065406540654065396539653965396539653965396538653865386538653765376537653765376537653765376537653765376536653665366536653665366535653565346534653365336533653365336532653265326531653165316530653065306530653065306529652965296529652965286528652865286528652865276527652765266526652665266526652665256525652565256525652465246523652365236523652265226522652265226522652265216521652165216521652165206520652065206520651965196519651865186518651865186518651865176517651765176517651765176516651665166515651565146514651465136513651365136513651365126512651265126512651165116511651165116511651165106510651065106510651065106509650865086508650865086507650765076507650765076507650665066506650565056505650565046503650365036503650365026502650265026502650265026501650165016501650165006500650065006499649964996499649964986498649864986498649864986498649764976497649664966496649664966496649564956495649564956495649564946494649464946494649464946494649364936493649364936493649364936492649264926492649264916491649164906490648964896489648964896489648864886488648864886488648864886487648764866486648564856485648564856485648564846484648364836483648364826482648264826482648164816481648164816481648064806480648064806479647964796479647964786478647864776477647764776477647764766476647664756475647564756474647464746474647464746474647464736472647264726472647264716471647164716471646964696469646964686468646864676467646764676467646664666466646664666466646564656465646564656465646464646464646464636463646364636462646264626461646164616461646164606460646064596459645964596458645864586458645864586458645864586458645764576457645664566456645564556455645564556455645564556454645464536452645264526452645264526452645264526451645164516450645064496449644964496449644864486448644764476447644764476447644764476446644664466446644664466445644564456445644564446444644464446443644364436443644364436443644264426442644264416441644164416441644164416441644164406440644064406440644064406439643964386438643864386438643764366436643664356435643564356435643464346434643364336432643264326432643264326432643264326432643264316431643164316431643164316430643064306430643064306430642864286428642864276427642664266426642664266426642664256424642464246423642364226422642264226422642164216421642164216421642064206420642064206419641864186418641864186418641764166416641664166416641564156415641564146414641464146414641464136413641364136413641364126412641164116410641064106410641064096409640864086408640764076407640764066406640664056405640564056405640464046404640464046403640364036402640264026402640164016401640164006400639963996399639863986398639863976397639763966396639663966395639563956395639563946394639463946394639463936393639363936393639363936393639363926391639163916391639163916390639063896389638863886387638663866386638663866386638663856385638563846384638463846384638463846384638463836383638363826382638263826382638263826382638263816381638163816380638063806380638063806380638063806380638063806379637963796379637963796379637963786378637863776377637763766376637663766376637663766376637563756375637563756375637563746374637463746373637363736372637263726371637163716370637063706370636963696369636963696369636963696368636863686368636863686368636863686367636763676366636663666366636663666366636563656365636463646364636363636363636363636363636363626362636263626361636163616360636063606360636063606360635963596359635963596359635963586358635863586358635863586358635863586358635763576357635763576356635663566356635663566356635663566356635663556355635563556355635563546354635463536353635363526352635263526352635263526352635163506350635063506350635063496349634963496348634863486348634763476347634763476346634563456344634463446344634463436343634263426341634163416341634163416340634063406340634063396339633963386338633863386338633763376337633663366336633563356335633563356335633563346334633463346334633363336333633363326332633263326332633263316331633163306330633063306330633063296329632963296328632863286327632763276327632763266326632663266326632663266325632563256325632563256324632463246324632463236323632363236322632263226322632263226321632163206320632063206319631963196319631963186318631863176317631763176317631763176316631663166316631563156315631563156314631463136313631363126312631263126312631263126311631163116311631163106310631063106310631063096309630863086308630863086307630763076307630763066306630663066306630663056305630563056305630563056305630463046303630363036303630263026302630263026301630163006300630063006300629962996299629862986298629862986297629762976297629762976297629762966296629662966296629662956295629562946294629462946294629462936293629262926292629262926292629262916291629162916291629162916291629162906290629062896289628962896289628962896289628862886288628862876287628762866286628662866285628562856285628462846284628462846283628362836283628362836283628262826282628262826282628162816281628162816281628162816281628162816280628062806280628062806280627962786278627862776277627762776276627662766275627562756275627562756275627462746274627462736273627362736272627262726272627262716271627162716270627062696269626962696268626862676267626762676267626662666266626662666266626662666266626562656265626562656264626462646264626462636263626362636263626362636263626362636263626262626262626162616261626162616260626062606260626062606260625962596259625962596258625862586258625862586258625762576257625762576257625762576257625762566256625662566255625562556255625562546254625462536253625362526252625262526252625262516251625162516250625062496249624862486247624762476247624762476247624762476247624662466246624662456245624562456245624562446244624462436243624362436243624362436243624262426242624162416241624062406240624062406240624062406239623962396239623962396239623862386238623862386237623762376237623762366236623662366236623662356235623562356234623462346234623462336233623362326232623262326232623262326232623162316230623062306230623062306230622962296229622962296229622862286228622762276227622762276227622762266226622662266225622562256225622562256225622562246224622462246224622362236223622362236223622262226222622262226222622262216221622162206220622062206220622062206219621962196219621962186218621862176217621762176217621762166216621662166216621662166215621562156215621562146214621462146214621362136212621262126212621262126212621262126212621262116211621162116211621062106210621062096209620962086208620862086207620762076207620762066206620662066206620662066206620562056205620562046204620462046204620362036203620362036203620362026202620262026202620262026202620162016201620162016201620062006199619961996199619861986198619861986198619861986198619861986197619761976197619661966196619661956195619561956195619461946194619361936193619361936192619261926192619261916191619061906190619061896189618961896189618861886188618861886188618761876187618761876186618661866186618661866186618661856185618561856185618561856185618461846184618461846184618461836183618361836183618361836183618261826182618261826182618261816181618161816180618061806180618061806180618061796179617961796178617861786177617761776177617761776177617761776177617661766176617661766176617661756175617561756175617461746174617461746174617461746174617361736173617361736173617361736173617261726172617261726171617161716171617161716170617061706170616961696169616961696169616861686168616861686167616761676167616661666166616661666165616561656165616561656165616561656164616461646164616461636163616361636163616361636163616261626162616261626162616261626162616161616160616061606159615961596158615761576156615661566156615661566156615561556155615461546154615461546154615461546154615361536153615361536153615361536152615261526152615261526152615261526152615261526151615161516150615061506150615061496149614961496148614861486148614761476147614761476146614661466146614661466146614561456145614561456145614561446144614461446144614461436143614361436143614361436143614261426142614261426142614261416141614161416140614061406139613961396139613961386138613761366136613661366136613661356135613561356135613561356134613461346133613361336133613361326132613261326132613261316130613061306130613061306129612961296129612961296128612861286128612861286127612761276126612661266126612661266125612561256125612561246124612461246124612461236123612361236123612361226122612261226121612161216120612061206119611961196119611861186118611861186118611761166116611661166116611661166115611561156114611461146114611461136113611361136113611361126112611261126112611261116111611161116110611061106110611061106110611061106109610961096109610861086108610861076107610761076106610661066106610661066106610561056105610561056105610561056104610461046104610461036103610361036103610361036103610261026102610261016101610161016100609960996099609960996099609960996098609860986098609760976097609760966096609560956095609560946094609460946094609460936093609360936092609260916091609160906090609060906090608960896089608960886088608860886088608860876087608660866086608660856085608560856085608460846084608460846084608460836083608360836083608360836083608360826082608260826082608160816081608160806080608060796079607960786078607860776077607760766076607560756075607560756075607560746074607460736073607360736073607360736072607260726072607260726072607260716071607160706070607060706070606960696069606960696068606860686068606860686067606760676067606760666066606660666066606660666065606560656065606560656064606460646063606360626062606260606060606060606060605960596059605960586058605860586058605860576057605760576057605760576056605660566056605660566056605560556055605560556055605460546054605460546054605360536053605360536053605360536052605260526052605260526051605160516051605160516051605160516051605160506050605060496049604960496049604960496049604860486048604860486047604760476047604760476046604660466046604660466046604560456045604560456045604560456045604460446044604460446043604360436042604260426042604160416041604160406040604060406040604060396039603960396038603860376037603660366036603660366036603660366035603560356034603460346034603460346033603360336033603260326032603260316031603160316031603160316030603060306030603060296028602860286028602860286028602860276027602760276027602760276027602760276026602660266026602660266026602460246024602460246024602460246024602360236023602360236023602260226022602260226022602260226021602160216020602060206020601960196019601960196019601960186018601860186018601860186018601760176016601660166016601660166015601560156015601560156015601560146014601460146014601360126012601260126012601260126012601160116011601160116011601060106010601060106010600960096009600960086008600860086008600860076007600760076006600660066006600660066006600560056005600560056005600560056004600460046004600460036003600360036003600360036002600260026001600160016001600160016001600060006000600060005999599959995999599859985998599859985998599859975997599659965996599659965995599559955995599559955995599459935992599259925991599159915990599059905990599059905990598959895989598859885988598859885987598759875987598759875986598659865986598659865985598559855984598459845984598359835983598359835983598359825982598259825982598259825982598159815981598059805980598059795979597959785978597859785978597859775977597759775977597659765976597559755975597559745974597459745974597359735972597259715971597059705970597059705969596959695969596959685968596859685968596759675967596659665966596659665965596559655965596459645964596459635963596259625962596159615961596159605960596059605960596059595959595959585958595859585958595859585958595759575957595659565956595659565955595559555955595459545954595459545954595359535953595359525952595259525951595159515951595159515950594959495949594959485948594859475947594759475947594759475946594659455945594559455945594459445944594459435943594259425942594259425942594159415941594159405940594059405939593959395938593859385938593859385937593759375937593759375937593659365936593659365936593659365935593559355935593559355935593559355934593459345934593459345933593359335933593359325932593259325932593259315931593159315931593159305930593059305930593059305930593059305930592959295929592959285928592859285928592759275927592759275927592659265926592559255925592559245924592459245923592359235923592359225922592259225922592259225922592259225921592159215921592159215921592159215921592059205920592059205920591959195919591859185918591859185918591759175917591759175917591759175917591659165916591659165916591659165915591559155915591559155915591559145914591459145914591459145914591359135913591359135912591259125912591259115911591159105910591059095909590959095909590959085908590859085908590759075907590759075907590759075907590659065906590659065906590659055905590559055905590559055904590459045904590459045903590359035903590359035903590359025902590259025902590259025902590159015901590059005900590059005899589958995899589958985898589858985897589758975897589758965896589658965896589658965896589558955895589558955895589558945894589458945894589358935893589358935893589358925892589258915891589158915891589158915891589058905890589058905889588958895889588958895889588958885888588858885888588858875887588758875887588658865886588658865886588658855885588558855885588558855885588458845884588358835883588358835883588358825882588258825882588258815881588158815881588158805880588058805880588058805880588058805879587958795879587958795878587858785878587758775877587758775877587758775877587758765876587658755875587558755875587558755875587458745874587458745874587458745874587358735873587358735872587258725872587258725872587158715871587158715871587158715871587058705870587058705870586958695869586958685868586758675866586658655865586558655865586458645864586458645863586358635863586358635863586358625862586258625862586158615861586158615860586058605859585958595859585958595858585858585858585858585858585858585857585758575857585758575857585758575856585658565856585558555855585558555855585558555855585458545854585458535853585358535853585258525852585258515851585158515851585158515850585058505850585058495849584958495849584858485848584858485847584758475847584758465846584658465845584558455845584558455845584558455844584458445844584358435843584358425842584258425842584258425842584258425841584158415841584058405840584058405840583958395839583958395839583958385838583858385838583858375837583758365836583658365836583658355835583558355835583458345834583458345833583358335833583358335832583258325832583258325831583158315831583158315831583058305830583058305830583058305829582958295829582958295829582858285828582858285828582758275827582758275826582658265826582658265825582558255825582558255825582458245824582458235823582358235823582358225822582258225822582258225822582158215821582158215821582058205820582058205820581958195819581958195819581958195818581858185817581758175817581758165816581658165816581558155815581558155815581558155815581458145813581358135813581358135813581258125812581258125812581158115811581158115810581058105810581058095809580858085808580758075807580758075806580658065805580558045804580458045803580358035803580358035802580258025802580158015801580158005800580058005800579957995799579957995799579857985798579857985798579857985798579757975797579757965796579657965795579557955794579457945794579357935793579357935793579357935793579357935792579257925791579157915791579157915790579057905790579057905790578957895789578857875787578757875787578657865786578657855785578557855785578557855785578457845784578457835783578357835783578357825782578257825782578257825781578157815781578157815781578157805780578057805780578057805780577957795779577957795779577957785778577857785778577757775777577657765776577657765776577657765776577657765775577557755775577557755775577557745774577457745774577457745773577357735773577357735773577257725772577257725771577057705770577057705770577057695769576957695769576957695768576857685768576857685768576757665766576557655765576557655765576557645764576457645763576357635763576257625762576257625762576257625761576157615761576057605760576057605760575957595759575957595759575957585758575857575757575757575757575757575756575657565756575657565756575557555755575557555754575457535753575357535753575257525752575257525752575257515751575157515751575057505750575057505750575057505749574957495749574957485748574857485748574857485748574757475747574657465746574657465746574657465745574557455745574557455745574557445744574457445744574457435743574357425741574157415741574157415741574057405739573957395739573957395739573857385738573857375737573757375737573757365736573657365735573557355735573557345734573457345734573457345733573357335733573357335733573357335732573257325731573157315731573157315731573057305730573057305730572957295729572957295729572857285728572857285728572757275727572657265726572657265725572557255725572457245724572457245724572457245724572357235723572357235723572257225722572257215721572157205720572057205719571957195719571957195718571857185718571857175717571757175717571657165716571657165715571557145714571457135713571357135713571257125712571257125712571157115711571157115711571057105710571057105709570857085708570857085708570857085707570757075707570757065706570657065706570657065706570557055705570557055705570557055705570457045704570457045704570357035703570357035702570257025702570157015701570157015700570057005699569956995699569956995699569856985698569756975697569756965696569656965696569656955695569556955695569556955694569456945693569356935693569356935692569256925692569156915691569156915691569156915690569056905690569056895689568956895688568856885688568756875687568756875686568656865686568656865685568556855685568556855684568456845684568456845684568456845683568356835683568356835683568356835682568256825682568256825682568156815681568056805680568056805680568056805680567956795679567956795679567956795678567856785678567756775677567656765676567656765676567556745674567456735673567356735673567256725672567256725672567156715671567156715671567056705670567056705669566956695669566956695669566956695668566856685668566756675667566756675667566656665666566656665666566656665666566656655665566556655665566556655665566556655664566456645664566356635663566356635663566356635662566256625662566256615661566156615661566156615661566056605660566056595659565956595659565956595659565956595659565956585658565856585657565756575657565756575657565756575657565656565656565656565656565556555655565556555654565456545654565356535653565356535653565256525652565256525651565156515651565056505650565056495649564956495649564956495648564856485648564856485648564756475647564756475647564756475647564756475646564656465645564556455644564456445644564356435643564356435642564256415641564156415641564056405640564056405640563956395639563956385638563856385637563756375637563756375637563756375637563756365636563656365636563656365636563556355635563456345634563456335633563356335633563356335633563256325632563256325632563156315631563156315630563056305630563056295629562956295629562956285628562856285628562856285628562856285627562756275627562756275627562756275627562656265626562656265625562556245624562456245624562356235623562356235622562256225622562256225622562256215621562156215621562156205620562056205620562056205619561956195618561856185618561856185618561856175617561756175616561656165616561656165616561656165615561556155615561556145614561456145614561456145613561356135613561356135613561356125612561256125611561156115611561156115611561156115610561056105610561056095609560956095609560956095609560856085608560856085607560756075607560756075607560756065606560656065606560656065605560556055605560556055605560456045604560456035603560356035603560256025602560256025602560156015601560156015600560056005600560056005600560056005600559955995599559955995599559855985598559755975597559755975596559655965595559555955595559555955595559555945594559455935593559355935593559355925592559255925592559155915591559155915591559155905590559055895589558955895588558855885588558855885588558755875587558755865586558655865585558555855584558355835583558255825582558255815581558155815581558155815581558055805580558055805580557955795579557955795579557955795579557955795578557855785578557855785578557855785578557855775577557755765576557555755575557555755574557455745574557455745574557455745574557455735573557355725572557255725572557155715571557155715571557155715571557055705570557055705569556955695569556955685568556855685568556855685568556855675567556755675567556755675567556655665565556555655565556555655565556455645564556455645564556355635563556355635563556355625562556255625561556155615561556055605560556055605560556055595559555955595559555955595559555855585558555855585557555755575556555655565556555655555555555555555554555455545553555355535553555355525552555255525552555255525552555155515551555155515551555155515551555155515551555155505550555055505550555055505549554955495549554855485548554855475547554655465546554655455545554555445544554455445543554355435543554355435543554355435542554255425542554255425541554155415541554155415541554155405540554055405539553955395539553955395539553955395538553855385538553855385538553755375537553755375536553655365536553655365536553555355535553455345534553455345534553455335533553355335533553255325532553255325532553155315531553155315531553155305530553055305530553055305529552955295529552955295528552855285528552855285528552855275527552755275527552755275527552655265526552655265526552655265525552555255524552455245524552455235523552355235523552355235522552255225522552255225521552155215521552155215521552055205520552055205519551955195519551955195518551855185518551855185518551855185517551755175517551655165516551655165515551555155515551555155514551455145514551455145513551355135513551355135513551255125512551255125511551155115511551155115510551055095508550855085508550855075507550755075507550755065506550655065506550655055505550555055505550555055504550455045504550455045504550355035503550355035503550255025502550255025501550155015500550055005500550054995499549954985498549854985497549754975497549754975497549654965495549554955495549554945494549454945494549354935493549354935493549354935493549254925492549254925492549254925491549154915491549154915491549054905490548954895489548954895488548854885488548854885487548754875487548754865486548654865486548654865486548654865486548654865485548554855484548454845483548354835483548254825482548254825482548254815481548154815481548154805480548054805480548054805480547954795479547854785478547854785478547754775477547754775477547754775476547654765476547654765476547654755475547554755474547454745474547454745474547354735473547354735473547354735473547354725472547254725472547254715471547054705470546954695469546954695469546854685468546854685468546854685467546754675467546754665466546654665466546654665466546654655465546554655465546554655465546454645464546454645463546354635463546354635463546254625462546254625462546254615461546154605460546054605460546054605460546054605460545954595459545954585458545854585457545754575457545754565456545654565455545554555455545554555454545454545454545454545454545454545454545354535453545354535453545254525452545254525452545254515451545154515451545154515451545154505450544954495449544854485448544754475447544754475447544754465446544654465446544654465446544654465445544554455444544454445443544354435443544354435443544354435443544354425442544254425442544154415441544154405440544054405440544054405439543954395439543954395439543854385438543854385437543754375437543754365436543654365436543654365436543554355435543554345434543454345434543454345434543354335433543354325432543154315431543054295429542954295429542954295429542954285428542854285428542854275427542754275427542754265426542654265426542654255425542554255425542454245424542454245424542454245423542354235423542354235422542254225422542254225422542254225422542254215421542154215421542154205420542054195419541954195419541854185418541854185418541854175417541754175417541654165416541654165416541654165416541554155415541554155415541454145414541454135413541354135413541354135413541254125412541254125412541254125411541154105410541054105410541054105410541054105410540954095409540854085408540854085407540754075406540654065406540654065406540654055405540554055405540554045404540454045403540354035402540254025401540154005400540054005400539953995399539953995398539853985398539853985398539753975397539753975397539753965396539653965395539553955395539553945394539453945394539453945394539353935393539353935392539253925392539253925392539153915391539153915391539153915391539053905390539053905390539053905389538953895389538953895389538953895388538853885388538853885387538753875387538753875387538653865386538653865386538653865386538553855385538553855385538553855384538453845384538453845384538453835383538353835383538253825382538253825382538253815381538153815381538153815381538053805380538053805380538053795379537953795379537953785378537853785378537753775377537753775377537753775377537753775376537653765376537653755375537553745374537453745374537353735373537253725372537253725372537253725372537253725371537153715371537153705370537053705370537053695369536953695369536853685368536853685368536853675367536753675367536753675367536753675367536653665366536653665366536653665365536553655365536553655365536453645364536453645364536453635363536353635363536353625362536253625362536253625362536153615361536153615361536053605360536053605360536053605360535953595359535953595359535853585358535853585357535753575357535753565356535653565356535653565356535653565356535553555355535553555355535553545354535453545354535453545353535353535353535353535352535253525352535253525352535253525352535253525351535153515351535053505350535053505350535053505350535053505350534953495349534953495349534953495348534753475347534753475347534753475346534653465346534653465346534653465346534553455345534553445344534453445344534453445344534353435343534353435342534253425342534253415341534153415341534153405340534053395339533953385338533853385338533853375337533753375336533653365336533653365336533653355335533553355334533453345334533453345334533453345333533353335333533353335333533353335333533253325332533253325332533253325332533253315331533153315331533153315331533053305330533053305330533053305330532953295329532953295329532953295329532853285328532853285328532853275327532753275327532753275327532753265326532653265326532653255325532553255324532453245324532453235323532353235323532253225322532253225322532253225321532153215320532053205320532053205320531953195319531953195319531953195318531853185318531853185318531853175317531753175317531753175317531753165316531653155315531553155315531553155315531553155315531553155315531553155314531453145314531453135313531353135313531253125312531253125312531153115311531153115310531053105310531053105309530953095308530853085308530853085308530853075307530753075307530653065306530553055305530553055305530453045304530453045303530353035303530353035303530353035302530253025302530253025302530153015301530153015300530053005300530052995299529952995299529952985298529852985298529852985298529752975297529752975297529752965296529652965296529652965295529552955295529552955295529552955294529452945294529452945294529452935293529352935293529352935293529352925292529252925292529252915291529152915291529152915291529152905290529052905289528952895289528952895289528952885288528852885288528752875287528652865286528652865286528552855285528552855285528552845284528452845284528452845284528452845284528452845283528352835283528352835283528352835283528352835282528252825282528252825282528252815281528152815281528052805280528052805280527952795279527952795279527952785278527852785278527852785277527752775277527752765276527652765276527652755275527552755275527552755274527452745274527452735273527352725272527252725271527152715270527052705270527052705270527052705269526952695269526952685268526852685267526752675267526752675266526652665266526652665266526652665266526552655265526552655265526552655265526452645264526452635263526352635263526352635263526252625262526152615261526152605260526052605260526052605260526052605259525952595258525852585258525852585257525752575257525752565256525652565256525652565256525652565255525552555255525552555254525452545254525452545254525452535253525352535252525252525252525252515251525152505250525052505250525052495249524952495248524852485248524752475247524752475247524752475246524652465246524652465245524552455245524552455245524552445244524452445243524352435243524352435243524352425242524252425241524152415241524152415241524052405240524052395239523952395239523852385238523852385238523852385238523852375237523752375237523652365236523652355235523552355235523552355235523552355234523452345234523452345233523352335233523352335233523252325232523252315231523052305230523052305230523052305230523052295229522952295229522952295228522852285228522852285228522852275227522752265226522652265226522652265226522652265225522552255225522552255225522552255224522452245224522452245224522452245224522452245224522352235223522352235222522252215221522152215221522152205220522052205220522052195219521952195219521952185218521852185218521852185217521752175217521752175217521752175217521652165216521652165215521552155215521452145214521452145214521352135213521352135213521352135213521352125212521252125212521252125211521152115211521152115211521152105210520952095209520952095209520852085208520852085208520752075207520752075207520752075207520752075207520652065206520652065206520652065205520552055205520552055205520552055205520452045204520352035203520352035203520352035202520252025201520152015201520152015201520152005200520052005200520052005199519951995199519951995199519851985198519851985198519751975197519751975197519751975197519751965196519651965196519651965196519651965195519551955195519451945194519451945194519451945194519451945194519351935193519351935192519251925192519251925192519251925191519151915191519051905190519051905189518951895189518951895189518951895189518951885188518851885188518851885188518851885188518751875187518751875186518651865186518651855185518551855185518451845184518451845184518351835182518251825182518251815181518151815181517951795179517951785178517851785178517851775177517751765176517651755175517551755175517551755175517451745173517351735173517351735172517251725172517251725172517151715171517151715171517151705170517051705170517051705169516951695169516951695169516951685168516851685168516851675167516651665166516651655165516551655165516551655165516451645164516451645164516451645164516451645163516351635163516351635163516351625162516251625162516251625162516151615161516151615161516151615161516151605160516051605160516051605160515951595159515951595159515951595159515851585158515851585158515851585158515851575157515751575157515751565156515651565156515651565156515551555155515551555155515451545154515451545154515451545154515451545154515451545154515351535153515351535153515351535153515251525152515151515151515151515151515051505150515051505150515051505149514951495149514851485148514851485147514751475147514751475147514651465146514651455145514551455145514551455145514551455144514451445144514451445144514451445144514451445144514451435143514351435143514351435142514251425142514251425142514251425142514251425142514251425142514251415141514151415141514151415140514051405140513951395139513951385138513751375137513751375137513651365136513551355135513551355135513551355134513451345134513451345134513451335133513351335133513251325132513151315131513051305130513051305130513051305129512951295128512851285128512851285127512751275127512751275126512651265126512651265126512551255125512551255125512451245124512451245124512451245124512451245124512351235123512351235123512351235122512251225122512251225122512251225122512151215121512151205120512051205119511951195119511951195119511951185118511851185117511751175117511751175117511751165116511651165115511551155115511451145114511451145113511351135113511251125112511251125112511251125112511251125112511251125111511151115111511151115110511051105109510951095109510951095109510951085108510851085108510851075107510751075107510651065106510651065105510551055105510551045104510451045104510351035103510351035103510351035102510251025102510251025102510251025102510151015101510151015101510151015101510151015100510051005100510051005100510051005100509950995099509950995099509950995099509850985098509850975097509750975097509750975097509750965096509650955095509550955094509450945094509450945093509350935093509350935093509250925092509250925092509250925092509250925092509250915091509050905090509050905090508950895089508950885088508850885088508850885087508750875087508750875086508650865085508550855085508550855084508450845084508450845084508450845083508350835083508350835083508250825082508250815081508150805080508050805080508050805080507950795079507950795079507950795079507850785077507750775077507750775077507750765076507650765076507650765075507550755075507550755075507550755075507550755075507450745074507450745074507450745073507350735073507350735072507250725072507250725072507250725072507250715071507150705070507050705070507050705070507050705069506950695069506950695069506950695069506850685068506850685068506750675067506750665066506650665066506650665066506650665065506550655065506550655064506450645064506450645064506450645064506350635063506350635063506350635063506250625062506250625062506250625062506150615061506150615061506050605060506050605060506050595059505950595059505950595058505850585058505850585058505850585058505850585057505750575057505750565056505650565056505550555054505450545053505350535053505350535053505350535053505350525052505250525052505250515051505150515051505150505050505050505050505050505050504950495049504950495049504850485048504850485048504850475047504750475047504750475047504750465046504650465046504650455045504450445044504450445043504350435043504350435043504350435043504350425042504250425042504250425042504250425042504150415041504150415041504150405040504050405040504050395039503950395038503850385038503850385038503750375037503750365036503650365036503650365035503550355035503550355035503550345034503450345034503450345034503450335033503350325032503250325032503250325031503150315031503150315031503050305030503050305030503050305030503050305030503050305029502950295029502950295029502950295029502950295029502950295029502950295029502950295029502950295029502950285028502850285028502850285028502850275027502750275027502750275027502750275027502650265026502650265025502550255025502550245024502450245024502350235023502250225022502250225022502150215021502150215021502150215020502050205020502050205020502050205019501950195019501950195018501850185017501750175017501650165016501650165016501650165016501650155015501550155015501550155014501450145014501450145013501350135013501350125012501250125012501250125011501150115011501150105010501050105010501050105009500950095009500950095009500950085008500850085007500750075007500750075007500750065006500650065006500650055005500550055005500550055004500450045004500450045004500450045004500350035003500350025002500250025002500150015001500150015001500150005000500050005000500050005000500049994999499949994999499949984998499849984998499849984997499749974997499749974997499749974996499649964995499549954995499449944994499449944993499349934993499349934992499249924992499249914991499149914990499049904990499049904990499049894989498949894989498949894989498949884988498849884988498749874987498749874986498649864986498649864986498549844984498449844984498449834983498349834983498349834982498249824982498249824982498249814981498149814981498149804980498049804980498049794979497949794979497949794978497849784978497849784978497749774977497749774977497749764976497649764976497649754975497549754975497549754974497449744974497449744974497449734973497349724972497249724972497249724972497249724971497149714971497149714970497049704970497049704969496949694969496949684968496849684968496849674967496749674967496749674967496649664966496649664966496649654965496549654965496549654965496449644964496449644963496349634963496349634963496349634963496349634962496249624962496249624962496149614961496149614961496149614961496149614961496149604960496049594959495949594959495949594959495949594959495849584958495849584958495849584957495749574957495749564955495549554955495549544954495449544954495449544954495449544953495349534953495349534953495349524952495249524952495249524951495149514951495149514951495149504950495049504950495049504949494949494949494949494949494849484948494849484948494849484948494849484947494749474947494649464946494649464946494649464946494649454945494549454945494549454945494449444944494449444944494449444943494349434943494349434942494249424942494249424942494249414941494149414941494149414940494049404940494049394939493949394938493849384938493849384938493849384938493749374937493749374937493749364936493649364936493649364936493649354934493449344934493349334933493249324932493249324932493249324931493149314931493149314931493149314931493149314931493049304930493049304930492949294929492949284928492849284928492749274927492749274927492749274927492649264926492649264925492549254925492549254924492449244924492449244924492449244924492449234923492349234923492349234923492349224922492249224922492149214921492149214921492149214921492049204920492049204920492049204920491949194919491949194919491949194919491949184918491849184918491849174917491749174917491749164916491649164916491649164916491649154915491549154915491549154915491449144914491449144914491349134913491349134913491349134913491249124912491249124912491249124912491149114911491149114911491149114911491149114910491049104910491049104910490949094909490949094909490949094909490949094908490849084908490749074907490749074907490649064906490649054905490549054905490549044904490449044904490349034903490349034903490349024902490249024902490149014901490149014901490149014900490049004900490049004900489948994899489948994899489948994898489848984898489848984898489848984898489748974897489748974897489748974897489748974897489648964896489648964896489648964896489648954895489548954895489548954894489448944894489448944894489448944894489448944894489448934893489348934893489348934893489248924892489248924892489248924891489148914891489148914891489048904890489048904890489048904890488948894889488948894889488948894889488848884888488848884888488848884888488848874887488748874887488748874886488648864886488648864885488548854885488548854885488448844884488448844884488448834883488348834883488348834882488248824882488248814881488148804880488048804880488048804880488048804880488048804880488048804879487948794879487948794879487948794878487848784878487848774877487748774877487748774877487648764876487648754875487548754875487548754875487548744873487348734873487348734873487348724872487248714871487148714871487148704870487048704870486948694869486948694869486948694869486948684868486848684868486848684868486748674867486748674867486748664866486648664866486648664866486648654865486548654865486548654864486448644864486448644864486448644863486348634863486348634863486248624862486248624862486248624862486148614861486148614861486048604860486048604860486048594859485948594859485848584858485848574857485748574857485748574857485748574857485748574857485748564856485648564856485648564855485548554855485548544854485448544854485448544854485448544854485448534853485348534853485248524852485248524851485148514851485148514850485048504850485048504850484948494849484948494849484948494849484948484848484848484848484848484848484848474847484748474847484748464846484648464846484648454845484548454845484548454845484548454844484448444844484448444843484348434843484348434842484248424842484248424842484148414841484148414841484148404840484048404840484048394839483948394839483848384838483848384837483748374837483648364836483648364836483648364835483548354835483548344834483448344834483448344834483348334833483348334832483248324832483248324832483148314831483148314831483148314830483048304830483048304830482948294829482848284828482848284828482848284827482748274827482748264826482648264825482548254825482548254825482548254825482448244824482448244824482348234823482348234823482348234822482248224821482148214821482148214821482148214820482048204820482048204820481948194819481948194819481948194819481848184818481848184818481848184818481848174817481748174817481648164816481648154815481548154815481548144814481448144814481448144814481448144813481348134813481248124812481248124812481148114811481148114811481148114810481048104809480948094809480948084808480848084808480848084807480748074807480748074807480748074806480648064806480648064806480648064806480648054805480548054805480548054805480548044804480448044804480448044804480448034803480348034803480348034803480248024802480248024801480148014801480148014801480048004800480048004800480047994798479847984798479847984798479747974797479647964796479547954795479547954794479447944794479447944794479447934793479347934793479347934793479247924792479247924792479247924792479247914791479147914791479147914791479147904790479047904790478947894789478947894789478947894788478847884788478847884788478747874787478747874787478647864786478647864786478647854785478547854784478447844784478447844784478447834783478347834783478347834782478247824782478147814781478147814781478147804780478047804780477947794779477947794779477947794779477847784778477847784778477847784778477847774777477747774777477747774777477747764776477647764776477647764775477547754775477547744774477447744774477447744774477447744773477347734772477247714771477147714770477047704770477047704769476847684768476847684768476747674767476747674767476747674767476747674766476647664766476647664765476547654765476547654765476447644764476447644764476347634763476347634763476347634763476247624762476247624762476247624762476247614761476147614761476147614761476147614761476147614761476047604760476047604760476047604760475947594759475947594759475947594758475847584758475847584758475847574757475747574757475747574757475647564756475647564756475647554755475547554755475547554755475547554755475447544754475447544753475347534753475347524752475247524752475247524752475147514751475047504750475047504750475047504749474947494749474947494748474847484748474847484748474847474747474747474747474747474747474747474747474647464746474647464746474647454745474547454744474447444744474347434743474347434743474247424742474247424741474147414741474147414741474147414740474047404740474047404740473947394739473847384738473847374737473747374737473747364736473647364736473647364736473547354735473547354735473447344734473447344734473447334733473347334733473247324732473247324732473247314731473147314731473147314731473147314731473147304730473047304730473047304730472947294729472947294729472847284728472747274727472747274727472747274726472647264726472647264725472547254725472547254725472547244724472447244724472447234723472347234723472347234723472247224722472247224721472147214721472147214721472147214721472047204720472047204720472047194719471947194719471947194719471947194718471847184718471847184718471847184717471747174717471747174717471747174717471747174717471747164716471647164716471647164716471647164715471547154715471547154714471447144714471447134713471347134713471347134713471347134712471247124712471247124712471247114711471147114711471147114711471047104709470947094708470847084708470847084708470847084708470747074707470747074707470647064706470647064706470647064705470547054705470547044704470447044704470447044704470347034703470347034703470247024702470247024702470247014701470147014701470147014701470147014701470147014701470047004700470047004700470047004699469946994699469946994699469946994699469846984698469846984697469746974697469746974697469746974697469746974696469646964696469646964696469646954695469546954695469546954695469446944694469446944693469346934693469346934693469246924692469246924692469246914691469146914691469146914690469046904690469046904690469046894689468946894689468946884688468846884687468746874687468746864686468646864686468646864685468546854685468546854685468546854685468546854684468446844684468446844684468346834683468346834683468346824682468246824682468246814681468146814681468146814681468146814680468046804680468046794679467946784678467846784678467846784678467846774676467646764676467646764675467546754675467546754675467546754674467446744674467446734673467346734673467346724672467246724672467246724672467246724672467146714670467046704670467046694669466946694669466846684668466846674667466746674667466746664666466646664666466646664666466646664665466546654665466546654665466546654665466446644664466446644664466346634663466346634663466346634663466346634663466246624662466246624662466246624661466146614661466146604660466046604660466046604660465946594659465946584658465846584658465846574657465746574657465746564656465646564656465646564655465546554654465446544654465446534653465346534653465346534653465346524652465246524651465146514651465146514651465146514650465046504650465046494649464946494649464846484648464846484648464846474647464746464646464646464646464646464645464546454645464546454644464446444644464446444644464446434643464346434643464346434643464346434642464246424642464246424642464246424642464146414641464146414641464146414640464046404640463946394639463946394639463946394639463946384638463846384638463746374637463746374637463746374637463746374636463646364636463646364635463546354635463446344634463446344634463446344634463346334633463346334633463346334632463246324632463246324631463146314631463146314631463146314630463046304630463046304630463046304630463046304630463046294629462946284628462846284628462846284628462846274627462746274627462746274627462746264626462646264626462646264625462546254625462546254625462546254625462446244624462446244624462446244624462446244624462346234623462346234623462346234623462346234623462346224622462246224622462146214621462046204620462046204620462046204620462046204619461946194619461846184618461846184618461846184618461746174617461746174617461746174616461646164616461646164616461646164615461546154615461546154614461446144614461446144614461446134613461346134613461346124612461246124612461246124612461246124612461146104610461046104610461046104610460946094609460946094609460946084608460846084608460846084608460846084608460746074607460746074607460746074607460746074607460646064606460646064606460646064606460546054605460546054604460446044604460446034603460346034603460346024602460246024602460246024601460146014601460146014601460146004600460046004600460046004599459945994599459945994599459945994599459945994599459845984598459845984598459845984598459745974597459745974597459745974597459645964596459645964596459545954595459545944594459445944594459445944594459345934593459345934593459345924592459145914591459145914591459145914590459045904590459045904590458945894589458945894589458945894589458845884588458845884587458745874587458745874587458745874587458645864586458645864586458645864586458645864586458645854585458545854585458545844584458445844584458445844584458345834583458345834583458245824582458245824582458245824582458245824582458245814581458145814581458145804580458045804580457945794579457945794579457945794578457845784578457845784578457845784577457745774577457745774577457645764576457645764576457645764575457545754575457445744574457445744573457345734573457345724572457245724572457245724572457245724572457145714571457145714571457145714571457145704570457045704570457045704570457045694569456945694569456945694569456945694568456845684568456845684568456845684568456845684568456745674567456745674567456745674567456645664566456645664566456645664566456645654565456545654565456445644564456445644564456445644564456445634563456345634563456345634563456245624562456245624562456245624561456145614561456145614561456045604560456045604560456045604560456045594559455945594559455945594559455945594559455845584558455845584558455845584557455745574557455645564556455645564556455645564556455645554555455545554555455545554555455445544554455445544554455445544553455345534553455345534552455245524552455245524552455245524552455245514551455145514551455145514551455145504550455045504550455045504549454945494549454945494549454945494549454945494549454845484548454845474547454745474547454745474547454745474546454645464546454645464546454545454545454545444544454445444544454445444544454345434543454345434543454345434543454345434542454245424542454245424542454145414541454145414541454145414541454145404540454045404540454045394539453945394539453945394539453845384538453845384538453845384538453845384538453745374537453745364536453645364536453645364536453645364535453545354535453545344534453445344533453345334533453345334533453345334533453245324532453245324532453245324532453245324532453145314531453145314531453145304530453045304530452945294529452945294529452945294529452845284528452845284528452845284528452845274527452745274526452645264526452645264526452645264525452545254525452545244524452445234523452345234523452345234523452245224522452245224522452245224521452145214521452145214520452045204520452045204520452045204520452045204519451945194519451945194519451945194519451945194518451845184518451845184517451745174516451645164515451545154515451545154515451545154515451445144514451445144514451445144513451345134513451345134512451245124512451245124512451245124512451245114511451145114511451145104510451045104510451045104510450945094509450945094508450845084508450845084508450845084507450745074507450745074507450745074506450645064506450645064506450645064506450545054505450545054505450545054505450445044504450445044504450445044504450445044503450345034502450245024502450245024502450245024501450145004500450045004500450045004500449944994499449944994499449944994498449844984498449844984498449844984497449744974496449644954495449544954495449544954494449444944494449444934493449344934493449244924492449244924492449244924492449244924492449144914491449144914491449144914491449044904490449044904490449044904490449044904489448944894489448944894489448944894489448944894489448844884488448844874487448744874487448744874487448644864486448644864486448644864486448644864485448544854485448544854485448444844484448444844484448444834483448344834483448344834483448344824482448244824481448144814481448144804480448044804480448044804479447944794478447844784478447844784478447744774477447744774477447644764476447644764476447644764475447544754475447544754475447444744474447444744474447444744474447444744473447344734473447344734473447344724472447244724472447244714471447144714471447144714471447144714471447144714470447044704470447044704470447044704470447044704470447044704470446944694469446944694469446944694469446944684468446844684468446844684467446744674467446744674467446644664466446644664466446644664465446544654465446444644464446444644464446444644464446344634463446344634463446344634462446244624462446244624462446244624462446144614460446044604460446044604460446044604460445944594459445944594459445944594459445944584458445844574457445744574457445744574457445644564456445644564456445644564455445544554455445544554454445444544454445444544454445444544453445344534453445344534453445344534452445244524452445144514451445144514451445144514450445044504450445044504450445044494449444944494449444944494449444944494449444844484447444744474447444744474447444744464446444644464446444644454445444544454445444544454445444544454445444544454444444444444444444444444444444344434443444344434443444344434442444244424442444244414441444144414441444144414441444144414441444144414440444044404440444044404440443944394439443944394439443844384438443844384438443844374437443744374437443744374437443744374437443744364436443644364436443644364436443644364435443544354435443544344434443444344434443444344434443444344434443444344433443344334433443344334433443344334433443344334433443244324432443244324431443144314431443144314431443144314431443144314430443044304430443044304430443044304430442944294429442944294429442944294429442844284428442844284428442844284428442844274427442744274427442744274427442644264426442644264426442644264426442544254425442544254425442544254425442544254425442544254424442444244424442444244424442444234423442344234423442344234423442244224422442244224422442244224422442244224422442144214421442144214421442144204420442044204420442044204420442044194419441944194419441844184418441844184418441844184418441744174417441744174417441644164415441544154415441544144414441444144414441444144414441344134413441344134413441344124412441244124412441244124412441144114411441144114411441044104410441044104410441044094409440944094409440944094409440944094409440944094409440844084408440844084408440844084408440844084408440844084408440844084407440744074407440744074407440644064406440644064406440644064406440644064405440544054405440544054405440544044404440444044404440444044404440444034403440344034402440244024402440244024402440244024402440244014401440144014401440144014401440144004400440044004400440044004400440044004399439943994399439943994399439943994399439943994399439943994398439843984397439743964396439643964396439643964396439643964396439643964395439543954395439543954395439543954395439543954394439443944394439443944394439443934393439343934393439343934392439243924392439243924392439143914391439143914391439143914391439143904390439043904390439043904390438943894389438943884388438843884388438843884388438843884388438843874387438743874387438743874387438743864386438643864386438643864386438643864386438643854385438543854385438543854385438443844384438443844384438443834383438343834383438343824382438243824382438243824382438243824382438243814381438143814381438043804380437943794379437943784378437843784378437843784378437743774377437743774377437743774377437643764376437643764375437543754375437543754375437543754374437443744374437443744374437443744374437443744373437343734373437343734372437243724372437243724372437143714371437143714371437143704370437043704370437043704370436943694369436943694369436943694369436843684368436843684368436743674367436743674367436743674366436643664366436643664366436643664366436543654365436543654365436543644364436443644364436343634363436343624362436243624362436243624362436243624362436243614361436143614361436143614361436043604360436043604360436043604360436043604359435943594359435943584358435843584358435843584357435743574357435643564356435643564356435643554355435543554355435543544354435443544354435443544354435443544353435343534353435343534353435343524352435243524352435243524352435243524352435143514351435143514351435143514351435143514350435043504350435043494349434943494349434943494349434843484348434843484348434843484347434743474347434743474347434743474347434743474347434743474347434743474347434643464346434643464346434543454345434543454345434443444344434443444343434343434343434343434342434243424342434243424342434243424341434143414341434143414341434143404340434043404340434043404340433943394339433843384338433843384338433843384337433743374337433743374337433743364336433643364336433643364336433643364336433643364335433543354335433543354335433543354335433543354334433443344334433443344333433343334333433343334333433343334332433243324332433243324332433243314331433143314331433143314331433143304330433043304330433043304329432943294329432943294329432943294329432943294329432843284328432843284328432843284327432743274327432743274326432643264326432643264326432643264326432643254325432543254325432543254325432543254325432543254324432443244324432443244324432443244324432443244324432443234323432343234323432343234323432343234323432343234323432343234323432343234322432243224321432143214321432143214321432143204320432043204320432043194319431943194319431943184318431843184318431843184318431843174317431743174316431643164316431643154315431543154315431543154315431543154315431543154315431543154315431443144314431443144314431443144314431443144314431343134313431343134313431243124312431243124312431243124312431243114311431043104310431043104310430943094309430943094309430943094309430943094309430843084308430843084308430843084307430743074307430743074307430743064306430643064306430643064306430643064306430543054305430543054305430543054305430543044304430443044304430443044304430443044304430443034303430343034303430343034303430343024302430243024302430243024302430243014301430143014301430143004300430043004300430043004300429942994299429942994299429842984298429842984298429842984298429742974297429742974297429742974297429742974297429742974297429642964296429642964296429642964296429542954295429542954294429442944294429442944294429442944294429442944293429342934293429342934293429342924292429242924292429242924292429242924292429242924292429142914291429142914291429142914291429042904290429042904290429042894289428942894289428942894289428842884288428842884288428842884287428742874287428742864286428642864286428642864285428542854285428542844284428442844284428442844284428442844284428442844283428342834283428342834283428242824282428242824282428242824282428242814281428142814281428042804280428042804280428042804280427942794279427942794279427942794279427942794278427842784278427842784278427842784278427742774277427742774277427642764276427642764276427642764276427542754275427542754275427542754275427542754274427442744274427442744274427442744273427342734273427342734273427242724272427242724272427242724272427142714271427142714271427142704270427042704270427042694269426942694269426942694269426842684268426842684268426842684267426742674267426642664266426642664266426542654265426542654265426542654265426442644264426442644264426442644264426442644263426342634263426342634263426242624262426242624262426242614261426142614261426142614261426042604260426042604260426042604260426042604259425942594259425942594259425842584258425842584258425842574257425742574257425742564256425642564256425642564256425642554255425542554255425542554255425542554255425542554255425442544254425442534253425342534253425342524252425242524252425242514251425142514251425142514251425142504250425042504250424942494249424942494249424942494249424942484248424842484248424842484248424742474247424742464246424642464246424642464246424542454245424542454245424542454245424542454245424542454245424542454244424442444244424442444244424442444244424342434243424342434243424342434243424342434242424242424242424242424241424142414241424142414241424142404240424042404240424042394239423942394239423942394239423942394238423842384238423842384238423842384238423842384238423842374237423742374237423742374237423742364236423642364236423542354235423542354235423542344234423442344234423442334233423342334233423342334233423342334232423242324232423242324232423142314231423142314231423142314231423142304230423042304230423042304229422942294229422942284228422842284228422842284228422842284228422842284227422742274227422742274227422742274227422742274227422642264226422642264226422642264226422642254225422542254225422542254225422442244224422442244224422342234223422342234223422342234223422242224222422242224222422242224222422242214221422142214221422142214221422142214221422142204220422042204220422042204220421942194219421942194218421842184218421842184218421742174217421742174217421742174217421742174216421642164216421642164216421642164215421542154215421542154214421442144214421442144214421442134213421342134213421342134213421342134213421342124212421242124212421242124212421242124211421142114211421142114211421142104210421042104210421042104210421042104209420942094209420942094208420842084208420842084207420742074206420642064206420642064206420642054205420542054205420542054204420442044204420442044204420442044204420442044203420342034203420342034203420242024202420242024202420142014201420142014201420142014201420142004200420042004200420042004200420042004200420042004199419941994199419941994199419941994199419841984198419841984197419741974197419741974197419641964196419641964196419641964195419541954195419541954195419441944194419441944194419441934193419341934193419341934193419341934192419241924192419241914191419141914191419141904190419041904190419041904190419041904189418941894189418941894189418941894188418841884188418841884188418841884188418741874186418641864186418641864186418641864186418541854185418541854185418541854185418441844184418441844184418441834183418341834183418341834182418241824182418241824182418241824182418141814181418141814181418141814181418141814180418041804180418041804180418041804180418041804179417941794178417841784178417841784178417841784178417841784178417741774177417741774177417741774176417641764176417641764176417641764176417641764175417541754175417541754174417441744174417441744174417441744173417341734173417341734173417341724172417241724172417241724171417141714171417141714170417041704170417041704170417041694169416941694169416941684168416841684168416841684167416741674167416741664166416641664166416641664166416541654165416541654165416541654165416441644164416441644164416441634162416241624162416241624162416241624161416141614161416141614161416141614161416141614161416141604160416041604160416041604160416041604159415941594159415941594159415941584158415841584158415841584158415841584158415841574157415741574157415741574157415741574157415641564156415641564156415641564156415641564156415541554155415541554154415441544154415441544154415441534153415341534153415341534153415241524152415241524151415141514151415141514151415141514150415041504150415041504149414941494149414941484148414841484148414841484148414841484148414741474147414741474147414741474146414641464146414641464146414641454145414541454145414541454145414441444144414441444144414441444144414441444143414341434143414341434143414341424142414241424142414241424142414241424142414241424142414241414141414141414141414141414141414041404140414041404140413941394139413941394139413941394139413941384138413841384138413841384138413841384138413741374137413741374137413741374137413641364136413641364136413641364136413641364135413541354135413541354135413441344134413441344134413441344134413441334133413341334133413341334133413341334133413341324132413241324132413241314131413141314131413141314131413141314131413141314130413041304130413041304130412941294129412941294128412841284128412841284128412841274127412741274127412741274126412641264126412641254125412541254125412541254124412441244124412441244123412341234123412341224122412241224122412241224122412241224122412241224122412141214121412141214121412141204120412041204120412041204120412041204120412041204120412041194119411941194119411941194119411941184118411841184118411841184118411841174117411741174117411741174117411741174116411641164116411641164116411641164116411541154115411541154115411541154115411541144114411441144114411441144114411441134113411341134113411341124112411241124112411241124112411241114111411141114110411041104110411041094109410941094109410941094109410841084108410841084108410841084108410841074107410741074107410741074107410741074106410641064106410641064106410541054105410541044104410441044103410341034103410341034103410341034103410341024102410241024102410241014101410141014101410141014101410141014100410041004100410040994099409940994099409940984098409840984098409840984098409840984098409740974097409740974097409740964096409640964096409640964096409640964095409540954095409540954095409540954095409540954095409540954095409440944094409440944094409440944094409440944094409440934093409340934093409340934093409340934093409340934093409340934093409340934092409240924092409240924092409240924092409240924092409140914091409140914091409040904090409040904090409040904090409040894089408940894089408940894089408940894089408940894089408940894089408940894089408940894089408940894089408940894089408940894089408940894089408940894089408940894089408940894089408940894089408940894088408840884088408740874087408740874087408740874087408640864086408640854085408540854085408540854085408540844084408440844084408440844084408440844084408340834083408240824082408240824082408240824082408240814081408140814081408140814081408140804080408040804080408040794079407940794079407940794079407940784078407840784078407840784077407740774077407740774077407740774077407740774077407640764076407640764076407640764076407640764076407540754075407540754075407540754075407440744074407440744074407440744074407440744073407340734073407340734073407340734073407240724072407240724072407240724071407140714071407140714070407040704070407040704070407040704069406940694069406840684068406840684068406840684068406840684068406740674067406740674067406740674067406740664066406640664066406640664066406640654065406540654065406540654065406540654065406540644064406440644064406440644064406440644064406340634063406340634063406340634063406240624062406240624062406240624062406240624062406240614061406140614061406140614060406040604060406040604060406040604060406040604060406040604059405940594059405940594059405940594059405940584058405840584058405840584058405840584058405840584057405740574057405740574057405740574056405640564056405640564056405640564056405540554055405540554055405540554055405540554055405440544054405440544054405440534053405340534053405340534053405340534052405240524052405240524052405240524052405240524052405240524052405240514051405140514051405140514051405040504050405040504050405040504050405040494049404940494049404940494048404840484048404840484048404840484048404840474047404740464046404640464046404640464046404640464046404640464045404540454045404540454045404540454045404540444044404440444044404440444044404440444044404340434043404340434042404240424042404240424042404140414041404140414041404140414041404140414041404140404040404040404040404040404040404040394039403940394039403940394039403940394038403840384038403840384037403740374037403740374036403640364036403640364036403540354035403540354035403540354035403540354035403540354035403540354035403540344034403440334033403340334033403340334033403240324032403240324032403240324032403240314031403140314031403140314031403140314030403040304030403040304030402940294029402940294029402940294029402940294028402840284028402840284028402840274027402740264026402640264026402640264026402640264026402640264026402540254025402540254025402540254025402540244024402440244024402440244024402440244024402440234023402340234023402340234023402340224022402240214021402140214021402140214021402140214020402040204020402040204020402040204020401940194019401940194019401940194019401940194019401940194019401940194019401940184018401840184018401840174017401740174017401740174017401740164016401640164016401640164015401540154015401540154015401540154015401540144014401440144014401440144014401340134013401340134013401340134013401340134013401340134012401240124012401240124012401140114011401140114011401140114011401040104010401040104010401040104010401040104009400940094009400940094009400940094009400940094009400840084008400840084008400840084007400740074007400740074007400640064006400640064006400640064006400540054005400540054005400540054005400540054004400440044004400440044004400440044004400440044004400440044003400340034003400340034003400340034003400340034003400240024002400240024002400240024002400240014001400140014001400140014001400140004000400040004000400040004000400040004000400040004000400040003999399939993999399939993999399839983998399839983998399839983998399839983997399739973997399739973997399739973997399639963996399639963996399639963996399639963996399539953995399539953995399539953995399439943994399439933993399339933993399339933993399239923992399239923991399139913991399139913991399139913991399139913991399139903990399039903990399039903990399039903989398939893989398939893989398939893988398839883988398839883987398739873987398739873987398639863986398639863986398639863986398539853985398539853985398539853984398439843984398439843984398439843984398439843983398339833983398339833983398239823982398239823982398239823981398139813981398139813980398039803980398039803980398039803980397939793979397939793979397939783978397839783978397839783978397839783978397839773977397739773976397639763976397639763976397639763976397639753975397539753975397539753975397439743974397339733973397339733973397339723972397239723972397239723972397239723972397239723971397139713971397139713971397139703970397039703970397039703969396939693969396939693969396939693969396939693968396839683968396839683968396839683968396839683967396739673967396739663966396639663966396639663966396639663965396539653965396539653965396539653965396539653965396539653964396439643964396439643963396339633963396339633963396339633963396339633963396339623962396239623962396239623962396239623962396239623962396239623962396239623962396239613961396139613961396139613960396039603960396039603960396039603960396039593959395939583958395839583958395839583958395839583958395839573957395739573957395739573957395639563956395639563956395639563956395639563956395539553955395539553955395539553955395539553955395539543954395439543954395439543954395439543954395339533953395339533953395339533952395239523952395239523952395139513951395139513951395139503950395039503950395039503950395039503950395039493949394939493949394939483948394839483948394839483948394839483948394739473947394739473947394739473947394739473947394639463946394639463946394639463946394639453945394539453944394439443944394439443944394439443944394339433943394339433942394239423942394239423942394239423941394139413941394139413941394139413941394039403940394039403940394039403939393939393939393939393938393839383938393839383937393739373937393739373937393739373937393739373937393739363936393639363936393639363936393639363936393539353935393539353935393539353935393539353935393539353934393439343934393439343934393439343934393439343933393339333933393339333933393339333932393239323932393239313931393139313931393139313931393139313931393039303930393039303930393039303930393039303929392939293929392939293929392939283928392839283928392839283928392839283928392839283928392839283928392839283928392839283928392839273927392739273927392739273927392739273927392639263926392639263926392639263925392539253925392539253925392539253925392539253924392439243924392439243924392439243924392339233923392339233922392239223922392239223922392239223922392239223922392239213921392139213921392139213921392039203920392039203920392039193919391939193919391939183918391839183918391839183918391839173917391739173917391739173916391639163916391639163916391639163916391639153915391539153915391539153914391439143914391439143914391439143913391339133913391339133913391339133912391239123912391239123912391239123912391239123911391139113911391139113911391139113911391039103910391039093909390939093909390939093909390939093908390839083908390839083908390839083907390739073907390739073907390639063906390639063906390639063906390639053905390539053905390539053905390539053904390439043904390439043904390439043903390339033903390339033903390339033903390339023902390239023902390239023902390239023902390139013901390139013901390139013901390139013901390039003900390039003900390039003900390038993899389938993899389938993899389938993899389838983898389838983898389738973897389738973897389738973897389738973896389638963896389638963895389538953895389538953895389538953895389538953894389438943894389338933893389338933893389238923892389238923892389238923891389138913891389138913891389138913890389038903890389038903890388938893889388938893889388938893889388938893888388838883888388838883888388738873887388738873887388738873887388738873887388738863886388638863886388638863886388638863886388638863886388538853885388538853885388538853885388538843884388438843884388438843884388438833883388338833883388338823882388238823882388238823881388138813881388138813881388138813880388038803880388038803880388038793879387938793879387938793879387938793878387838783878387838783878387838783878387838773877387738773877387738773877387738773876387638763876387638763875387538753875387438743874387438743874387438743874387438743874387338733873387338733873387338733873387338733872387238723872387238723872387238723872387138713871387138713871387138713870387038703870387038703870387038703870386938693869386938693869386838683868386838683868386838683868386838683868386838683867386738673867386738673867386738673867386638663866386638663866386638663866386638663866386538653865386538653865386538653865386538653865386538653865386438643864386438643863386338633863386338633863386238623862386238623862386238613861386138613861386138613861386138613861386038603860386038603860386038603859385938593859385938593859385938593859385938593859385938583858385838583858385838583858385838583858385838583858385838583857385738573857385738563856385638563856385638563856385638563855385538553855385538553855385538553854385438543854385438543854385438543854385438543853385338533853385338533853385338533852385238523852385238523852385238523852385238523852385138513851385138513851385138513851385038503850385038503850385038503850385038503849384938493849384938493849384938493849384938493849384838483848384838483848384838483847384738473847384738473847384638463846384638463846384638463846384638463845384538453845384538453845384538453845384538453845384438443844384438443844384438443844384438443844384438433843384338433843384338433843384238423842384238423842384238423841384138413841384138413841384138413840384038403840384038403840384038403839383938393839383938393838383838383838383838383838383738373837383738373837383738373837383738373837383738373837383738373837383638363836383638363836383638363836383638353835383538353835383538353835383538343834383438343834383438343833383338333833383338333833383338333833383338333832383238323832383238323832383138313831383138313831383138313831383138313831383138313830383038303830383038303829382938293829382938293828382838283828382838283827382738273827382738273827382738273826382638263826382638263826382638263826382638263825382538253825382538253825382538253825382438243824382438243824382438243824382438243823382338233823382338223822382238223822382238223822382238223822382238213821382138213821382138213821382138213821382138203820382038203820382038203820382038203820382038193819381938193819381838183818381838183818381838183818381838183818381838183818381838173817381738173817381738173817381738173817381738163816381638163816381638163815381538153815381538153815381538153815381538143814381438143814381438143814381438143813381338133813381338133813381338133813381238123812381238123812381238123812381238123811381138113811381138113811381138113811381138113810381038103810381038103810381038103809380938093809380938093809380938083808380838083808380838083808380838083807380738073807380738073807380638063806380638063806380538053805380538053805380538053805380538053805380538053804380438043804380438043804380438043803380338033803380338033803380338033803380338033803380338033802380238023802380138013801380138013801380138013801380138013800380038003800380038003800380038003800379937993799379937993799379937993798379837983798379837983798379837983798379837983797379737973797379737973796379637963796379637963796379637963796379537953795379537953795379537953795379537953795379537953795379437943794379437943794379437933793379337933792379237923792379237923792379237923792379237923791379137913791379137913791379137913790379037903790379037903790379037903790379037893789378937893789378937893789378937893789378937893789378937883788378837883788378837883788378837883788378837883788378837873787378737873787378637863786378637863786378637863786378537853785378537853785378537853785378537853785378437843784378437843784378437843784378437843783378337833783378337833783378237823782378237823782378237823781378137813781378137813781378137813781378037803780378037803780378037803780377937793779377937793779377937793779377937793779377837783778377837783778377837783778377837783778377837773777377737773777377737773776377637763776377637763776377637763776377637753775377537753775377537753775377537753774377437743774377437743774377337733773377337733773377337723772377237723772377237723772377237723772377237713771377137713771377037703770377037703770377037703770377037703769376937693769376937693769376937693769376937693768376837683768376837683768376837683768376737673767376737673767376737673766376637663766376637663766376637663766376637663766376637663765376537653765376537653765376437643764376437643764376437643764376337633763376337633763376337633763376337633763376337633763376337633762376237623762376237623762376237623762376137613761376137613761376137613760376037603760376037603760375937593759375937593759375937593759375937593758375737573757375737573757375737573756375637563756375637563756375637563755375537553755375537553755375537553755375537553755375537543754375437533753375337533753375337533753375337533753375237523752375237523752375237523752375237513751375137513751375137513751375037503750375037503750375037503749374937493749374937483748374837483748374837483748374837483747374737473747374737473747374737473747374637463746374637463746374637463746374637463746374637463746374637463746374537453745374537453745374537453744374437443744374437443744374437443744374437443743374337433743374337433743374337433743374337433742374237423742374237423742374237413741374137413741374137413741374137413740374037403740374037403740374037393739373937393739373937393739373937393739373937393739373937393738373837383738373837383738373837383738373837383738373837383738373737373737373737373737373737373737373737363736373637363736373637363736373537353735373537353735373537353735373537353735373537353735373537353735373537353735373537353735373537353735373437343734373437333733373337333733373337333732373237323732373237313731373137313731373137313731373137303730373037303730373037303730372937293729372937293729372837283728372837283728372837283728372837283727372737273727372737273727372737273727372737273726372637263726372637263726372637263725372537253725372537253725372537243724372437243724372437243724372337233723372337233723372337233723372237223722372237223722372237223722372237223722372237223721372137213721372137213721372137213721372137213721372137213721372137213721372037203720372037203720372037203720372037203720372037203719371937193719371937193719371937193719371937183718371837183718371837183718371837183718371837173717371737173717371737173717371737173717371737173717371737163716371637163716371637163716371637163715371537153715371537153715371537153715371537153715371537143714371437143713371337133713371337133713371237123712371237123712371237123712371237123712371237123712371237113711371137113711371137113710371037103710371037103710371037103710371037103710371037093709370937093709370937093709370837083708370837083707370737073707370737073707370737063706370637063706370637063706370637063706370637063706370637063705370537053705370537053705370537053705370537043704370437043704370437043704370437043704370437043704370437043703370337033703370337033703370337033703370337033702370237023702370237023702370237023702370137013701370137013701370137013701370137013700370037003700370037003700369936993699369936993699369936993699369936993699369936993698369836983698369836983698369736973697369736973697369736973697369736963696369636963696369636963696369636963696369636963696369636953695369536953695369536953695369536953695369536953694369436943694369436943694369436943694369436943693369336933693369336933693369336933693369336933693369336923692369236923692369236923692369236923692369136913691369136913691369136913691369136913690369036903690369036903690369036903690368936893689368936893689368936893689368936893689368936893689368836883688368836883688368836883688368836873687368736873687368736873687368736873687368736873687368736873687368636863686368636863686368536853685368536853685368536853684368436843684368436843684368436843684368336833683368336833683368336833683368336833682368236823682368236823682368136813681368136813681368136813680368036803680368036803680368036803679367936793679367936793679367836783678367836783678367836783678367836783678367836783677367736773677367736773676367636763676367636763675367536753675367536753675367536753675367536753675367436743674367436743674367436733673367336733673367336733673367336733672367236723672367236723672367236723672367136713671367136713671367136713671367136713671367136703670367036703670367036703670367036703670367036693669366936693669366936693669366936693669366936693669366936693669366836683668366836683668366836683667366736673667366736673667366736673667366736663666366636663666366636663666366636663666366636653665366536653665366536653665366536653665366536653665366536653665366536653665366436643664366436643664366436643663366336633663366336633663366336633663366336633663366336633663366336633663366236623662366236623662366236623662366236613661366136613661366136613661366136613661366136603660366036603660366036603660366036603659365936593659365936593659365936583658365836583658365836583658365836583658365736573657365736573657365736573657365736573657365636563656365636563656365636563656365536553655365536553655365536553655365536553655365536543654365436543654365436543654365436543654365436533653365336533653365336533653365336533653365336533653365236523652365236523652365236523652365136513651365136513651365136513651365136513651365136513651365136503650365036503650365036503650365036503650364936493649364936493649364936493648364836483648364836483648364836483648364736473647364736473647364736473647364736463646364636463646364636463645364536453645364536453645364536453645364436443644364436443644364436443644364436443644364436443643364336433643364336433643364236423642364236423642364236423642364236423642364236423641364136413641364136413641364136403640364036403640364036403640364036403640364036403639363936393639363936393639363936383638363836383638363836383638363836373637363736373637363736373637363636363636363636363636363636363636363536353635363536353635363436343634363436343634363436333633363336333633363336333633363336333633363336333633363236323632363236323632363236323632363236323631363136313631363136313631363136313631363136303630363036303630363036303630363036303630362936293629362936293629362936293629362936293629362936293628362836283628362836283628362836283628362836283628362836273627362736273627362736273627362736273627362736273627362636263626362636263626362636263626362636263626362636263625362536253625362536253625362536243624362436243624362336233623362336223622362236223622362236223622362236223622362236223622362236213621362136213621362136213621362136203620362036203620362036203620362036203620362036203620361936193619361936193619361936193619361936193618361836183618361836183618361836183618361836183617361736173617361736173617361736163616361636163616361636163616361636163615361536153615361536153615361536153615361536143614361436143614361436143614361436143613361336133613361336133613361336133613361336133613361336133612361236123612361236123612361236123612361236123611361136113611361136113611361136113611361136113611361136113610361036103610360936093609360936093609360936093609360936093609360936093608360836083608360836083608360836083608360836073607360736073607360736073607360736063606360636063606360636063606360636053605360536053605360536043604360436043604360436043604360436043604360336033603360336033602360236023602360236023602360236023602360236023602360236013601360136013601360136013601360136013601360136013600360036003600360036003600360036003600360035993599359935993599359935993599359935993599359935993598359835983598359835983598359835983598359835983598359835973597359735973597359735973597359735973597359635963596359635963596359635963596359635953595359535953595359535953595359435943594359435943594359435933593359335933593359335933593359335933593359335933592359235923592359235923592359235923592359235923591359135913591359135913590359035903590359035903590359035903590359035903590359035903590358935893589358935893589358935893589358935893589358935893588358835883588358835883588358835883588358735873587358735873587358735873587358735863586358635863586358635863586358635863586358635863585358535853585358535853585358535853585358535843584358435843584358435843584358435843584358435833583358335833583358335833583358335833583358335823582358235823582358235823581358135813581358135813581358135813581358135813581358135813581358135813581358035803580357935793579357935793579357935793579357835783578357835783578357835773577357735773577357735773577357735773577357735773577357735773576357635763576357635763576357635763576357635763576357635753575357535753575357535753575357535753575357435743574357435743574357435743574357435743574357335733573357335733573357335733573357335733573357235723572357235723571357135713571357135713571357135713570357035703570357035703570357035703570357035703570356935693569356935693569356935693569356935693569356935693569356935683568356835683568356835683568356835683568356835683568356835683567356735673567356735673567356735673567356735673567356735673567356635663566356635663566356635663566356635663566356635663565356535653565356535653565356535653565356535653565356535653565356535653564356435643564356435643564356435643564356435643564356435643564356435643563356335633563356335633563356335633563356335623562356235623562356235623562356235613561356135613561356135613561356135613561356135603560356035603560356035603560356035603560356035603560355935593559355935593559355935593559355935583558355835583558355835583558355835583557355735573557355735573557355735573557355735573557355735563556355635563556355635563556355635563556355635563556355635563556355635553555355535553555355535553555355535553555355535553555355435543554355435543554355435543553355335533553355335533553355335523552355235523552355235523552355235523552355235523552355235523552355235523552355235523552355235523552355235523552355235523552355235523552355235523552355135513551355135513551355135513551355135513551355135513551355135513551355135513551355135513551355135513551355135513551355135503550355035503550355035503550355035503550355035503550355035503550354935493549354935493549354935493549354935493549354935493549354935493549354935483548354835483547354735473547354735463546354635463546354635463545354535453545354535453545354535453545354435443544354435443544354435443544354335433543354335433543354335433543354335433543354335433543354335423542354235423542354235423542354235423542354235423542354135413541354135413541354135413541354135413541354135403540354035403540354035403540353935393539353935393539353935393539353935393538353835383538353835383538353835383538353735373537353735373537353735373537353735373537353735373536353635363536353635363536353635363536353635363536353635353535353535353535353535353535353535353535353435343534353435343534353435343534353435343534353435343534353335333533353335333533353335333533353335333533353335333533353335323532353235323532353235323532353235323531353135313531353135313531353135313531353035303530353035303530353035303529352935293529352935283528352835283528352835283528352835283528352835283527352735273527352735273527352735273527352735273526352635263526352535253525352535253525352535253525352535253524352435243524352435243524352435243524352335233523352335233523352335233523352335233523352335223522352235223522352235213521352135213521352135213521352135213521352135213520352035203520352035203520352035193519351935193519351935193519351935193519351935193518351835183518351835183518351835183518351835183517351735173517351735173517351735173517351735173516351635163516351635163516351635163516351635163515351535153515351535153515351535153514351435143514351435143514351435143514351435143513351335133513351335133513351335133513351235123512351235123512351235123512351235123512351135113511351135113511351135113511351135113511351135113511351135113510351035103510351035103510351035103510351035103510351035103510350935093509350935093509350935093509350935093509350935093509350935093509350935093508350835083508350835083508350835083508350835083507350735073507350735073507350735073507350735063506350635063506350635063506350635063506350635063506350535053505350535053505350535043504350435043504350435043504350435043504350335033503350335033503350335033503350235023502350235023502350235023502350235023502350135013501350135013501350135013501350135013501350035003500350035003500350035003499349934993499349934993499349934993499349934993498349834983498349834983498349834983498349834983498349834983498349834983498349834983497349734973497349734973497349734973496349634963496349634963496349634953495349534953495349534953495349534953494349434943494349434943494349434943493349334933493349334933493349334933493349334933493349234923492349234923492349234923492349234923492349234923492349234923492349234923492349234923492349134913491349134913491349134903490349034903490349034903490349034903489348934893489348934893489348934893489348934883488348834883488348834883488348834883488348834873487348734873487348734873487348734863486348634863486348634863486348634863486348634863485348534853485348534853485348534853484348434843484348434843484348434843484348434843483348334833483348334833483348334833482348234823482348234823482348234823482348134813481348134813481348134803480348034803480348034803480348034803479347934793479347934793479347934793479347934783478347834783478347834783478347834783477347734773477347734773477347734773477347734773477347734773476347634763476347634763476347634753475347534753475347534753475347534753475347534753475347434743474347434743474347434743474347434743474347434733473347334733473347334733473347334733473347334723472347234723472347234723472347234723472347234723471347134713471347134713471347134713471347134713471347134713470347034703470347034703470347034703470347034703470347034703470347034693469346934693469346934693469346934683468346834683468346834683468346834683468346834683468346834683468346834683468346734673467346734673467346734673467346734673466346634663466346634663466346634663466346634663466346534653465346534653465346534653465346534653465346534653464346434643464346434643464346434643464346434633463346334633463346334633463346334633463346334633463346234623462346234623462346234623462346234623461346134613461346134613461346134613460346034603460346034593459345934593459345934593459345934593459345934593458345834583458345834583458345834583458345834583458345834583458345834573457345734573457345734573457345734573457345634563456345634563456345634553455345534553455345534553455345534553454345434543454345434543454345434543454345434543454345434543454345434533453345334533453345334523452345234523452345234523452345234513451345134513451345134513451345134513451345034503450345034503450345034503450345034503450345034503449344934493449344934493449344934493448344834483448344834483448344834483448344834483447344734473447344734473447344734473447344734463446344634463446344634463446344634463446344634453445344534453445344534453445344534453445344534453445344434443444344434443444344434443444344434433443344334433443344334433443344334433443344334423442344234423442344234423442344234423442344234423442344134413441344134413441344134413441344034403440344034403440344034403440344034393439343934393439343934393439343934393438343834383438343834383438343834373437343734373437343734373437343734373437343734373437343634363436343634363436343634363435343534353435343534353434343434343434343434343434343434343434343434333433343334333433343334333433343334333432343234323432343234323432343134313431343134313431343134313431343134313430343034303430343034303430343034303430343034303429342934293429342934293429342934293429342934293428342834283428342834283428342834283428342834283428342834283427342734273427342734273427342734273427342734263426342634263426342634263426342634263426342634263426342634263426342534253425342534253425342534253425342534253425342434243424342434243424342434243424342434243423342334233423342334233423342334233423342334233422342234223422342234223422342234223422342134213421342134213421342134213421342034203420342034203420342034203420342034203420342034193419341934193419341934183418341834183418341834183417341734173417341734173417341734173417341734173416341634163416341634163416341634163416341634163416341534153415341534153415341534153415341534153415341534153414341434143414341434143414341434143413341334133413341334133413341334133413341334133412341234123412341234123412341234123412341234123412341234113411341134113410341034103410341034103410341034103409340934093409340934093409340934093408340834083408340834083408340834083408340834083408340734073407340734073407340734073407340734073407340734073407340634063406340634063406340634063406340634063405340534053405340534053405340534053405340534053405340534043404340434043404340434043404340434043403340334033403340334033403340334033402340234023402340234023402340234023401340134013401340134013401340134013401340134013400340034003400340034003400340034003400340033993399339933993399339933993399339933993399339933993399339833983398339833983398339833983398339833983398339833983398339733973397339733973397339733973397339733973397339733973396339633963396339633963396339633963396339633963396339633953395339533953395339533953395339533953394339433943394339433943394339433943394339433943394339433933393339333933393339333933393339233923392339233923392339233923391339133913391339133913391339133913391339133913390339033903390339033903390339033903390339033903390339033893389338933893389338933893389338933893388338833883388338833883388338833883388338833883388338833883387338733873387338733873387338733873387338733873386338633863386338633863386338633863386338633863386338633863386338633863386338533853385338533853385338533853385338533853384338433843384338433843384338433843383338333833383338333833383338333833382338233823382338233823382338233823382338233823382338233823381338133813381338133813381338133813381338133813381338033803380338033803380338033803380338033803380338033793379337933793379337933793379337833783378337833783378337833773377337733773377337733773377337733773376337633763376337633763376337633763376337633753375337533753375337533753375337533753374337433743374337433743374337433743374337433743373337333733373337333733373337333733373337333733372337233723372337233723372337233723372337233723372337233723371337133713371337133713371337133703370337033703370337033703370337033703370337033703369336933693369336933693369336933693369336833683368336833683368336833683368336833683368336833673367336733673367336733663366336633663366336633653365336533653365336533653365336533653365336533653365336533653364336433643364336433643364336433643364336433643364336333633363336333633363336333633363336333633363336333633362336233623362336233623362336233623361336133613361336133613361336133613361336133603360336033603360336033603360336033603359335933593359335933593359335933593359335933593359335933593358335833583358335833583358335833583358335833583358335833583358335833583357335733573357335733573357335733573357335733573357335733573357335733573356335633563356335633563356335633563356335633563356335633563355335533553355335533553355335533553355335533553354335433543354335433543354335433543354335433543354335333533353335333533353335333533353335333533353335233523352335233523352335233523352335233523352335233513351335133513351335133513351335133513351335133513351335133513351335133503350335033503350335033503350335033503350335033503350335033503350334933493349334933493349334933493349334933493348334833483348334833483348334833483348334733473347334733473347334733473347334733473347334733473347334733473347334733473347334633463346334633463346334633463346334633463346334633453345334533453345334533453345334533453345334533453345334533443344334433443344334433443344334333433343334333433343334333433343334333423342334233423342334233423342334233423342334233423342334233413341334133413341334133413341334133413341334133413341334133413340334033403340334033403340334033403340334033403339333933393339333933393339333933393339333933393339333933393339333833383338333833383338333833383338333833383338333833383338333733373337333733373337333733373337333733373337333733373337333633363336333633363336333633363336333633353335333533353335333533353335333533353334333433343334333333333333333333333333333333333333333333333333333333323332333233323332333233323332333233323331333133313331333133303330333033303330333033303330333033303330333033303330333033303330332933293329332933293329332933293329332833283328332833283328332833283328332833283328332833283328332833273327332733273327332733273327332733273327332733273327332733273327332733273327332733263326332633263326332633263326332633263326332633263326332633263326332633253325332533253325332533253325332533253325332533253325332533253325332533253324332433243324332433243324332433243324332333233323332333233323332333233323332333233323332233223322332233223322332233223322332233223322332233223322332233223321332133213321332133213321332133213321332133213321332133213321332033203320332033203320332033203320332033203319331933193319331933193319331933183318331833183318331833183318331833173317331733173317331733173317331733173316331633163316331633163316331633153315331533153315331533153315331533153315331533153315331533143314331433143314331433143314331433143314331433143314331333133313331333133313331333133313331333133313331333133313331233123312331233123312331233123312331233123312331233123312331133113311331133113311331133113311331133113311331033103310331033103310331033103310331033103310331033103310331033093309330933093309330933093309330933093309330933093309330933083308330833083308330833083308330833083308330833083308330833083308330833073307330733073307330733073307330733073307330633063306330633063306330633063306330633063306330633063306330633063306330533053305330533053305330533053305330433043304330433043304330433043304330433043304330433043303330333033303330333033303330333033303330333023302330233023302330233023302330233023302330233023302330133013301330133013301330133013301330133013301330133013301330133003300330033003300330033003300330033003300330033003300330033003300329932993299329932993299329932993299329932993299329932993299329932993298329832983298329832983298329832983298329732973297329732973297329732973296329632963296329632953295329532953295329532953295329532953295329532943294329432943294329432943294329432943294329432943294329332933293329332933293329332933293329332923292329232923292329232923292329232923292329132913291329132913291329032903290329032903290329032903290329032903290329032893289328932893289328932893289328932893289328932893289328932883288328832883288328832883288328832883288328832883287328732873287328732873287328732873287328732873286328632863286328632863286328632863286328632863286328632863285328532853285328532853285328532853285328532853285328532853285328532853284328432843284328432843284328432843284328332833283328332833283328332833283328332833283328232823282328232823282328232823282328232823282328232823281328132813281328132813281328132813281328132813281328132813280328032803280328032803280328032803280328032803280328032803279327932793279327932793279327832783278327832783278327832783278327832783278327832783277327732773277327732773277327732773277327732763276327632763276327632763275327532753275327532753275327532753275327532753275327532753275327432743274327432743274327432743274327432743274327432743274327332733273327332733273327332733273327332733273327332723272327232723272327232723272327232723272327232723272327132713271327132713271327132713271327132713271327132713270327032703270327032703270327032703270327032703269326932693269326932693269326932693269326932693268326832683268326832683268326832673267326732673267326732673267326732663266326632663266326632663266326632663266326632663266326632653265326532653265326532653265326532653265326532643264326432643264326432643264326432643263326332633263326332633263326332633263326332633263326232623262326232623262326232623262326232623262326132613261326132613261326132613261326132613261326132613260326032603260326032603260326032593259325932593259325932593259325932593259325932583258325832583258325832583258325832583258325832583258325832583257325732573257325732573257325732573257325732563256325632563256325632563256325632563256325632563256325632563256325632553255325532553255325532553255325532543254325432543254325432543254325432543254325432543254325432543254325332533253325332533253325332533253325332533253325332523252325232523252325232523252325232523252325232523252325232513251325132513251325132513251325032503250325032503250325032503250325032503249324932493249324932493249324932493249324932493249324932493249324932493248324832483248324832483248324832473247324732473247324632463246324632463246324632463246324632463246324632453245324532453245324532453245324532453245324532453245324532453245324532453245324432443244324432443244324432443244324432443244324332433243324332433243324332433243324332423242324232423242324232423242324232423242324232423241324132413241324132413241324132413241324132413241324132413241324132413240324032403240324032403240324032403240324032403240323932393239323932393239323932393239323932393239323832383238323832383238323832383238323832383238323832383238323732373237323732373237323732373237323732373237323632363236323632363236323632363236323632363236323632363236323632363236323532353235323532353235323532343234323432343234323432343234323432343234323332333233323332333233323332333233323232323232323232323232323232323232323232323232323132313231323132313231323132313231323132313231323032303230323032303230323032303230323032303230323032303230323032303230323032303230323032303229322932293229322932293229322932293229322932293228322832283228322832283228322832283228322732273227322732273227322732263226322632263226322632263226322632263226322632263226322632263226322632263226322632263226322532253225322532253225322532253225322532253225322532253225322432243224322432243224322432243224322432243223322332233223322332233223322232223222322232223222322232223222322232223221322132213221322132213221322132213221322132213221322132213221322032203220322032203220322032203220322032203220322032203219321932193219321932193219321932193218321832183218321832183218321832173217321732173217321732173217321732173217321732173216321632163216321632163216321632163216321632153215321532153215321532153215321532143214321432143214321432143214321432143214321432143213321332133213321332133213321332123212321232123212321232123212321232123212321132113211321132113211321132113211321132113211321132103210321032103210321032103210321032103209320932093209320932093209320932093209320932093209320932083208320832083208320832083208320832083208320732073207320732073207320732073207320732073207320732073206320632063206320632063206320632063206320632063206320632063206320632063206320632063206320632053205320532053205320532053205320532053205320432043204320432043204320432043204320432043203320332033203320332033203320332033203320232023202320232023202320232023202320232023201320132013201320132013201320132013201320132013201320132013201320132003200320032003200320032003200320032003200319931993199319931993199319931993199319931993198319831983198319831983198319831983198319831983198319731973197319731973197319731973197319731973197319731973196319631963196319631963196319631963196319631963196319531953195319531953195319531953195319531953195319531953195319531943194319431943193319331933193319331933193319331933193319331923192319231923192319231923192319231923192319231923191319131913191319131913191319131913191319131913191319131903190319031903190319031903190319031903189318931893189318931893189318931893189318831883188318831883188318831883188318831883187318731873187318731873187318731873187318731873187318631863186318631863186318631853185318531853185318531853185318531853185318531853185318531853185318431843184318431843184318431843183318331833183318331833183318231823182318231823182318231823182318231813181318131813181318131813181318131813181318031803180318031803180318031803179317931793179317931793179317931793179317831783178317831783178317831783178317831783178317831783178317731773177317731773177317631763176317631763176317631763176317631763176317531753175317531753175317531753175317531753175317531753175317531753175317531743174317431743174317431743174317431743174317431743174317431743174317431733173317331733173317331733173317331733173317331733173317231723172317231723172317231723172317231723172317231723172317231723171317131713171317131713171317131713171317131713171317131703170317031703170317031703170317031703170317031703170317031703170316931693169316931693169316931693169316931693169316931693168316831683168316831683168316831683167316731673167316731673167316731673167316731673167316731663166316631663166316631663166316631663166316531653165316531653165316531653165316531653164316431643164316431643164316331633163316331633163316331633163316231623162316231623162316231623162316231613161316131613161316131613161316131613161316131613161316131613161316031603160316031603160316031603160316031603160316031603159315931593159315931593159315931593159315831583158315831583158315831573157315731573157315731573157315731573157315731573156315631563156315631563156315631563156315631553155315531553155315531553155315531553155315531553155315531553154315431543154315431543154315431543154315431543154315431543154315431533153315331533153315331533153315331523152315231523152315231523152315231523151315131513151315131513151315131513151315131513151315131513150315031503150315031503149314931493149314931493149314931493149314931483148314831483148314831483148314831483148314831483148314831483147314731473147314731473147314731473147314731463146314631463146314631463146314631463146314631463145314531453145314531453145314531453145314531453145314531453145314431443144314431443144314431443144314431443143314331433143314331433143314331433143314331433143314331423142314231423142314231423142314231423142314231413141314131413141314131413141314031403140314031403140314031403140314031403140314031403140313931393139313931393139313931393139313931393138313831383138313831383138313831383138313831383138313831383138313831383138313731373137313731373137313731373137313731373137313631363136313631363136313631363136313631363135313531353135313531353135313531353135313531353135313531353135313431343134313431343134313431343134313331333133313331333133313331333133313331333133313331333132313231323132313231323132313231323132313231323132313231323132313131313131313131313131313131313131313131313131313031303130313031303130313031303130313031303130312931293129312931293129312931293129312931283128312831283128312831283128312831283128312831273127312731273127312731273127312731273126312631263126312631263126312631263126312631253125312531253125312531253125312531253125312531253125312531253124312431243124312431243124312431243124312431243124312431243123312331233123312331233123312331233122312231223122312231223122312231223122312231223122312231223121312131213121312131213121312131213121312131213121312131213121312131213121312031203120312031203120312031203120311931193119311931193119311931193119311931193119311931193119311931193119311831183118311831183118311831183118311831183118311831183117311731173117311731173117311731173117311731173116311631163116311631163116311631163116311631163116311531153115311531153115311531153115311531153115311531153115311531143114311431143114311431143114311431143114311431133113311331133113311331133113311331133113311331133112311231123112311231123112311231123112311231123111311131113111311131113111311131113111311131113111311131113111311131113111311131103110311031103110311031103110311031103109310931093109310931083108310831083108310831083108310831083108310831083108310731073107310731073107310731073107310731073107310631063106310631063106310631063106310631063106310631063106310631063105310531053105310531053105310531053105310531053104310431043104310431043104310431043104310431043104310431043104310431043104310331033103310331033103310331033103310331023102310231023102310231023102310231023102310131013101310131013101310131013101310131013100310031003100310031003100310031003099309930993099309930993099309930993099309830983098309830983098309830983098309730973097309730973097309730973097309730973097309730973096309630963096309630963096309630963096309630953095309530953095309530953095309530953095309530953094309430943094309430943094309430943094309430943094309430943094309430943094309430933093309330933093309330933093309330933093309330933092309230923092309230923092309230923092309230923092309230923092309130913091309130913091309130913091309130913090309030903090309030903090309030903090309030903090309030893089308930893089308930893089308930883088308830883088308830883088308830883088308830883088308830883088308830883088308830883087308730873087308730873087308730873087308730873087308630863086308630863086308630863086308630863086308630863086308630863086308630863086308630863086308630863086308630863086308630863086308630863086308630863086308630863086308530853085308530853085308530853085308530853084308430843084308430843084308430843084308430843084308430843084308430843084308430843084308330833083308330833083308330833083308330833083308330833083308330833083308330833083308330833083308330833083308330833083308330833083308330823082308230823082308230823082308230823082308230823082308230823082308230823082308230823082308230823082308230823082308230823082308230823082308230823082308230823082308230823082308230823082308230823082308230823082308230823082308230823082308230823082308230823082308230823082308230823082308230823082308230823082308230823082308230823082308230823082308230823082308230823082308230823082308230823082308230823082308230823082308130813081308130813081308130813081308130813081308130813080308030803080308030803080308030803080308030803080308030803080308030803080308030803080308030803080307930793079307930793079307930783078307830783078307830783078307830783078307830783078307830773077307730773077307730773077307730773077307630763076307630763076307630763076307630763076307630763076307630763076307630763076307530753075307530753075307530753075307530753075307530753075307530743074307430743074307430743074307430733073307330733073307330733073307330733073307330733072307230723072307230723072307230723072307230723072307230723072307130713071307130713071307130713071307130713071307130713071307030703070307030703070307030703070307030703070306930693069306930693069306930693069306930693069306930693069306930683068306830683068306830683068306830683068306830683067306730673067306730673067306730673067306630663066306630663066306630663066306630663066306630663066306630663066306630663065306530653065306530653065306530653065306530653065306530653065306530653064306430643064306430643064306430643064306430643064306430643064306330633063306330633063306330633063306330633063306330633063306330633062306230623062306230623062306230623062306230623062306230623062306230623061306130613061306130613061306130613061306130613061306130613061306130603060306030603060306030603060306030593059305930593059305930593059305930593059305930583058305830583058305830583058305730573057305730573057305730573057305730573056305630563056305630563056305630563056305630563056305530553055305530553055305530553055305530553055305530543054305430543054305430543054305430543054305330533053305330533053305330533053305330533053305230523052305230523052305230523052305230523052305130513051305130513051305130513051305130513051305130513051305130513051305030503050305030503050305030503050305030503050304930493049304930493049304930493049304930493049304930493048304830483048304830483048304830483048304830483048304730473047304730473047304730473047304730473047304730473047304730463046304630463046304630463046304630463046304630463046304630463046304530453045304530453045304530453045304530453045304530453045304530453045304430443044304430443044304430443044304430443044304330433043304330433043304330433043304330433043304330433043304330433043304330433043304230423042304230423042304230423042304230423042304230413041304130413041304130413041304130413041304030403040304030403040304030403040304030403040304030403040303930393039303930393039303930393039303930393039303930393038303830383038303830383038303830383038303830383038303830383038303830383038303830383038303830373037303730373037303730373037303730373037303730373037303730363036303630363036303630363036303630363036303630363036303630363035303530353035303530353035303530353035303530353035303530343034303430343034303430343034303430343034303430343033303330333033303330333033303330333033303330333033303330333033303330323032303230323032303230323032303230323032303230323032303130313031303130313031303130313031303130313030303030303030303030303030303030303030303030303030302930293029302930293029302930293029302930283028302830283028302830283028302830283028302830283028302830273027302730273027302730273027302730273027302730273027302730273027302630263026302630263026302630263026302630263025302530253025302530253025302530253025302530253025302530253024302430243024302430243024302430243024302430243024302430233023302330233023302330233023302330233023302330233022302230223022302230223022302230223022302230223022302230213021302130213021302130213021302130213021302130213021302130213021302130213020302030203020302030203020302030203020302030203019301930193019301930193019301930193019301930193019301930193019301930183018301830183018301830183018301830183018301830183018301830183017301730173017301730173017301730173016301630163016301630163016301630163016301630163016301530153015301530153015301530143014301430143014301430143014301430143014301430143014301430143014301430133013301330133013301330133013301330133013301330133013301230123012301230123012301230123012301230123012301230123012301230123012301230123011301130113011301130113011301130113011301130113011301130113011301130113010301030103010301030103010301030103010301030103010301030093009300930093009300930093009300930083008300830083008300830083008300830083008300830073007300730073007300730073007300730073007300730073006300630063006300630063006300630063006300630063006300530053005300530053005300530053005300530053005300530053004300430043004300430043004300430043004300430043004300430043004300430033003300330033003300330033003300330033003300330033003300330033002300230023002300230023002300230023002300230023002300230023001300130013001300130013001300130013001300130013001300130013001300030003000300030003000300030003000300030003000300030003000300030003000299929992999299929992999299929992999299929982998299829982998299829982998299829982998299829982998299829982997299729972997299729972997299729972997299729972997299729962996299629962996299629962996299629962996299629962996299629962996299629962996299629952995299529952995299529952995299529952994299429942994299429942994299429942994299429932993299329932993299329932993299329932993299229922992299229922992299229922992299229922992299129912991299129912991299129912991299129912991299129912990299029902990299029902990299029902990299029902990299029902990299029902989298929892989298929892989298929892989298929892988298829882988298829882988298829882987298729872987298729872987298729872987298729872987298729872987298629862986298629862986298629862986298629862986298529852985298529852985298529852985298529852985298529852985298429842984298429842984298429842984298429842984298429842984298429842984298429842983298329832983298329832983298329832983298329832983298329832983298329832983298329832983298329822982298229822982298229822982298229822982298229822982298229822982298129812981298129812981298129812981298129812981298129812981298029802980298029802980298029802980298029802980298029802980298029802980297929792979297929792979297929792979297929792979297929792979297929792979297929792979297929792978297829782978297829782978297829782978297829782978297729772977297729772977297729772977297729772977297629762976297629762976297629762976297629762976297629762976297629762976297629762975297529752975297529752975297529752975297529752975297529742974297429742974297429742974297429742974297429732973297329732973297329732973297329732973297329732973297329722972297229722972297229722972297229722972297129712971297129712971297129712971297129712971297129712971297129712971297129702970297029702970297029702970297029702970297029702969296929692969296929692969296929692969296929692968296829682968296829682968296829682968296829682967296729672967296729672967296729672967296729672967296729672966296629662966296629662966296629662966296629662966296629662966296529652965296529652965296529652964296429642964296429642964296429642964296429642964296429632963296329632963296329632963296229622962296229622962296229622962296229622962296129612961296129612961296129612961296129612961296129602960296029602960296029602960296029602960296029602960296029602960296029592959295929592959295929592959295929592959295929582958295829582958295829582958295829582957295729572957295729572957295729572957295729572956295629562956295629562956295629562956295629552955295529552955295529552955295529552955295429542954295429542954295429542954295429542954295429542954295429542954295329532953295329532953295329532953295329532953295329532953295329532952295229522952295229522952295229522952295229522951295129512951295129512951295129512951295129512951295129502950295029502950295029502950295029502950294929492949294929492949294929492949294929482948294829482948294829482948294829472947294729472947294729472947294729472947294729472947294729462946294629462946294629462946294629462946294629462946294629462946294629462946294629462946294629462946294529452945294529452945294529452945294529452945294529452945294529442944294429442944294429442944294429442944294329432943294329432943294329432943294329432943294329422942294229422942294229422942294229422942294229422942294129412941294129412941294129412941294129412940294029402940294029402940294029402939293929392939293929392939293929392939293929392938293829382938293829382938293829382938293829382938293829382938293829372937293729372937293729372937293629362936293629362936293629362936293629362936293629352935293529352935293529352935293529352935293529352935293529352935293529352934293429342934293429342934293429342934293429342933293329332933293329332933293329332933293329332933293329322932293229322932293229322932293229322932293229322932293229322932293229322931293129312931293129312931293129312931293129302930293029302930293029302930293029302930293029302930293029302930293029292929292929292929292929292929292929292929292929292929292929292929292929282928292829282928292829282928292829282928292729272927292729272927292729272927292729272927292629262926292629262926292629262926292629262926292629252925292529252925292529252925292529252925292529242924292429242924292429242924292429242923292329232923292329232923292329232923292329232923292329232923292329232922292229222922292229222922292229222922292229222922292229222922292229222921292129212921292129212921292129212921292129202920292029202920292029202920292029202920292029202920292029202919291929192919291929192919291929192919291929192919291929192919291929192919291829182918291829182918291829182918291829182917291729172917291729172917291729172917291729172917291729172917291729172917291729172917291729172916291629162916291629162916291629162916291629162916291629162916291629162916291529152915291529152915291529152915291529152915291529152915291529152915291529142914291429142914291429142914291429142914291429132913291329132913291329132913291329132913291329132913291329132913291329122912291229122912291229122912291229122912291229122912291229122911291129112911291129112911291129102910291029102910291029102910291029102910291029102910290929092909290929092909290929092909290929092909290929082908290829082908290829082908290829082908290829072907290729072907290729072907290729072907290729072907290729072907290729062906290629062906290629062906290629062906290629062906290629062905290529052905290529052905290529052905290529052905290529042904290429042904290429042904290429042904290429042904290429032903290329032903290329032903290329032903290329032903290329032902290229022902290229022902290229022902290229022902290229022902290129012901290129012901290129012901290129012901290129012901290129012900290029002900290029002900290029002900290029002900290029002900290029002900290028992899289928992899289928992899289928992899289928992899289928992899289928992899289928992898289828982898289828982898289828982898289828982898289828982898289828982898289828982898289828982898289728972897289728972897289728972897289728972897289628962896289628962896289628962896289628962896289628962896289628962896289628962896289528952895289528952895289528952895289528952895289528952894289428942894289428942894289428942894289428942894289328932893289328932893289328932893289328932893289328932892289228922892289228922892289228922892289228922892289228922892289228922892289228922892289228922892289228912891289128912891289128912891289128912891289128902890289028902890289028902890289028902890289028902890289028902890289028902890288928892889288928892889288928892889288928892889288928892889288928892889288928882888288828882888288828882888288828882887288728872887288728872887288728872887288728872887288628862886288628862886288628862886288628862886288628862886288628862885288528852885288528852885288528852885288528852885288528852885288528852884288428842884288428842884288428842884288428842884288428842883288328832883288328832883288328832882288228822882288228822882288228822882288228822882288228822882288228822882288128812881288128812881288128812881288028802880288028802880288028802880288028802880288028802880288028802880288028792879287928792879287928792879287928792879287928792879287928792879287928782878287828782878287828782878287828782878287828782878287828782878287828772877287728772877287728772877287728772877287628762876287628762876287628762876287628762876287528752875287528752875287528742874287428742874287428742874287428742874287428742874287428732873287328732873287328732873287328732873287328732873287328722872287228722872287228722872287228722872287228722872287128712871287128712871287128712871287128712871287128712871287128712871287028702870287028702870287028702870287028702870286928692869286928692869286928692869286928692869286928692869286928692869286928692868286828682868286828682868286828682868286828682868286828682868286828672867286728672867286728672867286728672867286728672866286628662866286628662866286628662866286628662866286628662866286628662866286528652865286528652865286528652865286528652865286528652865286528652865286528652864286428642864286428642864286428642864286428642864286428632863286328632863286328632863286328632863286328632863286328632863286228622862286228622862286228622862286228622862286228622862286228622862286228622862286228612861286128612861286128612861286128612861286128612861286128612860286028602860286028602860286028602860286028602860286028602859285928592859285928592859285928592859285928592859285928592859285828582858285828582858285828582858285828582858285828582858285828582858285828572857285728572857285728572857285728572856285628562856285628562856285628562856285628562856285628562856285628562856285528552855285528552855285528552855285528552855285428542854285428542854285428542854285328532853285328532853285328532853285328522852285228522852285228522852285228522851285128512851285128512851285128512851285128512851285128512851285128512851285128502850285028502850285028502850285028502850285028502850285028502850285028502850285028502850284928492849284928492849284928492849284928492849284928492849284928492848284828482848284828482848284828482848284828482848284828482847284728472847284728472847284728472847284728472847284728472846284628462846284628462846284628462846284628462846284628462846284528452845284528452845284528452845284528452845284528452845284528452844284428442844284428442844284428442844284428442844284428442844284328432843284328432843284328432843284328432843284328432843284328432842284228422842284228422842284228422842284228422842284228412841284128412841284128412841284128412841284128412841284128412841284128412841284128402840284028402840284028402840284028392839283928392839283928392839283928392839283928392839283928392839283928382838283828382838283828382838283828382838283828382838283828382837283728372837283728372837283728372837283728372837283728372837283728372837283728362836283628362836283628362836283628362836283628362836283628362836283628352835283528352835283528352835283528352835283528342834283428342834283428342834283428342834283328332833283328332833283328332833283328332833283328322832283228322832283228322832283228322832283228312831283128312831283128312831283128312831283128312831283128302830283028302830283028302830283028302830283028302830283028302830283028302829282928292829282928292829282928292829282928292829282928292829282928292828282828282828282828282828282828282828282828282828282828282828282828282827282728272827282728272827282728272827282728272827282628262826282628262826282628262826282628262826282628262826282628262826282628262826282528252825282528252825282528252825282528252825282428242824282428242824282428242824282428242823282328232823282328232823282328232823282328232823282328232822282228222822282228222822282228222822282228222822282228222822282128212821282128212821282128212821282128212821282128212820282028202820282028202820282028202820282028202820282028192819281928192819281928192819281928192819281928192819281928192819281928192819281928182818281828182818281828182818281828182818281828182818281828172817281728172817281728172817281728172817281628162816281628162816281628162816281628162816281628162816281628162816281628152815281528152815281528152815281528152814281428142814281428142814281428142814281428142814281428142814281428132813281328132813281328132813281328132813281328132813281328132813281328132813281228122812281228122812281228122812281228122812281228122812281128112811281128112811281128112811281128102810281028102810281028102810281028102810281028102810281028102810281028102810280928092809280928092809280928092809280928092809280928092809280928092809280828082808280828082808280828082808280828082808280828082808280828082808280828072807280728072807280728072807280728072807280728062806280628062806280628062806280628062806280628062806280628062806280628052805280528052805280528052805280528042804280428042804280428042804280428042804280428042804280428042804280428042803280328032803280328032803280328032803280328032803280328022802280228022802280228022802280228022802280228022802280228022802280228012801280128012801280128012801280128012801280128002800280028002800280028002800280028002800280028002800280028002800280027992799279927992799279927992799279927992799279927992799279927992799279827982798279827982798279827982798279827982798279827982798279827982798279827982798279827982798279827982797279727972797279727972797279727972797279727972797279727972797279727972797279727962796279627962796279627962796279627962796279627962796279627952795279527952795279527952795279527952795279527952794279427942794279427942794279427942794279427942794279427942794279427942794279427942794279327932793279327932793279327932793279327932793279327932793279327932793279327922792279227922792279227922792279227922792279227922792279227922792279227922792279227912791279127912791279127912791279127912791279127912791279127912791279127912791279127912791279127912791279127912791279127912791279127912791279127912791279127912791279127912791279127902790279027902790279027902790279027902790279027902789278927892789278927892789278927892789278927892789278927892789278927882788278827882788278827882788278827882788278827882788278827882788278827882787278727872787278727872787278727872787278727872787278727872787278727872786278627862786278627862786278627862786278627862786278627862786278627862786278627862786278527852785278527852785278527852785278527852785278527852785278527852784278427842784278427842784278427842784278427842784278427842783278327832783278327832783278327832783278327832783278327832783278327822782278227822782278227822782278227822782278227822782278227822782278227822782278227822781278127812781278127812781278127812781278027802780278027802780278027802780278027802780278027802780278027802779277927792779277927792779277927792779277927792779277927782778277827782778277827782778277827782778277827782778277827782777277727772777277727772777277727772776277627762776277627762776277627762776277627762776277627762776277627762776277627752775277527752775277527752775277527752775277527752775277527742774277427742774277427742774277427742774277427742774277427742774277427742773277327732773277327732773277327732773277327732772277227722772277227722772277227722772277227722772277227722772277227722772277227722772277227722771277127712771277127712771277127712771277027702770277027702770277027702770277027702770277027692769276927692769276927692769276927692769276927692769276927692769276927692768276827682768276827682768276827682768276827672767276727672767276727672767276727672767276727672767276727672767276727672766276627662766276627662766276627662766276627662766276627662766276627652765276527652765276527652765276527652765276527652765276527642764276427642764276427642764276427642764276427642764276427642764276427642764276427642764276427642763276327632763276327632763276327632763276227622762276227622762276227622762276227622762276227622762276127612761276127612761276127612761276127612761276127612761276127612760276027602760276027602760276027602760275927592759275927592759275927592759275927592759275927592759275927592759275827582758275827582758275827582758275827582758275827582757275727572757275727572757275727572757275727572757275727572757275727572757275727562756275627562756275627562756275627562756275627562756275627552755275527552755275527552755275527552755275527552755275527552755275427542754275427542754275427542754275427542754275427542754275427542753275327532753275327532753275327532753275327522752275227522752275227522752275227522752275227522752275227522752275227512751275127512751275127512751275127512751275127512751275127512751275127512751275127512751275127512751275027502750275027502750275027502750275027502750275027502750275027502750275027502750274927492749274927492749274927492749274927492749274927492749274927492749274827482748274827482748274827482748274827482748274827482748274827482747274727472747274727472747274727472747274727472747274727472747274727472747274727472747274727472747274627462746274627462746274627462746274627462746274527452745274527452745274527452745274527452745274527452745274527452745274427442744274427442744274427442744274427442743274327432743274327432743274327432743274327432743274327432742274227422742274227422742274227422742274227422742274227412741274127412741274127412741274127412741274127412741274127402740274027402740274027402740274027402740274027402740274027402740274027402740274027402739273927392739273927392739273927392739273927392739273927392739273927392739273927392739273827382738273827382738273827382738273827382738273827372737273727372737273727372737273727372737273727372737273727372737273727372736273627362736273627362736273627362736273627362736273627352735273527352735273527352735273527352735273527352734273427342734273427342734273427342734273427342734273427342734273427342734273427342734273427342734273427342733273327332733273327332733273327332733273327332733273327332733273327332733273227322732273227322732273227322732273227322732273227322732273227312731273127312731273127312731273127312731273127312731273027302730273027302730273027302730273027302730273027302730273027302730272927292729272927292729272927292729272927292729272927292728272827282728272827282728272827282728272827282728272827282728272827282727272727272727272727272727272727272727272727272727272727272727272727262726272627262726272627262726272627262726272627262726272627262726272627252725272527252725272527252725272527252725272527252725272527242724272427242724272427242724272427242724272427242724272427242724272427242724272327232723272327232723272327232723272327232723272327232723272327232723272327232723272227222722272227222722272227222722272227222722272227222722272127212721272127212721272127212721272127212721272127212721272027202720272027202720272027202720272027202720272027202720272027202720272027202720271927192719271927192719271927192719271927192719271927192719271927192718271827182718271827182718271827182718271827182718271827182718271827172717271727172717271727172717271727172717271727172717271727172716271627162716271627162716271627162716271627152715271527152715271527152715271527152715271527152715271427142714271427142714271427142714271427142714271427142713271327132713271327132713271327132713271327132713271227122712271227122712271227122712271227122712271227122712271227122712271227112711271127112711271127112711271127112711271027102710271027102710271027102710271027102710271027102710271027102710271027102710271027092709270927092709270927092709270927092709270927092709270927092708270827082708270827082708270827082708270827082708270827082708270827082708270827082708270727072707270727072707270727072707270727072707270727072707270627062706270627062706270627062706270627062706270627062706270627062706270627052705270527052705270527052705270527052705270527052705270527052705270527052704270427042704270427042704270427042704270427042704270427042704270427042703270327032703270327032703270327032703270327032703270327032703270327022702270227022702270227022702270227022702270227022702270227022702270227022702270227022702270127012701270127012701270127012701270127012701270127012701270127012701270127012701270127012700270027002700270027002700270027002700270027002700270027002700270027002700270027002700269926992699269926992699269926992699269926992699269926992699269826982698269826982698269826982698269826982698269826982698269826982698269726972697269726972697269726972697269726962696269626962696269626962696269626962695269526952695269526952695269526952695269526952695269526942694269426942694269426942694269426942694269426942694269426942694269426942694269426932693269326932693269326932693269326932693269326932693269326932693269326932693269326922692269226922692269226922692269226922692269226922692269226922692269226922692269226922692269126912691269126912691269126912691269126912691269126912691269126912691269026902690269026902690269026902690269026902690269026902690269026902690269026902689268926892689268926892689268926892688268826882688268826882688268826882688268826882688268826872687268726872687268726872687268726872687268726872687268726872687268726872687268626862686268626862686268626862686268626862686268626862686268626852685268526852685268526852685268526852685268526852685268426842684268426842684268426842684268426842683268326832683268326832683268326832683268326832683268326832683268326832682268226822682268226822682268226822682268226822682268226822682268126812681268126812681268126812681268126812681268126812681268126812681268026802680268026802680268026802680268026802680268026802680267926792679267926792679267926792679267826782678267826782678267826782678267826782678267726772677267726772677267726772677267726772677267726762676267626762676267626762676267626762676267626762676267626762676267526752675267526752675267526752675267526752675267526752675267526752675267526742674267426742674267426742674267426742674267426742674267426732673267326732673267326732673267326732673267326732673267326732673267326732673267326732672267226722672267226722672267226722672267226722672267226722672267226722672267226722672267226722672267226722671267126712671267126712671267126712671267126712671267026702670267026702670267026702670267026702670266926692669266926692669266926692669266926692669266926692669266926692669266926692669266826682668266826682668266826682668266826682668266826682668266826682668266726672667266726672667266726672667266726672667266726672667266726672667266626662666266626662666266626662666266626662666266626662666266626662665266526652665266526652665266526652665266526652665266526652665266526652665266526642664266426642664266426642664266426642664266426642664266326632663266326632663266326632663266326632662266226622662266226622662266226622662266226622662266226622662266126612661266126612661266126612661266126612661266126612660266026602660266026602660266026602660266026602660266026602660266026602660266026602660265926592659265926592659265926592659265926592659265926592659265926592659265926592658265826582658265826582658265826582658265826582658265826582658265826582658265826582658265726572657265726572657265726572657265726572657265726572657265726572657265726572657265726572656265626562656265626562656265626562656265626562656265626562656265526552655265526552655265526552655265526552655265526552655265526552655265526552655265526552655265426542654265426542654265426542654265426542654265426542654265426532653265326532653265326532653265326532653265326532653265326532653265326532653265226522652265226522652265226522652265226522652265226522652265226522652265226522652265126512651265126512651265126512651265126502650265026502650265026502650265026502650265026502650265026502650265026502649264926492649264926492649264926492649264926492649264926492649264926482648264826482648264826482648264826482648264826482648264826482648264826482647264726472647264726472647264726472647264726472647264726472647264726472646264626462646264626462646264626462646264626462646264626462646264626452645264526452645264526452645264526452645264526452645264526452645264526452645264526442644264426442644264426442644264426442644264426442644264426432643264326432643264326432643264326432643264326432643264326432643264326422642264226422642264226422642264226422642264226422642264226422642264226412641264126412641264126412641264126412641264126412641264126412641264126412640264026402640264026402640264026402640264026402640264026402640264026402640264026402640264026402639263926392639263926392639263926392639263926392639263926392639263926392639263826382638263826382638263826382638263826382638263826372637263726372637263726372637263726372637263726372637263726372637263726372636263626362636263626362636263626362636263626362636263526352635263526352635263526352635263526352635263526352634263426342634263426342634263426342634263426342634263426342634263426342634263326332633263326332633263326332633263326332633263326332633263326332633263326332632263226322632263226322632263226322632263226322632263226322632263226322632263226312631263126312631263126312631263126312631263126312631263126312631263126312631263126312631263026302630263026302630263026302630263026302630263026302630263026302629262926292629262926292629262926292629262926292629262926292629262826282628262826282628262826282628262826282628262826282628262826282628262726272627262726272627262726272627262726272627262726272627262726272626262626262626262626262626262626262626262626262626262626262626262626262626262626252625262526252625262526252625262526252625262526252625262526252625262526252624262426242624262426242624262426242624262426242624262426242624262426242624262426242624262326232623262326232623262326232623262326232623262326232623262326232623262326232623262226222622262226222622262226222622262226222622262226222622262226212621262126212621262126212621262126212621262126212621262026202620262026202620262026202620262026202620262026202620262026192619261926192619261926192619261926192619261926192619261926192619261826182618261826182618261826182618261826172617261726172617261726172617261726172617261726172617261726172617261726172617261726172617261726162616261626162616261626162616261626162616261626162616261626162616261626162616261626162615261526152615261526152615261526152615261526152615261526152614261426142614261426142614261426142614261426142614261426142614261426142614261426142614261326132613261326132613261326132613261326132613261326132613261326132613261326132613261326132613261226122612261226122612261226122612261226122612261226112611261126112611261126112611261126112611261126112610261026102610261026102610261026102610261026102610261026092609260926092609260926092609260926092609260926092609260926092609260926082608260826082608260826082608260826082608260826082608260826082608260826072607260726072607260726072607260726072607260726072607260726072606260626062606260626062606260626062606260626062606260626062606260626062606260626062605260526052605260526052605260526052605260526052605260426042604260426042604260426042604260426042604260426042604260426042603260326032603260326032603260326032603260326032603260326032602260226022602260226022602260226022602260226022602260226022602260226022602260226012601260126012601260126012601260126012601260126012601260126012601260026002600260026002600260026002600260026002600260026002600260026002600260026002600260026002599259925992599259925992599259925992599259925992599259925992598259825982598259825982598259825982598259825982598259725972597259725972597259725972597259725972597259725972596259625962596259625962596259625962596259625962596259625962596259625962596259625962595259525952595259525952595259525952595259525942594259425942594259425942594259425942594259425942594259425942594259425942594259425932593259325932593259325932593259325932593259325932593259325932592259225922592259225922592259225922592259225922592259225922592259225922592259225922592259225922592259125912591259125912591259125912591259125912591259125912590259025902590259025902590259025902590259025902590259025902590259025902590258925892589258925892589258925892589258925892589258925892589258925892589258925892589258925882588258825882588258825882588258825882588258825882588258825882588258725872587258725872587258725872587258725872587258725862586258625862586258625862586258625862586258625862586258625862586258525852585258525852585258525852585258525852585258525852585258525852585258525852585258525852584258425842584258425842584258425842584258425842584258425842584258425842584258425842584258425832583258325832583258325832583258325832583258325832583258325832583258325832582258225822582258225822582258225822582258225822582258225822582258225822582258125812581258125812581258125812581258125812581258125812581258125812581258025802580258025802580258025802580258025802580258025802580258025802580258025802580257925792579257925792579257925792579257925792579257925792579257925782578257825782578257825782578257825782578257825782578257725772577257725772577257725772577257725772577257725772577257625762576257625762576257625762576257625762576257625762576257625762576257625762576257625762576257525752575257525752575257525752575257525752575257525742574257425742574257425742574257425742574257425742574257325732573257325732573257325732573257325732573257325732573257325732572257225722572257225722572257225722572257225722572257225712571257125712571257125712571257125712571257125712570257025702570257025702570257025702570257025702570257025702570257025692569256925692569256925692569256925692569256925692569256925692569256925682568256825682568256825682568256825682568256825682568256825682568256825682568256825682568256825682568256825682567256725672567256725672567256725672567256725672567256625662566256625662566256625662566256625662566256625662566256625662565256525652565256525652565256525652565256525652564256425642564256425642564256425642564256425642564256425642564256425642564256325632563256325632563256325632563256325632563256325632563256325632563256325632563256325632563256325622562256225622562256225622562256225622562256225622562256225622562256225622562256125612561256125612561256125612561256125612561256125612561256125612561256025602560256025602560256025602560256025602560256025602560256025602560256025602560255925592559255925592559255925592559255925592559255925592558255825582558255825582558255825582558255825582558255825572557255725572557255725572557255725572557255725572557255725572557255625562556255625562556255625562556255625562556255625562555255525552555255525552555255525552555255525552555255425542554255425542554255425542554255425542554255425542554255425542554255425542554255325532553255325532553255325532553255325532553255325532553255325532553255325522552255225522552255225522552255225522552255225522552255225522552255125512551255125512551255125512551255125512551255125512550255025502550255025502550255025502550255025502550255025502550254925492549254925492549254925492549254925492549254925492548254825482548254825482548254825482548254825482548254825472547254725472547254725472547254725472547254725472547254725472547254725472547254725462546254625462546254625462546254625462546254625462545254525452545254525452545254525452545254525452545254525452545254525452544254425442544254425442544254425442544254425442544254425442544254425442544254425442543254325432543254325432543254325432543254325432543254325432543254325432543254325432543254325432543254325432542254225422542254225422542254225422542254225422542254225422542254225412541254125412541254125412541254125412541254125412540254025402540254025402540254025402540254025402540254025402540253925392539253925392539253925392539253925392539253925392539253925392539253925392539253925392539253925392538253825382538253825382538253825382538253825382538253825382538253825382538253825382538253825382537253725372537253725372537253725372537253725372537253725372537253725372537253625362536253625362536253625362536253625362536253625362536253625362535253525352535253525352535253525352535253525352535253525352534253425342534253425342534253425342533253325332533253325332533253325332533253325332533253325332533253325332533253225322532253225322532253225322532253225322532253225322532253125312531253125312531253125312531253125312531253125312531253125312531253125312531253025302530253025302530253025302530253025302530253025302530253025302530253025302529252925292529252925292529252925292529252925292529252825282528252825282528252825282528252825282528252725272527252725272527252725272527252725272527252625262526252625262526252625262526252625262526252625262526252625262526252625262526252625252525252525252525252525252525252525252525252525252525252525252525252525252525252525252524252425242524252425242524252425242524252425242524252425242523252325232523252325232523252325232523252325232523252225222522252225222522252225222522252225222522252225222521252125212521252125212521252125212521252125212521252125212520252025202520252025202520252025202520252025202520252025202520252025202519251925192519251925192519251925192519251925192519251925192519251825182518251825182518251825182518251825182518251825182518251825182518251825182518251725172517251725172517251725172517251625162516251625162516251625162516251625162515251525152515251525152515251525152515251525152515251525152515251525152515251425142514251425142514251425142514251425142514251425142514251425142514251325132513251325132513251325132513251325132513251325122512251225122512251225122512251225122512251225122512251225122512251225122512251225122511251125112511251125112511251125112511251125112511251125112511251125112511251025102510251025102510251025102510251025102510251025102510251025092509250925092509250925092509250925092509250925092509250925092509250925092508250825082508250825082508250825082508250825082508250825082508250725072507250725072507250725072507250725072507250725072507250725072507250725072507250725072506250625062506250625062506250625062506250625062506250625062506250625052505250525052505250525052505250525052505250525052505250525052505250525052505250525052505250525042504250425042504250425042504250425042504250325032503250325032503250325032503250325032503250325032503250325032502250225022502250225022502250225022502250225022502250125012501250125012501250125012501250125012501250125012501250025002500250025002500250025002500250025002500250024992499249924992499249924992499249924992499249924992499249924982498249824982498249824982498249824982498249724972497249724972497249724972497249724972497249724972497249724972497249724972497249724972496249624962496249624962496249624962496249624962496249624962496249624962496249624962496249624952495249524952495249524952495249524952495249524952495249524952495249524952495249524952495249524952495249524942494249424942494249424942494249424942494249424942494249424942493249324932493249324932493249324932493249324932493249324932493249324932493249324932493249324932493249224922492249224922492249224922492249224922492249224922492249224922492249224912491249124912491249124912491249124912491249124912491249124902490249024902490249024902490249024902490249024902490248924892489248924892489248924892489248924892489248924892489248924892489248924892488248824882488248824882488248824882488248824882488248824882488248824882488248824882488248724872487248724872487248724872487248724872487248724872487248724862486248624862486248624862486248624862486248624862486248624862486248624862486248624862486248624852485248524852485248524852485248524852485248524852485248424842484248424842484248424842484248424842484248424842484248424842483248324832483248324832483248324832483248324832483248324832483248324832483248324832483248224822482248224822482248224822482248224822482248224822482248224822482248224822482248124812481248124812481248124812481248124812481248124812481248124812481248124812481248124812480248024802480248024802480248024802480248024802480248024802480248024802480248024802480248024792479247924792479247924792479247924792479247924792479247924792479247824782478247824782478247824782478247824772477247724772477247724772477247724772477247624762476247624762476247624762476247624762476247624762476247624752475247524752475247524752475247524752475247524752474247424742474247424742474247424742474247424742474247424742474247324732473247324732473247324732473247324732473247324732473247324732473247224722472247224722472247224722472247224722472247224722472247224722472247224712471247124712471247124712471247124712471247124712471247124712471247024702470247024702470247024702470247024702470247024702470247024702470247024692469246924692469246924692469246924692469246924692469246924692469246924682468246824682468246824682468246824682468246824682468246824682468246724672467246724672467246724672467246724672467246724672467246724672467246724672467246724672467246724672467246624662466246624662466246624662466246624662466246624662466246624662466246624652465246524652465246524652465246524652465246524652465246524652465246524652465246424642464246424642464246424642464246424642464246424642464246424642464246424642464246424632463246324632463246324632463246324632463246324632463246324632463246324622462246224622462246224622462246224622462246224622462246224622462246224622461246124612461246124612461246124612461246124602460246024602460246024602460246024602460246024602460246024602460246024602460246024602459245924592459245924592459245924592459245924592459245924582458245824582458245824582458245824582458245824572457245724572457245724572457245724572457245724572457245724572457245724572457245624562456245624562456245624562456245624562456245624562456245524552455245524552455245524552455245524552455245524552455245524552455245524552455245524552455245524552455245524542454245424542454245424542454245424542454245424542454245424542454245424542454245424532453245324532453245324532453245324532453245324532453245324532453245324532453245324522452245224522452245224522452245224522452245224522452245224522452245224522452245124512451245124512451245124512451245124512451245124512451245124512451245124512451245124512450245024502450245024502450245024502450245024502450245024502450245024502450245024502449244924492449244924492449244924492449244924492449244924492448244824482448244824482448244824482448244824482448244824472447244724472447244724472447244724472447244724462446244624462446244624462446244624462446244624462446244624462446244624462446244624462446244624462446244624452445244524452445244524452445244524452445244524452445244524452445244524452445244524442444244424442444244424442444244424442444244424442444244424442443244324432443244324432443244324432443244324432443244324432443244324432443244324432443244224422442244224422442244224422442244224422442244224422442244224422442244224422442244224422442244124412441244124412441244124412441244124412441244124412441244024402440244024402440244024402440244024402440244024402440244024402439243924392439243924392439243924392439243924392439243924392439243924392439243924392439243824382438243824382438243824382438243824382438243824382438243824382438243824382437243724372437243724372437243724372437243724372437243724372437243624362436243624362436243624362436243624362436243624362436243624362436243624362435243524352435243524352435243524352435243524352435243524352435243524352435243424342434243424342434243424342434243424342434243324332433243324332433243324332433243324332433243224322432243224322432243224322432243224322432243224322432243224322432243224322431243124312431243124312431243124312431243124312431243124302430243024302430243024302430243024302430243024302430243024302430243024302430243024302430243024302430242924292429242924292429242924292429242924292429242924292428242824282428242824282428242824282428242824282428242824282428242824272427242724272427242724272427242724272426242624262426242624262426242624262426242624262426242624262426242624252425242524252425242524252425242524252425242524252425242524252425242524252425242524252424242424242424242424242424242424242424242424242424242424242424242424242424242424242423242324232423242324232423242324232423242324232423242324232423242324232423242324232422242224222422242224222422242224222422242224222422242224222422242224222422242224222422242224222421242124212421242124212421242124212421242124212421242124212421242124212421242024202420242024202420242024202420242024202420242024202420242024192419241924192419241924192419241924192419241924192419241924192419241924192419241924182418241824182418241824182418241824182418241824182418241824182418241824182418241824182417241724172417241724172417241724172417241724172417241724172417241724172416241624162416241624162416241624162416241624162416241624162416241624162416241624162416241624162416241624152415241524152415241524152415241524152415241524152415241424142414241424142414241424142414241424142414241424142414241424142413241324132413241324132413241324132413241324132413241324132413241324132412241224122412241224122412241224122412241224122412241224112411241124112411241124112411241124112411241124112411241124112410241024102410241024102410241024102410241024102410241024102410241024092409240924092409240924092409240924092409240924092409240924092408240824082408240824082408240824082408240824082408240824082408240824072407240724072407240724072407240724072407240724072407240724072407240724072407240624062406240624062406240624062406240624062406240624062406240624062405240524052405240524052405240524052405240524052405240524052405240424042404240424042404240424042404240424042404240424042403240324032403240324032403240324032403240324032403240324032403240324022402240224022402240224022402240224022402240224022402240224012401240124012401240124012401240124012401240124012401240124012401240124012401240124012401240124012400240024002400240024002400240024002400240024002400240024002400239923992399239923992399239923992399239923992399239923992399239923992398239823982398239823982398239823982398239823982398239823982397239723972397239723972397239723972397239723972397239723972397239723972396239623962396239623962396239623962396239623962396239623962396239623962396239623962396239623962396239623962395239523952395239523952395239523952395239523952395239523952394239423942394239423942394239423942394239423942394239423942394239323932393239323932393239323932393239323932393239323932393239323932393239323922392239223922392239223922392239223922392239123912391239123912391239123912391239123912391239123912391239123912391239123912391239023902390239023902390239023902390239023902390239023902390239023902390239023892389238923892389238923892389238923892389238923892389238923892389238823882388238823882388238823882388238823882388238823882388238823882388238823872387238723872387238723872387238723872387238723872387238723872386238623862386238623862386238623862386238623862386238623852385238523852385238523852385238423842384238423842384238423842384238423842384238423842384238423842384238423832383238323832383238323832383238323832383238323832383238323832383238223822382238223822382238223822382238223822382238223822382238223822382238223812381238123812381238123812381238123812381238123812381238023802380238023802380238023802380238023802380238023802380238023802380237923792379237923792379237923792379237923792379237923792379237923792379237923792379237923792379237823782378237823782378237823782378237823782378237823782378237823782377237723772377237723772377237723772377237723772377237723772377237723772377237723772377237723762376237623762376237623762376237623762376237523752375237523752375237523752375237523752375237523752375237523752375237523742374237423742374237423742374237423742374237423742374237423742374237423742373237323732373237323732373237323732373237323732373237323732373237323732373237323732372237223722372237223722372237223722372237223722372237223722372237223712371237123712371237123712371237123712371237123712371237123712371237123712371237023702370237023702370237023702370237023702370237023702370237023702369236923692369236923692369236923692369236923692369236923692369236923692369236923692369236923682368236823682368236823682368236823682368236823682368236823682368236823682367236723672367236723672367236723672367236723672367236723672367236723672367236723672367236623662366236623662366236623662366236623662366236623662366236523652365236523652365236523652365236523652365236523652365236523652365236523652365236523652364236423642364236423642364236423642364236423642364236423642364236423642363236323632363236323632363236323632363236323632363236323632363236323632363236323632363236323632363236223622362236223622362236223622362236223622362236223622362236223622361236123612361236123612361236123612361236123612361236123612360236023602360236023602360236023602360236023602360236023602360236023592359235923592359235923592359235923592359235923592359235923592359235923592359235923592359235923592359235923592358235823582358235823582358235823582358235823582358235823582358235823582358235823582358235823582358235723572357235723572357235723572357235723572357235723572357235723572357235723572356235623562356235623562356235623562356235623562356235623562356235623562356235623562356235623562356235523552355235523552355235523552355235523552355235523552355235523552354235423542354235423542354235423542354235423542354235423542354235423542354235423542354235423542354235323532353235323532353235323532353235323532352235223522352235223522352235223522352235223522352235223522352235123512351235123512351235123512351235123512351235123512351235123512351235123512351235123512351235023502350235023502350235023502350235023502350235023502350235023502350235023502350235023502349234923492349234923492349234923492349234923492349234923482348234823482348234823482348234823482348234823482348234823482348234823482347234723472347234723472347234723472347234723472347234723472347234723472347234723472347234723472347234623462346234623462346234623462346234623462346234623462346234523452345234523452345234523452345234523452345234523452344234423442344234423442344234423442344234423442344234423442344234423442344234423442344234423442344234423432343234323432343234323432343234323432343234323432343234323432343234323432343234323432342234223422342234223422342234223422342234223422342234223422342234223422342234123412341234123412341234123412341234123412341234123412341234123412341234123412341234123412340234023402340234023402340234023402340233923392339233923392339233923392339233923392339233923392339233923392339233923392339233923392338233823382338233823382338233823382338233823382338233823382338233823382338233823382338233823382338233823382338233823372337233723372337233723372337233723372337233723372337233723372337233723372336233623362336233623362336233623362336233623362336233623362336233623362336233623362336233523352335233523352335233523352335233523352335233523352335233523352335233523342334233423342334233423342334233423342334233423342334233423342334233423342334233423342333233323332333233323332333233323332333233323332333233323332333233323332333233323332333233323332333233323332333233223322332233223322332233223322332233223322332233223322332233223322332233123312331233123312331233123312331233123312331233123312331233123312331233123302330233023302330233023302330233023302330233023302330233023302330233023302330233023302330233023302329232923292329232923292329232923292329232923292329232923292329232923282328232823282328232823282328232823282328232823282328232823282328232823282328232823282328232823282328232823282327232723272327232723272327232723272327232723272327232723272327232723272327232723262326232623262326232623262326232623262326232623262326232623262326232623262326232623262326232623262326232623262325232523252325232523252325232523252325232523252325232523252325232523242324232423242324232423242324232423242324232423232323232323232323232323232323232323232323232323232323232323232323232323222322232223222322232223222322232223222322232223212321232123212321232123212321232123212321232123212321232123212321232123202320232023202320232023202320232023202320232023202320232023202320232023202319231923192319231923192319231923192319231923192319231923192319231923192319231923192319231823182318231823182318231823182318231823182318231823182318231823182318231823182318231823182318231823172317231723172317231723172317231723172317231723172317231723172317231723172317231723172316231623162316231623162316231623162316231623162316231623162316231623162316231623162316231623162316231623152315231523152315231523152315231523152315231523152315231523152315231523152315231523152314231423142314231423142314231423142314231423142314231423142314231423142313231323132313231323132313231323132313231323132313231323132313231323132313231323132313231323132312231223122312231223122312231223122312231223122312231223122312231223122312231223122312231223122311231123112311231123112311231123112311231123112311231123112310231023102310231023102310231023102310231023102310231023102310231023102310231023102310231023102309230923092309230923092309230923092309230923092309230923092309230923092309230923092309230923092309230823082308230823082308230823082308230823082308230823082308230823082308230823082308230823072307230723072307230723072307230723072307230723072307230723072306230623062306230623062306230623062306230623062306230623062306230623062306230623062306230623062306230523052305230523052305230523052305230523052305230523052305230523052305230523052305230523042304230423042304230423042304230423042304230423042304230423042304230423042304230323032303230323032303230323032303230323032303230223022302230223022302230223022302230223022302230223022302230223012301230123012301230123012301230123012301230123012301230123012301230123012301230123012301230123012301230023002300230023002300230023002300230023002300230023002300230023002300230023002299229922992299229922992299229922992299229922992299229922992299229922992299229922992299229922992299229922992299229822982298229822982298229822982298229822982298229822982298229822982298229822972297229722972297229722972297229722972297229722972297229722972297229722972296229622962296229622962296229622962296229622962296229522952295229522952295229522952295229522952295229522952295229522952295229522952295229522952295229522942294229422942294229422942294229422942294229422942294229422942294229422942294229422942294229422942294229322932293229322932293229322932293229322932293229322932293229322932293229322932293229322922292229222922292229222922292229222922292229222922292229222922292229222922292229222912291229122912291229122912291229122912291229122912291229122912291229122912291229122912290229022902290229022902290229022902290229022902290229022902290229022902289228922892289228922892289228922892289228922892289228922892289228922892289228922882288228822882288228822882288228822882288228822882288228822882288228722872287228722872287228722872287228722872287228722872287228722872287228722862286228622862286228622862286228622862286228622862286228622862286228622862286228522852285228522852285228522852285228522852285228522852285228522852285228522852285228522852285228522842284228422842284228422842284228422842284228422842284228422842284228422842284228322832283228322832283228322832283228322832283228322832283228322832283228322832283228322832283228322832283228322832283228322822282228222822282228222822282228222822282228222822282228222822282228222822282228222822281228122812281228122812281228122812281228122812281228122812281228122802280228022802280228022802280228022802280228022802280228022802279227922792279227922792279227922792279227922792279227922792279227922792279227922792279227922782278227822782278227822782278227822782278227822782278227822782277227722772277227722772277227722772277227722772277227722772277227722772277227722772277227722772276227622762276227622762276227622762276227622762276227622762276227622762276227622762276227622762276227522752275227522752275227522752275227522752275227522752275227522752274227422742274227422742274227422742274227422742274227422742274227422742274227322732273227322732273227322732273227322732273227322732273227322732273227322722272227222722272227222722272227222722272227222722272227222722272227222712271227122712271227122712271227122712271227122712271227122712271227122712271227122712271227122712270227022702270227022702270227022702270227022702270227022702270227022702270227022702270227022702270227022692269226922692269226922692269226922692269226922692269226922692269226922692269226922692269226922682268226822682268226822682268226822682268226822682268226822682268226822682268226822682268226822672267226722672267226722672267226722672267226722672267226722672267226622662266226622662266226622662266226622662266226622662266226622662266226622652265226522652265226522652265226522652265226522652265226522652265226522652265226522652265226522652265226522652265226422642264226422642264226422642264226422642264226422642264226422642264226422642263226322632263226322632263226322632263226322632263226322632263226322632263226322632263226322632263226322632263226322622262226222622262226222622262226222622262226222622262226222622262226222612261226122612261226122612261226122612261226122612261226122612261226122612261226122612261226122612260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602259225922592259225922592259225922592259225922592259225822582258225822582258225822582258225822582258225822582258225822582258225822582257225722572257225722572257225722572257225722572257225722572257225722572257225622562256225622562256225622562256225622562256225622562256225622562256225622562256225622552255225522552255225522552255225522552255225522552255225522552254225422542254225422542254225422542254225422542254225422542254225422542254225422542254225422532253225322532253225322532253225322532253225322532253225322532253225322532253225322532253225322522252225222522252225222522252225222522252225222522252225222522252225222522252225222512251225122512251225122512251225122512251225122512251225122512251225122512251225122512251225122512251225122512251225122512251225122502250225022502250225022502250225022502250225022502250225022502250225022502250225022502250225022502250225022492249224922492249224922492249224922492249224922492249224922492249224922492248224822482248224822482248224822482248224822482248224822482248224822482247224722472247224722472247224722472247224722472247224722472247224722462246224622462246224622462246224622462246224622462246224622462245224522452245224522452245224522452245224522452245224522452245224522452245224422442244224422442244224422442244224422442244224422442244224422432243224322432243224322432243224322432243224322432243224322432243224322432243224322432243224322432243224322422242224222422242224222422242224222422242224222422242224222422242224222422242224222422241224122412241224122412241224122412241224122412241224122412241224122412241224122412241224122412241224122412241224122412241224122412241224122412241224022402240224022402240224022402240224022402240224022402240224022402240224022402240224022402240223922392239223922392239223922392239223922392239223922392239223922392239223922392239223922382238223822382238223822382238223822382238223822382238223822382238223722372237223722372237223722372237223722372237223722372237223722372236223622362236223622362236223622362236223622362236223622362236223622362236223522352235223522352235223522352235223522352235223522352235223522352235223522352235223522352235223422342234223422342234223422342234223422342234223422342233223322332233223322332233223322332233223322332233223322332233223322332233223322332233223322332233223222322232223222322232223222322232223222322232223222322232223222322232223222322232223222322232223222322232223122312231223122312231223122312231223122312231223122312230223022302230223022302230223022302230223022302230223022302230223022302230223022302229222922292229222922292229222922292229222922292229222922292229222922292229222922292229222922292228222822282228222822282228222822282228222822282228222822282228222822282228222822272227222722272227222722272227222722272227222722272227222722272227222722272227222722272226222622262226222622262226222622262226222622262226222522252225222522252225222522252225222522252225222522252225222522252225222522252225222522252225222522242224222422242224222422242224222422242224222422242224222422242224222422242223222322232223222322232223222322232223222322232223222322232222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222221222122212221222122212221222122212221222122212221222122212221222122212221222122212221222122202220222022202220222022202220222022202220222022202220222022192219221922192219221922192219221922192219221922192219221922192219221922192219221922192219221922192219221922192219221922182218221822182218221822182218221822182218221822182218221822182218221822182218221822182218221822182217221722172217221722172217221722172217221722172217221722172217221722172217221722172217221722172217221722172217221722172217221722172217221622162216221622162216221622162216221622162216221622162216221622162216221622162216221522152215221522152215221522152215221522152215221522152215221522152215221522152215221522152215221522152215221422142214221422142214221422142214221422142214221422142214221422142214221422142213221322132213221322132213221322132213221322132213221322132213221322122212221222122212221222122212221222122212221222122212221222122212221222122212221222122212221222122212221222122212221222122212221222122212221122112211221122112211221122112211221122112211221122112211221122112211221122112211221122112211221122112211221122112211221022102210221022102210221022102210221022102210221022102210221022102210221022102210221022092209220922092209220922092209220922092209220922092209220922092209220922092209220922092209220922092208220822082208220822082208220822082208220822082208220822082208220822082208220822082208220822082208220822082208220822082208220822082208220722072207220722072207220722072207220722072207220722072207220722072207220722072207220722072207220722072207220722062206220622062206220622062206220622062206220622062206220622062206220622062206220622062206220622062206220522052205220522052205220522052205220522052205220522052205220522052205220522052204220422042204220422042204220422042204220422042204220422042204220422042204220422032203220322032203220322032203220322032203220322032203220222022202220222022202220222022202220222022202220222022202220222022202220222022201220122012201220122012201220122012201220122012201220122012201220122012201220122012200220022002200220022002200220022002200220022002200220022002200220022002200219921992199219921992199219921992199219921992199219921992199219921992199219921992199219821982198219821982198219821982198219821982198219821982198219821982198219821982198219821982198219821982197219721972197219721972197219721972197219721972197219721972197219721972197219721972197219721972197219721962196219621962196219621962196219621962196219621962196219621962196219621952195219521952195219521952195219521952195219521952195219521952195219521952195219521952194219421942194219421942194219421942194219421942194219421942194219421932193219321932193219321932193219321932193219321932193219321932193219321932193219321922192219221922192219221922192219221922192219221922192219221922192219221922192219221922192219121912191219121912191219121912191219121912191219121912191219121912191219121902190219021902190219021902190219021902190219021902190219021902190219021902190219021902190219021902190219021902190219021892189218921892189218921892189218921892189218921892189218921892189218921892188218821882188218821882188218821882188218821882188218821882188218821882188218821882188218821882187218721872187218721872187218721872187218721872187218721872187218721862186218621862186218621862186218621862186218621862186218621862186218621852185218521852185218521852185218521852185218521852185218521852185218521852185218521852185218521852184218421842184218421842184218421842184218421842184218421842184218321832183218321832183218321832183218321832183218321832183218321832183218321822182218221822182218221822182218221822182218221822182218221822182218221822182218221822182218221822182218221812181218121812181218121812181218121812181218121812181218121812181218121812181218121812181218121812181218121812181218121812181218121802180218021802180218021802180218021802180218021802180218021802180218021802180218021802180218021802180218021802179217921792179217921792179217921792179217921792179217921792179217921792179217921792179217921792178217821782178217821782178217821782178217821782178217821782178217821782178217821782177217721772177217721772177217721772177217721772177217721772177217721772177217721762176217621762176217621762176217621762176217621762176217621762176217621762176217621762175217521752175217521752175217521752175217521752175217521752175217521752175217521742174217421742174217421742174217421742174217421742174217421742174217421742174217421742174217321732173217321732173217321732173217321732173217321732173217321732173217321732173217321732173217321722172217221722172217221722172217221722172217221722172217221722172217221722172217221722172217121712171217121712171217121712171217121712171217121712171217121712171217121712171217121712171217121702170217021702170217021702170217021702170217021702170217021702170217021702170217021692169216921692169216921692169216921692169216921692169216921692169216921692169216821682168216821682168216821682168216821682168216821682168216821682168216821682168216821682168216821672167216721672167216721672167216721672167216721672167216721672167216721672167216721672167216721672166216621662166216621662166216621662166216621662166216621662166216621662166216621662166216621662166216521652165216521652165216521652165216521652165216521652165216521652164216421642164216421642164216421642164216421642164216421642164216421642164216421642164216421642163216321632163216321632163216321632163216321632163216321632163216321632163216321632163216321632163216321632163216321632163216221622162216221622162216221622162216221622162216221622162216221622162216221622162216221612161216121612161216121612161216121612161216121612161216121612161216121612161216121612161216021602160216021602160216021602160216021602160216021602160216021602160216021602160216021602159215921592159215921592159215921592159215921592159215921592159215921592159215921592159215921592159215921592159215921592159215821582158215821582158215821582158215821582158215821582158215821582158215821582157215721572157215721572157215721572157215721572157215721572157215721572157215721572157215721572156215621562156215621562156215621562156215621562156215621562156215621562156215621562156215621552155215521552155215521552155215521552155215521552155215521552155215521552155215521552154215421542154215421542154215421542154215421542154215421542154215421542154215421542153215321532153215321532153215321532153215321532153215321532153215221522152215221522152215221522152215221522152215221522152215221522152215221522152215221522152215221512151215121512151215121512151215121512151215121512151215121512151215121512150215021502150215021502150215021502150215021502150215021502150215021502150215021502150215021502150215021502149214921492149214921492149214921492149214921492149214921492149214921492149214921492149214921492149214821482148214821482148214821482148214821482148214821482148214821482148214721472147214721472147214721472147214721472147214721472147214721472147214721462146214621462146214621462146214621462146214621462146214621462146214621462146214621462146214621462146214621462146214621452145214521452145214521452145214521452145214521452145214521452145214521452145214521442144214421442144214421442144214421442144214421442144214421442144214421442144214421442144214421442144214421432143214321432143214321432143214321432143214321432143214321432143214321432143214321432143214321432143214321432143214321432142214221422142214221422142214221422142214221422142214221422142214221422142214221422142214221422142214121412141214121412141214121412141214121412141214121412141214121412140214021402140214021402140214021402140214021402140214021402140214021402140214021402140214021402140214021402140214021402139213921392139213921392139213921392139213921392139213921392139213921392139213921392139213921392139213921392138213821382138213821382138213821382138213821382138213821382138213821382138213821382138213821382138213821372137213721372137213721372137213721372137213721372137213721372137213721372137213621362136213621362136213621362136213621362136213621362136213621362136213621362136213621362136213621362136213521352135213521352135213521352135213521352135213521352135213521352135213521352135213521342134213421342134213421342134213421342134213421342134213421342134213421342134213421342134213421342134213321332133213321332133213321332133213321332133213321332133213321332133213321332132213221322132213221322132213221322132213221322132213221322132213221322132213221322132213221322132213221322132213221322131213121312131213121312131213121312131213121312131213121312131213121312131213121312130213021302130213021302130213021302130213021302130213021302130213021302130212921292129212921292129212921292129212921292129212921292129212921282128212821282128212821282128212821282128212821282128212821282128212821282128212821282128212821282128212821282128212821282127212721272127212721272127212721272127212721272127212721272127212721272127212721272127212721272127212721262126212621262126212621262126212621262126212621262126212621262125212521252125212521252125212521252125212521252125212521252125212521252125212521252124212421242124212421242124212421242124212421242124212321232123212321232123212321232123212321232123212321232123212321232123212321232123212221222122212221222122212221222122212221222122212221222122212221222122212221222121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212120212021202120212021202120212021202120212021202120212021202120212021202120212021202120211921192119211921192119211921192119211921192119211921192119211921192119211921192119211921192119211921192119211921192119211821182118211821182118211821182118211821182118211821182118211821182118211821182118211821182118211821172117211721172117211721172117211721172117211721172117211721172117211721172117211721172117211721172117211621162116211621162116211621162116211621162116211621162116211621162116211621162116211621162116211621162116211621162116211621162116211521152115211521152115211521152115211521152115211521152115211521152115211521152115211521152115211521142114211421142114211421142114211421142114211421142114211421142114211421142114211321132113211321132113211321132113211321132113211321132113211321132113211321132113211321132112211221122112211221122112211221122112211221122112211221122112211221122112211221122112211221122112211221122111211121112111211121112111211121112111211121112111211121112111211121112111211121102110211021102110211021102110211021102110211021102110211021102110211021102110211021102110211021102110210921092109210921092109210921092109210921092109210921092109210921092109210921092109210921092109210921092108210821082108210821082108210821082108210821082108210821082108210821082108210821082108210821082108210821072107210721072107210721072107210721072107210721072107210721072107210721072107210721062106210621062106210621062106210621062106210621062106210621062106210621062106210621062105210521052105210521052105210521052105210521052105210521052105210521052105210521052105210521052105210521042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421032103210321032103210321032103210321032103210321032103210321032103210321032103210321032103210321032103210321032103210221022102210221022102210221022102210221022102210221022102210221022102210221022101210121012101210121012101210121012101210121012101210121012101210121012101210121012101210121012101210121012101210121012100210021002100210021002100210021002100210021002100210021002100210021002100210021002100210021002100210021002100209920992099209920992099209920992099209920992099209920992099209920992099209920992099209920992099209920992098209820982098209820982098209820982098209820982098209820982098209820982098209820972097209720972097209720972097209720972097209720972097209720972097209720972096209620962096209620962096209620962096209620962096209620962096209620962096209620962095209520952095209520952095209520952095209520952095209520952095209520952095209520952095209520952095209520952095209520952095209520952095209520952095209420942094209420942094209420942094209420942094209420942094209420942094209420942094209420932093209320932093209320932093209320932093209320932093209320932093209320932093209320932093209320932093209320932093209320922092209220922092209220922092209220922092209220922092209220922092209220922092209220922092209220922092209220922092209220912091209120912091209120912091209120912091209120912091209120912091209120912091209120912091209120912091209120912090209020902090209020902090209020902090209020902090209020902090209020902090209020902090209020902090208920892089208920892089208920892089208920892089208920892089208920892089208920892089208820882088208820882088208820882088208820882088208820882088208820882088208820882088208720872087208720872087208720872087208720872087208720872087208720872087208720872087208720872087208720862086208620862086208620862086208620862086208620862086208620862086208620862086208620862086208620862086208620862086208620852085208520852085208520852085208520852085208520852085208520852085208520852085208520852085208520852085208420842084208420842084208420842084208420842084208420842084208420842084208420842084208420842084208320832083208320832083208320832083208320832083208320832083208320832083208320832083208320832082208220822082208220822082208220822082208220822082208220822082208220822082208220822082208220822082208220822082208120812081208120812081208120812081208120812081208120812081208120812081208120812081208020802080208020802080208020802080208020802080208020802080208020802080208020802080208020802080208020802080208020802080207920792079207920792079207920792079207920792079207920792079207920792079207920792079207920792079207920782078207820782078207820782078207820782078207820782078207820782078207820782078207820782078207820782078207820782078207820782078207820772077207720772077207720772077207720772077207720772077207720772077207720772077207720772076207620762076207620762076207620762076207620762076207620762076207620762076207620752075207520752075207520752075207520752075207520752075207520752075207520752075207520752075207520752074207420742074207420742074207420742074207420742074207420742074207420742074207420742074207420742074207320732073207320732073207320732073207320732073207320732073207320732073207320732073207320732073207220722072207220722072207220722072207220722072207220722072207220722072207220722072207220722072207220722071207120712071207120712071207120712071207120712071207120712071207120712071207120712071207120712071207120712071207120702070207020702070207020702070207020702070207020702070207020702070207020702070207020702070207020702069206920692069206920692069206920692069206920692069206920692069206920692068206820682068206820682068206820682068206820682068206820682068206820682068206820682068206820682068206820682068206820682068206720672067206720672067206720672067206720672067206720672067206720672067206720672067206720672067206720672067206620662066206620662066206620662066206620662066206620662066206620662066206520652065206520652065206520652065206520652065206520652065206520652065206520652065206420642064206420642064206420642064206420642064206420642064206420642064206420642064206420642064206420642064206420642064206420642064206420632063206320632063206320632063206320632063206320632063206320632063206320632063206320632063206320632062206220622062206220622062206220622062206220622062206220622062206220622062206220622062206220622061206120612061206120612061206120612061206120612061206120612061206120612061206020602060206020602060206020602060206020602060206020602060206020602060206020602060206020602060206020602060206020592059205920592059205920592059205920592059205920592059205920592059205920592059205920592058205820582058205820582058205820582058205820582058205820582058205820582058205820582057205720572057205720572057205720572057205720572057205720572057205720572057205720572057205720572056205620562056205620562056205620562056205620562056205620562056205620562056205620552055205520552055205520552055205520552055205520552055205520552055205520552055205520552055205520552055205520552055205520542054205420542054205420542054205420542054205420542054205420542054205420542054205420542054205420542054205420542054205420542054205420542054205420542054205320532053205320532053205320532053205320532053205320532053205320532053205320532053205320532052205220522052205220522052205220522052205220522052205220522052205120512051205120512051205120512051205120512051205120512051205120512051205020502050205020502050205020502050205020502050205020502050205020502050205020502050205020502050205020502050205020502050205020502050204920492049204920492049204920492049204920492049204920492049204920492049204920492049204920492049204920492049204920492049204920482048